WEB board

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

[движок R22E prep] D1 ревизора: stale pre-seal текст в отчёте пакета + вложить mutation harness/logs + перенести 5 F4-кейсов в shipped regression suite

Закрыт P2 ведёт: backup-opus
Суть
## Из вердикта GATEC R21E (20.08, F4=GO/ACCEPTED, custody PASS, общий гейт NO-GO из-за честного WebKit NOT-RUN)
Неблокирующее D1: (а) logs/docs/R21E-ENG-REPORT.md в пакете остался pre-seal (говорит «ZIP не создавался», ссылается на 3 отсутствующих mutation-артефакта); (б) в R21E-COVERAGE.md косметический заголовок «R17E residual cell ledger»; (в) в следующий пакет — перенести 5 F4-мутаций в shipped regression suite ЛИБО вложить авторские mutation logs/harness (ревизор свой harness вложил в audit bundle — образец там).
Корень (а): отчёт волны написан ДО упаковки r21epack — тот же класс «документ снят раньше финализации». Правило: внутренние отчёты пакета регенерировать/датировать на этапе упаковки.
Улики: леджер M4Ext/ops/reviser-ledger/ENGINE-GATEC-R21E-INDEPENDENT-AUDIT-20260820.zip (sha bb07367c… сверена), вердикт в ~/Downloads/ревизор/вердикты. Отдельно из вердикта: WebKit real-clipboard прогон — единственный оставшийся блокер общего гейта (план без подмены WKWebView — в пакете).

## 22.08 — R22G SEALED PACKAGE REVISION REQUIRED; R1 ACTIVE
- Rejected sealed ZIP: `ENGINE-GATEC-R22G-PACKAGE-20260822.zip`, 1340494602 bytes, SHA `bd5004dba6e29b754ee4c893d4c7543b041bf7e2cfbcdddd6bec3ee4a56eeae7`. Не выдавался owner как финальный; локальная копия остаётся скрытым `.partial`.
- Independent verdict: M4 `/Users/milamarty/work/ENGINE-R22G-PACKAGE-INDEPENDENT-VERDICT.md`, SHA `5978dac6c457e42a0ba39ff1180349363f7b9dbe2ad1450b7a6b7d0e446338e6` = **REVISION REQUIRED**.
- Исполнимый blocker: clean apply shipped patch к exact accepted R22E совпал 10/11; `SHA256SUMS` в patch replay = `41c52ad3…`, в sealed archive после package-local additions/regeneration = `357dd79b…`. `R22G-SOURCE-BINDING.json` привязал промежуточный hash, а пакет несёт финальный. Значит sealed bytes не воспроизводятся формулой «accepted R22E + shipped patch» по всем claimed touched outputs.
- Сохранённые green evidence: ZIP structure clean; shipped auditor ZIP/root PASS; оба engine verifier 8/8; all adversarial mutations fail-closed; relocated root PASS; deterministic rebuild byte-identical; outer+nested tar scan без observed real credentials.
- M4 Codex `engine-r22g-r1` активен. Узкая правка конструкции: `SHA256SUMS` исключается из patch delta и становится только final generated inventory; source binding различает patch outputs и generated packaging outputs; добавляется regression negative старой двойной модели. Новый output только `ENGINE-GATEC-R22G-R1-PACKAGE-20260822.zip`; затем новый независимый суд и лишь после GO доставка в `~/Downloads/ревизор/ОТПРАВИТЬ-СЕЙЧАС/`.

## 23.08 — движок F4: независимый суд GO, ГОТОВ К ОТПРАВКЕ
- F3-суд завернул (4 дефекта проверялок), F4 переупакован и закрыл все 4 с негативами; F4-суд: ENGINE_F4_COURT_GO.
- ZIP: ENGINE-R22G-F4-SELF-CONTAINED.zip, 1 340 500 100 bytes, sha a8aa5577297449275116420d1dd46edfa84d499f64f90171b4e26116b9c6b3e3 (пересчитан судом с байтов).
- Нарезан в ~/Downloads/ревизор/ОТПРАВИТЬ-СЕЙЧАС/движок-R22G-F4/ (4 части ≤400МБ + кавер + SHA256SUMS-PARTS); склейка сверена. Канон на M4Ext /Volumes/M4Ext/ops/engine-r22g-f4/. HOLD-папка F3 удалена.
- Готов к отправке нулевому ревизору.

## 2026-08-23 10:55 UTC — Вердикт независимого аудита R22G-F4: пакет чист, NO-GO только за доставку
Вердикт (owner переслал 23.08): Product evidence WEB-089 = GO; ремедиация F3→F4 = GO (4/4 закрыто); канонический verifier PASS 8/8; пересборка байт-в-байт; сюиты 79/79 и 8/8. As-delivered = NO-GO из-за ЕДИНСТВЕННОГО блокера: в доставке не было detached receipt целого ZIP (ENGINE-R22G-F4-SELF-CONTAINED.zip.sha256) — ZIP-аудитор падает rc=1 без него. Низкий приоритет: команде dossier нужен PYTHONDONTWRITEBYTECODE=1.
ФИКС ГОТОВ: ~/Downloads/ревизор/ОТПРАВИТЬ-СЕЙЧАС/движок-R22G-F4-фикс-доставки/ — sidecar (байт-в-байт совпал с распиской, которую аудитор сгенерировал сам; sha sidecar 582ea2967ff48985bc3478f4aa9780dd4eea7adacf85902fcf13af28bbb4c421) + кавер с процедурой. Новый browser run НЕ нужен. Урок = продолжение cover-claims-only-what-ships-with-receipts: расписка целого ZIP обязана ехать В доставке, не только в леджере.
Отчёт аудита: ~/Downloads/INDEPENDENT-AUDIT-GATEC-R22G-F4-20260823.md (sha 88539805…).


## 2026-08-23 11:12 UTC — фикс-доставка ОТПРАВЛЕНА ревизору, Intel-копии удалены
Owner отправил движок-R22G-F4-фикс-доставки (sidecar .zip.sha256 + кавер) 23.08 ~11:10Z. Копии файлов доложены в леджер /Volumes/M4Ext/ops/reviser-ledger/engine-r22g-f4-sent-20260823/ (SENT-NOTE.md дополнен), Intel-папка удалена после сверки. Ждём пере-вердикт as-delivered (ожидаемо GO — аудитор с собственной копией расписки уже получил rc=0 PASS).


## 2026-08-23 13:05 UTC — 🎉 ВЕРДИКТ АУДИТА: GO — линия пакета движка ЗАКРЫТА
Owner переслал финальный вердикт: объединённая доставка (4 части + досланный sidecar) = GO. Sidecar принят (582ea296…, побайтно = фиксу самого аудитора), ZIP-пломба a8aa5577… неизменна, ZIP-аудитор rc=0 PASS 8/8, НЕГАТИВНЫЙ контроль (без sidecar → rc=1 FAIL) доказал, что PASS дал именно наш файл. Dossier 8/8, WEB-089 CLOSED-VERIFIED, pyc-дефект инструкции закрыт. Offline custody/proof sign-off = GO; production deploy authorization — out of scope (наш аттестованный cutover-процесс).
Пломбы аудита: report d3df798f…, evidence 755087cb…, machine 47159a7e….
Вердикт сохранён в леджер: /Volumes/M4Ext/ops/reviser-ledger/engine-r22g-f4-sent-20260823/VERDICT-R22G-F4-GO-20260823.md (SENT-NOTE дополнен).
Эволюция линии целиком: R22G → суд F3 (4 дефекта проверялок) → F4 → отправка 23.08 → NO-GO за доставку (нет .zip.sha256) → фикс-доставка → GO. Статус: done.


## 2026-08-23 14:05 UTC — уточнение карты (две лестницы)
## Карта: ДВЕ лестницы движка (зафиксировано 23.08 после вопроса owner)
ЛЕСТНИЦА ГЕЙТОВ DocumentSession (доверие движку): Gate A контракт ✅ (document-session-contract-v1) → Gate B библиотека ✅ (F01-F06, 311+135 тестов, 8 раундов V4→V4Q) → Gate C legacy shadow ✅ (ЗАКРЫТ 23.08: пакет R22G-F4, вердикт аудита GO — браузерные пруфы selection/clipboard/edit-mirror, ON/OFF артефакты, WEB-089 CLOSED-VERIFIED) → Gate D controlled writer (NO-GO, ждёт интеграции+одобрения) → Gate E mutating AI (NO-GO) → Gate F production collaboration (NO-GO).
ПРОДУКТОВАЯ лестница этапов редактора (другая!): этап A P0-фиксы ✅ (в проде) → этап B docsession-веер фич (WEB-283) → этап C CodeMirror-гибрид для ТЯЖЁЛЫХ ФАЙЛОВ (WEB-086) → этап D спайк ProseMirror.
ВАЖНО: движок-библиотека живёт в ОТДЕЛЬНОМ дереве (wq/o3/docsession-*) и НЕ является предком прод-линии (WEB-304) — т.е. Gates B/C приняты аудитором, но этот код НЕ в serving. Первый шаг к проду = WEB-323 (интеграция ship-dark).

Тикеты гейтов: [[WEB-323]] интеграция ship-dark (вход), [[WEB-324]] Gate D, [[WEB-325]] Gate E, [[WEB-326]] Gate F.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-085","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-23T10:52:20.611Z