> **⟶ ОТРАБОТАН → `docs/architecture/11-implementation-plan.md` (1066 строк, три рубежа верификации), РАТИФИЦИРОВАН D39.12 (19.07).** Следующий шаг очереди — `BACKEND_PLAN11_SESSION_PROMPT.md`. Архивная копия. # Промт: сессия ДИЗАЙН-СИНТЕЗ — план реализации пере-прогонного стека (слои 1+4+5 + данные слоя 2), 2026-07-19 > **Место в очереди (D39.11, директива владельца):** исследовательская программа арх-ресета ЗАВЕРШЕНА > (D39–D39.10, все залендены). В бэкенд «просто так не бросаться»: между эмпирикой и стройкой стоит ЭТА > проект-ресёрч сессия. Ты синтезируешь ВСЕ находки (research/19–20, exp15/16, аудит 08, дефект-классы > D39.8) в план реализации «что и как меняем» — с чёткими алгоритмами и **процедурой верификации каждого > ДО стройки** ($0-симуляции на существующих данных, где возможно). План ратифицирует оркестратор > (адверсариальное ревью несущих алгоритмов), затем по плану выдаётся бэкенд-пак. Стройка ТОЛЬКО по > ратифицированному плану — финальное закрытие концерна «тактическое латание». ## Кто ты и что сдаёшь Сессия-проектировщик (аналог ресёрч-сессий research/19–20, но материал — НАШ репозиторий и НАША эмпирика, не веб). Выход: 1. **`docs/architecture/11-implementation-plan.md`** — ратифицируемый план реализации (формат §«Формат плана»). 2. **`eval/design11/`** — скрипты $0-верификаций (симуляции/пере-выводы) + их результаты; артефакты, производные от книги, — ВНЕ git (`/home/ubuntu/books/gu-zhenren/design11/`). **Не коммитить** (лендит оркестратор; git-гардрейл CLAUDE.md в силе). **Бэкенд-код НЕ писать и `backend/` НЕ править** — только план + верификационные скрипты. **$0 к провайдерам жёстко:** платных вызовов нет. Если верификация требует платного вызова — две дороги, НЕ одна: (а) верификация несущая для (г)-слота WS → это деньги-развилка, эскалируй оркестратору через владельца с точной спекой (кандидат — платная pre-build полигон-мини-сессия); (б) проверка структурно требует ПОСТРОЕННОГО кода → слот (д) «после стройки», пробел явно фиксируется в (е) этого WS. Самому тихо маршрутизировать несущую верификацию «на после стройки» запрещено (verify-before-build — суть D39.11). Гардрейлы CLAUDE.md действуют целиком (`.env` не читать; 18+ уровень 3; PUML не рендерить; книга и производные вне git). ## Онбординг (порядок чтения, целевой — не всё подряд) 1. `CLAUDE.md` → `docs/architecture/09-target-architecture.md` (7 слоёв, §0.1 инвариант общности — НЕСУЩИЙ). 2. Д-лог `docs/architecture/05-decisions-log.md`: карта актуальности в шапке + **D39–D39.11 целиком** (контракт эры). 3. Несущие отчёты (это твой исходный материал, читать ВНИМАТЕЛЬНО): - `research/19-chunking-cohesion.md` **§B** (чанкер-спека B1–B4, когезия B3, волны B3-бис), **§C** (контракт t/e), §E; - `research/20-bank-mining.md` **§B1** (детекторы V-A/B/C), **§B2** (алиас-ярусы), **§B3** (banknote-v1, 12 точек), **§B4** (зоны Z1–Z5), **§B5** (плагины P1–P6), **§C** (консолидация), §E; - `experiments/15-segmentation-empirics.md` §3 (Q2b — потолок инструмента), **§7 РЕВ.2** (floor 0.126, Q1/Q3a/Q0), §7.9 (слепое чтение, дефект-классы), §7-Q4a (слабое звено = редактор); - `experiments/16-bank-mining.md` (WHICH/WHAT-расщепление, §3.3 канон, §3.5 банкнота, §4 слепые зоны V-C). 4. `architecture/10-prompt-architecture.md` (промпт-инвентарь) + `architecture/08-sync-audit-ledger.md` (дорожки L1/L2/L3/L5 — по надобности, для полноты диспозиций). 5. **Код (грунтовка обязательна, план цитирует file:line):** `backend/chunker.go`, `chunkrun.go`, `stagerun.go`, `snapshot.go`, `memory.go`, `memseed.go`, `mempostcheck.go`, `coverage.go`, `sanitizer.go`, `export.go`, `config/pipeline.go`, `models.go`, `store/*`; `backend/README.md` (инварианты 1–8), `03-implementation-notes.md`. 6. `experiments/00-provider-quirks.md` (перед любым суждением о провайдерах); `eval/exp15/`, `eval/exp16/` (риги/порты — реюз для симуляций), артефакты `/home/ubuntu/books/gu-zhenren/{exp15,exp16}/`. 7. Авто-память — point-in-time; при конфликте верить докам/коду. ## Доказанная база (НЕ пере-открывать; план строится НА этом) **Строим (ратифицировано, детали в D-логе):** - **Волновой раннер W0→W1(∥)→W1.5→W2(∥)** — преимущества последовательного финал-соседа нет нигде (exp15 Q3a, LOO-stable; мощность |cost|≲0.05–0.10 — «не опровергнуто», не «доказано ноль»); scheduler-aware окна цен. - **Бюджет чанкера в ВЫХОДНЫХ токенах**: фертильность `est_out = 1.20·cjk + 0.39·other` (R²=0.96, glm-4.6-токены, `exp15/fertility_calib.json`) — фикс `L2-budget-wrong-unit`. - **Банк W1.5 (слой 4):** детектор V-C (WHICH: recall 0.97 f≥3 held-out, $0, детерминирован) + **банкнота = dst-канал** (parse_fail 0%, ~$0.01–0.1/ранобэ) + Палладий (имена) + консолидация §C2 + алиас-ярус-1 (R1–R4) + карта подписи. dst из ко-оккуренции ОПРОВЕРГНУТ (canon-recovery 0.20–0.68 < 70%); Z1-адъюдикация — облако; локальная 9B не нужна. - **Декаплинг единиц: draft = мелкий чанк, edit = крупная единица** (цель слоя 1, D39 п.4; exp14 претензия-1; exp15 Q2b: entity-omission ≈0 на всех размерах — с оговоркой «потолок инструмента», Q2a span-омиссия НЕ гонялась). - **Свап редактора glm→mistral/deepseek-pro** — приоритетный арм пере-прогона (exp14b + h2h + Q4a: слабое звено = РЕДАКТОР; flash-черновик уже верен 25/0/27; pro ×3.67 НЕ ратифицирован). - **Дефект-класс чекеры + данные пакета пары (D39.8):** 时辰-юниты (детерм. конверсия) · масштабы чисел (b1-класс 千万/数十万) · gender-enforce по полю сида (класс hidden D19.3: безродовые конструкции до reveal; поле есть, исполнителя НЕТ) · стих/аллюзии (пак-политика + сноски) · регистр-негатив-лист («терем»-класс). **НЕ строим (доказано/ратифицировано — в план НЕ вносить):** сцен-детекция и carryover-машинерия для книг этого класса (D39.7/D39.8 — метрики под полом 0.126 И читатель подтвердил); DP/logical-граница чанкера (Q1: «граница — не рычаг»; Q1a: детекция 0/7); ко-оккуренция для dst; LLM-сегментация/ML-сцены/эмбеддинг-границы/ LLM-running-summary/RAG-оверлап (анти-скоуп research/19 §B4); фронтир в дефолт (D38); жанр-паки (решение владельца 17–18.07); локальный 9B-споттер. **Парковки (НЕ тестировано — не строим по консервативному дефолту, НЕ хоронить как «доказано»):** lookahead (Q3b не гонялся); diff-редактор §C2 (Q4b); reflow-отдельным-пассом (Q4c); широкое-окно/узкая-эмиссия Q2c; W2.5-швейный пасс (Q5). Все парковки — с явной пометкой «не тестировано». **Столпы (ломать нельзя, инварианты 1–8 `backend/README.md`):** деньги/durability (committed==SUM, kill -9) · снапшот-дисциплина (правка wire-байтов/вердиктов = громкий resnapshot; **все изменения этого плана обязаны схлопнуться в ЕДИНЫЙ resnapshot** — D30.9, одна переоплата) · детерминированный банк (не вектора) · эхо-мина DeepSeek (thinking НИКОГДА не off) · 18+ · конфиг-первое ядро · экспорт-контракт = инвариант №8 README (внешняя экстракция ТОЛЬКО `tmctl export`) · golden-гард детерминизма (backend/README, отдельная секция; исторический ярлык «инвариант №8» эпохи D23 в CLAUDE.md/D-логе — номер теперь занят экспорт-контрактом, не путать) · инвариант общности §0.1 (любая книга/пара/структура; пара = ось данных). ## Скоуп плана — воркстримы WS1–WS6 + глобальные секции ### WS1 — Волновой раннер (слой 1/оркестровка) Спроектировать: W0 (чанкер+контекст-пакеты, $0) → W1 черновики параллельно → W1.5 (стоп-граница: банк-синк, подпись владельца, resnapshot) → W2 редактуры параллельно. Обязательные решения: - **Деньги под параллелизмом:** reserve→settle+checkpoint одной транзакцией из N воркеров; потолки (committed+reserved) без гонок; SQLite-конкуренция (single-writer/WAL/очередь — выбрать и обосновать); ретрай-изоляция (ретрай чанка не меняет вход других — уже свойство волн, закрепить тестом). Уроки D12. - **Контекст W1/W2:** src-контекст в W1 статичен (глоссарий-сид + чанк; carryover НЕ строим — D39.7/8; lookahead не тестирован Q3b — в дефолт не входит, парковка); W2-редактор получает КРУПНУЮ единицу (см. WS2) + банк-констрейнты. Соседи-черновики как контекст W2 — НЕ ратифицированы (Q3a null + гипотеза CJK-протечки V2-брака §7.9): если план хочет их — обоснуй и дай дешёвый гейт; дефолт — без них. - **Общее состояние раннера под N воркеров:** назвать и закрыть гонку lazy-init `Runner.clients` (`runner.go:171-181`, D12-урок) и прочие разделяемые хендлы (store/logger/шаблоны); выбрать sync-стратегию, закрепить race-тест-спекой в (д). - **Sticky/сцен-инерция (A5):** сегодня `memory.Select` тянет stickyPrev по цепочке чанков главы (`chunkrun.go:88-111`) и результат входит в инъекционные байты → request_hash; при параллельной W1 цепочка ломается. План обязан ЯВНО решить: drop / precompute-в-W0 (sticky src-производен — детерминированно и $0) / переопределить per-волна; с последствиями для resume-детерминизма; изменение инъекционных байтов — строкой в манифест единого resnapshot, не молча. - **Scheduler-aware диспетчер:** ценовые окна = конфиг провайдера (не хардкод); DeepSeek peak-valley ×2. ⚠ **Вендор-чеки в рамках сессии ($0, официальные доки, с цитатами/URL в плане):** (а) актуальные пик/офф-пик окна DeepSeek — флаг D39.10-6: «01–04/06–10 UTC» vs документированный off-peak 16:30–00:30 UTC, НЕ абсорбировать ни одну трактовку без сверки; (б) семантика/скидка префикс-кэша ZAI/GLM (§E.8-бис research/19 — вся warm-then-fan экономика W1/W2 условна на этом); (в) deprecation слагов DeepSeek 24.07 (research/19 §E.8) — греп конфига и eval-скриптов, список затронутого. - **Гейт W1.5 посреди прогона:** механика стопа между волнами + карта подписи + resnapshot draft→approved. ⚠ Снапшот-семантика банка GATE-УСЛОВНА: при `Gates.Glossary.PostcheckGate=false` (текущий дефолт) auto/draft снапшот не двигают — двигает подпись (`memory.go:258-285`); при gate ON в F1-хеш фолдятся ВСЕ строки вкл. auto/draft и сам флаг гейта (`memory.go:251-266`, `snapshot.go:86-93`) — вливание майнер-строк само двигает снапшот. План обязан задать механику W1.5 для ОБОИХ состояний гейта (дефолт-флаггер сейчас; hard-gate флип висит за пере-замером D24.4/D28.1), чтобы «переоплата ОДНА» была доказуема при любом конфиге. UX-решение — владельцу (вопрос §E-5 research/20 уже висит), план даёт механику и дефолт. - **Верификация ($0):** детерминированный симулятор волн (mock-провайдер) — конкуренция/kill-9/ретрай как исполняемая тест-спека; расчёт wall-clock и COGS по реальной структуре 25-глав книги с окнами цен. ### WS2 — Чанкер-бюджет + крупная edit-единица (слой 1) - Бюджет draft-чанка в ВЫХОДНЫХ токенах через фертильность (конфиг per-pair, снапшот-folded; схема research/19 §B1.1–B1.2 БЕЗ DP/logical-границ — greedy остаётся, `strategy`-ось можно заложить как сеам, но наполнение `logical` НЕ строится). Инвариант: min-бюджет держит чанки над `Gates.Coverage.MinChunkChars` (`chunker.go:42-46`). - **Edit-единица:** определить сборку (глава как естественная граница; глава > потолка → деление по абзацным границам с бюджетом), потолок эмиссии vs зона деградации 2k–8k out (research/19 §A.1.1; Q2a не гонялся — риск омиссии при крупной эмиссии НЕ снят) → **обязательный компенсатор: reflow-инвариантный omission-бэкстоп в слое 5** (лемма-матч, реюз `eval/exp15/reflow_omission.py`-подхода; RegressionGuard/coverage тут смещены — research/19 §B0-4). Решить: что редактор получает на вход (вся единица src+draft) и что эмитит (полная перегенерация единицы — diff-протокол парковка); как единица маппится на чанки-чекпоинты (деньги/resume per-чанк или per-единица — обосновать против инварианта №1); **формат банк-констрейнтов редактора: голые dst-формы vs src→dst-мэппинг — открытый вопрос D30.1 (`memory.go:505-511`), research/20 §E-бэкенд-6 требует решить ДО W2-дизайна → решается В ЭТОМ плане с обоснованием, парковка запрещена** (с майненым банком AMBIGUOUS-строк станет больше — учесть). - Фоллбек-веер: из research/19 §B2 взять ТОЛЬКО корректность-кейсы, НЕ границную машинерию. Честно по коду: мега-абзац уже покрыт (`packSentences`); мега-ПРЕДЛОЖЕНИЕ сегодня проходит oversize-чанком БЕЗ клауза-сплита и БЕЗ флага — плану решить (passthrough+флаг `oversized_sentence` vs аварийный клауза-сплит ;:,、 из §B1.4), согласовав с потолком эмиссии и принципом «деградация не молчит»; стихи/паратекст — решить с обоснованием против §0.1. - Мёртвые кнобы `STMDepth`/`OverlapTokens` (`config/pipeline.go:47-48`) — снести (carryover не строим). - **Верификация ($0):** независимый пере-вывод коэффициентов фертильности из данных (не доверяя `fertility_calib.json` — пере-вычислить и сверить); симуляция нарезки и сборки edit-единиц на 25-глав книге: гистограммы est_out, доля единиц в зоне деградации, floor-инвариант, главы>потолка; сравнение с текущей нарезкой (сколько чанков/единиц, прогноз COGS по фертильности). ### WS3 — Банк-машинерия W1.5 в Go (слой 4) - Go-порт майнера: детектор V-C (n-граммы 1–6 × контраст × c-value g(L)=log₂(L+1) × паттерн-каналы: фамильный якорь / титул-топо-суффиксы / rank-grade-композиция / авто-формант / Палладий-ru — авторитетный состав каналов = exp16 §1.2 арм A3 / замороженный miner-v1, НЕ пересказ research/20 §B; пороги miner-v1 exp16 §1.3 — СТАРТОВЫЙ конфиг, версионируемый) + алиас-ярус-1 (R1–R3 при негативных R4, вкл. iii «разный approved dst» и iv «ко-презенция в предложении») + консолидация §C2 (канон по ВСЕМ вхождениям × Палладий-конформность × полнота леммы; **майнер по построению НЕ пишет approved**) + **эмиссия сид-дельты §C2-7** (YAML в схеме `seedTerm` `memseed.go:30-57`, только auto/draft) + линт против фейл-лаудов `loadGlossarySeed` (`memseed.go:91-99,161-181,201-237`) + генерация карты подписи (KWIC, пол-счётчики 他/她 = evidence, вердикт = владелец; зоны Z1–Z5 флагами). - **Плагин-сеамы P1–P6 (§B5):** данные/конфиг per язык/пара, НЕ ветки кода; наполнение — только zh(-ru) инстансы + существующий ruby-канал ja; degrade-with-flag, fail-loud только P1. Схема кандидата единая ruby↔mined (research/20 §E-бэкенд-5); `Source:"mined"` в GlossaryEntry. - Контраст-словарь (jieba SHA `7197c321…`) и инвентари паттернов — версионируемые артефакты детектора. - ru-лемматизация: pymorphy3 есть только на полигоне — решить честно, что нужно Go-прод-пути W1.5 (лемматизатор цели = плагин P5; варианты: порт-минимум / вызов полигон-тулзы / snapshot-данные), с ценой. - **Верификация ($0, несущая; честный сплит (г)/(д)):** (г) — прогнать Python miner-v1 на запинённых входах exp16 (§1.10 SHA) и ЗАПИНИТЬ фикстуры кандидат-таблиц/кластеров/канон-предложений как golden БУДУЩЕГО Go-порта + спека байт-паритет-харнеса (метод `mem_select.py` в обратную сторону: Python = референс); юнит-фикстуры алиас-правил из exp16 §3.2 (族长≠四代族长 блок, кап-лемма-гейт «найти», компози-гард) — прогнать против Python-реализации; **эмиссия сид-дельты по §C2-7 из персистированных exp16-таблиц** (exp16 сид-дельту НЕ эмитил — только сайдкары; артефакт в `books/gu-zhenren/design11/`, вне git) + сухой линт-прогон по ней против фейл-лаудов memseed. (д) — исполнение самого паритета Go↔Python закрепляет бэкенд после стройки. ### WS4 — Банкнота: dst-канал (слой 4, wire-инвариант) Спека banknote-v1 = research/20 §B3 (разделитель `⟦TM-BANK-v1⟧`, ≤N строк srcdsttype, «только новое»). План обязан пройти ВСЕ 12 интеграционных точек §B3 с file:line и тест-спекой каждой; несущие: срез кодом ДО classify/гейтов; derived-checkpoint `tm-banknote-v1` (прецедент `stagerun.go:225-242`); **re-point final_hash OK-пути draft на derived** (иначе резюм отдаёт редактору сырой блок — расширение flagged-прецедента на ok-путь); включение канала = снапшот-инвариант (промпт-SHA + константа канала); телеметрия `banknote_parse_fail/truncated` лауд; `finish=stop`-only гейт генераций. **Верификация ($0):** пере-парс 95 строк банкноты exp16 спекой парсера (parse_fail 0% воспроизвести; толерантный обрез недописанной строки — на синтетике); fresh↔resume эквивалент-тест как спека; сверка каждой точки с текущим кодом (что изменилось с worktree-состояния research/20). ### WS5 — Дефект-класс чекеры + данные пакета пары (слои 5 + 2-данные) Для каждого класса D39.8: где живёт правило (данные пакета zh-ru vs код гейта), алгоритм, действие при срабатывании (флаг/констрейнт-инъекция — НЕ тихая правка текста; диспозиция D2 цела): - **时辰-юниты:** детерминированная конверсия единиц времени (данные пакета) + чекер «числовое время в src ↔ рендер» (三个时辰 ≈ 6 часов, НЕ «три часа»); - **масштабы чисел (b1):** чекер порядков 千万/数十万-класса против рендера (реюз локаторной механики `q4a_traps.py` — но как ДЕТЕРМ. гейт-класс, не eval); - **gender-enforce:** инъекция пола из поля сида в констрейнт-блок редактора (исполнителя нет — построить; hidden → требование безродовых конструкций до reveal, D19.3) + детерм. чекер рода (морфология финала по леммам персонажа vs подписанный пол; hidden-персонаж с гендерной формой = флаг); - **стих/аллюзии:** политика пакета (детект verse-блока по профилю строк — НЕ границная машинерия; рендер-мандат + слот сноски) — открытые продукт-решения выносить владельцу, не решать за него; - **регистр-лексикон:** негатив-лист «терем»-класса как данные пакета + чекер вхождений. **Верификация ($0, обязательная для КАЖДОГО чекера):** (а) позитивы из эмпирики — известные дефекты exp15 §7.9 / exp14b / exp16 обязаны ловиться (时辰 «три часа», b1-примеры, Бай Нинбин hidden, «терем»); (б) false-positive замер на ПОЛНОМ 25-глав финале через `tmctl export` (инвариант №8): чекер, флагающий заметную долю чистого текста, не лендится — привести измеренные rate в плане. ### WS6 — Свап-арм редактора + готовность пере-прогона - Армы = конфиг (pipeline yaml/models), не код: glm-5 (базлайн) / mistral / deepseek-pro как editor; что нужно бэкенду (конфиг-варианты, снапшот per-арм, атрибуция в export/report) — перечислить. - **Прогон-протокол (для будущего полигон/монитор-промта, здесь — предпосылки):** армы идут ЧЕРЕЗ прод-путь со ВСЕМИ гейтами (урок V2-брака §7.9 — eval-риг без гейтов дискредитировал арм); инструмент-фиксы слепых пакетов (D39.8 п.3: авто-QA до человека, общий финал, 2-way, тир-структура претензий); планка — 2 претензии (интерим); любое судимое сравнение наследует ратифицированный риг-стандарт (D39.7): per-vote персист, полно-evidence окна (HEAD_CHARS-класс запрещён), оба порядка, floor-гейт маргиналов (измеренные полы: когезия 0.126, смысл 0.261), детерм. скорер > судьи где возможен (DET-primary валидирован D39.9); генерации — только `finish=stop`. - **(г) для WS6** = COGS-расчёт скриптом в `eval/design11/` (фертильность WS2 × цены providers.json × реальная структура книги, per-арм; реюз расчёта WS1, не дубль) — числом в плане; качественная сторона свап-арма — по эскейп-хатчу (а)/(б) выше: точная спека «верификация полигоном после стройки» в прогон-протоколе. ### Глобальные секции плана (обязательные) - **Порядок стройки и нарезка на пакеты** (что в бэкенд-пак-2, что следом; зависимости между WS). - **Манифест единого resnapshot (D30.9):** перечислить ВСЁ, что двигает snapshotID (уже висящие memmatch-v4 + sanitizer-v6 + reseed/editor-v3 D38.5 + новое из WS1–WS5: chunker-конфиг, банкнота, пакет-данные, gender-инъекция…) — план обязан показать, что переоплата ОДНА. - **Диспозиции хвостов:** ledger-очередь D39.4/D39.5 (LOW/NOTE), слоты §E research/19 (E.5–E.8-бис) и research/20 (E-бэкенд-1…6; src→dst D30.1 — НЕ хвост, решается в WS2, здесь только кросс-реф), дефекты D39.9 (finish=length-гейты в eval-харнесах), **и NEVER_CLOSED владельческие идеи дорожки L7 аудита 08 без записанной диспозиции (минимум: H7 input-limit, H8 abuse-prescreen, H10 user-stop, H16 self-improvement — обещанный D39-док-долг, погашение в D-логе не записано)** — каждому: в пак / паркуется (причина) / владельцу. - **Реестр вопросов владельцу** (консолидированный, с дефолтами плана). ## Формат плана (`architecture/11-implementation-plan.md`) Per-воркстрим: **(а)** что меняем (модули, file:line); **(б)** алгоритм — до псевдокода/структур данных, детерминизм явно (целые/сортировки/версии/tie-break); **(в)** конфиг+снапшот-механика (что фолдится, какие версии бампаются); **(г)** верификация ДО стройки — скрипт в `eval/design11/` + РЕЗУЛЬТАТ в плане (числа, не обещания); **(д)** тест-спека ПОСЛЕ стройки (пины, golden, race, kill-9 — что именно закрепит бэкенд); **(е)** открытое/маршрутизация. Плюс глобальные секции выше. Пиши так, чтобы бэкенд-сессия могла строить БЕЗ пере-открытия исследований: каждый порог/константа — либо число со ссылкой на источник, либо явный конфиг-дефолт с обоснованием. ## Мандат самопроверки (обязателен, владелец 12.07) + дисциплина - **Ревью ИСПОЛНЕНИЕМ:** каждый верификационный скрипт — прогнан, результат воспроизводим (детерминизм: без time/rand); каждое file:line-утверждение плана — сверено с живым кодом (HEAD, не worktree-память отчётов: research/20 писался до лендинга пак-1.5). - **Адверсариальный селф-ревью плана (author≠reviewer, воркфлоу):** несущие алгоритмы (WS1-деньги, WS2-единицы, WS3-паритет, WS4-точки, WS5-чекеры) — refute-by-default; расхождение = чинить до сдачи. - **Completeness-critic:** свип против скоуп-листа этого промта, дорожек **L1–L8** аудита 08 (приоритет L1/L2/L3/L5; L4/L8 — confirm-only, закрыты D39 п.7/п.8 + пак-1/1.5; L6 — резидуалы в WS6/промпт-тему; L7 — каждая NEVER_CLOSED идея без диспозиции → строка в «Диспозициях хвостов») и §E-слотов research/19–20 — «что не получило диспозицию?»; остаток — явным списком, не молчанием. - **Не пере-решать ратифицированное:** D-лог — контракт; «что НЕ строим» — не пересматривать (это не мешает честно фиксировать новые противоречия — эскалацией, не тихой правкой). - Эмпирика exp15/16 — предварительна до вне-претрейн новеллы: несущие пороги в плане помечай «tunable, ревизия по пере-прогону», не высекай в камне. ## Эскалации Настоящие развилки (скоуп-сдвиг, конфликт с ратифицированным, деньги, продукт-решения) — быстрый пинг оркестратору через владельца КОРОТКОЙ запиской (развилка + варианты + твоя рекомендация). Это норма и поощряется (образцы эры №6: B-hybrid Q4a, оракул-поправка). Тихие девиации запрещены. ## Приёмка (что сделает оркестратор — знай заранее) Адверсариальная верификация по сырью: пере-исполнение твоих симуляций, спот-чек file:line, refute-воркфлоу по несущим алгоритмам, сверка полноты против скоуп-листа. Лендинг с ревью-шапкой → ратификация D-блоком → только затем бэкенд-промт. Мин-планка ратификации: все WS с исполненной верификацией (г) — WS, чья (г) заблокирована эскалированной платной верификацией, ратифицируем только как ГЕЙТНУТЫЙ (стройка этого WS не стартует до исполнения верификации); манифест resnapshot полон; реестр владельцу консолидирован.