WEB-354 · Задача · — · web
Gate C shadow: вердикт первой телеметрии — history-инвариант, нормализация DOM-мутаций, схема v2 (producer+знаменатель)
Закрыт
P1 · важно
ведёт: —
Суть
Волна GATEC-TELEMETRY-W2 (A1 agent/gatectel-w2 76ce610e1, отчёт /home/ubuntu/waves/GATEC-TELEMETRY-W2-REPORT.md, GATECTELW2_DONE) разобрала снапшот 171 записей (96 сессий, 3 документа) первой живой телеметрии.
НАХОДКИ:
1. unrepresented-dom-mutation (86): synthetic boundary records W2 recordSyntheticDivergence (gatec-shadow-w2-runtime.ts:1133-1204, 1475-1499) — representational gap legacy-моста; в shadow допустим как fail-closed dark-path, перед PRIMARY на живом вводе обязан быть 0 (нормализация структуры/command mapping).
2. anchors (85): W1 compareAndRecord — selection/projection gap при равных content-хешах, НО все 85 одновременно с history-depth mismatch.
3. history-depth mismatch в 94/171 (не отдельный kind, только dimension): legacy 3-49/87/10 vs shadow 1 — потенциальный shadow-history bug; нужен invariant-тест на живом рантайме: после каждого mirrored edit/undo/redo/save historyDepthLegacy===historyDepthShadow.
4. Схема телеметрии без producer/origin — честный live-rate несчитаем; synthetic и direct смешаны.
ТРЕБОВАНИЯ (следующая волна):
- Схема v2: producer marker, monotonic operation sequence (W1+W2 общий), contentCompared/contentDeferred, shadowCatchUpRequired, selectionAvailability, reconcileOutcome, отдельный primary-safety счётчик порчи content/history; ЗНАМЕНАТЕЛЬ (счётчик чистых совпадений).
- History-инвариант negative-тест (a→b→c даёт 2/1 — воспроизведено в волне, коммит 76ce610e1 добавил unit).
- Нормализация unrepresented-dom-mutation.
ПРОМОУШЕН Gate C в primary ЗАБЛОКИРОВАН до: unrepresented=0 на живом вводе, history mismatch=0 (или доказан harmless), схема v2 с знаменателем.
Связки: WEB-347 (краш, закрыт), WEB-352 (admin-gate endpoint), снапшот gatec-shadow-w1-snapshot-20260824.jsonl.
Доказательства
[2026-08-24 ~20:35] ПОСАДКА 48 (v4-0ac410ac0) + БРАУЗЕРНАЯ ПРИЁМКА ЖИВЬЁМ. edit×4 в проде → gatec-shadow-w1.jsonl 171→186, новые записи schemaVersion:2: historyDepthLegacy==historyDepthShadow (0/0,1/1,2/2,3/3,4/4,5/5) — РАССИНХРОН УСТРАНЁН (был 94/171 mismatch, теперь 0). producer:w1-comparator, cleanMatchCount 1..6 (знаменатель live-rate), divergenceKind:none (совпадения пишутся), primarySafety content/history corruption=0, contentHashLegacy==Shadow. Схема v2 подтверждена на живых данных. ЗАКРЫТО.
Починено в
v4-0ac410ac0
Воркер
не привязан — привязать:
curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \
-d '{"issueId":"WEB-354","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-24T17:34:19.602Z