> **⟶ ОТРАБОТАН → `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 строк src<TAB>dst<TAB>type, «только новое»).
План обязан пройти ВСЕ 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 полон; реестр владельцу консолидирован.
