WEB board

всеканоны и докиворкеры↗ iOS↗ Легаси
WEB-065 · Дефект · Видео · web

Видео-отчёт игнорирует язык учётки: uk в настройках → locale=en, хром отчёта РУССКИЙ, подписи украинские, английский пролезает

Закрыт P1 · важно ведёт: backup-opus
Суть
## Найдено 20.08 ~21:45 волной langpdf (отчёт M4 LANGPDF-REPORT.md) — прямой вопрос owner (голосовое 17:38)
Стенд: прод v4-bb1186a, учётка qa-screens-20260820, СВЕЖИЙ deep-прогон cmt1t93kb01au144pwuwsvk13 (не кэш).
ДО прогона доказано: settings.language=uk (GET после POST), куки language=uk/lang=uk, bootstrap <html lang=uk data-initial-language-source=cookie>.
ПОСЛЕ: videoReportSnapshot.locale=en, videoDoc.video.language=en, PDF строка 66: «Ключевые моменты: 3 · Язык отчёта: Русский». Микс: хром/секции — русский, подписи сцен — украинский, английский/язык оригинала — в обзоре, моментах, timeline/evidence и OCR.
Запрос слал presentationLanguageMode=report, language=auto — вероятно, узел выбора языка отчёта не читает настройку учётки и падает в auto→en/ru фолбэки по звеньям (ровно то, что owner описал: «промежуточные звенья вклинивают язык оригинала»).
PDF: video-DEEP-UK-20260820.pdf sha b1870fd3… (M4 qa-screens/). Связки: WEB-063 (профиль терялся — уже с корнем), WEB-064 (twelvelabs), SUPQA-2 (класс «язык настроек»).
Гипотеза фикса: language=auto → резолв из settings.language учётки на входе пайплайна + сквозная передача во все звенья генерации (обзор/моменты/timeline/OCR-подписи).

## Трейл (21.08)
- Ветка посадки-30: `landing30` (worktree A1 /home/ubuntu/waves/wt-landing30, от serving f1e49bca), слито 6 веток / 88 файлов, проверка дубликатов ключей в словарях: 0.
- Живой статус смены: `~/Downloads/OPS-STATUS-LIVE.md` (ноутбук) + копии на M1 `~/livepush/` и M4 `/Users/milamarty/work/`.
- Паспорт проекта: https://bugs.wool2.online/passport (обновлён 21.08: serving arm64-f1e49bca, статы из свежей ветки, дельты в stats-history.json).
- Леджер ревизора: `/Volumes/M4Ext/ops/reviser-ledger/` (пакеты + аудит-бандлы, sha сверены).
- Улика: M4 `/Users/milamarty/work/LANGPDF-REPORT.md` — свежий deep-прогон `cmt1t93kb01au144pwuwsvk13`; до прогона settings.language=uk, куки uk, bootstrap uk; после — locale=en, PDF строка 66 «Язык отчёта: Русский».
- PDF-улика отправлена owner: `video-DEEP-UK-20260820.pdf` sha `b1870fd3…` (M4 qa-screens/).
- Фикс: ветка `l30video`, коммит `e35fc984` (резолв языка на входе пайплайна + протаскивание во все звенья).

## 21.08 — ВЫЕХАЛО НА ПРОД
**Посадка 30 состоялась 21.08 03:53 IST.** serving = `v4-504af77f`, релиз `arm64-504af77f-20260821T025311Z`, артефакт sha `a0afc41415db60377aeb4cf399d91b98a4c407217fc8839b0b1369a2542af362`, аттестация v18. Проверено после переключения: `active`, `NRestarts=0`, `paidReady=true`, `posture=enforce_ready`, `mode=enforce`, `failures=[]`, фатальных строк boot-контракта **0**, секрет сторожа файл≡процесс (`cbabe4a2b16008e3`), nft переприменены, канон проштампован (`CANON.json: serving=504af77f marker=v4-504af77f`).
Проверка байтов релиза и живая проба выполнены после переключения; подробный трейл посадки — в WEB-282.

## 22.08 14:31 UTC — PDF SCOPE LEDGER — implementation landed, live locale acceptance missing
`e35fc984` (account language reaches engine) is an ancestor of current candidate. Ticket state is stale with respect to code presence, but closure evidence is still missing: a post-cutover real Video Atlas export with account language fixed to uk must prove report locale/chrome/scene captions/timeline/OCR stay consistently Ukrainian, with no English/Russian leakage. Main scope ledger: WEB-083.

## 23.08 — вошёл в посадку, ждёт живой приёмки [эпик WEB-314]
- Груз в проде: 504af77f (посадка 30, 21.08 03:53 UTC; предок serving 26116cff); артефакт a3c1c9d6…b595; paidReady=true.
- Метод приёмки: живое: uk-учётка → видео-отчёт на uk (скрин).
- Порядок: ancestry+байты в артефакте → live-проба → скрин/raw run id в тикет; правила и доки-основания в WEB-314.

## 23.08 — скрин-волна: настройки языка учётки FAIL_VISIBLE
- Скрин 05-web065-language-settings-r2.png — зафиксировано текущее состояние экрана настроек. Полная приёмка требует платного видео-прогона на uk-учётке — отложено до owner-решения по спенду (кап), пока остаётся в review.

## 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 e35fc984 504af77f rc=0; git merge-base --is-ancestor 504af77f 26116cff rc=0; exact source=26116cff032ad8f015e1e2d9cba302e1e8f7ec27.
- Bytes: exact source resolves language=auto from account settings once and fans it out to all report-language links; source/ancestry SHA-256=5fd780dc8d9f4823ea318dfcbac27c76a8333d75e0a68a084073e4add1946db2.
- Live: per brief, video live is intentionally not run (paid/heavy). Required remaining manual step is a fresh uk-account video report with consistent uk chrome/captions/timeline/OCR screenshot.
- Verdict proposal: NEEDS_SCREEN.

## 23.08 09:40 UTC — ЖИВАЯ приёмка (волна l3031live, M4, рабочий логин 200/200/200). ACCEPT (с оговоркой «без платного видео-прогона»): uk-настройка ДОЕЗЖАЕТ — settings API language=uk, htmlLang=uk, UI 🇺🇦 Українська. Скрины web065-*. Доставка локали доказана; сам видео-отчёт платный, не гнали.

## 2026-08-23 PDFPOSTQA: NEEDS-PAID — locale PDF requires a fresh video run.

PDFPOSTQA: бесплатные сценарии только; новые paid generation/export/import не запускались. Полный реестр и evidence: /Users/milamarty/work/PDFPOSTQA-REPORT.md; screenshots: /Users/milamarty/work/PDFPOSTQA-SHOTS/.
Починено в
504af77f
Лента
2026-08-23T08:30:21.743Z · codex-l3031-live
L3031 LIVE ACCEPT: uk-настройка сохранена/прочитана HTTP 200, htmlLang=uk и UI настроек украинский; платный video report не запускался. Raw: qa-screens/l3031-live-raw.json и l3031-web065-settings-ui.json; screenshots: shots-l3031-live/web065-user-menu.png, web065-settings-panel.png. Предлагаемый статус: готов к done с оговоркой preflight.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-065","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-23T17:35:50.455Z