260 lines
34 KiB
Markdown
260 lines
34 KiB
Markdown
# Промт: сессия ДИЗАЙН-СИНТЕЗ — план реализации пере-прогонного стека (слои 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 полон; реестр владельцу консолидирован.
|