WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-314 · Эпик · — · web

ЭПИК: Приёмка посадок 30/31 — доказать каждый груз живьём

Закрыт P1 · важно ведёт: fable-coordinator
Суть
# Приёмка посадок 30 (504af77f) и 31 (26116cff): живое доказательство каждого груза

Прод: serving `arm64-26116cff032ad8f015e1e2d9cba302e1e8f7ec27-20260822T202100Z`, artifact SHA `a3c1c9d6…b595`, paidReady=true. Посадка 30 (`504af77f`, cutover 21.08 03:53 UTC) — предок serving. Посадка 31: ветка `landing31` HEAD `c9eabc7b`, пересажена и посажена 22.08 20:53 UTC как `26116cff`.

## Документы-основания
- L31-MERGE-REPORT.md (A1 /home/ubuntu/waves/, SHA 9ca6b8dd…ecd); worktree wt-l31 сохранён (290M)
- Независимые вердикты: L31 R3 GO (артефакт 04101635…e5d9f); L31 R4: /home/ubuntu/waves/L31-WEB311-ARM64-R4-INDEPENDENT-VERDICT.md
- Cutover-расписки: /home/pi/note-clone/shared/run/l31-cutover-backup-20260822T205314Z/ (paid receipt SHA 9af59d4b…e25); boot-contract-dry-run.json (SHA 906b29d8…0c7)
- Канон: https://bugs.wool2.online/passport/CANON.json (26116cff)
- Вахты 21-23.08: OPS-STATUS-LIVE.md (M1 ~/livepush)

## Реестр приёмки (тикет → волна → что доказать → метод)
| Тикет | Волна | Доказательство | Метод |
|---|---|---|---|
| WEB-060 | l30chat | обычная учётка получает ответ chat-global, не 403/не «session expired» | живое тыкание + скрин |
| WEB-087 | l30chat | compound-фраза → вердикты ПО тезисам (порог 200, клеймы 2/5/8) | API-прогон + скрин (fcbattery R2 частично кроет) |
| WEB-063 | l30video | UI Глибоко → сервер получает requestedMode | живое + лог/скрин |
| WEB-065 | l30video | uk-учётка → видео-отчёт uk | живое + скрин |
| WEB-066 | l30fcsrc | accounting_unhealthy не режет живые платные источники | API-прогон + контроли R2 |
| WEB-068 | l30fcsrc | evidence содержит searxng-источники | API-прогон |
| WEB-084 | l30fcsrc | байты фикса readFileSync в артефакте + boot зелёный | греп артефакта (уже review) |
| WEB-073 | l30gates/gates256 | GATE-5 route passport 500/500 rc=0 против serving-артефакта | воркер-скрипт |
| WEB-074 | l30gates/gates256 | GATE-6 deny-зоны+cron-auth ПРИМЕНЕНЫ (deployed≠enforcing!) | воркер live-probe |
| WEB-097 | obs1 (L31) | метрики переживают >50 замеров/рестарт | воркер live |
| WEB-093/094 | clientbundle (L31) | admission control дорогих путей; server resolver вне client graph | живое + скрин |
| WEB-311 | clientbundle (L31) | корневая тетрадь открывается в браузере (PrismaClient вне bundle) | скрин (P0) |
| WEB-300 | cacheprivacy (L31) | изоляция shared-кэша: учётка B не видит кэш A | воркер live (2 учётки) |
| WEB-083 | pdfsplit/pdfport | 3 живых PDF (fact+research+video) + приёмка ГЛАЗАМИ | vision-волна; спорное → Копилка |

## Правила
1. Сначала ancestry+байты (merge-base --is-ancestor + греп артефакта), потом live.
2. Приёмка глазами/скринами, не зелёными тестами.
3. Ноль ошибок в логе ≠ фича жива — открыть руками каждую.
4. Недоказуемое нами → ~/Downloads/OWNER-QA-КОПИЛКА.md (Интел).
5. Каждый пруф в тикет (run id/скрин/sha) + синхронная смена статуса.

## Смежная линия
Вымывка доски (owner 23.08): 52 «на проверке» + 31 «к работе» триажится волной board-triage; предложения статусов сводятся сюда.

## Исполнители
скрины = спарк (qa-screens rig M4); живые пробы = codex-волны (Luna xhigh, роутинг 23.08); спорное = координатор + Копилка.

## 23.08 09:40 UTC — ИТОГ живой приёмки 30/31 (свип l3031live на M4, рабочий логин, все пруфы raw)

### ЗАКРЫТО ЖИВЬЁМ (5/14):
- WEB-084 — байты фикса в serving + boot green (координатор).
- WEB-060 — chat-global 200 обычной учёткой, реальный ответ, billed op.
- WEB-065 — uk-локаль доезжает до настроек (без платного видео-прогона).
- WEB-066 — Perplexity в evidence, accounting не режет.
- WEB-097 — метрики переживают 51 замер, persist (не память процесса).

### НАЙДЕНЫ ЖИВЫЕ ДЕФЕКТЫ (5, в доработке — приёмка вскрыла реальные баги):
- WEB-087 — составная фраза НЕ разбивается на тезисы (claims=1, общий unknown).
- WEB-063 — requestedMode НЕ уходит серверу при выборе профиля (дефект подтверждён живьём).
- WEB-068 — searxng режется egress-фенсом (503 nc_fence_refused), источников нет.
- WEB-094 — admission срабатывает, но 500 вместо 429 + нет Retry-After/queue-заголовков.
- WEB-311 — исходный P0 (Prisma в бандле) ЗАКРЫТ (тетрадь грузится), но /api/sync 3×500.

### BLOCKED (1):
- WEB-300 — изоляция кэша: нужна 2-я QA-сессия/owner-инвайт (invite-only создание недоступно).

### НЕ НАЧАТО (2): WEB-073/074 (гейты 5/6 — доказать присутствие в serving).
### PDF (1): WEB-083 — живые PDF глазами (vision).

ИТОГ: из 14 реестра — 5 доказано и закрыто, 5 в доработке (реальные баги), 1 blocked на owner, 2 не начато, 1 PDF. Метод приёмки сработал: не «зелёные тесты», а живые пробы с raw-пруфами — нашли 5 настоящих дефектов, которые скрин-волна пропустила.

## 2026-08-23 10:55 UTC — прогресс приёмки
WEB-083: живой PDF проверен — NEEDS-FIX (обрывы, дубли карточек; отчёт на M4). WEB-073/074: волна доказательства гейтов в serving запущена на M4 (tmux web7374). WEB-311: диагноз получен, фикс-волна на A1. NB: сама посадка 32 села (v4-4482925) — у приёмки теперь НОВЫЙ serving-маркер, пробы 315/316/317 гнать против него.


## 2026-08-23 PDFPOSTQA: N-A — landing-evidence registry, не PDF browser scenario.

PDFPOSTQA: бесплатные сценарии только; новые paid generation/export/import не запускались. Полный реестр и evidence: /Users/milamarty/work/PDFPOSTQA-REPORT.md; screenshots: /Users/milamarty/work/PDFPOSTQA-SHOTS/.

## 2026-08-23 BOARDSWEEP: IN_PROGRESS-LIVE
- Evidence: updatedAt=2026-08-23T09:54:53.875Z, within 24h; landing-30/31 live-acceptance queue is current. No status change.
- buildFixed: <empty>; canonical: v4-081ff4fb5 / 081ff4fb5f6110f8001daec7ed910ccef2e395dc.
- Status preserved by sweep: in_progress.
Чем закрывается (приёмка)
Каждая строка реестра: ancestry+байты+live-пруф в тикете, статус синхронизирован; спорное в Копилке
Доказательства
[BOARDTRIAGE] Evidence отсутствует; последнее updatedAt 23.08 17:52Z. Актуальный журнал вымывки и приёмки 30/31 ведётся в WEB-320. Рекомендуется закрыть как superseded.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-314","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-29T17:29:10.564Z