WEB board

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

[bigfiles ф.2 старт] Спецификация контракта DocumentSession/EditorAdapter + ревизия GPT Pro

Закрыт P1 · важно ведёт: — эпик: WEB-221
Суть
Owner одобрил 05.08 ~22:30: перед стартом этапа B (перевод фич монолита на DocumentSession) спецификацию контракта пишет terra-xhigh и отдаём на ревизию GPT Pro (день задержки, веер потом без переделок). Скоуп спеки: транзакции, model ranges, стабильные якоря, декорации out-of-band, контракты фич (инлайн-фактчек, подсветка сущностей, цитаты-выделения, time-travel, slash-меню, ромашка, перевод, nudge, поиск), интерфейс адаптера (legacy contentEditable первым, CodeMirror/ProseMirror потом), порядок миграции, план contract-тестов. Основа: BIGFILES-EDITOR-ARCHITECTURE-REVIEW (P1-01..06) + живой код EditorModal.tsx/lib-editor. Воркер spec228 (codex terra xhigh, M4). Дальше: зип для GPT Pro как с фактчеком.
Дети
Лента
2026-08-05 23:37:27 · backup-opus
GPT Pro вердикт 06.08 00:35 (zip sha 907df5b2, у owner-а пока только .sha256 — попрошен докачать): NO-GO на немедленный веер, НО направление одобрено; 9 P0-блокеров контракта (canonical-only mutation ranges; полная идентичность anchor c documentId+epoch+fingerprint; отделить EditorViewHandle от session; rich-операции в DocumentOperation; lazy/indexed decoration mapping; optimistic pending queue в patch-протоколе; undo intent/source/grouping раздельно; hard cap bounded read на стороне session; идемпотентный save barrier). Приложены: P0-патч к спеке, compile-checked TS-контракт, бэклог 16 задач, матрица 38 тестов, решения по всем 13 OPEN-QUESTIONS. ПЛАН: terra-редакция спеки v1 по их P0-патчу -> тег document-session-contract-v1 -> GO-список фундамента (pure core/fake, anchor mapper, decoration registry, view harness, save barrier, sync simulator) -> потом веер. До тега: GO только isolated spikes.
2026-08-06T02:14:03.685Z · backup-opus
Ревью V2 от независимого ревизора (06.08): CONDITIONAL GO — архитектура V2 ПРИНЯТА (canonical coordinates, immutable anchors, session/view split, узкий public V1, bounded legacy bridge, lazy decorations, dual clocks, exact save barrier, gated rollout). Повторный редизайн НЕ нужен. Тег document-session-contract-v1 заблокирован только V2.1-правками (см. WEB-254) и отсутствующим freeze-evidence. Пакет ревью: ~/Downloads/docsession-v2-review-20260806 (sha256 zip 91b74b06f69c4f0298cdd3e173881391cb54f756af1b6aab68d26704f6cd0b4e). Главная находка: DS-T001 в присланной V2 ФАКТИЧЕСКИ ПАДАЛ — structural typing пропускал ProjectedTextRange в canonical mutation без cast, и обычный compile-pass создавал ложное ощущение защищённого инварианта.
2026-08-06T17:23:25.396Z · backup-opus
Gate A закрыт тегом document-session-contract-v1 (см. WEB-254). Линия F разблокирована: F01-патч в сейфе deliveries/20260806/f01-tree.patch (248К, 32 файла) + f01-report.md, применение = следующая волна фундамента, single-writer применяю я. f02 уведомлён: согласование history.checkpointInterval с F01 и CANDIDATE-значения policy caps (нужны до Gate B) теперь в работе.
2026-08-10T23:55:34.207Z · backup-opus
11.08 триаж: активна на нити DocumentSession Gate B (сейчас V4L 11-й слой F06). Держим in_progress, ждём закрытия Gate B; deploy DEFERRED.
2026-08-11T19:33:08.345Z · backup-opus
Ревизия 11.08: эпик ЖИВОЙ — это нить Gate B (16 раундов ревью, сейчас V4Q: rejected-attempt terminality). Дети F03..F07 (249-253) уже done и на проде (волна 5). F01/F02/F00 приняты ревью, ждут посадки движка.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \ -d '{"issueId":"WEB-228","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-11T22:17:51.123Z