WEB-332 · Задача · — · web
Веер B: nudge-подсказки на контракт DocumentSession (образец fanb1)
Закрыт
P2
ведёт: —
Суть
# Веер этапа B: фича «nudge-подсказки» на контракт DocumentSession
По образцу принятой волны 1 (инлайн-фактчек, FANB1-REPORT на A1, патч fanb1 2e04093f на Интеле) и волны 2 (подсветка сущностей, fanb2 в работе):
1. Карта легаси-поверхности фичи (EditorModal + компоненты + персистенция) файл:строка.
2. DOM-free мост на контракт: якоря через anchorService/canonicalMapping, отображение через decorations-реестр (свой неймспейс под чистый merge с другими волнами веера).
3. Легаси цел и default; включение общим shadow-флагом DOCUMENT_SESSION_SHADOW_W1_ENABLED (обоснование в FANB1-REPORT).
4. НЕГАТИВЫ: OFF = байт-в-байт легаси; rebase якоря при правке; битый якорь снимает decoration.
5. Фокусные тесты + scoped tsc rc=0; сдача патчем от web323-shipdark.
Родитель: [[WEB-283]]. Карта лестниц движка: см. WEB-283 раздел 23.08.
## 21:00 UTC — волна fanb8 запущена.
## 2026-08-23 21:25 UTC — волна СДАНА (патч на A1, салваж отложен: UFW-лимит ssh). Детали в FANB-отчётах на A1.
## 2026-08-23 16:13 UTC — DEPLOYED в посадке 36 (v4-081ff4fb5)
fanb8 nudge — фокус 18 passed. Сборка l36build на A1: adversarial 529/529, посадка аттестованная (art b0cfeac0…, пин-гейт 7/7), paidReady=True. Канон: 081ff4fb5f6110f8001daec7ed910ccef2e395dc. Отчёт: A1 /home/ubuntu/waves/L36-BUILD-REPORT.md; журнал WEB-320.
## 2026-08-23 BOARDSWEEP: NEEDS-VISUAL
- Evidence: Canonical commit is exactly 081ff4fb5; src/lib/document-session/nudge.ts, tests and EditorModal wiring are present. Automated focus/deploy evidence is in the ticket, but nudge UI requires browser visual acceptance.
- buildFixed: v4-081ff4fb5; canonical: v4-081ff4fb5 / 081ff4fb5f6110f8001daec7ed910ccef2e395dc.
- Status preserved by sweep: review.
Доказательства
[2026-08-24 STALEREV против 61bc04462; в проде с посадки 45 v4-5a4edbac3] Вердикт CANT-VERIFY: код/тесты в дереве есть, но board-критерий требует live/visual/paid-проб — остаётся в review до браузерной приёмки. Отчёт: A1 /home/ubuntu/waves/STALEREVIEW-REPORT.md (STALEREVIEW_DONE).
[2026-08-25 19:28Z] owner GO на перенос. Волна fanbport (A1, sol): восстановление из бандлов /home/ubuntu/bundles/wt-fanb6/7/8-20260825.bundle (ветки старой репо-эпохи, заархивированы при чистке 25.08), порт diff→apply --3way на a453b16 (без -X theirs), зонные тесты; честный STUCK при конфликте контракта DocumentSession. Отчёт FANBPORT-REPORT.md.
[2026-08-25 20:05Z] FANBPORT-ФАКТ: код и тесты фичи УЖЕ в прод-линии (salvage 752c798, предок a453b16) — порт оказался no-op carry-forward, старые диффы не дублировались; DocumentSession suite зелёный (после регенерации stale Gate C inventory). Остаток приёмки: ВИЗУАЛЬНЫЙ browser-прогон (bqa-класс, M4) — без него не закрывать.
[2026-08-26 06:50Z] ПРИНЯТ accfanb (пакетная независимая приёмка Веера B): GO — nudge-подсказки (nudge.ts + isolated anchor/fallback wiring, тесты + wiring); реализация и тесты подтверждены в прод-линии a453b16 (salvage 752c798), каждая фича проверена своим негативом. browser-proof отдельно. -> done.
Починено в
a453b16
Воркер
не привязан — привязать:
curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \
-d '{"issueId":"WEB-332","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-26T06:48:59.984Z