WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-074 · Задача · Инфраструктура · web

[GATE-6] Excluded-zones deny + edge-конф + единая cron-auth: применить (сейчас ship-dark, ноль зон)

Закрыт P1 · важно ведёт: backup-opus
Суть
cron/auth.ts 24/24 PASS (loopback, fail-closed secret), НО excludedZones.ts по умолчанию НОЛЬ зон (deny ship-dark), infra/edge/realtime-deny-release1.conf помечен NOT APPLIED, /api/cron/slo-check UNPROTECTED, spend-reconcile вне паспорта. ОСТАЛОСЬ: включить excluded-зоны (телефония, iMessage/Signal, video-если-выключено) app-уровнем, применить edge-conf, закрыть slo-check, негативный smoke по каждому исключённому префиксу (404/deny), receipt.

Эпик: WEB-282. Норматив: PROD-MIGRATION-PLAN-R4.md §7. Аудит-срез: M4 MIGAUDIT-REPORT.md (20.08). Owner 20.08: «по гейтам дожимайте все до конца».

## 23.08 — вошёл в посадку, ждёт живой приёмки [эпик WEB-314]
- Груз в проде: НЕ ПОДТВЕРЖДЕНО в serving — l30gates/gates256: первым шагом проверить присутствие в 26116cff; артефакт a3c1c9d6…b595; paidReady=true.
- Метод приёмки: live-probe deny-зон + cron-auth; deployed≠enforcing.
- Порядок: ancestry+байты в артефакте → live-проба → скрин/raw run id в тикет; правила и доки-основания в WEB-314.

## 23.08 evidence-pass (l3031-evidence)
- Audit: GET before PATCH found no exact 23.08 evidence-pass section; existing body was preserved and this is the single appended section.
- Ancestry: git merge-base --is-ancestor 9094f535 504af77f rc=0; git merge-base --is-ancestor 6f619c7a 26116cff rc=0; exact source=26116cff032ad8f015e1e2d9cba302e1e8f7ec27.
- Bytes: exact source has default-deny telephony/messenger zones plus video-ingest while disabled, generated edge location blocks, and shared cron secret+loopback guard; source/ancestry SHA-256=5fd780dc8d9f4823ea318dfcbac27c76a8333d75e0a68a084073e4add1946db2.
- Live: 4 excluded-zone probes returned 404 and cron GET/POST without auth returned 403 loopback_required. Raw SHA-256: web074-live-r2.txt=fc1288514ecef33760dd612ffc0c578f6c0eb567153cd254f314ae0b21105d72; existing excluded raw=6c1d763281e8be23df75e03ef8f5246e0786edecf8460bca97b8025dec064144; cron raw=4448cd852b423d5d542814edc7874b111798576dcf78d0dc5b97a86d4893dd95.
- Verdict proposal: ACCEPT_READY.

## 2026-08-23 10:56 UTC — живая проверка serving (M4): PROVEN
Отчёт M4 ~/work/WEB7374-PROOF-REPORT.md (маркер WEB7374_PROOF_DONE), сырые HTTP-пробы против v4-26116cff: телефония/iMessage/Signal excluded-зоны = 404 deny (и с валидной QA-сессией, и без — негатив пройден); cron-роуты slo-check/spend-reconcile = 403 loopback_required на внешний вызов и на битый JSON (fail-closed до работы); видео-вебхук без подписи = 400 без создания run. Валидный cron-секрет сознательно не проверялся (исполнил бы прод-задачу — вне read-only скоупа). Пробы шли за минуты до посадки 32; гейты — deny-класс, регресс от 4482925 маловероятен, но фиксирую привязку к 26116cff честно.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-074","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-23T09:54:52.911Z