WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-342 · Задача · — · web

P1 Флип посадки 36 молча выключил тень Gate C: NEXT_PUBLIC-флаг вшивается в билд — соук shadowrun3 шёл вхолостую

Закрыт P1 · важно ведёт: —
Доказательства
[23.08 ~23:20] ВТОРОЙ слой вхолостую найден и закрыт (owner: «проверь что реально записывается»). Соук shadowrun4: ВСЕ 113 beacon-ответов = 403 — роут /api/admin/document-session/gatec-shadow-telemetry принимает телеметрию ТОЛЬКО от admin-сессии (requireAdmin, fail-closed), QA-аккаунт соука не был админом; sanity-проверка смотрела только клиентскую сторону (тот же грех, что shadowrun3). ПЛЮС: DOCUMENT_SESSION_SHADOW_W1_DUMP_PATH не был задан — даже админские маячки писались бы только в in-memory ring (writer=undefined, jsonl-writer.ts:175). Фикс (env Pi, note-clone-3010 restart, paidReady green): qa-screens-20260820@test.local добавлен в ADMIN_EMAILS (.env.local, бэкап .bak-shadow); DUMP_PATH=/home/pi/note-clone/shared/telemetry/gatec-shadow-w1.jsonl (drop-in standalone-artifact.conf, бэкап .bak-shadow). ПРУФ: beaconResponses 200 с 22:21Z (M4 ~/work/shadowrun4-evidence.json), серверный JSONL 80+ записей и растёт — реальные записи divergenceKind=unrepresented-dom-mutation, contentHashLegacy/Shadow, анонимизированные id. Негативный базлайн: 113×403 сохранён в evidence. Уроки: verifier-needs-negative-test, fix-one-layer-is-not-fix-the-feature. Родня: WEB-320, Gate D judge (вход: этот JSONL + evidence).
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-342","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-23T22:24:40.483Z