Land doc-diet: slice PROGRESS chronicle to third archive, compress CLAUDE.md state, archive executed docs 07/08/11, switch D-log onboarding to map-plus-live-head reading rule
This commit is contained in:
parent
85fe02a92f
commit
abdfbff811
10 changed files with 252 additions and 237 deletions
29
CLAUDE.md
29
CLAUDE.md
File diff suppressed because one or more lines are too long
|
|
@ -30,7 +30,7 @@
|
|||
## Онбординг (порядок чтения, ~40 мин)
|
||||
|
||||
1. `CLAUDE.md` → `docs/README.md` → CURRENT-STATE в `docs/PROGRESS.md`.
|
||||
2. **`docs/architecture/09-target-architecture.md`** (7 слоёв + §0.1 общности) + `08-sync-audit-ledger.md` (по надобности) + `10-prompt-architecture.md` (промпт-тема).
|
||||
2. **`docs/architecture/09-target-architecture.md`** (7 слоёв + §0.1 общности) + `archive/architecture/08-sync-audit-ledger.md` (по надобности; архивирован 25.07 как отработанный) + `10-prompt-architecture.md` (промпт-тема).
|
||||
3. **D-лог `05-decisions-log.md`:** карта актуальности в шапке, затем **D39–D39.11 подробно** (арх-ресет и вся эра), D24–D38 по карте.
|
||||
4. Несущие отчёты: `research/19` (§B чанкер-спека, §C контракт t/e, волны W0–W3) · `research/20` (§B1 детекторы, §B3 банкнота-12-точек, §C консолидация, §B5 плагины P1–P6) · `experiments/15-…` §7 (REV.2 + §7.9 чтение) · `experiments/16-…` (§0 ре-аудит, WHICH/WHAT).
|
||||
5. Авто-память — point-in-time, сверяй с доками.
|
||||
|
|
|
|||
226
docs/PROGRESS.md
226
docs/PROGRESS.md
|
|
@ -1,14 +1,10 @@
|
|||
# Журнал прогресса
|
||||
|
||||
> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-07-25, пост-пак-16/D39.25; буллеты эры exp15/16 ниже — хроника, их «очереди» исполнены записями ниже). **Источник истины по РЕШЕНИЯМ — `architecture/05-decisions-log.md` (D1–D39.25); этот файл — ЖУРНАЛ.**
|
||||
> - **Фазы:** 0 ✅ · Ф1-инфра ✅ (D20–D28; golden = инвариант №8) · арка «качество-первым» D26→D38.5 ЗАКРЫТА (хроника — `archive/PROGRESS-2026-07-10-13.md`; итог: потолок в организации, не в моделях). **АРХ-РЕСЕТ D39 (13.07):** синк-аудит «сломанного телефона» (65 находок / 0 refuted — `architecture/08-sync-audit-ledger.md`) → целевая 7-слойная архитектура + фазовый план (`architecture/09-target-architecture.md`); инвариант общности §0.1 (любая книга/пара/структура); промпт-тема консолидирована в `architecture/10-prompt-architecture.md`.
|
||||
> - **Трек A (build-now) ЗАКРЫТ:** пак-1 (D39.2, `d3f6b34`: trust-gated suppressor [терм-дрейф закрыт в КОДЕ] · export-contract нормализация · pair-сеам `prompts:{zh-ru}` fail-loud · реестр role→инъекция · target-гейты · quality-report) + пак-1.5+F1–F9 (D39.5, `dc30c7d`: `tmctl export` [manifest-join+drift-гард; полигон-экстракция впредь ТОЛЬКО через него] · fold-first санитайзер [HIGH-обход закрыт] · bounded глосс-whitelist · пример zh→ru). Адверсариал-долг 529 погашен (D39.4: 8 осей, 0 CRIT/1 HIGH/6 MED — всё в фикс-листах/ledger).
|
||||
> - **Трек B (ресёрч) ЗАЛЕНДЕН:** research/19 нарезка+когезия+контракт t/e+волны W0–W3 (D39.1; конфликт exp14↔research/18 разрешён: эмиссия≠окно≠связность) · research/20 банк-майнинг W1.5 (D39.6; детектор-лестница V-A/B/C, алиас-ярусы, banknote-v1, плагины P1–P6, §D-пре-рег; конфаунд инъекции ⇒ cold-start срез).
|
||||
> - **exp15 ЗАВЕРШЁН И ЗАЛЕНДЕН (D39.7, `fe34a16`):** «граница вредит» отозван (артефакт окна судьи, свинг +0.689 после фикса), все когезия-эффекты под шум-полом 0.126, «sequential нигде не лучше» (LOO-stable, НЕ ратифицированный зелёный свет волне), фертильность 1.20·cjk+0.39·other; $12.79/$15. **Слепое чтение ИСПОЛНЕНО (D39.8):** планка не пройдена никем, дефекты распределены по армам (читатель подтвердил floor-null; V2-брак = риг без гейтов, не carryover-рычаг) → битва качества пере-прогона = дефект-классы (时辰-юниты · числа b1 · gender-enforce · стих/аллюзии · регистр-лексикон), не нарезка. **Q4a ИСПОЛНЕН И ЗАЛЕНДЕН (D39.9, $1.32/$2):** верность НЕ покупается на translate-стадии (flash уже верен 25/0/27; pro ×3.67 не ратифицирован); смысл ломает glm-РЕДАКТОР (свап glm→mistral/deepseek-pro = приоритетный арм пере-прогона); exp14b-правила дефектны → $0-ре-аудит в exp16. **exp16 ИСПОЛНЕН И ЗАЛЕНДЕН (D39.10, $0.02/$10):** WHICH подтверждена (код-детектор V-C recall 0.97 held-out, $0) / WHAT опровергнута для ко-оккуренции → dst-канал = банкнота (идея владельца оправдана) + облако+Палладий; 9B-споттер не нужен (0.895 ≤ код); Z1 → облако; ре-аудит exp14b: ядро D38 держится, errata не нужна. Тачпойнты владельцу: карта подписи (пол) · мини-голд алиасов · precision@30 (books/gu-zhenren/exp16/). **Исследовательская программа ЗАВЕРШЕНА.** **Директива владельца (D39.11): стройка ТОЛЬКО после ДИЗАЙН-СИНТЕЗ сессии.** **План РАТИФИЦИРОВАН (D39.12, `architecture/11-implementation-plan.md`)** — три рубежа верификации, 4 гейтнутых арма. **Пак-11 (единой сессией, блоками):** ✅ Block A (D39.13: output-чанкер+edit-единицы+src→dst-редактор [закрытие D30.1]+eager-clients+rate-guard+base/enriched+банкнота-ядро) · ✅ continuation (D39.14: Go-майнер паритет-EXACT+банкнота-12-точек+DC-чекеры+`export --pairs`+арм-конфиги+волновой снапшот-аддитив; рубеж-2-долг погашен, clean bill, фикс-лист FL-1/2/3) · ✅ **арх-проход (D39.16: язык-данные майнера → `internal/lang`+`configs/langpacks/` байт-точно [парити EXACT, golden байт-идентичен], граница компиль-enforced; `x/text/language.Tag` ОТВЕРГНУТ [CLDR-инстабильность в вердиктах]; DC-чекеры/снапшот-фолд DEFER [майнер offline/нейтральность]; FL-1/2/3 залендены).** **Очередь:** R1 драйвер-свитч (волновой исполнитель W1/W1.5/W2 + структурный golden-рерайт + фолд `pack.Version()`/загрузка langpack при wiring майнера живым; промт `BACKEND_PLAN11_SESSION_PROMPT.md` АКТИВЕН + `backend/PACK11_CONT_REPORT.md §R1`) → приёмка → единый resnapshot (D30.9, §8-манифест) → пере-прогон 3–10 глав (армы glm/mistral/deepseek-pro) → чтение владельца (интерим-планка 2 претензии, D35). ja→ru-реплика = тест общности §B5 (DEFER-чекеры едут туда). 残: POLYGON_PACKAGE4 residual-трекер (пилот/18+/echo — отложен, D36.1); ре-чек прайса DeepSeek 24.07.
|
||||
> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-07-25, пост-пак-16/D39.25). **Источник истины по РЕШЕНИЯМ — `architecture/05-decisions-log.md` (D1–D39.25); этот файл — ЖУРНАЛ.**
|
||||
> - **Фазы/курс:** Ф0 ✅ · Ф1-инфра ✅ (D20–D28; golden = инвариант №8) · арка «качество-первым» D26→D38.5 закрыта · **арх-ресет D39 исполнен ЦЕЛИКОМ** (7 слоёв → программа D39.1–D39.10 → паки 11–16, D39.13–D39.24; статус слоёв — шапка-таблица `architecture/09-target-architecture.md`) · пере-прогон rerun2 прочитан (D39.20: операционка живьём, $0-резюм ×3 арма, $6.63<$15; планка ≤2 НЕ пройдена; анти-корреляция гладкость↔верность ×3 → mistral-редактор вон) · эксп ЗАКРЫТ (D39.22), итерация №2 отложена · **курс = разработка бэкенда: пак-17 «канал B вживую» ЗАПУЩЕН 25.07** (D39.25: в движке НЕТ понятия «18+» — generic content-labels × provider-capabilities) → следующий платный прогон (разом: итерация №2 dspro-vs-glm · замер остатка ремонта → решение о петле D39.24 · живой канал B) → сид-дельта (元 · 赤城 · 学堂家老 · 春秋蝉) → Ф2-механизмы (голос/состояние D21 · native-Gemini судья) · ja→ru §B5 → пилот Ф2.5. Хроника треков A/B, exp15/16 и стройки паков — архивы ниже + D-лог.
|
||||
> - **Стек:** draft deepseek-v4-flash (thinking ON) → **editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (D39.22; glm-5 резерв, mistral вон D39.20)**, промпт v3-discourse (P1a+чэнъюй+few_shot-тумблер) → судья gemini-3.1-pro-preview; канал B Mistral+grok; 7 ключей; ~$0.85/ранобэ (D30.4).
|
||||
> - **Ждём от владельца:** тачпойнты exp16 (карта подписи/пол · мини-голд алиасов · precision@30, `books/gu-zhenren/exp16/`, ~30–40 мин — для сид-дельты к пере-прогону) · развилки плана §10 (W1.5-UX · DC5-стих-политика · Edit-ceiling · и др.) · реплика ja→ru (тест общности §B5) · **ре-чек прайса DeepSeek у катовера слагов 24.07** (до него платных deepseek-прогонов нет) · чтение пере-прогона (после R1+resnapshot) · старые висящие: планка запуска (лучше-фана/гибрид/издательский) · билингв-якорь пилота (D25.9-Q1) · контаминация пилот-корпуса (D27.4) · publishable/waiver (D25.1) · FN-bound L3 (D25.4) · юр-пакет · провенанс 12-*-доков.
|
||||
> - **ОТКРЫТЫЕ ПЕТЛИ (норма 25.07, перепись 180 инцидентов: класс NEVER_CLOSED больше не копим — каждая петля обязана получить диспозицию решено/отложено-с-записью/отклонено; ведёт оркестратор).** *Владелец:* мини-каноны сид-дельты — 元-корень (предложение «изначальн-») и 春秋蝉 (подписано «Весенне-осенняя цикада», ждёт подтверждения) · **включение платной петли ремонта — по замеру остатка на пост-профилактическом прогоне (D39.24; заменил mini-live гейт D6)** · ja→ru-реплика §B5 (тайминг) · старые Ф2.5-блокеры (билингв-якорь — D25 п.9 Q1 · контаминация корпуса — D27 п.4 · судья-дублёр D22.6 · планка запуска · publishable/waiver — D25 п.1 · FN-bound L3 — D25 п.4 · юр-пакет · xAI-ключ off перед продом D27). *Оркестратор:* ~~ратификация дизайна пака-16~~ РЕШЕНО D39.24 (25.07) · фантом-гард D-ссылок в чек-листе лендинга (действует) · ~~doc-sync pass~~ **ИСПОЛНЕН 25.07** (запись ниже: оба puml перерисованы под пост-пак-16 · баннеры на 01/02/03/04/06/07/08/09 · ресёрч-свип 18/18c/19/20/21/22 · README/POLYGON_PACKAGE4 освежены; residual — пинги полигону в его зоне) · приёмка пака-17 фаза 1 (когда придёт отчёт: эхо-блок сразу, ратификация пропорционально). *Бэкенд:* ~~пак-16 ф.2~~ ЗАЛЕНДЕНА 25.07 · per-class исходы ремонта — схемное решение (класс не durable), принимается ВМЕСТЕ с включением петли · ниты общности (владелец 25.07, хвост ближайшего пака): Detail-строки чекеров → шаблоны/цитаты из данных (статический 时辰-текст в generic-файле соврёт второй паре) · множитель ×2 `lintTimeUnits` (`checkers.go:174`) → ключ данных. *Полигон (residual):* **6 пингов doc-sync аудита 25.07 (зона `docs/experiments/` — оркестратор не правит):** (1) `00-provider-quirks.md:13,73` — катовер deepseek-chat 24.07 ПРОШЁЛ, пост-катовер факт (жив ли алиас, цены) не внесён — live-проба `/models` + вендор-дока; (2) `00-provider-quirks.md:69` — оговорка «mistral-editor-арм до guard» superseded D39.20 (mistral вон из редакторов; rate-limit-цифры оставить — нужны переводчику канала B пака-17); (3) `09-pilot-protocol.md:3` — ⚠-указатель застрял на D31/glm-5: продлить до пост-D39.22 (dspro-интерим · планка ≤2 не пройдена rerun2 · авто-QA слепыми метками D39.20 · стайл-каноны D39.21), тело не трогать; (4) `15-segmentation-empirics.md:6-7` — шапка до сих пор «НИ ОДНОГО платного вызова», а эксп залендён REV.2 (D39.7/D39.8, $12.79) — перевернуть статус-блок; (5) `16-bank-mining.md:3` — дописать финал «ИСПОЛНЕН И ЗАЛЕНДЁН (D39.10); gender-тачпойнт §7 закрыт (D39.19); продолжение — Go-майнер парити EXACT»; (6) `experiments/README.md` — индекс без строк exp15/16 (сверка застряла на D38.2).
|
||||
> - Архивы хроники: `archive/PROGRESS-2026-07-04-10.md` (D31) · `archive/PROGRESS-2026-07-10-13.md` (D39.6-гигиена). Записи ниже — живая эра D39.
|
||||
> - **ОТКРЫТЫЕ ПЕТЛИ (норма 25.07, перепись 180 инцидентов: класс NEVER_CLOSED больше не копим — каждая петля обязана получить диспозицию решено/отложено-с-записью/отклонено; ведёт оркестратор).** *Владелец:* мини-каноны сид-дельты — 元-корень (предложение «изначальн-») и 春秋蝉 (подписано «Весенне-осенняя цикада», ждёт подтверждения) · **включение платной петли ремонта — по замеру остатка на пост-профилактическом прогоне (D39.24; заменил mini-live гейт D6)** · ja→ru-реплика §B5 (тайминг) · старые Ф2.5-блокеры (билингв-якорь — D25 п.9 Q1 · контаминация корпуса — D27 п.4 · судья-дублёр D22.6 · планка запуска · publishable/waiver — D25 п.1 · FN-bound L3 — D25 п.4 · юр-пакет · провенанс 12-*-доков · xAI-ключ off перед продом D27 · residual-тачпойнты exp16, не влитые в сид-дельту: мини-голд алиасов · precision@30, `books/gu-zhenren/exp16/`). *Оркестратор:* ~~ратификация дизайна пака-16~~ РЕШЕНО D39.24 (25.07) · фантом-гард D-ссылок в чек-листе лендинга (действует) · ~~doc-sync pass~~ **ИСПОЛНЕН 25.07** (запись ниже: оба puml перерисованы под пост-пак-16 · баннеры на 01/02/03/04/06/07/08/09 · ресёрч-свип 18/18c/19/20/21/22 · README/POLYGON_PACKAGE4 освежены; residual — пинги полигону в его зоне) · приёмка пака-17 фаза 1 (когда придёт отчёт: эхо-блок сразу, ратификация пропорционально). *Бэкенд:* ~~пак-16 ф.2~~ ЗАЛЕНДЕНА 25.07 · per-class исходы ремонта — схемное решение (класс не durable), принимается ВМЕСТЕ с включением петли · ниты общности (владелец 25.07, хвост ближайшего пака): Detail-строки чекеров → шаблоны/цитаты из данных (статический 时辰-текст в generic-файле соврёт второй паре) · множитель ×2 `lintTimeUnits` (`checkers.go:174`) → ключ данных. *Полигон (residual):* **6 пингов doc-sync аудита 25.07 (зона `docs/experiments/` — оркестратор не правит):** (1) `00-provider-quirks.md:13,73` — катовер deepseek-chat 24.07 ПРОШЁЛ, пост-катовер факт (жив ли алиас, цены) не внесён — live-проба `/models` + вендор-дока; (2) `00-provider-quirks.md:69` — оговорка «mistral-editor-арм до guard» superseded D39.20 (mistral вон из редакторов; rate-limit-цифры оставить — нужны переводчику канала B пака-17); (3) `09-pilot-protocol.md:3` — ⚠-указатель застрял на D31/glm-5: продлить до пост-D39.22 (dspro-интерим · планка ≤2 не пройдена rerun2 · авто-QA слепыми метками D39.20 · стайл-каноны D39.21), тело не трогать; (4) `15-segmentation-empirics.md:6-7` — шапка до сих пор «НИ ОДНОГО платного вызова», а эксп залендён REV.2 (D39.7/D39.8, $12.79) — перевернуть статус-блок; (5) `16-bank-mining.md:3` — дописать финал «ИСПОЛНЕН И ЗАЛЕНДЁН (D39.10); gender-тачпойнт §7 закрыт (D39.19); продолжение — Go-майнер парити EXACT»; (6) `experiments/README.md` — индекс без строк exp15/16 (сверка застряла на D38.2).
|
||||
> - Архивы хроники: `archive/PROGRESS-2026-07-04-10.md` (D31) · `archive/PROGRESS-2026-07-10-13.md` (D39.6-гигиена) · `archive/PROGRESS-2026-07-13-25.md` (слайс 25.07: стройка паков 11–16, rerun2). Записи ниже — живой хвост.
|
||||
|
||||
## Оркестратор №7 — DOC-SYNC PASS ИСПОЛНЕН (аудит владельца 25.07): puml перерисованы, 14 доков синканы с D1–D39.25, 6 пингов полигону, 25.07
|
||||
|
||||
|
|
@ -22,171 +18,8 @@
|
|||
|
||||
Приёмка по новой норме — гоняли, не читали: все три §9-блокер-сценария отклонены сквозными репродукциями через настоящий драйвер; шести MAJOR-фиксам без in-tree тестов построен overlay-харнесс; ценз `^func Test` воспроизведён исполнением (399→433, удалено 0). Мой двойной MAJOR (hourWordRE: «тотчас» отгружал удаление длительности + ru-парадигма в Go) закрыт дельтой: `hour_word_re` → пар-данные с обеими границами + fail-loud пары без пробы. **Решения:** §9.2 = (а), both-wave re-pin принят ($0-резюм — внутри-снапшотный инвариант, resnapshot = переоплата ОДНА; пер-волновой суб-хеш — записанная опция эры масштаба); §16.2 ратифицирована (дефолт-актуаторы = broken_word+latin_residue, dc1 — детекторы). **В очередь:** per-class исходы ремонта = схемное решение, вместе с включением петли. **Нормы:** правило 11 «сэндбокс-репродукции через драйвер» (девять дефектов прошли чтение — поймало исполнение); ценз-норма впервые сработала ДО отчёта (снос 7 тестов при механической правке пойман и восстановлен сессией). Инварианты: golden `f7641993…` байт-в-байт · парити EXACT · 12 пакетов `-race` · версия пака → `a7d4be2c0465` (только ратифицированные правки данных). Очередь: **пак-17 = канал B вживую** (батч со следующим платным прогоном: вопросы итерации №2 + замер остатка ремонта → решение владельца о включении петли).
|
||||
|
||||
## Бэкенд — ПАК-16 фаза 2 ПОСТРОЕНА (D39.24) + мини-дельта приёмки; лендинг за оркестратором, 25.07
|
||||
|
||||
**Построено по 4 ратифицированным пунктам.** (1) `checks.RepairCandidates` — позиционная детекция, вердикт-нейтральная ПО КОНСТРУКЦИИ (ни одна lint-функция не тронута, `cheapgates.go` вне диффа → `CheapGateVersion` не двигается; эквивалентность пинится `TestRepairCandidatesAgreeWithLints`), несущий гард однозначности «ровно один матч с каждой стороны». (2) Read-only скан остатка в `QualityReport` + строка `REPAIR RESIDUAL` в CLI, $0. (3) Два фикса пар-данных: правая граница `ru_hours_re` (живой FP: «три части» читалось как «три час…») и дробный зонд 半个时辰 (84 из 266 вхождений меры были невидимы КЛАССУ ЦЕЛИКОМ). (4) Машинерия ремонта под `enabled: false`: суб-шаг в `runStage`, derived-чекпойнт `tm-repair-v1:`, `repairSnap` указателем только в волну финальной стадии, деньги через `role='repair'` без миграции. Хвосты первого касания все четыре (строгий декод book/models/pair · unknown-key-тест пинит имя · zero-value-гарды `PickedEntry`/`Bank`).
|
||||
|
||||
**Приёмка адверсариальной панелью по ДИФФУ дала худший результат в паке: 18 находок, ВСЕ 18 выжили у скептиков (3 BLOCKER).** Первая редакция отчёта заявляла реализованным то, чего в коде не было. Исправлено 9: позитивный ре-гейт (его не было вовсе — «три часа»→«**пять** часов» принималось и отгружалось) · анти-удаление применялось к предложению, а не к спану (воспроизведено удаление придаточного, 28% юнита, с отгрузкой) · бюджет проверялся ДО чекпойнта (резюм терял оплаченный ремонт) · стоимость терялась на реплее · счётчики D5 никем не читались (мёртвое поле) · `latin_residue` без таргет-гейта · оба dc1 актуаторы вопреки §16.2 · `ExpandToSentence` без потолка · неаллайненный спан дробной меры. Урок для нормы: 6 из 9 воспроизведены ПРОГОНОМ через настоящий драйвер, чтением диффа не ловились — для пака, меняющего отгружаемые байты, ревью-чтения недостаточно.
|
||||
|
||||
**Мини-дельта приёмки (4 пункта) закрыта.** `hour_word_re` → пар-данные с ОБЕИМИ границами (дыра воспроизведена: «тотчас»/«сейчас»/«полчаса» удовлетворяли позитивное условие → ответ мог удалить длительность и подставить филлер); дом — пар-файл рядом с `ru_hour`-роднёй, аргумент в отчёте §10; плюс fail-loud, если пара объявила дробный зонд без пробы. `unicode.Cyrillic` в сканере — задокументирован как унаследованный ru-долг с причиной, почему data-drive ТОЛЬКО сканера сломал бы вердикт-нейтральность. D5: поля паспорта доделаны (`ChapterPassport.RepairApplied`), **исходы ПО КЛАССАМ НЕ доставлены и вынесены в очередь** — класс нигде не записан durable, вывод требует решения о схеме/формате. Гигиена: эта секция, стейл-цифры приведены к фактическим (ценз 427→433, дифф +675/−19 → +767/−29).
|
||||
|
||||
**Инварианты:** golden `f7641993…` байт-идентичен baseline (пере-снят с нуля, пере-капчер НЕ нужен) · парити EXACT (`n=13618 … recall 0.9655 56/58`) · build/vet/`-race` 12 пакетов · `gofmt` чист кроме пре-существующего `llm.go` · ценз `^func Test` **399 → 433, удалено 0** (при правке файла снёс 7 тестов заменой «до конца файла» — поймал цензом СРАЗУ, все восстановлены; механизм сработал до отчёта, а не после).
|
||||
|
||||
**НА РЕШЕНИЕ ОРКЕСТРАТОРА (§9.2 отчёта):** фикс пар-данных двигает `LangpackVersion` (`f83acc67ea0f` → `a7d4be2c0465`), а он в ОБЩЕЙ части payload → для zh-ru книги это `--resnapshot`, пере-оплачивающий и ДРАФТ-волну, не только edit. Моя первая классификация «version-only сдвиг пака» была уже. Практическая цена сегодня, вероятно, нулевая (rerun2 закрыт, книг в полёте нет). Варианты: (а) принять both-wave re-pin как цену фикса — мой дефолт; (б) вынуть правку данных из пака; (в) пак-суб-хеш только для финальной волны — новый механизм, без санкции не делаю. Отчёт: `docs/archive/reports/PACK16_DIFF_EDITOR_REPORT_2026-07-25.md`. **Сессия не коммитит.**
|
||||
|
||||
## Оркестратор №7 — промт пака-16 «слой-3 diff-редактор» ВЫДАН (двухфазный: дизайн → ратификация → стройка), 25.07
|
||||
|
||||
Решение по курсу: diff-редактор ПЕРЕД каналом B — главный механический минус по research/22 (мы флагаем, конкуренты чинят), фундамент лёг паком-15 (чистый `internal/checks` с typed-фактами), строится и валидируется за $0 на дефект-корпусе rerun2. Канал B = пак-17, батчится со следующим платным прогоном (там же вопросы итерации №2 dspro-vs-glm). По дисциплине D39.11 промт двухфазный: фаза 1 = дизайн D1–D6 (единица ремонта/маппинг флаг→спан · классы петли v1 · механика вызова и pair-keyed промпт ремонта · wire/снапшот/resume · CostSource/quality-report · $0-валидация) → СТОП → ратификация; фаза 2 = стройка (no-repair путь байт-идентичен; golden-эволюция по санкции; хвосты: строгий декод book.yaml/pair/models). Стенд после пака-15 мигрирован и проверен исполнением (3 pipeline-конфига → prompt_override; langpack_extend дописан и в book-dspro.yaml — третья книга, пропущенная при первичной проводке; все три книги грузятся под строгим лоадером). Полигону: `eval/exp15/mem_select.py:36` — путь trad2simp → `internal/text/data/`.
|
||||
|
||||
## Оркестратор №7 — ПАК-15 «структура+форма» ПРИНЯТ (воркфлоу 10 линз + доприёмка 3) и залендён; движок разложен по подсистемам, 25.07
|
||||
|
||||
`internal/pipeline` 38→20 не-тест файлов + 6 пакетов: `text` (норм-субстрат) · `seed` (схема сид-YAML) · `chunk`(+chunktest) · `miner` · `checks` · `membank`; драйвер+инфра = композит-корень. Латеральных импортов НОЛЬ (go list вкл. тест-бинари). **Сессия работала лучше промта:** пере-мерила прил. A AST-обходом (miner→membank 35→11, «membank→chunk 7»=артефакт) → отказ от пакета value-типов по замеру; нейминг де-статтерингом (`miner.Config`, `membank.Bank`); сплит настоящий — ноль фасадов/алиасов. Форм-фиксы: `memberDrops()` одно определение (byte-agreement-by-comment ликвидирован) · RequestHash-struct (хеш-байты построчно идентичны) · resolveChunkState-struct · sticky→поле. Конфиг-слой пары: `configs/pairs/{zh-ru,ja-ru,en-ru}.yaml` + промпт-конвенция `prompts/<пара>/<роль>.md` (`prompts:`-мапы удалены; 120-записей-проблема закрыта). Остаток пака-14 весь (тесты Палладия · fail-loud оверлея уровнем выше · коллизия union = ошибка · empty-probe гард · терминаторы → embedded data · `第` → chapter_marker). **Приёмка:** golden ПЕРЕ-СНЯТ с нуля — байт-в-байт; парити EXACT; 2 MAJOR закрыты дельтой: (1) класс тихой подстановки промпта закрыт ШИРЕ запрошенного — reject-only легаси-ключи + строгий `KnownFields(true)` декод pipeline-конфигов (опечатка ключа = громко); (2) удалённый seed-контракт-тест возвращён И ОКАЗАЛСЯ ВАКУУМНЫМ в старой форме (фикстура эмитила 0) — теперь гард премисы + счёт материализации. **Гигиена:** «ни один ассерт не удалён» была ложной заявкой (раскрыта сессией §(0)); второй пак подряд → норма приёмки: дифф `^func Test` исполнением. **Очередь хвостов:** строгий декод book.yaml (санкционирован, первое касание) · pair/models non-strict · zero-value-паники · стенд-конфиги rerun2 → prompt_override (оркестратор) · eval/exp15 путь trad2simp (полигон). Дальше — пак-16: канал B вживую / слой-3 diff-редактор (прецедент research/22).
|
||||
|
||||
## Оркестратор №7 — ПАК-14 «генеральность-пасс» ПРИНЯТ (воркфлоу 11 линз + доприёмка 4) и залендён; пак-15 «структура+форма» готовится, 24.07
|
||||
|
||||
Сессия исполнила 9 пунктов + оба аддендума + **расширение по директиве владельца «full data-out»** (детект-регексы чекеров/гейтов/санитайзера → данные, не только lookup-таблицы; `checkers_zh_ru.go` → пар-агностичный `checkers.go`). Два дома данных: `configs/langpacks/`+книго-overlay (`book.yaml: langpack_extend`, аддитивный union, fail-loud на чужой файл) для пар/книго-данных · `internal/lang/data/` go:embed для того, что нужно движку БЕЗ пака (golden ja→ru без langpack это доказал: refusal/CJK-нарезка/→ru-инъекция). **Приёмка исполнением:** 0 блокеров; байт-сверка каждого переноса против HEAD; парити EXACT (`{方源:0 蛊:1 蛊师:2 古月:22}`, 古月 теперь из base∪overlay — общий zh-пак чист); golden байт-нетронут; тесты грузят фикстуры из реального пака. Блокер доприёмки (аддендум parsePalladius не был исполнен) закрыт дельтой: generic-парсер категорий + один типизированный `Pack.Palladius`, required валидирует потребитель; + c2-segmentation явно, packAlgoVersion v2. **Поправка отчёту (ревью-шапка):** Приложение A «distinct/matches 8» — греп-артефакт (0 кодовых ссылок; 35→32/14), хойст-вывод не задет. **Гигиена-инцидент мой:** `77dd9b8` утащил staged `git mv` промптов сессии (git commit коммитит весь индекс) — одна неконсистентная bisect-точка, вылечена этим лендингом; правило: перед лендинг-коммитом `git diff --cached`. Прод-overlay 古月 подключён в оба стендовых book.yaml. **Пак-15 (промт ВЫДАН — `BACKEND_PACK15_STRUCTURE_SESSION_PROMPT.md`, ратификация D39.23, §1 норматива амендирован):** хойст `internal/text`+value-типов → сплит miner/checks/membank/chunk (карта связности+экспорт-поверхности = приложения A/B отчёта пака-14, с моей поправкой) + форм-фиксы Export/RequestHash/resolveChunkState + конфиг-слой пары (пар-калибровки из ран-конфигов, промпт-резолв конвенцией) + перенесённый остаток (тесты Палладия · fail-loud оверлея · unionStringMap-семантика · empty-probe гард · терминаторы chunker/coverage · `第`).
|
||||
|
||||
## Оркестратор №7 — research/22 (доменные харнессы) ПРИНЯТ и залендён; вердикт: калибрующий, не переворачивающий, 24.07
|
||||
|
||||
Сессия сдала ревизию-2 (после СОБСТВЕННОГО 9-агентного адверсариала синтеза, поймавшего её факт-ошибки — прецедент мандата 12.07 в лучшей форме). Мой спот-чек 5/5 (detectCJKLeak/cheapgate-v4/ledger наши · ProofreadTask/GenDic их). **Оценка:** ядровые ставки ПОДТВЕРЖДЕНЫ рынком+академией (fused-майнинг>bolt-on доказан смертью KeywordGacha; DelTA-роадмап = наш пройденный путь; TransAgents назвали нашу D39.20-проблему и не решили; north-star «измеренная редактура» НЕ роадмапится никем — окно открыто). **Мы безоговорочно впереди:** COGS-телеметрия · 18+ · общность · измеренность (recall 0.932, вклад ролей). **Позади:** Q4 выпуск/epub (разрыв РАСТЁТ — bbm/Immersive активно куют) · gate+repair-петля QA (они чинят typed-error→адресный ре-перевод, мы флагаем). **В планы:** слой-3 diff-редактор получает прецедент AiNiee/LinguaGacha (приоритет↑, пак-15/16) · epub-tag-rewrite не держать до Ф3 бесконечно (кандидат после пилота) · Q7-леджер дополнить (глагольный вид/addition/voice-flattening) · Problem.py-классы reflow-aware (char-freq, control-code) · LinguaGacha = бенчмарк-кандидат №1 · SakuraLLM мониторить (канал B/ja→ru). «D39.7-коллизия» разрешена: не коллизия, ссылка на стандарт. Промт → архив.
|
||||
|
||||
## Оркестратор №7 — паки 12+13 ПРИНЯТЫ (25-агентный воркфлоу) и залендены; директива общности → норматив+фикс-лист; промт пака-14 выдан, 24.07
|
||||
|
||||
**Лендинг двумя коммитами по зонам** (`7fe0a5b` пак-12, `2f91b04` пак-13). Приёмка: build/vet + полный `-race` зелёные (сам) + воркфлоу 25 агентов/0 ошибок: пак-12 все пункты CONFIRMED, wire-нейтральность доказана по коду (маршалинг запроса не тронут); пак-13 все 10 CONFIRMED (сид↔дельта-гард loud, heading = langpack-данные с golden-no-op, книго-чекеры сняты сессией по директиве, FP-фиксы исполнением); **golden исчерпывающе: 113 пар хеш-only + 4 version-строки + 10 строк ЕДИНСТВЕННОГО wire-изменения (gender-аннотация в драфт-глоссарий, «род должен доезжать» D39.21) — категория «прочее» = 0**; зоны дизъюнктны, санкция echo_mine соблюдена. Нюансы зафиксированы: джиттер поверх 5-мин капа (+25% максимум, анти-herd, принято) · additive при total=0 (анти-undercount, принято) · few_shot:false у dspro-редактора (зеркало арма, принято). **Директива владельца «движок не врастает в книгу/пару» → норматив `12-go-style-notes.md` §0 + CLAUDE.md-гардрейл + генеральность-аудит:** подтверждённые (пережили refute-pass) утечки: **古月 в общем zh-langpack (книжный клан как «фамилия»!)** · ru-инъекция-строки для любой пары (`memory.go:601`) · refusal-блэклист в Go (`disposition.go:235`) · zh-числительные+sourceAbbrevs чанкера · терминаторы/фонотактика майнера · DC1/register-таблицы чекеров · fertility-fallback. **Промт пака-14 «генеральность-пасс» выдан** (байт-точность/парити EXACT, 古月 через книго-расширение langpack). Go-стиль-вопросы владельца закрыты в 12-*: источник = Google Go Style Guide (+Decisions/Best Practices/Effective Go/CodeReviewComments); `_test.go` рядом с кодом = требование тулчейна; 50 файлов в пакете = норма, сплит только по концептуальной подсистеме. Сид: 资质=«талант» добавлен (D39.21, lint OK); гу-ср.род → brief-слот следующего прогона (enum пола wire = male/female/hidden, среднего нет — nit пака-14+). **research/22 сдан сессией (обнаружен аудитом зон) — ПРИДЕРЖАН до ревью оркестратора, в паки не вмешан.**
|
||||
|
||||
## Оркестратор №7 — РЕТРАКТ «каденса майнинга» и «масштаб-пака» (поймал владелец), очередь пере-грундована по 09-target, 23.07
|
||||
|
||||
Владелец верно указал: «каденс майнинг-стопов каждые N глав» — моя экстраполяция СВЕРХ контракта. Код-правда (`mining.go:14-21`): детектор офлайн читает ИСХОДНИК скоупа (черновики лишь метят охват), стоп ОДИН на прогон, все термы скоупа добываются этим стопом; между прогонами-срезами банк аккумулируется штатно (mined_delta+rejects) — довозникать нечему, каденс-механика не нужна. Сериализация edit-волны на подписи — осознанный дизайн (единственное горлышко), не проблема масштаба. **«Масштаб-пак» и полнокнижный precompute СНЯТЫ** (работоспособность проверяется малым срезом; полный масштаб встретит первый продовый прогон). Очередь пере-грундована по слоям `09-target-architecture.md`: построено — слои 1/2/4/6 + большая часть 5/7 (паки D39.2–D39.19); **остаток намеченного плана: слой 3 diff-based редактор (крупнейший; мандат до сих пор full-regen) · канал B вживую · голос/состояние D21 · C2/C3-коры · native-Gemini судья · span-чекеры смысла (полярность/ранг) · хвосты слоя 7 (strip-резолвер, сироты-промпты) · ja→ru §B5.**
|
||||
|
||||
## Оркестратор №7 — промт research/22 (доменные харнессы/конкуренты) выдан; паки-12/13 запущены владельцем параллельно, 23.07
|
||||
|
||||
По вопросу владельца «какие ещё репо посмотреть»: research/21 покрыл транспорт агент-CLI, но ПРЯМЫХ доменных конкурентов (харнессы перевода длинных CJK-текстов) не смотрели. Склонировано в `/home/ubuntu/projects/tmp/` (лицензии поштучно): translation-agent (MIT, reflection) · bilingual_book_maker (MIT, epub) · TransAgents (Apache-2.0, мульти-агент литперевод) · AiNiee (**AGPL-3.0**) · GalTransl (**GPL-3.0**) · LunaTranslator (**GPL-3.0**) — GPL/AGPL: читать можно, копировать НЕЛЬЗЯ; **KeywordGacha БЕЗ лицензии — клон удалён**, только онлайн README/issues. Промт: `DOMAIN_HARNESS_RESEARCH_SESSION_PROMPT.md` (Q1 глоссарий-системы vs банк · Q2 автодобыча vs майнер [UX подписи на 13618 кандидатов!] · Q3 батчинг/связность vs волны · Q4 выпуск/epub vs export/ридер-IDE · Q5 мульти-агент эмпирика vs Q4a · Q6 их QA vs пак-13 · Q7 жалобы пользователей = недостающие дефект-классы; + фаза-0 веб-свип новичков 2025–26 с лицензионным гейтом). **Паки-12/13 запущены владельцем ПАРАЛЛЕЛЬНО в одном дереве** — координация: пак-13 держит wire-правки/golden-пере-капчер до отчёта пака-12 (его инвариант = golden байт-идентичен); лендинг двумя коммитами по зонам файлов.
|
||||
|
||||
## Оркестратор №7 — D39.22: эксп закрыт решением владельца, итерация №2 отложена, редактор = dspro интерим, курс — разработка бэкенда, 23.07
|
||||
|
||||
Владелец: выделенную итерацию №2 не гонять, эксп пройден, дальше разрабатывать бэкенд. Поправка факта: слепое чтение №2 единой руки не короновало (2/2/1) — интерим-редактор зафиксирован по СОВОКУПНОСТИ = **deepseek-v4-pro** (судья №1 · проза/глоссарий · дефекты чинибельны паком-13 · ×2 дешевле glm); glm-резерв, отмена = один арм-конфиг. Вопросы итерации (чистый dspro-vs-glm + чекеры вживую) едут довеском следующего платного прогона. Дефолт-конфиг → dspro при лендинге пака-13 (п.8 промта). **Курс после паков 12/13:** масштаб целой книги · канал B вживую · Ф2-механизмы (голос/состояние D21, native-Gemini судья) · ja→ru §B5 → пилот Ф2.5. Не заблокированы: оба промта выданы, запускать можно сразу.
|
||||
|
||||
## Оркестратор №7 — D39.21 стайл-решения владельца + промт пака-13 «выпускной QA» выдан, 23.07
|
||||
|
||||
Владелец решил (D39.21): меры → конвертировать в единицы языка читателя (时辰=2ч) · generic «гу» = средний род, именные гу — род по-термово из банка · стихи — переводом смысла · 资质=«талант». Плюс директива: аудит полноты банк-инъекции («многое не инжектится в промт перевода»). **Промт пака-13 выдан (`BACKEND_PACK13_QA_SESSION_PROMPT.md`, 7 пунктов, WIRE-двигающий → resnapshot на итерации №2):** mined_delta-крэш-фикс · заголовок-шаблон (langpack-маркеры) · юнит-конверсия+чекер · число-масштабы 千万/成 · broken-word/latin-residue (приёмка на живом дефект-корпусе rerun2, 0 FP) · аудит инъекции · стайл-канон в промпт. Порядок лендинга: пак-12 (нейтральный) → пак-13. Открыто владельцу: 元-корень семейства + 春秋蝉 (сид-дельта итерации №2).
|
||||
|
||||
## Оркестратор №7 — ВЕРДИКТ ПЕРЕ-ПРОГОНА (D39.20): планка не пройдена, дефект-классы механизируемы, mistral-редактор исключён, 23.07
|
||||
|
||||
Ключ вскрыт ПОСЛЕ фиксации двух слепых чтений. Триангуляция трёх независимых сигналов (судья 0.679/0.589/0.232 при floor-шуме 0 · ChatGPT сводно dspro 2/mistral 2/glm 1 · Fable гигиена mistral 2/glm 2/dspro 1): слепого сводного победителя НЕТ, но **чисто-художественные выборы обоих читателей идентичны (A/A/B/C/A) = mistral 4/5** — арм с худшей верностью. Анти-корреляция гладкость↔верность доказана трижды. **Решения (D39.20):** планка ≤2 не пройдена (пилот не открыт) · mistral вон как несущий (голос = north-star промпта) · dspro-vs-glm решает итерация №2 после механизации (драфт $0 → ~$0.08/арм + судья-lite). Дефект-классы → полный маппинг на механизмы (пак-13: юнит-чекер 时辰 · число-масштабы · broken-word/latin · заголовок-шаблон · mined_delta-крэш-фикс; банк: 元/资质/赤城/学堂家老; владелец: род «гу»/меры/стихи/春秋蝉). Операционка вся подтверждена живьём ($0-резюм ×3, echo 0, $6.63<$15). Гигиена: авто-QA ключевать слепыми метками (частичная деанонимизация гл.1 у читателя №2); промт пере-прогона отработан→архив; **гейт пака-12 ОТКРЫТ**.
|
||||
|
||||
## Оркестратор №7 — арх-дочитка research/21 принята (транспорт НЕ рефакторим), промт пака-12 «транспорт-гигиена» выдан, 23.07
|
||||
|
||||
Ресёрч-сессия дослала архитектурный срез (3 Go-базы: SDK-паттерн RequestOption = несериализуемое замыкание — враждебен снапшот-детерминизму, наша Capability-как-данные правильнее; crush делегирует транспорт наружу; goose сам держит квирки в коде — сходится к нашей позе). **Вердикт ратифицирую: транспорт не рефакторим, энергия арх-работы — в pipeline (D39, уже расписан).** Сессии поручено дописать §5 «Архитектурные паттерны» в research/21 (файл залендён — приму диффом). **Промт пака-12 выдан (`BACKEND_TRANSPORT_PACK_SESSION_PROMPT.md`), ГЕЙТ: старт только после платного пути пере-прогона.** Скоуп 10 wire-нейтральных пунктов (ноль resnapshot, golden байт-идентичен): валидация models.yaml · quota-429-terminal · ms-Retry-After · h2-keepalive · proportional jitter · xAI identity-гард · CostSource (fertility, не char/4) · drift-guard-пины + substring-finish · кап billed-decode · сегмент-луп-гард (observability). Вендор-сверка внутри сессии: GLM finish-словарь, kimi temperature. НЕ вошло (явно): GLM cache_control (wire → решение владельца после чтения) · overflow-гард · native-Gemini (Ф2) · continuation · стриминг.
|
||||
|
||||
## Оркестратор №7 — research/21 (обзор LLM-транспорта) ПРИНЯТ и залендён, 23.07
|
||||
|
||||
Ресёрч-сессия сдала обзор (57 агентов; самопроверка исполнением поймала плейсхолдер-заглушки синтеза Q1/Q3 — пере-выведены из survey-сырья, 8/8 несущих цитат CONFIRMED; ещё один датапоинт мандата 12.07). **Приёмка исполнением:** 7/7 цитат о нашем коде + 5/5 из клонов сверены байт-в-байт; 1 эрратум (Mistral 400↔422 — класс верен); **поправка применимости моя:** wire single-shot `system+system+user` (`render.go:223-227`) → «арм-квирки» (Mistral extra_forbidden, deepseek multi-turn) ЛАТЕНТНЫ для текущего пере-прогона, GLM-overflow — future-proofing; идущий прогон НЕ трогаем. **Вердикт обзора:** наш транспорт опережает/вровень со всеми 11 (retryLoop, 5-мин кап Retry-After, fail-loud, served-model биллинг, min_max_tokens-флор, double-count-гард); против Mistral-48% — только concurrency-cap, против тихого усечения — стриминг даёт лишь детекцию (continuation ≠ стриминг). **Дёшево-подтверждённые кандидаты пост-прогона:** fractional/ms Retry-After · quota-429→terminal · HTTP/2 keepalive · CostSource-маркер · xAI identity-гард · план native-Gemini-судьи · cache_control на GLM (÷5 входа, но ~2% стандарта). Q7-таблица квирков — кандидаты до вендор-сверки, в `00-provider-quirks.md` НЕ абсорбированы. Промт → архив. Решения о внедрении — после чтения владельца, отдельными D.
|
||||
|
||||
## Оркестратор №7 — параллельный трек: промт research/21 (обзор LLM-транспорта чужих харнессов) выдан, 20.07
|
||||
|
||||
По решению владельца — параллельно пере-прогону. В `/home/ubuntu/projects/tmp/` склонированы 11 репо (лицензии сверены поштучно): codex/gemini-cli/**grok-build (офиц. xAI, open-sourced 15.07.2026, Apache-2.0)**/goose/aider/cline/openai-go — Apache-2.0; opencode/anthropic-sdk-go — MIT; litellm — MIT-ядро (`enterprise/` не читать); crush — FSL-1.1 (читать можно, копировать нельзя). **Leaked-форки Claude Code — ВНЕ периметра** (контаминация; офиц. трекер/чейнджлог — онлайн). Промт: `LLM_TRANSPORT_RESEARCH_SESSION_PROMPT.md` — Q1 cache-раскладка инъекции (до ×50 на входе flash), Q2 rate-limit адаптив (Mistral-арм), Q3 finish_reason-таксономия, Q4 retry/fatal vs 04-unhappy-paths, Q5 usage/ledger, Q6 streaming-надёжность, Q7 issue-sweep по нашим провайдерам → кандидаты в 00-provider-quirks. Жёстко: $0 (никаких вызовов), backend read-only (патчи — только после пере-прогона), file:line-грунтовка, выход `research/21` некоммиченным.
|
||||
|
||||
## Оркестратор №7 — гейт DeepSeek закрыт факт-чеком, промт ПЕРЕ-ПРОГОНА выдан, 20.07
|
||||
|
||||
**Гейт 24.07 закрыт по существу** (офиц. `api-docs.deepseek.com/quick_start/pricing`, 20.07): катовер депрекейтит ТОЛЬКО старые алиасы `deepseek-chat`/`deepseek-reasoner` — мы на `v4-flash`/`v4-pro`, не затронуты; цены байт-в-байт равны `models.yaml` (flash $0.14/$0.0028/$0.28, pro $0.435/$0.003625/$0.87); анонсов изменений нет. Остаточный риск (тихая смена цены в день катовера) страхуется потолком леджера + повторным прайс-чеком 24.07, если прогон жив (вписан в промт). **Аддендум 20.07 (вопрос владельца «а гемини?»):** прайс-чек расширен на ВСЕ платные провайдеры прогона — gemini-3.1-pro-preview $2/$0.20/$12 ≤200k (thinking в output) · glm-5 $1/$0.2/$3.2 · mistral-large $0.5/$1.5 — все совпали с `models.yaml` байт-в-байт, депрекаций не анонсировано. Нюансы вшиты в промт: тир >200k у Gemini (×2/×1.5, ledger одноценовой → судья-окна <200k) + GA-слага 3.1-pro НЕТ (судья остаётся на `-preview`; риск будущих прогонов, мониторим) + live `/models`-проба всех слагов в предполёте. **Промт операционной сессии выдан: `PERERUN_SESSION_PROMPT.md`** — главы 1–5, ОДИН resnapshot, майнинг-стоп → резидуал-подпись (тачпойнт №1), армы glm/mistral/deepseek-pro с проверкой $0-резюма драфта по ledger («переоплата ОДНА» на живых деньгах), риг D39.7, блайнд-пакет D39.8 (тачпойнт №2 — чтение, планка ≤2 претензии), потолок $15/$15. Стенд-артефакты сверены: контраст `eval/exp16/data/jieba_dict_general_zh.txt` · сид v2 · подписанная карта exp16 — все на месте.
|
||||
|
||||
## Оркестратор №7 — консистенси-проход бэкенда (комменты+строки → английский) ПРИНЯТ и залендён, 20.07
|
||||
|
||||
Владелец прогнал проход на чистоту кода: русские комменты (104 файла) + операторские дашборды (`render.go`) + error-msg + detail-флаги чекеров → английский; логов на русском не было (уже английские). **Оставлено русским (проверено file:line):** wire/инъекц-заголовки (`glossaryBlockHeader`/`editorConstraintHeader`/`⟨проверить⟩`, `memory.go:504/543`), lang-data таблицы гейтов (ё-гомографы/транслит-междометия/разряды 万億/Палладий-ъ), глифы `«—»/«…»`, тест-данные перевода, doc-ссылки (`Р4/Р5/D39 слой 2/Ш-2`). **Приёмка ИСПОЛНЕНИЕМ (не по заголовку отчёта):** build+vet+`test -race` зелёные (весь набор: golden-детерм/snapshot_wave/memnorm/**miner-parity EXACT**); **golden-диф = ТОЛЬКО 3 диагностических `detail=`-префикса, все content_hash/final_hash/disp/flag/cost байт-идентичны** → не wire, не вердикт, resnapshot сверх пере-прогонного НЕ нужен; 0 wire-идентификаторов в дифе; 0 нового gofmt-долга (3 файла некошерны уже на HEAD). Единственный enum-литерал `AliasType «чтение»→«reading»` (`memseed.go`): модели не рендерится (`memory.go:221` кладёт в surfaces лишь `a.Alias`), нигде не сравнивается (не control-flow), фолдится только в `computeMemoryVersion` (`memory.go:315`) → на реальной книге учтётся, но впитывается свежим resnapshot пере-прогона бесплатно (оплаченных чекпойнтов на стеке нет). Стрей `backend/tmctl` (build-артефакт) не коммичен. Не D-решение (косметика), стек/контракт не тронуты.
|
||||
|
||||
## Оркестратор №7 — пере-прогон-преп ПРИНЯТ и залендён (D39.19), бэкенд готов к пере-прогону, 19.07
|
||||
|
||||
Сессия исполнила все 6 фиксов препа + §8-верификацию + свой 4-линзовый адверсариал (clean bill). **Залендено:** R1-FL-A (CLI exit-3 для WaveSignatureStop) · R1-FL-B (reject-set `Book.MinedRejects` — livelock/W1.5-UX закрыт; nil no-op, парити цел) · R1-FL-C (x/text-версия в Ш-2, pin+drift-чек — единственная снапшот-двигающая) · echo-сплит (draft/edit rates, костыль снят) · read-model naming (chunk→unit, полигон не сломан) · ниты (мёртвый minedToCandidates снесён). **Приёмка прямая (локальные фиксы, сессия сама адверсариалила):** build/race зелёные сам, **независимый masked-golden = 0 после маскировки хешей** (version-only чисто, wire/вердикты байт-идентичны), пины все (exit-контракт, reject-suppress, x/text-drift, echo-сплит, парити EXACT), §8-манифест полон (+x/text). Док-правка: x/text-строка добавлена в план §8 (моя зона). **ПАК-11+преп завершены, бэкенд готов.** Промт препа отработан→архив. **Очередь: пере-прогон** (операционная: ОДИН resnapshot + langpack+contrast+подписанная карта+армы; риг D39.7; finish=stop) → чтение (планка 2 претензии). Гейт: ре-чек прайса DeepSeek 24.07.
|
||||
|
||||
## Оркестратор №7 — gender-signoff закрыт + промт пере-прогон-препа выдан, 19.07
|
||||
|
||||
**Gender-signoff карты exp16 ЗАКРЫТ** (владелец «male ок», оркестратор проставил корректно, не бланк-штампом): **male** (name-персоны he-доминантно) 方源·古月·方正·人祖·花酒行者·古月赤练/赤城/漠北/漠尘/冻土 · **female** 沈嬷嬷 (嬷嬷=нянька, 0/2) + **沈翠** (KWIC разрешил ничью 2/2: 丫鬟/丫头=служанка, дочь 沈嬷嬷 — счётчики 他 были от окружающих мужчин) · **hidden** 白凝冰 · **n/a** все title/term/place + 困境 («Беды»=имя стаи). Флагов не осталось. Карта (`books/gu-zhenren/exp16/signature_map.md`, вне git) — dst-канон + пол закрыты, готова к сид-дельте. **Промт `BACKEND_RERUN_PREP_SESSION_PROMPT.md` ВЫДАН** — 6 целевых фиксов (R1-FL-A CLI-exit · R1-FL-B mining-reject-set [дизайн-дефолт: reject-list файлом] · R1-FL-C x/text-версия в Ш-2 · echo-сплит · read-model naming · лёгкие ниты) + верификация полноты §8-манифеста единого resnapshot; директива «не упарываться на миноры» вшита. Пере-прогон (ОДИН resnapshot fresh-translate + армы + подписанная карта) — операционная сессия ПОСЛЕ препа; гейт: ре-чек прайса DeepSeek 24.07.
|
||||
|
||||
## Оркестратор №7 — D39.18: c-lite blast-radius + 4 read-модель-фикса залендены, 19.07
|
||||
|
||||
Ратифицирован product-вариант (c) по blast-radius (флагнутый черновик-член бланкал всю edit-единицу → регресс). **Залендено `488c8d4` (c-lite):** флагнутый член дропается, редактор бежит по чистому остатку (source+draft хороших), при всех флагнутых → ""; без флага байт-идентично (golden цел). Приёмка прямая (локализованный flag-путь — тяжёлый воркфлоу не нужен; сессия сама прогнала 4-линзовый адверсариал): build/race/golden зелёные сам, деньги честны (draftCost по всем членам, редактура 1×). + 4 read-модель-фикса пост-лендинг-ревью сессии: quality-echo пере-выведен (**открытое решение владельцу: echo «где угодно» [текущее] vs «только шипнутое» — one-line**), status first-flagged, export --pairs source realign, export detail. Отчёт `docs/archive/reports/R1_POST_LANDING_REVIEW_2026-07-19.md`. R1-FL-A/B/C — deferred в пере-прогон-преп (live-mining-гейтнуты). **Echo-метрика РЕШЕНА (владелец, идея владельца лучше моего A/B): сплит `echo_draft_rate` (переводчик эхнул — здоровье модели, вкл. дропнутых c-lite прямо из draft-строк) / `echo_edit_rate` (редактор эхнул / echo в шипнутом — качество доставленного, серьёзнее).** Заменяет A/B И убирает re-derive-хак `quality.go` (draft-echo считается прямо из draft-строк по Stage+`cjk_artifact`). → пере-прогон-преп. **Очередь без изменений:** пере-прогон-преп (R1-FL-A/B/C + echo-сплит + единый resnapshot; blast-radius уже сделан) → пере-прогон → чтение.
|
||||
|
||||
## Пере-прогон-преп — накапливаемый скоуп (промт пишет оркестратор перед прогоном)
|
||||
R1-FL-A (CLI exit-код WaveSignatureStop) · R1-FL-B (mining-стоп reject-set — нужен W1.5-UX дизайн) · R1-FL-C (x/text-версия в Ш-2) · **echo-сплит `echo_draft_rate`/`echo_edit_rate`** (убрать re-derive-хак) · read-model naming-debt (chunk/total_chunks несут unit-счётчики) · ниты D39.17-errata (jobs.status advisory · escMu-throughput · dead minedToCandidates · HTTP-concurrency smoke) · **единый resnapshot D30.9 §8** (memmatch/sanitizer/чанкер-v5/src→dst/pack.Version/unicode.Version одной переоплатой). Гейт до старта платного прогона: ре-чек прайса DeepSeek 24.07 + финальный gender-signoff карты («остальных male»).
|
||||
|
||||
## Оркестратор №7 — D39.17-errata: 2-я ревью-сессия поймала runWave parent-cancel баг (мой рубеж-2 пропустил), фикс залендён, 19.07
|
||||
|
||||
Владелец запустил ВТОРУЮ независимую ревью-сессию (4 ревьюера+трейс) по волновой фиче ПОСЛЕ моего лендинга R1. Поймала **реальный MEDIUM-HIGH баг, который мой рубеж-2 дал clean bill:** `runWave` возвращал nil при parent-cancel (Ctrl-C), когда воркеры не ошиблись ($0-resume-воркер не трогает cancellable ctx → firstErr nil при недоделанных items) → nil-deref паника (edit) / exit-0 на неполной книге (draft-only). Денег/данных не теряется (durable-store корректен), ущерб = крэш/ложный успех. **Фикс залендён (`5fc4860`):** `parent.Err()` при firstErr==nil. **Верификация оркестратора red/green исполнением:** реверт к HEAD → регресс-тест ПАДАЕТ; фикс → PASS; suite -race + golden зелёные. **Честно: мой clean bill D39.17 был НЕПОЛОН** — линза runWave была, но агенты не дотрейсили $0-resume-cancel-путь; вторая независимая сессия поймала (валидирует независимые ревью). Ядро R1 (деньги/переоплата-ОДНА/память/снапшот) — 3 ревьюера+трейс подтвердили, держится. Осталось владельцу/препу: **product-решение edit-unit blast-radius** (флагнутый member бланкает всю единицу-главу → accept/export-good-flagged/split-on-bad, эскалировано) + R1-FL-A/B/C + ниты (jobs.status/read-model-naming/escMu/dead-minedToCandidates/HTTP-concurrency-smoke) → пере-прогон-преп.
|
||||
|
||||
## Оркестратор №7 — R1 драйвер-свитч ПРИНЯТ и залендён (D39.17), ПАК-11 ЗАВЕРШЁН, 19.07
|
||||
|
||||
Бэкенд-сессия сдала волновой исполнитель (`waverun.go`/`mining.go` нов): precompute→черновик∥→банк-майнинг-стоп→редактура∥; редактор читает concat-черновик по final_hash, НИКОГДА не пере-рендерит draft; `translateChunk` удалён. + wiring майнера (langpack fail-loud/nil + pack.Version-фолд + mined-write) + Ш-2 (unicode.Version) + Ш-1 (masked-diff) + golden-рерайт (8 глав→8 единиц) + read-модели per-unit + именование без W0-W2. **Приёмка: прямая (build/race сам, 8 волновых пинов вкл. кусачий регресс-пин переоплаты-ОДНА, golden байт-стабилен, построчное чтение waverun=план §1/research19 §B3-бис) + ПОЛНЫЙ рубеж-2** (5 линз вкл. явную синк-с-ресёрчем — владелец просил; refute-by-default, $0): **4 находки / 1 refuted / 3 выжили — ВСЕ MINOR/NOTE, 0 CRIT/MAJOR; все несущие линзы (деньги/секвенирование/детерминизм/СИНК/снапшот) ПУСТЫ.** Сессия сама поймала MAJOR (инъекция черновика над enriched вместо base → тихий re-bill при mined-подписи; фикс r.baseMemory + регресс-пин). **Фикс-лист (3, стенд-only mining / трипваер — не блокируют, ГЕЙТ до живого mining пере-прогона):** R1-FL-A (CLI не даёт WaveSignatureStop distinct exit-код → exit 1; коммент/отчёт оверклейм) · R1-FL-B (mining-стоп очищается только при пустой дельте, reject-механизма нет → отклонённый терм livelock'ит стоп; связано с W1.5-UX §10-1) · R1-FL-C (NOTE: x/text/norm своя Unicode-редакция не фолдится — расширить Ш-2). Девиации приняты (сургичный per-wave resnapshot, escMu-сериализация эскалаций). **ПАК-11 ЗАВЕРШЁН** (Block A+continuation+арх-проход+R1); `BACKEND_PLAN11` отработан→архив. **Очередь:** пере-прогон-преп (R1-FL-A/B/C + единый resnapshot D30.9 §8) → пере-прогон 3–10 глав (армы + live mining с подписью) → чтение (планка 2 претензии).
|
||||
|
||||
## Оркестратор №7 — подпись карты exp16 + находка «Бай Нинбин = предел DC-3», 19.07
|
||||
|
||||
Владелец подписал карту exp16 (`books/gu-zhenren/exp16/signature_map.md`, вне git): **dst-канон принят** (banknote-dst + сидовый dst для Палладий-канон-записей; мусорные co-occ «справочно» — игнор, это доказанный провал WHAT §3.3). Правки владельца: 南疆→«Южные земли» (не транслит), 青丝蛊→«Шёлковый гу», 长生 без изм. (=«бессмертие», авто-dst был брак). Пол: остальные персонажи — male по evidence (ожидает финального «ок» владельца), **白凝冰 (Бай Нинбин) = `hidden`**. **НАХОДКА (предел дефект-класса gender-enforce D39.8):** Бай Нинбин ЛОМАЕТ статическое поле пола — пол МЕНЯЕТСЯ по книге (безгендерный→мужчина→магически женщина) И расщеплён по перспективе (внешне ж / сам себя мыслит мужчиной). Ни `gender`, ни окно `since_ch/until_ch` этого не выражают → **детерминированный DC-3 НЕ трогает (правильно, `hidden`→Ф2/редактор); местоимения рендерит редактор ПО СЦЕНЕ.** Следствия: (1) валидирует D39.16-решение отложить hidden-чекер в Ф2; (2) **требование к Ф2/editor-контексту: нужна НАРРАТИВНАЯ гендер-аннотация (since_ch-смены + перспектива), не булево поле** — вход дизайна Ф2-аннотатора; (3) **ожидание пере-прогона (честно владельцу): его претензия «мечтал/мечтала» по Бай Нинбину — редакторская-на-понимание, детерминированным фиксом НЕ закрывается; зависит от того, поймёт ли редактор сцену (может частично на прямых фазах, не гарантировано на расщеплённых).** Гарантированные детерм-фиксы пере-прогона — чистые male-персонажи + 时辰-юниты + числа + регистр.
|
||||
|
||||
## Оркестратор №7 — актуализация ВСЕЙ документации (док-свип, мандат владельца), 19.07 (седьмая фаза)
|
||||
|
||||
По прямому указанию владельца прошёл всю документацию, освежил current-state-маркеры до пост-D39.16 (дисциплина D23.3: правил ТОЛЬКО шапки/статус-строки, историю не трогал). Тронуто: `CLAUDE.md` (текущее состояние → D39.16, эра «стройка пере-прогонного стека») · `docs/README.md` (статус-абзац пост-D38.1→D39.16, D-лог-диапазон D39.6→D39.16, дедуп дубль-предложения о закрытых промтах) · `docs/PROGRESS.md` (CURRENT-STATE шапка+очередь+«ждём от владельца») · `05-decisions-log.md` (заголовок D1–D38→D1–D39.16) · `09-target-architecture.md` §2-слой-2 + `10-prompt-architecture.md` (отметки реализации langpack D39.16) · оркестратор-хендофф №5 (статус-баннер: первый deliverable исполнен, тело=снимок D39.11). **Чужие зоны (мандат владельца «всю», дерево чистое/живых сессий нет — клоббера нет):** `backend/README.md` (D-лог-диапазон + указатели на план-11/промт стройки/langpack) · `eval/README.md` (очередь пост-D39.16: исслед-программа завершена, следующее = пере-прогон). **НЕ тронуто (обоснованно):** `components.puml`/`pipeline.puml` — код всё ещё ПОСЛЕДОВАТЕЛЬНЫЙ (R1-волны не залендены) → диаграммы СЕЙЧАС точны, обновление после R1; историческая хроника D-лога/PROGRESS (D23.3).
|
||||
|
||||
**Чистка код-зоны + процесс-правка (мандат владельца 19.07, «доки бэкенда выглядят плохо»):** три сессионных `backend/*_REPORT.md` (PACK11/PACK11_CONT/ARCH_CLEANUP, ~82 КБ нарратива, дублировали PROGRESS/D-лог) вынесены из `backend/` в `docs/archive/reports/` (архив-не-удаление); `backend/` теперь чист (README+спека+промты). **Процесс впредь:** сессии НЕ плодят персистентные `backend/*_REPORT.md` — постоянный record = D-блоки+PROGRESS, детальный артефакт (если нужен) → `docs/archive/reports/`; вписано в R1-промт. Плюс из ARCH_CLEANUP-записки ратифицированы **Ш-1/Ш-2** (снапшот-гард: Ш-2 — фолд `unicode.Version`, трипваер до go1.27, едет в R1-resnapshot; Ш-1 — masked-diff-хелпер, низкая срочность) → фикс-лист R1 (детали в D39.16).
|
||||
|
||||
## Оркестратор №7 — арх-проход D39.16 ПРИНЯТ и залендён: язык-данные майнера в internal/lang, 19.07 (шестая фаза)
|
||||
|
||||
Сессия исполнила 5-фазный арх-промт. **Залендено:** zh/Палладий-данные майнера вынесены из Go-констант pipeline/ в `configs/langpacks/zh|zh-ru/` (10 файлов), грузятся leaf-пакетом `internal/lang` (граница компиль-enforced: не импортит pipeline), движок читает `*lang.Pack` через DI. + FL-1 (bankTokenBudget-фолд) / FL-2 (банкнота-телеметрия на резюме) / FL-3 (emitRankCap=200) / тест-путь env-override. **Приёмка исполнением:** build/vet/race сам, **golden БАЙТ-ИДЕНТИЧЕН** (нейтральность механически доказана), **байт-точность перемещения доказана парити** (константы удалены, DI, EXACT 13618/古月:22/0.9649 против референса — строже ручного парсинга), граница грепом. **Ратифицированы 3 дивергенции (пресс-тест сработал):** language.Tag ОТВЕРГНУТ (CLDR-инстабильность в снапшот-вердиктах, golang/go#24211 — мой наивный буллет опровергнут верно) · DC-чекеры DEFER (пара-агностичны → пара-кеинг = смена поведения; translitInterj = ЯПОНСКИЕ филлеры) · снапшот-фолд DEFER до R1 (майнер offline → не wire-определяющ → преждевременный resnapshot). Дисциплина «не минор-хант/не rewrite» соблюдена. Общность структурно доказана (синтетик-пара роутится, fail-loud). Калибровка: рубеж-2 не гонялся — golden байт-идентичен + парити EXACT = correctness-риск ≈0. Промт отработан→архив. **Очередь:** R1-продолжение (фолдит pack.Version() + грузит пак при wiring майнера) → resnapshot → пере-прогон → чтение.
|
||||
|
||||
## Оркестратор №7 — директива владельца D39.15: изоляция языка из pipeline/, архитектурный проход перед R1 (19.07, пятая фаза)
|
||||
|
||||
Владелец нашёл zh/ru-константы внутри `internal/pipeline/` (百家姓, Палладий, частицы, `checkers_zh_ru`, `isRuTarget`) → директива: язык ВНЕ пайплайна, сотни языков, библиотеки/данные-файлами, чистый код+нормальные алгоритмы (стандарт «сеньор Google»), НО не минор-хант/не rewrite-ради-rewrite. Разбор оркестратора по коду: §0.1-сеам реален (гейты/pair-keyed промпты/fail-loud — en→es даёт fail-loud, не крэш); хардкод-пути только в тесте; `clusterAlias` = корректный union-find. Настоящий зазор: данные-как-консты (а не файлы) + `x/text` (уже в deps v0.38) недоиспользован. **Ратифицировано D39.15:** целевая форма — `internal/lang/` (интерфейсы+загрузчик, без данных) + `configs/langpacks/<lang|pair>/*.yaml` + `x/text/language.Tag`; резолв по LangPair, снапшот-folded как промпты; алгоритмы не трогать (уходят ДАННЫЕ). **Секвенс: этот проход ПЕРЕД R1** (пока майнер не живой). **Промт выдан `BACKEND_ARCH_CLEANUP_SESSION_PROMPT.md`** — 5 фаз-воркфлоу (ресёрч 2×3 → синтез → фикс-лист do/defer/don't → исполнение → ревью); поведенчески нейтрально zh→ru (golden байт-стабилен, один resnapshot); риды-along FL-1/2/3 + тест-путь. ja→ru = приёмочный тест общности позже. **Очередь пере-упорядочена:** арх-проход → R1-продолжение → resnapshot → пере-прогон → чтение.
|
||||
|
||||
## Оркестратор №7 — пак-11 continuation принят и залендён (D39.14), рубеж-2-долг погашен, 19.07 (четвёртая фаза)
|
||||
|
||||
Continuation-сессия сдала R2–R5 + R1-аддитив (санкц. порядок вариант-1). **Залендено:** R2 Go-майнер (паритет EXACT: 13618, 古月:22, recall 0.9649) · R3 банкнота 12-точек (на посл. раннере, переезжают в волны как есть) · R4 DC1/DC2/DC6+DC3-gender+`export --pairs` (2 golden re-capture masked-чист) · R5 2 арм-конфига · R1-аддитив (snapshotIDForWave + W0-precompute байт-идентично). R1 драйвер-свитч (W1/W1.5/W2 + структурный golden-рерайт) — санкц. резидуал. **Приёмка исполнением:** build/vet/race сам, ~40 пинов свежим `-count=1` (майнер-паритет TM_MINER_PARITY EXACT), независимая masked-golden репликация (0 изменений final_text/disposition), построчное чтение деньги-пути (settle пишет raw, срез после durable settle — деньги нетронуты). **Долг рубежа-2 (D39.13) ПОГАШЕН:** 8-агентный адверсариал по обоим кускам, 5 линз refute-by-default, $0 — **3 находки (все MINOR/PARTIAL, 0 refuted); все CRITICAL/MAJOR-линзы пусты** (деньги/wire/порт/резюм/base-enriched/residual — clean bill). Фикс-лист FL-1 (bankTokenBudget не свёрнут в banknoteSnap) · FL-2 (banknote-телеметрия обнуляется на резюме, observability) · FL-3 (miner emission без top-N капа референса) — все латентны (банкнота off по дефолту, эмиссия за R1), лендинг не блокируют → R1-продолжение (промт активен, фикс-лист вписан). §0.1-заметка владельцу: DC-данные = код-консты за isRuTarget-гейтом (сеам защищает; config-extraction — открытый вопрос, увязать с ja→ru). Очередь: R1-продолжение → приёмка → resnapshot → пере-прогон → чтение.
|
||||
|
||||
## Оркестратор №7 — пак-11 Block A принят и залендён (D39.13), 19.07 (третья фаза сессии)
|
||||
|
||||
Бэкенд-сессия сдала Block A + ядра с ЧЕСТНЫМ резидуалом (мандат «резидуал > сломанный суит»): WS2 целиком (output-бюджет чанкера, edit-единицы grouping-of-whole-chunks [девиация ратифицирована: 37 единиц / 0 straddle воспроизведены, гарантия W2-реконструкции по построению], src→dst-блок редактора = закрытие D30.1, `render-format-version`, golden re-capture) · WS1a eager-clients (гонка закрыта) · WS1b rate-guard (`ratelimit.go`) · WS1c base/enriched `MemoryVersion`-split (enriched байт-идентичен — снапшот не двинулся) · WS4-core банкнота-парсер (байт-верный порт). **Приёмка — верификация исполнением:** build/vet/race сам, 27 пинов свежим `-count=1` вербозно, независимая masked-golden репликация (все категории объяснимы), построчное чтение несущих диффов. Сессионный 9-агентный чекпойнт: 3 confirmed пофикшены / 3 refuted. **Долг: мульти-агентный рубеж-2 приёмки не гонялся (лимит-режим) — гасится при приёмке продолжения (прецедент D39.2).** Резидуал R1–R5 с точными дизайнами — `backend/PACK11_REPORT.md`; промт пака АКТИВЕН со статус-баннером. Записка продолжению-сессии: стартовать по промту + отчёту, сданное не пере-строить.
|
||||
|
||||
## Оркестратор №7 — план 11 РАТИФИЦИРОВАН (D39.12), бэкенд-промт единого пака ВЫДАН (19.07, вторая половина сессии)
|
||||
|
||||
Дизайн-синтез сдал план (1066 строк) после трёх рубежей: ревью-2 оркестратора (F1–F11: 3 MAJOR соло-прохода + 2 замечания владельца [mistral rate-guard ~48% retry-fails · полы per-editor-model] + Q9-провенанс) → 7-агентный пост-фикс адверсариал сессии (5 находок: F8 ПЕРЕПИСАН — сайзинг уже от `prev`; дефолт 3200 → 37 edit-единиц; mined-write-путь [`loadGlossarySeed` хардкодит seed]; render-format-version реконсиляция; F6 усилен narrative-coref) → 3-агентный подтверждающий пас (2 резидуала закрыты). Спот-чек внесения — исполнением (36 маркеров, grep всех фиксов). **Залендено одним пакетом:** план с ревью-шапкой + `eval/design11/` (7 скриптов, 6 верификаций PASS) + quirks-запись mistral (из §12-заготовки, зона полигона — с пометкой) + D39.12 + архивация спент-промта дизайн-синтеза. **Гейтнутые армы: 4** (edit>3200 за Q2a · качество свап-арма за платным полигоном · DC-landing за $0-FP · mistral за rate-guard). Развилки §10 (14 шт., с рекомендациями) — у владельца, стройку не блокируют. **Выдан `BACKEND_PLAN11_SESSION_PROMPT.md`** — единый пак WS1–WS6 блоками A/B/C/D с чекпойнт-ревью (решение владельца: одной сессией; свободы: рефакторинг/перенос кода, временные тесты, багфиксы со скоуп-пометкой; Go-каноны; даблчек неконсистентностей; $0 к провайдерам). Очередь: бэкенд-сессия → приёмка (рубеж-2) → единый resnapshot → пере-прогон → чтение.
|
||||
|
||||
## Оркестратор №7 — промт ДИЗАЙН-СИНТЕЗ сессии выдан (deliverable №1 по D39.11), 2026-07-19
|
||||
|
||||
Онбординг по хендоффу №5 (D-лог D39–D39.11 + несущие отчёты: research/19 §B/§C/§E, research/20 §B/§C/§E, exp15 §3/§7/§7.9/§7-Q4a, exp16 целиком). **Выдан `docs/DESIGN_SYNTHESIS_SESSION_PROMPT.md`** — проект-ресёрч сессия синтеза всех находок в ратифицируемый план `architecture/11-implementation-plan.md`. Скоуп: WS1 волновой раннер (деньги/SQLite/гонка `Runner.clients`/sticky-A5-цепочка + scheduler-волны + три вендор-чека: deepseek пик-окна D39.10-6, кэш ZAI/GLM §E.8-бис, слаги 24.07) · WS2 фертильность-бюджет + крупная edit-единица (+ omission-бэкстоп; src→dst D30.1 решается здесь, парковка запрещена) · WS3 Go-майнер W1.5 (V-C + алиасы + консолидация + сид-дельта §C2-7 + карта подписи) · WS4 банкнота×12 гейт-точек (вкл. re-point final_hash) · WS5 дефект-класс чекеры D39.8 + данные пакета пары · WS6 свап-арм редактора + готовность пере-прогона (риг-стандарт D39.7 вшит); глобальные секции: порядок пакетов, манифест ЕДИНОГО resnapshot (D30.9, вкл. gate-условную семантику банка), диспозиции хвостов (ledger-очередь, §E-слоты, L7-NEVER_CLOSED: H7/H8/H10/H16), реестр вопросов владельцу. Каждый WS — верификация ДО стройки ($0-симуляции, скрипты `eval/design11/`, числа в план); мандат самопроверки + адверсариальный селф-ревью + completeness-critic L1–L8; $0 жёстко (платная несущая верификация = эскалация-развилка, не тихий деферал «на после стройки»). **Промт прошёл адверсариальное ревью-воркфлоу до выдачи (5 линз × refute-by-default, 25 агентов): 20 CONFIRMED-находок (4 MAJOR), все внесены** — несущие: gate-условная снапшот-семантика auto/draft (`memory.go:259-266`); пропущенные D12-риски параллелизма (гонка clients, sticky-цепочка → request_hash); lookahead/Q2c переведены из «доказано не строим» в парковку «не тестировано»; verify-before-build маршрут платных верификаций; мега-предложение — НЕ «уже в коде» (oversize-passthrough без флага). file:line-якоря спот-верифицированы по HEAD исполнением. ⚠ Док-синк заметка (не чинил — вне минимального скоупа): ярлык «инвариант №8» перегружен — backend/README №8 = экспорт-контракт (с 17.07), CLAUDE.md/шапка D-лога зовут №8 golden (эпоха D23); развести при следующей актуализации статус-доков. Следующее: владелец стартует дизайн-сессию → адверсариальное ревью+ратификация плана (D-блок) → бэкенд-промт строго по плану.
|
||||
|
||||
## Оркестратор №6 — СЕССИЯ ЗАКРЫТА: эра D39–D39.11 исполнена целиком, хендофф №5 выдан (19.07)
|
||||
|
||||
Арка сессии: синк-аудит «сломанного телефона» (65 находок/0 refuted) → целевая 7-слойная архитектура + инвариант общности → трек A построен (trust-gate памяти · export-contract+fold-first санитайзер · pair-сеам · tmctl export/report · store v8; адверсариал-долг 529 погашен) → трек B исследован (research/19+20) → exp15 (floor-дисциплина; CRITICAL-артефакт окна судьи пойман рубежом-2, «границы вредят» отозван; чтение владельца: дефекты распределены) → Q4a (слабое звено=редактор) → exp16 (WHICH 0.97 кодом / dst→банкнота; ре-аудит exp14b чист). Деньги экспериментов: exp15 $12.79/$15 · Q4a $1.32/$2 · exp16 $0.02/$10 — все капы удержаны. Итог для продукта: стройка слоёв 1+4 полностью evidence-backed; «что НЕ строить» сэкономило сцен-детекцию и carryover-машинерию. Хендофф №5 — `ORCHESTRATOR_SESSION_PROMPT.md` (переписан начисто; №4 в архиве); первый deliverable №7-сессии — промт дизайн-синтеза (D39.11).
|
||||
|
||||
## Ресёрчер — research/20 банк-майнинг W1.5 СДАН (не закоммичен, лендит оркестратор), 2026-07-17 (D39.3)
|
||||
|
||||
Отчёт `docs/research/20-bank-mining.md` (исполнение `RESEARCHER_BANK_MINING_SESSION_PROMPT.md`).
|
||||
**⚠ Отклонение HOLD-гейта:** запуск ДО пре-рег фриза exp15 (коммитов полигона exp15 нет) — прямым указанием владельца; полигон-стадия §D по-прежнему гейтится exp15 (баннер в отчёте, оркестратору подтвердить). Протокол: §A (внешняя фактура, 6 тем × ресёрчер→адверсариальный верификатор по первоисточникам; заглушка одного верификатора поймана и закрыта повторной верификацией) заморожен sha256 `7687d56a…cf08` ДО чтения репо-стека. Несущее: **§B** — 3 варианта детектора V-A/V-B/V-C (частота×контраст / +разброс переводов / +NER-паттерны+Палладий-канал на ru-стороне) с trade-off-таблицей; алиас-кластеризация тремя ярусами (правила R1–R4 с негативными констрейнтами Vala / слепая зона zero-overlap = кореференция / человек); спека канала сноски `banknote-v1` с 12 интеграционными точками (срез до classify, isFinal-нюанс санитайзера, re-point final_hash на derived-чекпоинт для резюма; цена пере-верифицирована: ~$0.01–0.1/ранобэ, НЕ $0.004). **§C** — консолидация W1.5 (канон по всем вхождениям, майнер не умеет писать approved, карта подписи с KWIC=детерминированный H15-рычаг). **§D** — пре-рег армы A1–A6b, **найден несущий конфаунд: черновики records.json генерились С глоссарий-инъекцией сида → спред-сигнал на GT подавлен → cold-start срез 5 глав без инъекции обязателен**; GT=57 (blurb-термы в аннотации гл.1); гарды D32.4 + решающие правила гипотезы №1. **§E** — 7 вопросов владельцу (мини-голд алиасов, ≤$5 на платные армы, политика канона, реплика ja→ru) + 6 бэкенд-слотов. **Дозаказ владельца 17.07: §B5 «инвариант общности слоя 4»** (распространение research/19 §0.1 на банк): языко-агностический движок vs 6 плагин-интерфейсов P1–P6 (генератор кандидатов / контраст-корпус / паттерн-пак язык×жанр / таблица транслитерации пары / лемматизатор цели / гендер-евиденс) с матрицей zh/ja/ko/en, политика degrade-with-flag (fail-loud только P1); zh→ru честно размечен как стресс-инстанс, тест общности = реплика ja→ru через готовый ruby-канал. Самопроверка исполнением: пост-хок 3 верификатора по готовому отчёту — 1 WRONG + 9 IMPRECISE найдены и исправлены (в т.ч. вырожденность c-value на одночарных 蛊/转).
|
||||
|
||||
|
||||
**⟶ ЗАЛЕНДЕН оркестратором 17.07 с ревью-шапкой (`994987d`), ратификация D39.6:** §A-хеш MATCH, репо-клеймы спот-верифицированы, конфаунд инъекции corroborated; §E-владельцу вынесены; полигон-стадия §D — после exp15.
|
||||
|
||||
## Оркестратор №6 — синк-аудит + целевая архитектура ратифицированы (D39), 2026-07-13
|
||||
|
||||
Онбординг + **грунтовка по коду** (chunker/chunkrun/stagerun/memory/промты — не по заголовкам). Вопросы к предыдущему оркестратору (через владельца) подтвердили: концерн 1 контрактно ОТКРЫТ (D30.2, `05:366` — «механизм реверстки открытый вопрос»; арм «переводчик даёт структуру» не тестировался); «D35.7» — фантом (бэклог-кандидат `05:471`, не ратифицирован).
|
||||
|
||||
**Синк-аудит (многоагентный воркфлоу, read-only, $0):** 42 агента, 8 дорожек (по несущему рычагу: цепочка полигон→оркестратор→бэкенд), адверсариальная верификация refute-by-default. **65 находок: 25 CONFIRMED, 9 PLAUSIBLE, 0 REFUTED**; верификаторы отделили настоящий «телефон» от осознанных ROI-деферов. Ледджер — `architecture/08-sync-audit-ledger.md` (первый экземпляр процесса концерна 5). Спот-верифицировал сам корневой пример: терм-дрейф-фикс = сид-воркэраунд (`memory.go:489` CONFIRMED-only + `suppressContained:615` disposition-слепой, код не тронут — `git log` подтвердил).
|
||||
|
||||
**Ратификация D39:** целевая 7-слойная архитектура + фазовый план — `architecture/09-target-architecture.md`. **Решения владельца (AskUserQuestion):** фазово (трек A ∥ трек B, пере-прогон после B) + слой пар = сеам сейчас/zh→ru. **Док-долг трека A:** формализовать/вычистить фантомный «D35.7»; диспозиции незакрытых владельческих идей (V2-п1/2/3, V4-п1/4). **Мультисессия:** дерево чистое (только `START_PROMT.MD` владельца); написаны `08`/`09` + D39-блок + актуальность-карта + этот журнал; НЕ коммичено (ждёт обзора владельца + git-status перед стейджем). Дальше — хендофф-промты трека A (бэкенд) и трека B (полигон+ресёрч).
|
||||
|
||||
## Оркестратор №6 — трек B залендён (D39.1): research/19 нарезка+когезия+волны+пре-рег эмпирики, 2026-07-16
|
||||
|
||||
Ресёрчер исполнил `RESEARCHER_CHUNKING_COHESION_*` (архивирован с баннером; правки владельца в задаче-1 — роли при чанковании, lost-in-middle — закрыты §A.1/Q2c). **Залендено БЕЗ оркестратор-ревью — прямое решение владельца 16.07** (сессия само-верифицирована: 52 клейма → 36 CONFIRMED/16 OVERSTATED-скорректированы, 65-агентный воркфлоу + 5-линзовое само-ревью, 8 MAJOR исправлены до сдачи). Несущее: **конфликт exp14↔research/18 = ложная дихотомия** (единица эмиссии ≠ окно чтения ≠ единица связности); Go-спека чанкера (профиль→B0–B5→целочисленная DP)+фоллбек-веер; когезия carryover/lookahead/детерм-стейт (не LLM-summary); **волновая архитектура W0–W3** (вводная владельца 16.07 = V4-п1 параллелизм; W1.5-консолидация банка = V4-п4); **§D пре-рег дизайн Q0–Q5** (двойной якорь, reflow-инвариантный omission, карта независимости сигналов, ~$8–15). Открытое: §E.1–4 владельцу (гибрид/пол-в-сиде/транскрипция/бюджет), §E.5–8-бис бэкенду (**⚠ DeepSeek-слаги до 24.07; ⚠ вендор-чек кэша ZAI/GLM**). Разбор — D-лог **D39.1**. V4-п6 (Cloudflare Workers AI) закрыт владельцем самостоятельно — «ловить нечего», в ресёрч-очередь не идёт.
|
||||
|
||||
## Оркестратор №6 — трек A пак-1 залендён (D39.2, `d3f6b34`), 2026-07-16
|
||||
|
||||
Бэкенд исполнил T1–T4; **верификация прямая, исполнением** (мандат): build/vet/race-тесты зелёные (прогнал сам), golden-детерминизм PASS, пиновые тесты вербозно, несущие диффы прочитаны построчно, **golden re-capture воспроизведён независимо** (маскированный структурный дифф = 0 расхождений — только хеши/версии/2 новых пустых поля). ⚠ **Мульти-агентный второй рубеж 3× упал на API-529 — зарегистрирован ДОЛГОМ** (по восстановлении API; находки → фикс-лист пак-2, маршрут D37). Залендено: **терм-дрейф закрыт в КОДЕ** (trust-gated suppressor, memmatch-v4, громкий retrieval_state) · export-contract нормализация каждого финала (width.Fold, не NFKC — тот калечит «…»/«№») · **pair-keyed промпт-сеам** (fail-loud на не-zh-ru; `Book.LangPair()` ожил) · реестр role→инъекция · target-gated readability · `tmctl report` (детерм. quality-KPI). Снапшот: memmatch-v4+sanitizer-v5 → плановый единый resnapshot (и так требовался D38.5). Открытое → D39.2 (полигон-экспорт-поверхность ДО пере-прогона; CJK-глоссы — владельцу; билингв src→dst; ja-пример). Разбор — D-лог **D39.2**. **Решения владельца (16.07, пост-D39.2):** бюджет §D-эмпирики ≤$15 ✅ · поле gender в схеме сида ✅ (транспорт+подпись — в exp15-преп) · **CJK-глоссы СОХРАНЯТЬ** (против текущего стрипа → whitelist в фикс-лист пак-2; скоринг exp15 глоссы не штрафует) · W1.5-гейт — решить после Q3. **Пак-1.5+F1–F9 ЗАЛЕНДЕНЫ (D39.5, 17.07):** tmctl export (manifest-join+drift-гард; полигон-экстракция впредь через него — D39.2-open№1 ЗАКРЫТ) · fold-first санитайзер (HIGH закрыт) · bounded глосс-whitelist · пример zh-ru; верификация исполнением, masked-golden пуст. **Адверсариал-долг ПОГАШЕН (D39.4, 17.07):** 8 осей по обоим пакам, 0 CRIT/1 HIGH/6 MED — ядро держится; HIGH = fold-first обход санитайзера (полноширинная сигнатура обходит детектор, exportNormalize изготавливает ASCII-дефект) + глосс-whitelist не ограничивает латиницу; **пак-1.5 НЕ лендится до фикс-листа F1–F9** (вписан в `BACKEND_TRACKA_PACK15` §T4; v6 не лендился → fold-first в тот же бамп v5→v6, один golden re-capture). **Пакет банк-майнинга W1.5 ратифицирован (D39.3, по записке ресёрчера-19 через владельца):** диспозиция H15/V4-п4 → активный пакет «ресёрч→полигон→бэкенд-дизайн»; гипотеза №1 владельца («код сам разметит») — проверяемая; промт `RESEARCHER_BANK_MINING_SESSION_PROMPT.md` ВЫДАН с HOLD-гейтом (запуск после фриза exp15). **Промт exp15 ВЫДАН:** `POLYGON_SEGMENTATION_EMPIRICS_SESSION_PROMPT.md` (исполнение research/19 §D: пре-рег фриз пинит бэкенд-HEAD/сид/промты; Q2b→Q1+Q3→Q2a/Q2c→Q4→Q0; преп: DeepSeek-слаги до 24.07, вендор-чек кэша ZAI/GLM, gender-транспорт).
|
||||
|
||||
|
||||
## Оркестратор №6 — D39.3…D39.6: банк-майнинг, долг погашен, пак-1.5, гигиена (16–17.07)
|
||||
|
||||
- **D39.3:** пакет банк-майнинга W1.5 ратифицирован (диспозиция H15/V4-п4; записка ресёрчера-19 через владельца; промт research/20 выдан, амендирован его же ревью: варианты детектора + алиас-подзадача).
|
||||
- **D39.4:** адверсариал-долг 529 ПОГАШЕН — 8 осей по обоим пакам (0 CRIT / 1 HIGH / 6 MED); пак-1.5 придержан под фикс-лист F1–F9 (§T4-слот промта сработал по назначению).
|
||||
- **D39.5:** пак-1.5+F1–F9 залендены `dc30c7d` (fold-first санитайзер, bounded глосс, tmctl export с manifest/drift-гардами); верификация исполнением: свежий -race, 16 пиновых тестов, независимая golden-репликация (маскированный дифф ПУСТ). Полигон-экстракция впредь через `tmctl export` (D39.2-open №1 закрыт).
|
||||
- **D39.6:** research/20 залендён (`994987d`); отклонение HOLD-гейта принято (запуск указанием владельца; exp15 не стартовал).
|
||||
- **Гигиена (мандат владельца 17.07):** PROGRESS разгружен (закрытая хроника 10–13.07 → `archive/PROGRESS-2026-07-10-13.md`, дословно, D23.3); спент-промты в архив; CLAUDE.md/README актуализированы до D39.6. Зонные README (backend/eval) — в fix-листы следующих сессий их зон (не правлю чужое).
|
||||
*(Хроника 13–25.07 — стройка паков 11–16, rerun2, лендинги D39.12–D39.24 — перенесена в [archive/PROGRESS-2026-07-13-25.md](archive/PROGRESS-2026-07-13-25.md), слайс 25.07.)*
|
||||
|
||||
## Бэкенд
|
||||
|
||||
|
|
@ -195,55 +28,8 @@ Continuation-сессия сдала R2–R5 + R1-аддитив (санкц. п
|
|||
*(Хроника пакетов 11–12.07 (пакет-5, D15.2-этап-А, санитайзер-фикс D33) — в [archive/PROGRESS-2026-07-10-13.md](archive/PROGRESS-2026-07-10-13.md).)*
|
||||
*(Трек-A пак-1/1.5 (D39.2/D39.5) — см. записи оркестратора №6 выше.)*
|
||||
|
||||
## Бэкенд — ПАК-15 «структура+форма» ИСПОЛНЕН (сессия 24–25.07, отчёт `archive/reports/PACK15_STRUCTURE_REPORT_2026-07-25.md`)
|
||||
*(Хроника бэкенд-паков 11–16 (19–25.07, вкл. отчёт-запись пака-15) — в [archive/PROGRESS-2026-07-13-25.md](archive/PROGRESS-2026-07-13-25.md); отчёты паков — `archive/reports/`.)*
|
||||
|
||||
8 этапов промта, каждый — верифицированный чекпойнт (build/vet/`test -race` + golden + парити) до следующего.
|
||||
**Инвариант выполнен:** golden ПЕРЕ-СНЯТ с нуля (`TM_UPDATE_GOLDEN=1`) и байт-идентичен; парити EXACT
|
||||
`n=13618 {方源:0 蛊:1 蛊师:2 古月:22} recall 0.9655` на каждом этапе; байты промптов и `configs/langpacks/**` не двигались.
|
||||
**Сплит:** `internal/pipeline` 38 не-тестовых файлов → 20 + `text`/`seed`/`chunk`(+`chunktest`)/`miner`/`checks`/`membank`;
|
||||
import-граф проверен ИСПОЛНЕНИЕМ (`go list -deps` ×8, включая тест-бинари): подсистемы не импортируют ни друг друга, ни драйвер.
|
||||
**Три девиации от прил. A/B, аргументированы в отчёте:** (1) отдельный пакет value-типов НЕ создан — AST-мер показал,
|
||||
что `Chunk`/`Document`/`SegBudget`/`RubyReading` не потребляет НИ одна подсистема кроме производителя (прил. A «membank→chunk 7»
|
||||
= ключ композит-литерала, тот же класс, что «distinct/matches 8» из моей ревью-шапки); хойстнут ровно РЕАЛЬНО общий субстрат;
|
||||
(2) `mining.go` остался в драйвере (4 метода `*Runner` — перенос = цикл); (3) `quality.go` остался (read-only проекция +
|
||||
внешний API tmctl), в `checks` уехала только чек-часть `NarrativeStructure`. Де-статтеринг имён (`miner.Config`, `membank.Bank`).
|
||||
**Форм-фиксы:** `Export()` декомпозирован; c-lite member-drop получил ОДНО определение (`memberDrops`+`unitRows`) вместо
|
||||
двух реализаций, согласованных комментарием; `resolveChunkState` → struct; `RequestHash` 13 позиционных → `Request{}`
|
||||
(порядок записи в хеш сверен построчно против HEAD); sticky-сентинел → типизированное поле.
|
||||
**Конфиг-слой пары:** `configs/pairs/{zh-ru,ja-ru,en-ru}.yaml` (калибровка+коридор из ПЯТИ шиппинг-конфигов в один пар-файл);
|
||||
промпт-резолв конвенцией `prompts/<пара>/<роль>.md`, `prompts:`-мапы удалены, `prompt:` → `prompt_override` (арм/фикстура);
|
||||
fail-loud усилен (называет пару, роль И путь). Тест исполнением: все 5 шиппинг-конфигов дают те же числа и те же файлы.
|
||||
**Остаток пака-14 закрыт:** 2 теста Палладия · fail-loud оверлея уровнем выше (несуществующий `overlayRoot`, чужой файл в корне,
|
||||
опечатка в имени пар-каталога) · категория-опечатка внутри overlay-файла = детект В ПОТРЕБИТЕЛЕ (парсер остаётся агностичным) ·
|
||||
`unionStringMap` коллизия base↔overlay = громкая ошибка (D39.23) · empty-probe гард `lintMagnitudeScale` · терминаторы
|
||||
chunker/coverage → одна embedded-точка истины · `第` → `cjk-section` (`chapter_marker`).
|
||||
**Селф-ревью 4 линзами исполнением:** байт-точность CLEAN · общность CLEAN (свип 47→39, ни одного нового пар-литерала) ·
|
||||
API-минимализм — 1 находка (`RubyToCandidates` распакован обратно) · циклы CLEAN.
|
||||
**⚠ ХВОСТ ВЛАДЕЛЬЦУ (блокирует следующий стенд-прогон):** конфиги `books/gu-zhenren/rerun2/pipeline-*.yaml` несут
|
||||
`prompts:`-мапы, которых больше нет в схеме → упадут ГРОМКО на загрузке с указанием ожидаемого пути. Минимальная миграция —
|
||||
`prompt_override:` с абсолютным путём на каждой стадии (детали в §«Хвосты» отчёта). Второй хвост: `eval/exp15/mem_select.py:36`
|
||||
читает `internal/pipeline/data/trad2simp.txt` — файл переехал в `internal/text/data/` (байт-идентичен), зона полигона.
|
||||
Сессия НЕ коммитит; переносы сделаны `git mv` (стейджированы — учесть при лендинге, `git diff --cached`).
|
||||
|
||||
**ДОПРИЁМОЧНАЯ ДЕЛЬТА (25.07, 3 пункта оркестратора — закрыты).** (1) Тихая подстановка промпта:
|
||||
легаси-ключи `prompt:`/`prompts:` возвращены в схему как **reject-only** (непустое значение = ошибка с
|
||||
названной миграцией) + **строгий декод `KnownFields(true)`** для pipeline-конфига — закрывает и опечатку
|
||||
`promt_override:`/`segmantation:`, до которой реджект не дотягивается (yaml.v3 роняет неизвестные ключи
|
||||
молча → конвенция резолвит БАЗОВЫЙ промпт роли, класс D37). Проверено исполнением на симуляции
|
||||
не-мигрированного стенд-конфига: падает ПО СУЩЕСТВУ, а не по совпадению раскладки. Кандидат под вашу
|
||||
санкцию: тот же строгий декод для `book.yaml` (опечатка `langpack_extned:` = оверлей тихо ВЫКЛЮЧЕН),
|
||||
не делал — файл владельца, строгий реджект может заблокировать живой прогон. (2)
|
||||
`TestSeedLintEmittedMinedDelta` возвращён в композит-корень (`minerseed_contract_test.go`:
|
||||
MineBank→DeltaYAML→membank.SeedLint/LoadGlossarySeed). **Восстанавливая, нашёл, что прежний тест
|
||||
проходил ВАКУУМНО** — его фикстура даёт 0 предложенных терминов (проверено исполнением), пустой сид
|
||||
линтуется чисто; теперь есть гард премисы, доказано-эмитирующий корпус и ассерт «лоадер материализовал
|
||||
столько же записей». (3) Ниты: `defaultPromptsRoot` в ветке без пар-файла резолвился на уровень выше
|
||||
документированной раскладки (чинит «expected»-путь в ошибке) · package-doc `internal/text` ·
|
||||
`chunk.Ingest` распакован (продового потребителя нет, драйвер зовёт `IngestEncoded`).
|
||||
**Моя поправка к отчёту:** заявка «ни один ассерт не удалён» была ЛОЖНОЙ — тест вырезан и не возвращён;
|
||||
раскрыто отдельной секцией в отчёте (причина: обратный шаг переноса не был в чек-листе этапа; проверять
|
||||
надо было диффом списка `^func Test` исполнением, а не памятью). Дельта байт-нейтральна: golden
|
||||
пере-снят — байт-идентичен, парити EXACT.
|
||||
|
||||
## Полигон
|
||||
(секция параллельной сессии — записи добавлять сюда)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
## Структура
|
||||
|
||||
- `architecture/` — синтез. **Источник истины по решениям — [`05-decisions-log.md`](architecture/05-decisions-log.md) (D1–D39.25); при конфликте с любым доком он выше.**
|
||||
- `01-decisions.md` — принципы Р1–Р10; `02-mvp-plan.md` — фазы и приёмка (v3, 09.07); `03-implementation-notes.md` — контракты Фазы 0; `04-unhappy-paths.md` — ~70 режимов отказа → механизм; `06-memory-risk-registry.md` — реестр рисков банка памяти; **[`07-strategic-review.md`](architecture/07-strategic-review.md) — стратегический аудит (09.07): вердикт end-to-end, топ-риски, курс-коррекции**; **[`08-sync-audit-ledger.md`](architecture/08-sync-audit-ledger.md) — верифицированный ледджер синк-аудита «сломанного телефона» (65 находок, D39)** · **[`09-target-architecture.md`](architecture/09-target-architecture.md) — целевая 7-слойная архитектура + фазовый план арх-ресета (D39; инвариант общности §0.1)** · [`10-prompt-architecture.md`](architecture/10-prompt-architecture.md) — консолидированная промпт-заметка (концерн 4); **[`11-implementation-plan.md`](architecture/11-implementation-plan.md) — РАТИФИЦИРОВАННЫЙ план стройки пере-прогонного стека (D39.12; дизайн-оф-рекорд бэкенд-пака, три рубежа верификации)**; `components.puml`/`pipeline.puml` — диаграммы (перерисованы 25.07 под пост-пак-16 реальность: волновой исполнитель, пакетный сплит пака-15, repair-петля за `enabled:false`, generic content-labels D39.25; владелец смотрит PlantUML-расширением VS Code; вручную НЕ рендерить).
|
||||
- `01-decisions.md` — принципы Р1–Р10; `02-mvp-plan.md` — фазы и приёмка (v3, 09.07); `03-implementation-notes.md` — контракты Фазы 0; `04-unhappy-paths.md` — ~70 режимов отказа → механизм; `06-memory-risk-registry.md` — реестр рисков банка памяти; **[`09-target-architecture.md`](architecture/09-target-architecture.md) — целевая 7-слойная архитектура (D39; статус стройки — шапка-таблица; инвариант общности §0.1)** · [`10-prompt-architecture.md`](architecture/10-prompt-architecture.md) — консолидированная промпт-заметка (концерн 4) · [`12-go-style-notes.md`](architecture/12-go-style-notes.md) — норматив общности §0 + Go-ответы. **Исполненные (архив 25.07, санкция владельца, → `archive/architecture/`):** [`07-strategic-review.md`](archive/architecture/07-strategic-review.md) (стратаудит 09.07 — курс исполнен) · [`08-sync-audit-ledger.md`](archive/architecture/08-sync-audit-ledger.md) (ледджер синк-аудита — отработан) · [`11-implementation-plan.md`](archive/architecture/11-implementation-plan.md) (план пака-11 — исполнен целиком); `components.puml`/`pipeline.puml` — диаграммы (перерисованы 25.07 под пост-пак-16 реальность: волновой исполнитель, пакетный сплит пака-15, repair-петля за `enabled:false`, generic content-labels D39.25; владелец смотрит PlantUML-расширением VS Code; вручную НЕ рендерить).
|
||||
- `experiments/` — эмпирика «Полигона»: `00-provider-quirks` (читать перед любым вызовом провайдера), `01-token-calibration`, `02-refusal-benchmark`, `03-local-stand`, `04-editor-quality`, `06-local-extraction`, `07-coverage-precision`, `08-cost-model-v2` (актуальная денежная модель), `09-pilot-protocol` (пилот Ф2.5 + поправки D13), `10-explicit-benchmark` (18+ violence-рука канала B), `11-erotica-benchmark` (erotica по трём парам/регистрам — закрытие D14.4, D22), `12-quality-diagnosis`/`13-translator-bakeoff`/`14-quality-empirics`/`14b-meaning-battery` (дуга качества «мерить→строить», закрыты → D30/D32/D37/D38), `15-segmentation-empirics` (exp15: когезия под floor-шумом, фертильность — закрыт → D39.7/D39.8), `16-bank-mining` (exp16: WHICH/WHAT банк-майнинга — закрыт → D39.10).
|
||||
- `research/` — фактура исследований 04–05.07: `01–10` базовые, `11-gap-*` добор критиком, `12-*` режимы отказа/отзывы/таксономии (+ два внешних материала с провенанс-шапками), `13` валидация памяти, `14` адаптивная память, `15` голос и состояние (принят, D21), **`16` ридер-IDE (принят с ревью-шапкой, D29)**, **`17` внешняя критика GPT-5.6 (принят с ревью-шапкой, D25)** — у 16/17 читать шапку прежде тела. **`18` рычаги качества (два отчёта, D36)** · **`19` нарезка+когезия+контракт t/e (D39.1)** · **`20` банк-майнинг W1.5 (D39.6)** · **`21` обзор LLM-транспорта чужих харнессов (23.07: наш транспорт опережает/вровень со всеми 11)** · **`22` доменные харнессы перевода (24.07: калибрующий — ядро подтверждено, впереди COGS/18+/общность/измеренность, позади Q4-выпуск и gate+repair-петля; сиквел `02`/`05`)** — у всех ревью-шапки. ⚠ Часть под superseded-баннерами (01/02/03/04/05/09 и gap-1/2/5) — **читай баннер прежде содержимого**.
|
||||
- `PROGRESS.md` — **журнал** (CURRENT-STATE сверху, ниже хронология; НЕ источник решений).
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
> **Статус:** проектный документ оркестратора, ратифицирован **D39** (`05-decisions-log.md`). Рождён из арх-ресета
|
||||
> (`ORCHESTRATOR_ARCH_RESET_PROMPT.md`, 5 концернов владельца) и синк-аудита «сломанного телефона»
|
||||
> (`08-sync-audit-ledger.md`, 65 находок, адверсариально верифицированы). Решения владельца по подходу:
|
||||
> (`../archive/architecture/08-sync-audit-ledger.md`, 65 находок, адверсариально верифицированы; архивирован 25.07 как отработанный). Решения владельца по подходу:
|
||||
> **фазовый** (build-now ∥ ресёрч, пере-прогон после) + **слой пар языков = сеам сейчас, контент только zh→ru**.
|
||||
>
|
||||
> Это карта «куда и почему», а не пошаговая спека. Спеки — в хендофф-промтах сессий; контракт — в D-логе.
|
||||
|
|
@ -155,7 +155,7 @@ snapshot-дисциплина, эталонные сеамы `config→stage-lis
|
|||
|
||||
---
|
||||
|
||||
## 3. Карта находок → слои (полный ледджер — `08-sync-audit-ledger.md`)
|
||||
## 3. Карта находок → слои (полный ледджер — `../archive/architecture/08-sync-audit-ledger.md`)
|
||||
|
||||
| Слой | Несущие находки (HIGH, CONFIRMED) |
|
||||
|---|---|
|
||||
|
|
|
|||
222
docs/archive/PROGRESS-2026-07-13-25.md
Normal file
222
docs/archive/PROGRESS-2026-07-13-25.md
Normal file
|
|
@ -0,0 +1,222 @@
|
|||
# Журнал прогресса — АРХИВ хроники 2026-07-13 → 2026-07-25 (эра D39.12–D39.24: стройка паков 11–16, rerun2, лендинги)
|
||||
|
||||
> Вынесено из `docs/PROGRESS.md` слайсом 25.07 (оркестратор №7, санкция владельца — разгрузка онбординга).
|
||||
> Только история; решения — в `architecture/05-decisions-log.md` (D-лог), актуальный статус — CURRENT-STATE в `docs/PROGRESS.md`.
|
||||
> Порядок записей сохранён (новые сверху). Записи 25.07 про doc-sync/пак-17/приёмку пака-16 остались в живом журнале.
|
||||
|
||||
## Бэкенд — ПАК-16 фаза 2 ПОСТРОЕНА (D39.24) + мини-дельта приёмки; лендинг за оркестратором, 25.07
|
||||
|
||||
**Построено по 4 ратифицированным пунктам.** (1) `checks.RepairCandidates` — позиционная детекция, вердикт-нейтральная ПО КОНСТРУКЦИИ (ни одна lint-функция не тронута, `cheapgates.go` вне диффа → `CheapGateVersion` не двигается; эквивалентность пинится `TestRepairCandidatesAgreeWithLints`), несущий гард однозначности «ровно один матч с каждой стороны». (2) Read-only скан остатка в `QualityReport` + строка `REPAIR RESIDUAL` в CLI, $0. (3) Два фикса пар-данных: правая граница `ru_hours_re` (живой FP: «три части» читалось как «три час…») и дробный зонд 半个时辰 (84 из 266 вхождений меры были невидимы КЛАССУ ЦЕЛИКОМ). (4) Машинерия ремонта под `enabled: false`: суб-шаг в `runStage`, derived-чекпойнт `tm-repair-v1:`, `repairSnap` указателем только в волну финальной стадии, деньги через `role='repair'` без миграции. Хвосты первого касания все четыре (строгий декод book/models/pair · unknown-key-тест пинит имя · zero-value-гарды `PickedEntry`/`Bank`).
|
||||
|
||||
**Приёмка адверсариальной панелью по ДИФФУ дала худший результат в паке: 18 находок, ВСЕ 18 выжили у скептиков (3 BLOCKER).** Первая редакция отчёта заявляла реализованным то, чего в коде не было. Исправлено 9: позитивный ре-гейт (его не было вовсе — «три часа»→«**пять** часов» принималось и отгружалось) · анти-удаление применялось к предложению, а не к спану (воспроизведено удаление придаточного, 28% юнита, с отгрузкой) · бюджет проверялся ДО чекпойнта (резюм терял оплаченный ремонт) · стоимость терялась на реплее · счётчики D5 никем не читались (мёртвое поле) · `latin_residue` без таргет-гейта · оба dc1 актуаторы вопреки §16.2 · `ExpandToSentence` без потолка · неаллайненный спан дробной меры. Урок для нормы: 6 из 9 воспроизведены ПРОГОНОМ через настоящий драйвер, чтением диффа не ловились — для пака, меняющего отгружаемые байты, ревью-чтения недостаточно.
|
||||
|
||||
**Мини-дельта приёмки (4 пункта) закрыта.** `hour_word_re` → пар-данные с ОБЕИМИ границами (дыра воспроизведена: «тотчас»/«сейчас»/«полчаса» удовлетворяли позитивное условие → ответ мог удалить длительность и подставить филлер); дом — пар-файл рядом с `ru_hour`-роднёй, аргумент в отчёте §10; плюс fail-loud, если пара объявила дробный зонд без пробы. `unicode.Cyrillic` в сканере — задокументирован как унаследованный ru-долг с причиной, почему data-drive ТОЛЬКО сканера сломал бы вердикт-нейтральность. D5: поля паспорта доделаны (`ChapterPassport.RepairApplied`), **исходы ПО КЛАССАМ НЕ доставлены и вынесены в очередь** — класс нигде не записан durable, вывод требует решения о схеме/формате. Гигиена: эта секция, стейл-цифры приведены к фактическим (ценз 427→433, дифф +675/−19 → +767/−29).
|
||||
|
||||
**Инварианты:** golden `f7641993…` байт-идентичен baseline (пере-снят с нуля, пере-капчер НЕ нужен) · парити EXACT (`n=13618 … recall 0.9655 56/58`) · build/vet/`-race` 12 пакетов · `gofmt` чист кроме пре-существующего `llm.go` · ценз `^func Test` **399 → 433, удалено 0** (при правке файла снёс 7 тестов заменой «до конца файла» — поймал цензом СРАЗУ, все восстановлены; механизм сработал до отчёта, а не после).
|
||||
|
||||
**НА РЕШЕНИЕ ОРКЕСТРАТОРА (§9.2 отчёта):** фикс пар-данных двигает `LangpackVersion` (`f83acc67ea0f` → `a7d4be2c0465`), а он в ОБЩЕЙ части payload → для zh-ru книги это `--resnapshot`, пере-оплачивающий и ДРАФТ-волну, не только edit. Моя первая классификация «version-only сдвиг пака» была уже. Практическая цена сегодня, вероятно, нулевая (rerun2 закрыт, книг в полёте нет). Варианты: (а) принять both-wave re-pin как цену фикса — мой дефолт; (б) вынуть правку данных из пака; (в) пак-суб-хеш только для финальной волны — новый механизм, без санкции не делаю. Отчёт: `docs/archive/reports/PACK16_DIFF_EDITOR_REPORT_2026-07-25.md`. **Сессия не коммитит.**
|
||||
|
||||
## Оркестратор №7 — промт пака-16 «слой-3 diff-редактор» ВЫДАН (двухфазный: дизайн → ратификация → стройка), 25.07
|
||||
|
||||
Решение по курсу: diff-редактор ПЕРЕД каналом B — главный механический минус по research/22 (мы флагаем, конкуренты чинят), фундамент лёг паком-15 (чистый `internal/checks` с typed-фактами), строится и валидируется за $0 на дефект-корпусе rerun2. Канал B = пак-17, батчится со следующим платным прогоном (там же вопросы итерации №2 dspro-vs-glm). По дисциплине D39.11 промт двухфазный: фаза 1 = дизайн D1–D6 (единица ремонта/маппинг флаг→спан · классы петли v1 · механика вызова и pair-keyed промпт ремонта · wire/снапшот/resume · CostSource/quality-report · $0-валидация) → СТОП → ратификация; фаза 2 = стройка (no-repair путь байт-идентичен; golden-эволюция по санкции; хвосты: строгий декод book.yaml/pair/models). Стенд после пака-15 мигрирован и проверен исполнением (3 pipeline-конфига → prompt_override; langpack_extend дописан и в book-dspro.yaml — третья книга, пропущенная при первичной проводке; все три книги грузятся под строгим лоадером). Полигону: `eval/exp15/mem_select.py:36` — путь trad2simp → `internal/text/data/`.
|
||||
|
||||
## Оркестратор №7 — ПАК-15 «структура+форма» ПРИНЯТ (воркфлоу 10 линз + доприёмка 3) и залендён; движок разложен по подсистемам, 25.07
|
||||
|
||||
`internal/pipeline` 38→20 не-тест файлов + 6 пакетов: `text` (норм-субстрат) · `seed` (схема сид-YAML) · `chunk`(+chunktest) · `miner` · `checks` · `membank`; драйвер+инфра = композит-корень. Латеральных импортов НОЛЬ (go list вкл. тест-бинари). **Сессия работала лучше промта:** пере-мерила прил. A AST-обходом (miner→membank 35→11, «membank→chunk 7»=артефакт) → отказ от пакета value-типов по замеру; нейминг де-статтерингом (`miner.Config`, `membank.Bank`); сплит настоящий — ноль фасадов/алиасов. Форм-фиксы: `memberDrops()` одно определение (byte-agreement-by-comment ликвидирован) · RequestHash-struct (хеш-байты построчно идентичны) · resolveChunkState-struct · sticky→поле. Конфиг-слой пары: `configs/pairs/{zh-ru,ja-ru,en-ru}.yaml` + промпт-конвенция `prompts/<пара>/<роль>.md` (`prompts:`-мапы удалены; 120-записей-проблема закрыта). Остаток пака-14 весь (тесты Палладия · fail-loud оверлея уровнем выше · коллизия union = ошибка · empty-probe гард · терминаторы → embedded data · `第` → chapter_marker). **Приёмка:** golden ПЕРЕ-СНЯТ с нуля — байт-в-байт; парити EXACT; 2 MAJOR закрыты дельтой: (1) класс тихой подстановки промпта закрыт ШИРЕ запрошенного — reject-only легаси-ключи + строгий `KnownFields(true)` декод pipeline-конфигов (опечатка ключа = громко); (2) удалённый seed-контракт-тест возвращён И ОКАЗАЛСЯ ВАКУУМНЫМ в старой форме (фикстура эмитила 0) — теперь гард премисы + счёт материализации. **Гигиена:** «ни один ассерт не удалён» была ложной заявкой (раскрыта сессией §(0)); второй пак подряд → норма приёмки: дифф `^func Test` исполнением. **Очередь хвостов:** строгий декод book.yaml (санкционирован, первое касание) · pair/models non-strict · zero-value-паники · стенд-конфиги rerun2 → prompt_override (оркестратор) · eval/exp15 путь trad2simp (полигон). Дальше — пак-16: канал B вживую / слой-3 diff-редактор (прецедент research/22).
|
||||
|
||||
## Оркестратор №7 — ПАК-14 «генеральность-пасс» ПРИНЯТ (воркфлоу 11 линз + доприёмка 4) и залендён; пак-15 «структура+форма» готовится, 24.07
|
||||
|
||||
Сессия исполнила 9 пунктов + оба аддендума + **расширение по директиве владельца «full data-out»** (детект-регексы чекеров/гейтов/санитайзера → данные, не только lookup-таблицы; `checkers_zh_ru.go` → пар-агностичный `checkers.go`). Два дома данных: `configs/langpacks/`+книго-overlay (`book.yaml: langpack_extend`, аддитивный union, fail-loud на чужой файл) для пар/книго-данных · `internal/lang/data/` go:embed для того, что нужно движку БЕЗ пака (golden ja→ru без langpack это доказал: refusal/CJK-нарезка/→ru-инъекция). **Приёмка исполнением:** 0 блокеров; байт-сверка каждого переноса против HEAD; парити EXACT (`{方源:0 蛊:1 蛊师:2 古月:22}`, 古月 теперь из base∪overlay — общий zh-пак чист); golden байт-нетронут; тесты грузят фикстуры из реального пака. Блокер доприёмки (аддендум parsePalladius не был исполнен) закрыт дельтой: generic-парсер категорий + один типизированный `Pack.Palladius`, required валидирует потребитель; + c2-segmentation явно, packAlgoVersion v2. **Поправка отчёту (ревью-шапка):** Приложение A «distinct/matches 8» — греп-артефакт (0 кодовых ссылок; 35→32/14), хойст-вывод не задет. **Гигиена-инцидент мой:** `77dd9b8` утащил staged `git mv` промптов сессии (git commit коммитит весь индекс) — одна неконсистентная bisect-точка, вылечена этим лендингом; правило: перед лендинг-коммитом `git diff --cached`. Прод-overlay 古月 подключён в оба стендовых book.yaml. **Пак-15 (промт ВЫДАН — `BACKEND_PACK15_STRUCTURE_SESSION_PROMPT.md`, ратификация D39.23, §1 норматива амендирован):** хойст `internal/text`+value-типов → сплит miner/checks/membank/chunk (карта связности+экспорт-поверхности = приложения A/B отчёта пака-14, с моей поправкой) + форм-фиксы Export/RequestHash/resolveChunkState + конфиг-слой пары (пар-калибровки из ран-конфигов, промпт-резолв конвенцией) + перенесённый остаток (тесты Палладия · fail-loud оверлея · unionStringMap-семантика · empty-probe гард · терминаторы chunker/coverage · `第`).
|
||||
|
||||
## Оркестратор №7 — research/22 (доменные харнессы) ПРИНЯТ и залендён; вердикт: калибрующий, не переворачивающий, 24.07
|
||||
|
||||
Сессия сдала ревизию-2 (после СОБСТВЕННОГО 9-агентного адверсариала синтеза, поймавшего её факт-ошибки — прецедент мандата 12.07 в лучшей форме). Мой спот-чек 5/5 (detectCJKLeak/cheapgate-v4/ledger наши · ProofreadTask/GenDic их). **Оценка:** ядровые ставки ПОДТВЕРЖДЕНЫ рынком+академией (fused-майнинг>bolt-on доказан смертью KeywordGacha; DelTA-роадмап = наш пройденный путь; TransAgents назвали нашу D39.20-проблему и не решили; north-star «измеренная редактура» НЕ роадмапится никем — окно открыто). **Мы безоговорочно впереди:** COGS-телеметрия · 18+ · общность · измеренность (recall 0.932, вклад ролей). **Позади:** Q4 выпуск/epub (разрыв РАСТЁТ — bbm/Immersive активно куют) · gate+repair-петля QA (они чинят typed-error→адресный ре-перевод, мы флагаем). **В планы:** слой-3 diff-редактор получает прецедент AiNiee/LinguaGacha (приоритет↑, пак-15/16) · epub-tag-rewrite не держать до Ф3 бесконечно (кандидат после пилота) · Q7-леджер дополнить (глагольный вид/addition/voice-flattening) · Problem.py-классы reflow-aware (char-freq, control-code) · LinguaGacha = бенчмарк-кандидат №1 · SakuraLLM мониторить (канал B/ja→ru). «D39.7-коллизия» разрешена: не коллизия, ссылка на стандарт. Промт → архив.
|
||||
|
||||
## Оркестратор №7 — паки 12+13 ПРИНЯТЫ (25-агентный воркфлоу) и залендены; директива общности → норматив+фикс-лист; промт пака-14 выдан, 24.07
|
||||
|
||||
**Лендинг двумя коммитами по зонам** (`7fe0a5b` пак-12, `2f91b04` пак-13). Приёмка: build/vet + полный `-race` зелёные (сам) + воркфлоу 25 агентов/0 ошибок: пак-12 все пункты CONFIRMED, wire-нейтральность доказана по коду (маршалинг запроса не тронут); пак-13 все 10 CONFIRMED (сид↔дельта-гард loud, heading = langpack-данные с golden-no-op, книго-чекеры сняты сессией по директиве, FP-фиксы исполнением); **golden исчерпывающе: 113 пар хеш-only + 4 version-строки + 10 строк ЕДИНСТВЕННОГО wire-изменения (gender-аннотация в драфт-глоссарий, «род должен доезжать» D39.21) — категория «прочее» = 0**; зоны дизъюнктны, санкция echo_mine соблюдена. Нюансы зафиксированы: джиттер поверх 5-мин капа (+25% максимум, анти-herd, принято) · additive при total=0 (анти-undercount, принято) · few_shot:false у dspro-редактора (зеркало арма, принято). **Директива владельца «движок не врастает в книгу/пару» → норматив `12-go-style-notes.md` §0 + CLAUDE.md-гардрейл + генеральность-аудит:** подтверждённые (пережили refute-pass) утечки: **古月 в общем zh-langpack (книжный клан как «фамилия»!)** · ru-инъекция-строки для любой пары (`memory.go:601`) · refusal-блэклист в Go (`disposition.go:235`) · zh-числительные+sourceAbbrevs чанкера · терминаторы/фонотактика майнера · DC1/register-таблицы чекеров · fertility-fallback. **Промт пака-14 «генеральность-пасс» выдан** (байт-точность/парити EXACT, 古月 через книго-расширение langpack). Go-стиль-вопросы владельца закрыты в 12-*: источник = Google Go Style Guide (+Decisions/Best Practices/Effective Go/CodeReviewComments); `_test.go` рядом с кодом = требование тулчейна; 50 файлов в пакете = норма, сплит только по концептуальной подсистеме. Сид: 资质=«талант» добавлен (D39.21, lint OK); гу-ср.род → brief-слот следующего прогона (enum пола wire = male/female/hidden, среднего нет — nit пака-14+). **research/22 сдан сессией (обнаружен аудитом зон) — ПРИДЕРЖАН до ревью оркестратора, в паки не вмешан.**
|
||||
|
||||
## Оркестратор №7 — РЕТРАКТ «каденса майнинга» и «масштаб-пака» (поймал владелец), очередь пере-грундована по 09-target, 23.07
|
||||
|
||||
Владелец верно указал: «каденс майнинг-стопов каждые N глав» — моя экстраполяция СВЕРХ контракта. Код-правда (`mining.go:14-21`): детектор офлайн читает ИСХОДНИК скоупа (черновики лишь метят охват), стоп ОДИН на прогон, все термы скоупа добываются этим стопом; между прогонами-срезами банк аккумулируется штатно (mined_delta+rejects) — довозникать нечему, каденс-механика не нужна. Сериализация edit-волны на подписи — осознанный дизайн (единственное горлышко), не проблема масштаба. **«Масштаб-пак» и полнокнижный precompute СНЯТЫ** (работоспособность проверяется малым срезом; полный масштаб встретит первый продовый прогон). Очередь пере-грундована по слоям `09-target-architecture.md`: построено — слои 1/2/4/6 + большая часть 5/7 (паки D39.2–D39.19); **остаток намеченного плана: слой 3 diff-based редактор (крупнейший; мандат до сих пор full-regen) · канал B вживую · голос/состояние D21 · C2/C3-коры · native-Gemini судья · span-чекеры смысла (полярность/ранг) · хвосты слоя 7 (strip-резолвер, сироты-промпты) · ja→ru §B5.**
|
||||
|
||||
## Оркестратор №7 — промт research/22 (доменные харнессы/конкуренты) выдан; паки-12/13 запущены владельцем параллельно, 23.07
|
||||
|
||||
По вопросу владельца «какие ещё репо посмотреть»: research/21 покрыл транспорт агент-CLI, но ПРЯМЫХ доменных конкурентов (харнессы перевода длинных CJK-текстов) не смотрели. Склонировано в `/home/ubuntu/projects/tmp/` (лицензии поштучно): translation-agent (MIT, reflection) · bilingual_book_maker (MIT, epub) · TransAgents (Apache-2.0, мульти-агент литперевод) · AiNiee (**AGPL-3.0**) · GalTransl (**GPL-3.0**) · LunaTranslator (**GPL-3.0**) — GPL/AGPL: читать можно, копировать НЕЛЬЗЯ; **KeywordGacha БЕЗ лицензии — клон удалён**, только онлайн README/issues. Промт: `DOMAIN_HARNESS_RESEARCH_SESSION_PROMPT.md` (Q1 глоссарий-системы vs банк · Q2 автодобыча vs майнер [UX подписи на 13618 кандидатов!] · Q3 батчинг/связность vs волны · Q4 выпуск/epub vs export/ридер-IDE · Q5 мульти-агент эмпирика vs Q4a · Q6 их QA vs пак-13 · Q7 жалобы пользователей = недостающие дефект-классы; + фаза-0 веб-свип новичков 2025–26 с лицензионным гейтом). **Паки-12/13 запущены владельцем ПАРАЛЛЕЛЬНО в одном дереве** — координация: пак-13 держит wire-правки/golden-пере-капчер до отчёта пака-12 (его инвариант = golden байт-идентичен); лендинг двумя коммитами по зонам файлов.
|
||||
|
||||
## Оркестратор №7 — D39.22: эксп закрыт решением владельца, итерация №2 отложена, редактор = dspro интерим, курс — разработка бэкенда, 23.07
|
||||
|
||||
Владелец: выделенную итерацию №2 не гонять, эксп пройден, дальше разрабатывать бэкенд. Поправка факта: слепое чтение №2 единой руки не короновало (2/2/1) — интерим-редактор зафиксирован по СОВОКУПНОСТИ = **deepseek-v4-pro** (судья №1 · проза/глоссарий · дефекты чинибельны паком-13 · ×2 дешевле glm); glm-резерв, отмена = один арм-конфиг. Вопросы итерации (чистый dspro-vs-glm + чекеры вживую) едут довеском следующего платного прогона. Дефолт-конфиг → dspro при лендинге пака-13 (п.8 промта). **Курс после паков 12/13:** масштаб целой книги · канал B вживую · Ф2-механизмы (голос/состояние D21, native-Gemini судья) · ja→ru §B5 → пилот Ф2.5. Не заблокированы: оба промта выданы, запускать можно сразу.
|
||||
|
||||
## Оркестратор №7 — D39.21 стайл-решения владельца + промт пака-13 «выпускной QA» выдан, 23.07
|
||||
|
||||
Владелец решил (D39.21): меры → конвертировать в единицы языка читателя (时辰=2ч) · generic «гу» = средний род, именные гу — род по-термово из банка · стихи — переводом смысла · 资质=«талант». Плюс директива: аудит полноты банк-инъекции («многое не инжектится в промт перевода»). **Промт пака-13 выдан (`BACKEND_PACK13_QA_SESSION_PROMPT.md`, 7 пунктов, WIRE-двигающий → resnapshot на итерации №2):** mined_delta-крэш-фикс · заголовок-шаблон (langpack-маркеры) · юнит-конверсия+чекер · число-масштабы 千万/成 · broken-word/latin-residue (приёмка на живом дефект-корпусе rerun2, 0 FP) · аудит инъекции · стайл-канон в промпт. Порядок лендинга: пак-12 (нейтральный) → пак-13. Открыто владельцу: 元-корень семейства + 春秋蝉 (сид-дельта итерации №2).
|
||||
|
||||
## Оркестратор №7 — ВЕРДИКТ ПЕРЕ-ПРОГОНА (D39.20): планка не пройдена, дефект-классы механизируемы, mistral-редактор исключён, 23.07
|
||||
|
||||
Ключ вскрыт ПОСЛЕ фиксации двух слепых чтений. Триангуляция трёх независимых сигналов (судья 0.679/0.589/0.232 при floor-шуме 0 · ChatGPT сводно dspro 2/mistral 2/glm 1 · Fable гигиена mistral 2/glm 2/dspro 1): слепого сводного победителя НЕТ, но **чисто-художественные выборы обоих читателей идентичны (A/A/B/C/A) = mistral 4/5** — арм с худшей верностью. Анти-корреляция гладкость↔верность доказана трижды. **Решения (D39.20):** планка ≤2 не пройдена (пилот не открыт) · mistral вон как несущий (голос = north-star промпта) · dspro-vs-glm решает итерация №2 после механизации (драфт $0 → ~$0.08/арм + судья-lite). Дефект-классы → полный маппинг на механизмы (пак-13: юнит-чекер 时辰 · число-масштабы · broken-word/latin · заголовок-шаблон · mined_delta-крэш-фикс; банк: 元/资质/赤城/学堂家老; владелец: род «гу»/меры/стихи/春秋蝉). Операционка вся подтверждена живьём ($0-резюм ×3, echo 0, $6.63<$15). Гигиена: авто-QA ключевать слепыми метками (частичная деанонимизация гл.1 у читателя №2); промт пере-прогона отработан→архив; **гейт пака-12 ОТКРЫТ**.
|
||||
|
||||
## Оркестратор №7 — арх-дочитка research/21 принята (транспорт НЕ рефакторим), промт пака-12 «транспорт-гигиена» выдан, 23.07
|
||||
|
||||
Ресёрч-сессия дослала архитектурный срез (3 Go-базы: SDK-паттерн RequestOption = несериализуемое замыкание — враждебен снапшот-детерминизму, наша Capability-как-данные правильнее; crush делегирует транспорт наружу; goose сам держит квирки в коде — сходится к нашей позе). **Вердикт ратифицирую: транспорт не рефакторим, энергия арх-работы — в pipeline (D39, уже расписан).** Сессии поручено дописать §5 «Архитектурные паттерны» в research/21 (файл залендён — приму диффом). **Промт пака-12 выдан (`BACKEND_TRANSPORT_PACK_SESSION_PROMPT.md`), ГЕЙТ: старт только после платного пути пере-прогона.** Скоуп 10 wire-нейтральных пунктов (ноль resnapshot, golden байт-идентичен): валидация models.yaml · quota-429-terminal · ms-Retry-After · h2-keepalive · proportional jitter · xAI identity-гард · CostSource (fertility, не char/4) · drift-guard-пины + substring-finish · кап billed-decode · сегмент-луп-гард (observability). Вендор-сверка внутри сессии: GLM finish-словарь, kimi temperature. НЕ вошло (явно): GLM cache_control (wire → решение владельца после чтения) · overflow-гард · native-Gemini (Ф2) · continuation · стриминг.
|
||||
|
||||
## Оркестратор №7 — research/21 (обзор LLM-транспорта) ПРИНЯТ и залендён, 23.07
|
||||
|
||||
Ресёрч-сессия сдала обзор (57 агентов; самопроверка исполнением поймала плейсхолдер-заглушки синтеза Q1/Q3 — пере-выведены из survey-сырья, 8/8 несущих цитат CONFIRMED; ещё один датапоинт мандата 12.07). **Приёмка исполнением:** 7/7 цитат о нашем коде + 5/5 из клонов сверены байт-в-байт; 1 эрратум (Mistral 400↔422 — класс верен); **поправка применимости моя:** wire single-shot `system+system+user` (`render.go:223-227`) → «арм-квирки» (Mistral extra_forbidden, deepseek multi-turn) ЛАТЕНТНЫ для текущего пере-прогона, GLM-overflow — future-proofing; идущий прогон НЕ трогаем. **Вердикт обзора:** наш транспорт опережает/вровень со всеми 11 (retryLoop, 5-мин кап Retry-After, fail-loud, served-model биллинг, min_max_tokens-флор, double-count-гард); против Mistral-48% — только concurrency-cap, против тихого усечения — стриминг даёт лишь детекцию (continuation ≠ стриминг). **Дёшево-подтверждённые кандидаты пост-прогона:** fractional/ms Retry-After · quota-429→terminal · HTTP/2 keepalive · CostSource-маркер · xAI identity-гард · план native-Gemini-судьи · cache_control на GLM (÷5 входа, но ~2% стандарта). Q7-таблица квирков — кандидаты до вендор-сверки, в `00-provider-quirks.md` НЕ абсорбированы. Промт → архив. Решения о внедрении — после чтения владельца, отдельными D.
|
||||
|
||||
## Оркестратор №7 — параллельный трек: промт research/21 (обзор LLM-транспорта чужих харнессов) выдан, 20.07
|
||||
|
||||
По решению владельца — параллельно пере-прогону. В `/home/ubuntu/projects/tmp/` склонированы 11 репо (лицензии сверены поштучно): codex/gemini-cli/**grok-build (офиц. xAI, open-sourced 15.07.2026, Apache-2.0)**/goose/aider/cline/openai-go — Apache-2.0; opencode/anthropic-sdk-go — MIT; litellm — MIT-ядро (`enterprise/` не читать); crush — FSL-1.1 (читать можно, копировать нельзя). **Leaked-форки Claude Code — ВНЕ периметра** (контаминация; офиц. трекер/чейнджлог — онлайн). Промт: `LLM_TRANSPORT_RESEARCH_SESSION_PROMPT.md` — Q1 cache-раскладка инъекции (до ×50 на входе flash), Q2 rate-limit адаптив (Mistral-арм), Q3 finish_reason-таксономия, Q4 retry/fatal vs 04-unhappy-paths, Q5 usage/ledger, Q6 streaming-надёжность, Q7 issue-sweep по нашим провайдерам → кандидаты в 00-provider-quirks. Жёстко: $0 (никаких вызовов), backend read-only (патчи — только после пере-прогона), file:line-грунтовка, выход `research/21` некоммиченным.
|
||||
|
||||
## Оркестратор №7 — гейт DeepSeek закрыт факт-чеком, промт ПЕРЕ-ПРОГОНА выдан, 20.07
|
||||
|
||||
**Гейт 24.07 закрыт по существу** (офиц. `api-docs.deepseek.com/quick_start/pricing`, 20.07): катовер депрекейтит ТОЛЬКО старые алиасы `deepseek-chat`/`deepseek-reasoner` — мы на `v4-flash`/`v4-pro`, не затронуты; цены байт-в-байт равны `models.yaml` (flash $0.14/$0.0028/$0.28, pro $0.435/$0.003625/$0.87); анонсов изменений нет. Остаточный риск (тихая смена цены в день катовера) страхуется потолком леджера + повторным прайс-чеком 24.07, если прогон жив (вписан в промт). **Аддендум 20.07 (вопрос владельца «а гемини?»):** прайс-чек расширен на ВСЕ платные провайдеры прогона — gemini-3.1-pro-preview $2/$0.20/$12 ≤200k (thinking в output) · glm-5 $1/$0.2/$3.2 · mistral-large $0.5/$1.5 — все совпали с `models.yaml` байт-в-байт, депрекаций не анонсировано. Нюансы вшиты в промт: тир >200k у Gemini (×2/×1.5, ledger одноценовой → судья-окна <200k) + GA-слага 3.1-pro НЕТ (судья остаётся на `-preview`; риск будущих прогонов, мониторим) + live `/models`-проба всех слагов в предполёте. **Промт операционной сессии выдан: `PERERUN_SESSION_PROMPT.md`** — главы 1–5, ОДИН resnapshot, майнинг-стоп → резидуал-подпись (тачпойнт №1), армы glm/mistral/deepseek-pro с проверкой $0-резюма драфта по ledger («переоплата ОДНА» на живых деньгах), риг D39.7, блайнд-пакет D39.8 (тачпойнт №2 — чтение, планка ≤2 претензии), потолок $15/$15. Стенд-артефакты сверены: контраст `eval/exp16/data/jieba_dict_general_zh.txt` · сид v2 · подписанная карта exp16 — все на месте.
|
||||
|
||||
## Оркестратор №7 — консистенси-проход бэкенда (комменты+строки → английский) ПРИНЯТ и залендён, 20.07
|
||||
|
||||
Владелец прогнал проход на чистоту кода: русские комменты (104 файла) + операторские дашборды (`render.go`) + error-msg + detail-флаги чекеров → английский; логов на русском не было (уже английские). **Оставлено русским (проверено file:line):** wire/инъекц-заголовки (`glossaryBlockHeader`/`editorConstraintHeader`/`⟨проверить⟩`, `memory.go:504/543`), lang-data таблицы гейтов (ё-гомографы/транслит-междометия/разряды 万億/Палладий-ъ), глифы `«—»/«…»`, тест-данные перевода, doc-ссылки (`Р4/Р5/D39 слой 2/Ш-2`). **Приёмка ИСПОЛНЕНИЕМ (не по заголовку отчёта):** build+vet+`test -race` зелёные (весь набор: golden-детерм/snapshot_wave/memnorm/**miner-parity EXACT**); **golden-диф = ТОЛЬКО 3 диагностических `detail=`-префикса, все content_hash/final_hash/disp/flag/cost байт-идентичны** → не wire, не вердикт, resnapshot сверх пере-прогонного НЕ нужен; 0 wire-идентификаторов в дифе; 0 нового gofmt-долга (3 файла некошерны уже на HEAD). Единственный enum-литерал `AliasType «чтение»→«reading»` (`memseed.go`): модели не рендерится (`memory.go:221` кладёт в surfaces лишь `a.Alias`), нигде не сравнивается (не control-flow), фолдится только в `computeMemoryVersion` (`memory.go:315`) → на реальной книге учтётся, но впитывается свежим resnapshot пере-прогона бесплатно (оплаченных чекпойнтов на стеке нет). Стрей `backend/tmctl` (build-артефакт) не коммичен. Не D-решение (косметика), стек/контракт не тронуты.
|
||||
|
||||
## Оркестратор №7 — пере-прогон-преп ПРИНЯТ и залендён (D39.19), бэкенд готов к пере-прогону, 19.07
|
||||
|
||||
Сессия исполнила все 6 фиксов препа + §8-верификацию + свой 4-линзовый адверсариал (clean bill). **Залендено:** R1-FL-A (CLI exit-3 для WaveSignatureStop) · R1-FL-B (reject-set `Book.MinedRejects` — livelock/W1.5-UX закрыт; nil no-op, парити цел) · R1-FL-C (x/text-версия в Ш-2, pin+drift-чек — единственная снапшот-двигающая) · echo-сплит (draft/edit rates, костыль снят) · read-model naming (chunk→unit, полигон не сломан) · ниты (мёртвый minedToCandidates снесён). **Приёмка прямая (локальные фиксы, сессия сама адверсариалила):** build/race зелёные сам, **независимый masked-golden = 0 после маскировки хешей** (version-only чисто, wire/вердикты байт-идентичны), пины все (exit-контракт, reject-suppress, x/text-drift, echo-сплит, парити EXACT), §8-манифест полон (+x/text). Док-правка: x/text-строка добавлена в план §8 (моя зона). **ПАК-11+преп завершены, бэкенд готов.** Промт препа отработан→архив. **Очередь: пере-прогон** (операционная: ОДИН resnapshot + langpack+contrast+подписанная карта+армы; риг D39.7; finish=stop) → чтение (планка 2 претензии). Гейт: ре-чек прайса DeepSeek 24.07.
|
||||
|
||||
## Оркестратор №7 — gender-signoff закрыт + промт пере-прогон-препа выдан, 19.07
|
||||
|
||||
**Gender-signoff карты exp16 ЗАКРЫТ** (владелец «male ок», оркестратор проставил корректно, не бланк-штампом): **male** (name-персоны he-доминантно) 方源·古月·方正·人祖·花酒行者·古月赤练/赤城/漠北/漠尘/冻土 · **female** 沈嬷嬷 (嬷嬷=нянька, 0/2) + **沈翠** (KWIC разрешил ничью 2/2: 丫鬟/丫头=служанка, дочь 沈嬷嬷 — счётчики 他 были от окружающих мужчин) · **hidden** 白凝冰 · **n/a** все title/term/place + 困境 («Беды»=имя стаи). Флагов не осталось. Карта (`books/gu-zhenren/exp16/signature_map.md`, вне git) — dst-канон + пол закрыты, готова к сид-дельте. **Промт `BACKEND_RERUN_PREP_SESSION_PROMPT.md` ВЫДАН** — 6 целевых фиксов (R1-FL-A CLI-exit · R1-FL-B mining-reject-set [дизайн-дефолт: reject-list файлом] · R1-FL-C x/text-версия в Ш-2 · echo-сплит · read-model naming · лёгкие ниты) + верификация полноты §8-манифеста единого resnapshot; директива «не упарываться на миноры» вшита. Пере-прогон (ОДИН resnapshot fresh-translate + армы + подписанная карта) — операционная сессия ПОСЛЕ препа; гейт: ре-чек прайса DeepSeek 24.07.
|
||||
|
||||
## Оркестратор №7 — D39.18: c-lite blast-radius + 4 read-модель-фикса залендены, 19.07
|
||||
|
||||
Ратифицирован product-вариант (c) по blast-radius (флагнутый черновик-член бланкал всю edit-единицу → регресс). **Залендено `488c8d4` (c-lite):** флагнутый член дропается, редактор бежит по чистому остатку (source+draft хороших), при всех флагнутых → ""; без флага байт-идентично (golden цел). Приёмка прямая (локализованный flag-путь — тяжёлый воркфлоу не нужен; сессия сама прогнала 4-линзовый адверсариал): build/race/golden зелёные сам, деньги честны (draftCost по всем членам, редактура 1×). + 4 read-модель-фикса пост-лендинг-ревью сессии: quality-echo пере-выведен (**открытое решение владельцу: echo «где угодно» [текущее] vs «только шипнутое» — one-line**), status first-flagged, export --pairs source realign, export detail. Отчёт `docs/archive/reports/R1_POST_LANDING_REVIEW_2026-07-19.md`. R1-FL-A/B/C — deferred в пере-прогон-преп (live-mining-гейтнуты). **Echo-метрика РЕШЕНА (владелец, идея владельца лучше моего A/B): сплит `echo_draft_rate` (переводчик эхнул — здоровье модели, вкл. дропнутых c-lite прямо из draft-строк) / `echo_edit_rate` (редактор эхнул / echo в шипнутом — качество доставленного, серьёзнее).** Заменяет A/B И убирает re-derive-хак `quality.go` (draft-echo считается прямо из draft-строк по Stage+`cjk_artifact`). → пере-прогон-преп. **Очередь без изменений:** пере-прогон-преп (R1-FL-A/B/C + echo-сплит + единый resnapshot; blast-radius уже сделан) → пере-прогон → чтение.
|
||||
|
||||
## Пере-прогон-преп — накапливаемый скоуп (промт пишет оркестратор перед прогоном)
|
||||
R1-FL-A (CLI exit-код WaveSignatureStop) · R1-FL-B (mining-стоп reject-set — нужен W1.5-UX дизайн) · R1-FL-C (x/text-версия в Ш-2) · **echo-сплит `echo_draft_rate`/`echo_edit_rate`** (убрать re-derive-хак) · read-model naming-debt (chunk/total_chunks несут unit-счётчики) · ниты D39.17-errata (jobs.status advisory · escMu-throughput · dead minedToCandidates · HTTP-concurrency smoke) · **единый resnapshot D30.9 §8** (memmatch/sanitizer/чанкер-v5/src→dst/pack.Version/unicode.Version одной переоплатой). Гейт до старта платного прогона: ре-чек прайса DeepSeek 24.07 + финальный gender-signoff карты («остальных male»).
|
||||
|
||||
## Оркестратор №7 — D39.17-errata: 2-я ревью-сессия поймала runWave parent-cancel баг (мой рубеж-2 пропустил), фикс залендён, 19.07
|
||||
|
||||
Владелец запустил ВТОРУЮ независимую ревью-сессию (4 ревьюера+трейс) по волновой фиче ПОСЛЕ моего лендинга R1. Поймала **реальный MEDIUM-HIGH баг, который мой рубеж-2 дал clean bill:** `runWave` возвращал nil при parent-cancel (Ctrl-C), когда воркеры не ошиблись ($0-resume-воркер не трогает cancellable ctx → firstErr nil при недоделанных items) → nil-deref паника (edit) / exit-0 на неполной книге (draft-only). Денег/данных не теряется (durable-store корректен), ущерб = крэш/ложный успех. **Фикс залендён (`5fc4860`):** `parent.Err()` при firstErr==nil. **Верификация оркестратора red/green исполнением:** реверт к HEAD → регресс-тест ПАДАЕТ; фикс → PASS; suite -race + golden зелёные. **Честно: мой clean bill D39.17 был НЕПОЛОН** — линза runWave была, но агенты не дотрейсили $0-resume-cancel-путь; вторая независимая сессия поймала (валидирует независимые ревью). Ядро R1 (деньги/переоплата-ОДНА/память/снапшот) — 3 ревьюера+трейс подтвердили, держится. Осталось владельцу/препу: **product-решение edit-unit blast-radius** (флагнутый member бланкает всю единицу-главу → accept/export-good-flagged/split-on-bad, эскалировано) + R1-FL-A/B/C + ниты (jobs.status/read-model-naming/escMu/dead-minedToCandidates/HTTP-concurrency-smoke) → пере-прогон-преп.
|
||||
|
||||
## Оркестратор №7 — R1 драйвер-свитч ПРИНЯТ и залендён (D39.17), ПАК-11 ЗАВЕРШЁН, 19.07
|
||||
|
||||
Бэкенд-сессия сдала волновой исполнитель (`waverun.go`/`mining.go` нов): precompute→черновик∥→банк-майнинг-стоп→редактура∥; редактор читает concat-черновик по final_hash, НИКОГДА не пере-рендерит draft; `translateChunk` удалён. + wiring майнера (langpack fail-loud/nil + pack.Version-фолд + mined-write) + Ш-2 (unicode.Version) + Ш-1 (masked-diff) + golden-рерайт (8 глав→8 единиц) + read-модели per-unit + именование без W0-W2. **Приёмка: прямая (build/race сам, 8 волновых пинов вкл. кусачий регресс-пин переоплаты-ОДНА, golden байт-стабилен, построчное чтение waverun=план §1/research19 §B3-бис) + ПОЛНЫЙ рубеж-2** (5 линз вкл. явную синк-с-ресёрчем — владелец просил; refute-by-default, $0): **4 находки / 1 refuted / 3 выжили — ВСЕ MINOR/NOTE, 0 CRIT/MAJOR; все несущие линзы (деньги/секвенирование/детерминизм/СИНК/снапшот) ПУСТЫ.** Сессия сама поймала MAJOR (инъекция черновика над enriched вместо base → тихий re-bill при mined-подписи; фикс r.baseMemory + регресс-пин). **Фикс-лист (3, стенд-only mining / трипваер — не блокируют, ГЕЙТ до живого mining пере-прогона):** R1-FL-A (CLI не даёт WaveSignatureStop distinct exit-код → exit 1; коммент/отчёт оверклейм) · R1-FL-B (mining-стоп очищается только при пустой дельте, reject-механизма нет → отклонённый терм livelock'ит стоп; связано с W1.5-UX §10-1) · R1-FL-C (NOTE: x/text/norm своя Unicode-редакция не фолдится — расширить Ш-2). Девиации приняты (сургичный per-wave resnapshot, escMu-сериализация эскалаций). **ПАК-11 ЗАВЕРШЁН** (Block A+continuation+арх-проход+R1); `BACKEND_PLAN11` отработан→архив. **Очередь:** пере-прогон-преп (R1-FL-A/B/C + единый resnapshot D30.9 §8) → пере-прогон 3–10 глав (армы + live mining с подписью) → чтение (планка 2 претензии).
|
||||
|
||||
## Оркестратор №7 — подпись карты exp16 + находка «Бай Нинбин = предел DC-3», 19.07
|
||||
|
||||
Владелец подписал карту exp16 (`books/gu-zhenren/exp16/signature_map.md`, вне git): **dst-канон принят** (banknote-dst + сидовый dst для Палладий-канон-записей; мусорные co-occ «справочно» — игнор, это доказанный провал WHAT §3.3). Правки владельца: 南疆→«Южные земли» (не транслит), 青丝蛊→«Шёлковый гу», 长生 без изм. (=«бессмертие», авто-dst был брак). Пол: остальные персонажи — male по evidence (ожидает финального «ок» владельца), **白凝冰 (Бай Нинбин) = `hidden`**. **НАХОДКА (предел дефект-класса gender-enforce D39.8):** Бай Нинбин ЛОМАЕТ статическое поле пола — пол МЕНЯЕТСЯ по книге (безгендерный→мужчина→магически женщина) И расщеплён по перспективе (внешне ж / сам себя мыслит мужчиной). Ни `gender`, ни окно `since_ch/until_ch` этого не выражают → **детерминированный DC-3 НЕ трогает (правильно, `hidden`→Ф2/редактор); местоимения рендерит редактор ПО СЦЕНЕ.** Следствия: (1) валидирует D39.16-решение отложить hidden-чекер в Ф2; (2) **требование к Ф2/editor-контексту: нужна НАРРАТИВНАЯ гендер-аннотация (since_ch-смены + перспектива), не булево поле** — вход дизайна Ф2-аннотатора; (3) **ожидание пере-прогона (честно владельцу): его претензия «мечтал/мечтала» по Бай Нинбину — редакторская-на-понимание, детерминированным фиксом НЕ закрывается; зависит от того, поймёт ли редактор сцену (может частично на прямых фазах, не гарантировано на расщеплённых).** Гарантированные детерм-фиксы пере-прогона — чистые male-персонажи + 时辰-юниты + числа + регистр.
|
||||
|
||||
## Оркестратор №7 — актуализация ВСЕЙ документации (док-свип, мандат владельца), 19.07 (седьмая фаза)
|
||||
|
||||
По прямому указанию владельца прошёл всю документацию, освежил current-state-маркеры до пост-D39.16 (дисциплина D23.3: правил ТОЛЬКО шапки/статус-строки, историю не трогал). Тронуто: `CLAUDE.md` (текущее состояние → D39.16, эра «стройка пере-прогонного стека») · `docs/README.md` (статус-абзац пост-D38.1→D39.16, D-лог-диапазон D39.6→D39.16, дедуп дубль-предложения о закрытых промтах) · `docs/PROGRESS.md` (CURRENT-STATE шапка+очередь+«ждём от владельца») · `05-decisions-log.md` (заголовок D1–D38→D1–D39.16) · `09-target-architecture.md` §2-слой-2 + `10-prompt-architecture.md` (отметки реализации langpack D39.16) · оркестратор-хендофф №5 (статус-баннер: первый deliverable исполнен, тело=снимок D39.11). **Чужие зоны (мандат владельца «всю», дерево чистое/живых сессий нет — клоббера нет):** `backend/README.md` (D-лог-диапазон + указатели на план-11/промт стройки/langpack) · `eval/README.md` (очередь пост-D39.16: исслед-программа завершена, следующее = пере-прогон). **НЕ тронуто (обоснованно):** `components.puml`/`pipeline.puml` — код всё ещё ПОСЛЕДОВАТЕЛЬНЫЙ (R1-волны не залендены) → диаграммы СЕЙЧАС точны, обновление после R1; историческая хроника D-лога/PROGRESS (D23.3).
|
||||
|
||||
**Чистка код-зоны + процесс-правка (мандат владельца 19.07, «доки бэкенда выглядят плохо»):** три сессионных `backend/*_REPORT.md` (PACK11/PACK11_CONT/ARCH_CLEANUP, ~82 КБ нарратива, дублировали PROGRESS/D-лог) вынесены из `backend/` в `docs/archive/reports/` (архив-не-удаление); `backend/` теперь чист (README+спека+промты). **Процесс впредь:** сессии НЕ плодят персистентные `backend/*_REPORT.md` — постоянный record = D-блоки+PROGRESS, детальный артефакт (если нужен) → `docs/archive/reports/`; вписано в R1-промт. Плюс из ARCH_CLEANUP-записки ратифицированы **Ш-1/Ш-2** (снапшот-гард: Ш-2 — фолд `unicode.Version`, трипваер до go1.27, едет в R1-resnapshot; Ш-1 — masked-diff-хелпер, низкая срочность) → фикс-лист R1 (детали в D39.16).
|
||||
|
||||
## Оркестратор №7 — арх-проход D39.16 ПРИНЯТ и залендён: язык-данные майнера в internal/lang, 19.07 (шестая фаза)
|
||||
|
||||
Сессия исполнила 5-фазный арх-промт. **Залендено:** zh/Палладий-данные майнера вынесены из Go-констант pipeline/ в `configs/langpacks/zh|zh-ru/` (10 файлов), грузятся leaf-пакетом `internal/lang` (граница компиль-enforced: не импортит pipeline), движок читает `*lang.Pack` через DI. + FL-1 (bankTokenBudget-фолд) / FL-2 (банкнота-телеметрия на резюме) / FL-3 (emitRankCap=200) / тест-путь env-override. **Приёмка исполнением:** build/vet/race сам, **golden БАЙТ-ИДЕНТИЧЕН** (нейтральность механически доказана), **байт-точность перемещения доказана парити** (константы удалены, DI, EXACT 13618/古月:22/0.9649 против референса — строже ручного парсинга), граница грепом. **Ратифицированы 3 дивергенции (пресс-тест сработал):** language.Tag ОТВЕРГНУТ (CLDR-инстабильность в снапшот-вердиктах, golang/go#24211 — мой наивный буллет опровергнут верно) · DC-чекеры DEFER (пара-агностичны → пара-кеинг = смена поведения; translitInterj = ЯПОНСКИЕ филлеры) · снапшот-фолд DEFER до R1 (майнер offline → не wire-определяющ → преждевременный resnapshot). Дисциплина «не минор-хант/не rewrite» соблюдена. Общность структурно доказана (синтетик-пара роутится, fail-loud). Калибровка: рубеж-2 не гонялся — golden байт-идентичен + парити EXACT = correctness-риск ≈0. Промт отработан→архив. **Очередь:** R1-продолжение (фолдит pack.Version() + грузит пак при wiring майнера) → resnapshot → пере-прогон → чтение.
|
||||
|
||||
## Оркестратор №7 — директива владельца D39.15: изоляция языка из pipeline/, архитектурный проход перед R1 (19.07, пятая фаза)
|
||||
|
||||
Владелец нашёл zh/ru-константы внутри `internal/pipeline/` (百家姓, Палладий, частицы, `checkers_zh_ru`, `isRuTarget`) → директива: язык ВНЕ пайплайна, сотни языков, библиотеки/данные-файлами, чистый код+нормальные алгоритмы (стандарт «сеньор Google»), НО не минор-хант/не rewrite-ради-rewrite. Разбор оркестратора по коду: §0.1-сеам реален (гейты/pair-keyed промпты/fail-loud — en→es даёт fail-loud, не крэш); хардкод-пути только в тесте; `clusterAlias` = корректный union-find. Настоящий зазор: данные-как-консты (а не файлы) + `x/text` (уже в deps v0.38) недоиспользован. **Ратифицировано D39.15:** целевая форма — `internal/lang/` (интерфейсы+загрузчик, без данных) + `configs/langpacks/<lang|pair>/*.yaml` + `x/text/language.Tag`; резолв по LangPair, снапшот-folded как промпты; алгоритмы не трогать (уходят ДАННЫЕ). **Секвенс: этот проход ПЕРЕД R1** (пока майнер не живой). **Промт выдан `BACKEND_ARCH_CLEANUP_SESSION_PROMPT.md`** — 5 фаз-воркфлоу (ресёрч 2×3 → синтез → фикс-лист do/defer/don't → исполнение → ревью); поведенчески нейтрально zh→ru (golden байт-стабилен, один resnapshot); риды-along FL-1/2/3 + тест-путь. ja→ru = приёмочный тест общности позже. **Очередь пере-упорядочена:** арх-проход → R1-продолжение → resnapshot → пере-прогон → чтение.
|
||||
|
||||
## Оркестратор №7 — пак-11 continuation принят и залендён (D39.14), рубеж-2-долг погашен, 19.07 (четвёртая фаза)
|
||||
|
||||
Continuation-сессия сдала R2–R5 + R1-аддитив (санкц. порядок вариант-1). **Залендено:** R2 Go-майнер (паритет EXACT: 13618, 古月:22, recall 0.9649) · R3 банкнота 12-точек (на посл. раннере, переезжают в волны как есть) · R4 DC1/DC2/DC6+DC3-gender+`export --pairs` (2 golden re-capture masked-чист) · R5 2 арм-конфига · R1-аддитив (snapshotIDForWave + W0-precompute байт-идентично). R1 драйвер-свитч (W1/W1.5/W2 + структурный golden-рерайт) — санкц. резидуал. **Приёмка исполнением:** build/vet/race сам, ~40 пинов свежим `-count=1` (майнер-паритет TM_MINER_PARITY EXACT), независимая masked-golden репликация (0 изменений final_text/disposition), построчное чтение деньги-пути (settle пишет raw, срез после durable settle — деньги нетронуты). **Долг рубежа-2 (D39.13) ПОГАШЕН:** 8-агентный адверсариал по обоим кускам, 5 линз refute-by-default, $0 — **3 находки (все MINOR/PARTIAL, 0 refuted); все CRITICAL/MAJOR-линзы пусты** (деньги/wire/порт/резюм/base-enriched/residual — clean bill). Фикс-лист FL-1 (bankTokenBudget не свёрнут в banknoteSnap) · FL-2 (banknote-телеметрия обнуляется на резюме, observability) · FL-3 (miner emission без top-N капа референса) — все латентны (банкнота off по дефолту, эмиссия за R1), лендинг не блокируют → R1-продолжение (промт активен, фикс-лист вписан). §0.1-заметка владельцу: DC-данные = код-консты за isRuTarget-гейтом (сеам защищает; config-extraction — открытый вопрос, увязать с ja→ru). Очередь: R1-продолжение → приёмка → resnapshot → пере-прогон → чтение.
|
||||
|
||||
## Оркестратор №7 — пак-11 Block A принят и залендён (D39.13), 19.07 (третья фаза сессии)
|
||||
|
||||
Бэкенд-сессия сдала Block A + ядра с ЧЕСТНЫМ резидуалом (мандат «резидуал > сломанный суит»): WS2 целиком (output-бюджет чанкера, edit-единицы grouping-of-whole-chunks [девиация ратифицирована: 37 единиц / 0 straddle воспроизведены, гарантия W2-реконструкции по построению], src→dst-блок редактора = закрытие D30.1, `render-format-version`, golden re-capture) · WS1a eager-clients (гонка закрыта) · WS1b rate-guard (`ratelimit.go`) · WS1c base/enriched `MemoryVersion`-split (enriched байт-идентичен — снапшот не двинулся) · WS4-core банкнота-парсер (байт-верный порт). **Приёмка — верификация исполнением:** build/vet/race сам, 27 пинов свежим `-count=1` вербозно, независимая masked-golden репликация (все категории объяснимы), построчное чтение несущих диффов. Сессионный 9-агентный чекпойнт: 3 confirmed пофикшены / 3 refuted. **Долг: мульти-агентный рубеж-2 приёмки не гонялся (лимит-режим) — гасится при приёмке продолжения (прецедент D39.2).** Резидуал R1–R5 с точными дизайнами — `backend/PACK11_REPORT.md`; промт пака АКТИВЕН со статус-баннером. Записка продолжению-сессии: стартовать по промту + отчёту, сданное не пере-строить.
|
||||
|
||||
## Оркестратор №7 — план 11 РАТИФИЦИРОВАН (D39.12), бэкенд-промт единого пака ВЫДАН (19.07, вторая половина сессии)
|
||||
|
||||
Дизайн-синтез сдал план (1066 строк) после трёх рубежей: ревью-2 оркестратора (F1–F11: 3 MAJOR соло-прохода + 2 замечания владельца [mistral rate-guard ~48% retry-fails · полы per-editor-model] + Q9-провенанс) → 7-агентный пост-фикс адверсариал сессии (5 находок: F8 ПЕРЕПИСАН — сайзинг уже от `prev`; дефолт 3200 → 37 edit-единиц; mined-write-путь [`loadGlossarySeed` хардкодит seed]; render-format-version реконсиляция; F6 усилен narrative-coref) → 3-агентный подтверждающий пас (2 резидуала закрыты). Спот-чек внесения — исполнением (36 маркеров, grep всех фиксов). **Залендено одним пакетом:** план с ревью-шапкой + `eval/design11/` (7 скриптов, 6 верификаций PASS) + quirks-запись mistral (из §12-заготовки, зона полигона — с пометкой) + D39.12 + архивация спент-промта дизайн-синтеза. **Гейтнутые армы: 4** (edit>3200 за Q2a · качество свап-арма за платным полигоном · DC-landing за $0-FP · mistral за rate-guard). Развилки §10 (14 шт., с рекомендациями) — у владельца, стройку не блокируют. **Выдан `BACKEND_PLAN11_SESSION_PROMPT.md`** — единый пак WS1–WS6 блоками A/B/C/D с чекпойнт-ревью (решение владельца: одной сессией; свободы: рефакторинг/перенос кода, временные тесты, багфиксы со скоуп-пометкой; Go-каноны; даблчек неконсистентностей; $0 к провайдерам). Очередь: бэкенд-сессия → приёмка (рубеж-2) → единый resnapshot → пере-прогон → чтение.
|
||||
|
||||
## Оркестратор №7 — промт ДИЗАЙН-СИНТЕЗ сессии выдан (deliverable №1 по D39.11), 2026-07-19
|
||||
|
||||
Онбординг по хендоффу №5 (D-лог D39–D39.11 + несущие отчёты: research/19 §B/§C/§E, research/20 §B/§C/§E, exp15 §3/§7/§7.9/§7-Q4a, exp16 целиком). **Выдан `docs/DESIGN_SYNTHESIS_SESSION_PROMPT.md`** — проект-ресёрч сессия синтеза всех находок в ратифицируемый план `architecture/11-implementation-plan.md`. Скоуп: WS1 волновой раннер (деньги/SQLite/гонка `Runner.clients`/sticky-A5-цепочка + scheduler-волны + три вендор-чека: deepseek пик-окна D39.10-6, кэш ZAI/GLM §E.8-бис, слаги 24.07) · WS2 фертильность-бюджет + крупная edit-единица (+ omission-бэкстоп; src→dst D30.1 решается здесь, парковка запрещена) · WS3 Go-майнер W1.5 (V-C + алиасы + консолидация + сид-дельта §C2-7 + карта подписи) · WS4 банкнота×12 гейт-точек (вкл. re-point final_hash) · WS5 дефект-класс чекеры D39.8 + данные пакета пары · WS6 свап-арм редактора + готовность пере-прогона (риг-стандарт D39.7 вшит); глобальные секции: порядок пакетов, манифест ЕДИНОГО resnapshot (D30.9, вкл. gate-условную семантику банка), диспозиции хвостов (ledger-очередь, §E-слоты, L7-NEVER_CLOSED: H7/H8/H10/H16), реестр вопросов владельцу. Каждый WS — верификация ДО стройки ($0-симуляции, скрипты `eval/design11/`, числа в план); мандат самопроверки + адверсариальный селф-ревью + completeness-critic L1–L8; $0 жёстко (платная несущая верификация = эскалация-развилка, не тихий деферал «на после стройки»). **Промт прошёл адверсариальное ревью-воркфлоу до выдачи (5 линз × refute-by-default, 25 агентов): 20 CONFIRMED-находок (4 MAJOR), все внесены** — несущие: gate-условная снапшот-семантика auto/draft (`memory.go:259-266`); пропущенные D12-риски параллелизма (гонка clients, sticky-цепочка → request_hash); lookahead/Q2c переведены из «доказано не строим» в парковку «не тестировано»; verify-before-build маршрут платных верификаций; мега-предложение — НЕ «уже в коде» (oversize-passthrough без флага). file:line-якоря спот-верифицированы по HEAD исполнением. ⚠ Док-синк заметка (не чинил — вне минимального скоупа): ярлык «инвариант №8» перегружен — backend/README №8 = экспорт-контракт (с 17.07), CLAUDE.md/шапка D-лога зовут №8 golden (эпоха D23); развести при следующей актуализации статус-доков. Следующее: владелец стартует дизайн-сессию → адверсариальное ревью+ратификация плана (D-блок) → бэкенд-промт строго по плану.
|
||||
|
||||
## Оркестратор №6 — СЕССИЯ ЗАКРЫТА: эра D39–D39.11 исполнена целиком, хендофф №5 выдан (19.07)
|
||||
|
||||
Арка сессии: синк-аудит «сломанного телефона» (65 находок/0 refuted) → целевая 7-слойная архитектура + инвариант общности → трек A построен (trust-gate памяти · export-contract+fold-first санитайзер · pair-сеам · tmctl export/report · store v8; адверсариал-долг 529 погашен) → трек B исследован (research/19+20) → exp15 (floor-дисциплина; CRITICAL-артефакт окна судьи пойман рубежом-2, «границы вредят» отозван; чтение владельца: дефекты распределены) → Q4a (слабое звено=редактор) → exp16 (WHICH 0.97 кодом / dst→банкнота; ре-аудит exp14b чист). Деньги экспериментов: exp15 $12.79/$15 · Q4a $1.32/$2 · exp16 $0.02/$10 — все капы удержаны. Итог для продукта: стройка слоёв 1+4 полностью evidence-backed; «что НЕ строить» сэкономило сцен-детекцию и carryover-машинерию. Хендофф №5 — `ORCHESTRATOR_SESSION_PROMPT.md` (переписан начисто; №4 в архиве); первый deliverable №7-сессии — промт дизайн-синтеза (D39.11).
|
||||
|
||||
## Ресёрчер — research/20 банк-майнинг W1.5 СДАН (не закоммичен, лендит оркестратор), 2026-07-17 (D39.3)
|
||||
|
||||
Отчёт `docs/research/20-bank-mining.md` (исполнение `RESEARCHER_BANK_MINING_SESSION_PROMPT.md`).
|
||||
**⚠ Отклонение HOLD-гейта:** запуск ДО пре-рег фриза exp15 (коммитов полигона exp15 нет) — прямым указанием владельца; полигон-стадия §D по-прежнему гейтится exp15 (баннер в отчёте, оркестратору подтвердить). Протокол: §A (внешняя фактура, 6 тем × ресёрчер→адверсариальный верификатор по первоисточникам; заглушка одного верификатора поймана и закрыта повторной верификацией) заморожен sha256 `7687d56a…cf08` ДО чтения репо-стека. Несущее: **§B** — 3 варианта детектора V-A/V-B/V-C (частота×контраст / +разброс переводов / +NER-паттерны+Палладий-канал на ru-стороне) с trade-off-таблицей; алиас-кластеризация тремя ярусами (правила R1–R4 с негативными констрейнтами Vala / слепая зона zero-overlap = кореференция / человек); спека канала сноски `banknote-v1` с 12 интеграционными точками (срез до classify, isFinal-нюанс санитайзера, re-point final_hash на derived-чекпоинт для резюма; цена пере-верифицирована: ~$0.01–0.1/ранобэ, НЕ $0.004). **§C** — консолидация W1.5 (канон по всем вхождениям, майнер не умеет писать approved, карта подписи с KWIC=детерминированный H15-рычаг). **§D** — пре-рег армы A1–A6b, **найден несущий конфаунд: черновики records.json генерились С глоссарий-инъекцией сида → спред-сигнал на GT подавлен → cold-start срез 5 глав без инъекции обязателен**; GT=57 (blurb-термы в аннотации гл.1); гарды D32.4 + решающие правила гипотезы №1. **§E** — 7 вопросов владельцу (мини-голд алиасов, ≤$5 на платные армы, политика канона, реплика ja→ru) + 6 бэкенд-слотов. **Дозаказ владельца 17.07: §B5 «инвариант общности слоя 4»** (распространение research/19 §0.1 на банк): языко-агностический движок vs 6 плагин-интерфейсов P1–P6 (генератор кандидатов / контраст-корпус / паттерн-пак язык×жанр / таблица транслитерации пары / лемматизатор цели / гендер-евиденс) с матрицей zh/ja/ko/en, политика degrade-with-flag (fail-loud только P1); zh→ru честно размечен как стресс-инстанс, тест общности = реплика ja→ru через готовый ruby-канал. Самопроверка исполнением: пост-хок 3 верификатора по готовому отчёту — 1 WRONG + 9 IMPRECISE найдены и исправлены (в т.ч. вырожденность c-value на одночарных 蛊/转).
|
||||
|
||||
|
||||
**⟶ ЗАЛЕНДЕН оркестратором 17.07 с ревью-шапкой (`994987d`), ратификация D39.6:** §A-хеш MATCH, репо-клеймы спот-верифицированы, конфаунд инъекции corroborated; §E-владельцу вынесены; полигон-стадия §D — после exp15.
|
||||
|
||||
## Оркестратор №6 — синк-аудит + целевая архитектура ратифицированы (D39), 2026-07-13
|
||||
|
||||
Онбординг + **грунтовка по коду** (chunker/chunkrun/stagerun/memory/промты — не по заголовкам). Вопросы к предыдущему оркестратору (через владельца) подтвердили: концерн 1 контрактно ОТКРЫТ (D30.2, `05:366` — «механизм реверстки открытый вопрос»; арм «переводчик даёт структуру» не тестировался); «D35.7» — фантом (бэклог-кандидат `05:471`, не ратифицирован).
|
||||
|
||||
**Синк-аудит (многоагентный воркфлоу, read-only, $0):** 42 агента, 8 дорожек (по несущему рычагу: цепочка полигон→оркестратор→бэкенд), адверсариальная верификация refute-by-default. **65 находок: 25 CONFIRMED, 9 PLAUSIBLE, 0 REFUTED**; верификаторы отделили настоящий «телефон» от осознанных ROI-деферов. Ледджер — `architecture/08-sync-audit-ledger.md` (первый экземпляр процесса концерна 5). Спот-верифицировал сам корневой пример: терм-дрейф-фикс = сид-воркэраунд (`memory.go:489` CONFIRMED-only + `suppressContained:615` disposition-слепой, код не тронут — `git log` подтвердил).
|
||||
|
||||
**Ратификация D39:** целевая 7-слойная архитектура + фазовый план — `architecture/09-target-architecture.md`. **Решения владельца (AskUserQuestion):** фазово (трек A ∥ трек B, пере-прогон после B) + слой пар = сеам сейчас/zh→ru. **Док-долг трека A:** формализовать/вычистить фантомный «D35.7»; диспозиции незакрытых владельческих идей (V2-п1/2/3, V4-п1/4). **Мультисессия:** дерево чистое (только `START_PROMT.MD` владельца); написаны `08`/`09` + D39-блок + актуальность-карта + этот журнал; НЕ коммичено (ждёт обзора владельца + git-status перед стейджем). Дальше — хендофф-промты трека A (бэкенд) и трека B (полигон+ресёрч).
|
||||
|
||||
## Оркестратор №6 — трек B залендён (D39.1): research/19 нарезка+когезия+волны+пре-рег эмпирики, 2026-07-16
|
||||
|
||||
Ресёрчер исполнил `RESEARCHER_CHUNKING_COHESION_*` (архивирован с баннером; правки владельца в задаче-1 — роли при чанковании, lost-in-middle — закрыты §A.1/Q2c). **Залендено БЕЗ оркестратор-ревью — прямое решение владельца 16.07** (сессия само-верифицирована: 52 клейма → 36 CONFIRMED/16 OVERSTATED-скорректированы, 65-агентный воркфлоу + 5-линзовое само-ревью, 8 MAJOR исправлены до сдачи). Несущее: **конфликт exp14↔research/18 = ложная дихотомия** (единица эмиссии ≠ окно чтения ≠ единица связности); Go-спека чанкера (профиль→B0–B5→целочисленная DP)+фоллбек-веер; когезия carryover/lookahead/детерм-стейт (не LLM-summary); **волновая архитектура W0–W3** (вводная владельца 16.07 = V4-п1 параллелизм; W1.5-консолидация банка = V4-п4); **§D пре-рег дизайн Q0–Q5** (двойной якорь, reflow-инвариантный omission, карта независимости сигналов, ~$8–15). Открытое: §E.1–4 владельцу (гибрид/пол-в-сиде/транскрипция/бюджет), §E.5–8-бис бэкенду (**⚠ DeepSeek-слаги до 24.07; ⚠ вендор-чек кэша ZAI/GLM**). Разбор — D-лог **D39.1**. V4-п6 (Cloudflare Workers AI) закрыт владельцем самостоятельно — «ловить нечего», в ресёрч-очередь не идёт.
|
||||
|
||||
## Оркестратор №6 — трек A пак-1 залендён (D39.2, `d3f6b34`), 2026-07-16
|
||||
|
||||
Бэкенд исполнил T1–T4; **верификация прямая, исполнением** (мандат): build/vet/race-тесты зелёные (прогнал сам), golden-детерминизм PASS, пиновые тесты вербозно, несущие диффы прочитаны построчно, **golden re-capture воспроизведён независимо** (маскированный структурный дифф = 0 расхождений — только хеши/версии/2 новых пустых поля). ⚠ **Мульти-агентный второй рубеж 3× упал на API-529 — зарегистрирован ДОЛГОМ** (по восстановлении API; находки → фикс-лист пак-2, маршрут D37). Залендено: **терм-дрейф закрыт в КОДЕ** (trust-gated suppressor, memmatch-v4, громкий retrieval_state) · export-contract нормализация каждого финала (width.Fold, не NFKC — тот калечит «…»/«№») · **pair-keyed промпт-сеам** (fail-loud на не-zh-ru; `Book.LangPair()` ожил) · реестр role→инъекция · target-gated readability · `tmctl report` (детерм. quality-KPI). Снапшот: memmatch-v4+sanitizer-v5 → плановый единый resnapshot (и так требовался D38.5). Открытое → D39.2 (полигон-экспорт-поверхность ДО пере-прогона; CJK-глоссы — владельцу; билингв src→dst; ja-пример). Разбор — D-лог **D39.2**. **Решения владельца (16.07, пост-D39.2):** бюджет §D-эмпирики ≤$15 ✅ · поле gender в схеме сида ✅ (транспорт+подпись — в exp15-преп) · **CJK-глоссы СОХРАНЯТЬ** (против текущего стрипа → whitelist в фикс-лист пак-2; скоринг exp15 глоссы не штрафует) · W1.5-гейт — решить после Q3. **Пак-1.5+F1–F9 ЗАЛЕНДЕНЫ (D39.5, 17.07):** tmctl export (manifest-join+drift-гард; полигон-экстракция впредь через него — D39.2-open№1 ЗАКРЫТ) · fold-first санитайзер (HIGH закрыт) · bounded глосс-whitelist · пример zh-ru; верификация исполнением, masked-golden пуст. **Адверсариал-долг ПОГАШЕН (D39.4, 17.07):** 8 осей по обоим пакам, 0 CRIT/1 HIGH/6 MED — ядро держится; HIGH = fold-first обход санитайзера (полноширинная сигнатура обходит детектор, exportNormalize изготавливает ASCII-дефект) + глосс-whitelist не ограничивает латиницу; **пак-1.5 НЕ лендится до фикс-листа F1–F9** (вписан в `BACKEND_TRACKA_PACK15` §T4; v6 не лендился → fold-first в тот же бамп v5→v6, один golden re-capture). **Пакет банк-майнинга W1.5 ратифицирован (D39.3, по записке ресёрчера-19 через владельца):** диспозиция H15/V4-п4 → активный пакет «ресёрч→полигон→бэкенд-дизайн»; гипотеза №1 владельца («код сам разметит») — проверяемая; промт `RESEARCHER_BANK_MINING_SESSION_PROMPT.md` ВЫДАН с HOLD-гейтом (запуск после фриза exp15). **Промт exp15 ВЫДАН:** `POLYGON_SEGMENTATION_EMPIRICS_SESSION_PROMPT.md` (исполнение research/19 §D: пре-рег фриз пинит бэкенд-HEAD/сид/промты; Q2b→Q1+Q3→Q2a/Q2c→Q4→Q0; преп: DeepSeek-слаги до 24.07, вендор-чек кэша ZAI/GLM, gender-транспорт).
|
||||
|
||||
|
||||
## Оркестратор №6 — D39.3…D39.6: банк-майнинг, долг погашен, пак-1.5, гигиена (16–17.07)
|
||||
|
||||
- **D39.3:** пакет банк-майнинга W1.5 ратифицирован (диспозиция H15/V4-п4; записка ресёрчера-19 через владельца; промт research/20 выдан, амендирован его же ревью: варианты детектора + алиас-подзадача).
|
||||
- **D39.4:** адверсариал-долг 529 ПОГАШЕН — 8 осей по обоим пакам (0 CRIT / 1 HIGH / 6 MED); пак-1.5 придержан под фикс-лист F1–F9 (§T4-слот промта сработал по назначению).
|
||||
- **D39.5:** пак-1.5+F1–F9 залендены `dc30c7d` (fold-first санитайзер, bounded глосс, tmctl export с manifest/drift-гардами); верификация исполнением: свежий -race, 16 пиновых тестов, независимая golden-репликация (маскированный дифф ПУСТ). Полигон-экстракция впредь через `tmctl export` (D39.2-open №1 закрыт).
|
||||
- **D39.6:** research/20 залендён (`994987d`); отклонение HOLD-гейта принято (запуск указанием владельца; exp15 не стартовал).
|
||||
- **Гигиена (мандат владельца 17.07):** PROGRESS разгружен (закрытая хроника 10–13.07 → `archive/PROGRESS-2026-07-10-13.md`, дословно, D23.3); спент-промты в архив; CLAUDE.md/README актуализированы до D39.6. Зонные README (backend/eval) — в fix-листы следующих сессий их зон (не правлю чужое).
|
||||
|
||||
|
||||
## Бэкенд — ПАК-15 «структура+форма» ИСПОЛНЕН (сессия 24–25.07, отчёт `archive/reports/PACK15_STRUCTURE_REPORT_2026-07-25.md`)
|
||||
|
||||
8 этапов промта, каждый — верифицированный чекпойнт (build/vet/`test -race` + golden + парити) до следующего.
|
||||
**Инвариант выполнен:** golden ПЕРЕ-СНЯТ с нуля (`TM_UPDATE_GOLDEN=1`) и байт-идентичен; парити EXACT
|
||||
`n=13618 {方源:0 蛊:1 蛊师:2 古月:22} recall 0.9655` на каждом этапе; байты промптов и `configs/langpacks/**` не двигались.
|
||||
**Сплит:** `internal/pipeline` 38 не-тестовых файлов → 20 + `text`/`seed`/`chunk`(+`chunktest`)/`miner`/`checks`/`membank`;
|
||||
import-граф проверен ИСПОЛНЕНИЕМ (`go list -deps` ×8, включая тест-бинари): подсистемы не импортируют ни друг друга, ни драйвер.
|
||||
**Три девиации от прил. A/B, аргументированы в отчёте:** (1) отдельный пакет value-типов НЕ создан — AST-мер показал,
|
||||
что `Chunk`/`Document`/`SegBudget`/`RubyReading` не потребляет НИ одна подсистема кроме производителя (прил. A «membank→chunk 7»
|
||||
= ключ композит-литерала, тот же класс, что «distinct/matches 8» из моей ревью-шапки); хойстнут ровно РЕАЛЬНО общий субстрат;
|
||||
(2) `mining.go` остался в драйвере (4 метода `*Runner` — перенос = цикл); (3) `quality.go` остался (read-only проекция +
|
||||
внешний API tmctl), в `checks` уехала только чек-часть `NarrativeStructure`. Де-статтеринг имён (`miner.Config`, `membank.Bank`).
|
||||
**Форм-фиксы:** `Export()` декомпозирован; c-lite member-drop получил ОДНО определение (`memberDrops`+`unitRows`) вместо
|
||||
двух реализаций, согласованных комментарием; `resolveChunkState` → struct; `RequestHash` 13 позиционных → `Request{}`
|
||||
(порядок записи в хеш сверен построчно против HEAD); sticky-сентинел → типизированное поле.
|
||||
**Конфиг-слой пары:** `configs/pairs/{zh-ru,ja-ru,en-ru}.yaml` (калибровка+коридор из ПЯТИ шиппинг-конфигов в один пар-файл);
|
||||
промпт-резолв конвенцией `prompts/<пара>/<роль>.md`, `prompts:`-мапы удалены, `prompt:` → `prompt_override` (арм/фикстура);
|
||||
fail-loud усилен (называет пару, роль И путь). Тест исполнением: все 5 шиппинг-конфигов дают те же числа и те же файлы.
|
||||
**Остаток пака-14 закрыт:** 2 теста Палладия · fail-loud оверлея уровнем выше (несуществующий `overlayRoot`, чужой файл в корне,
|
||||
опечатка в имени пар-каталога) · категория-опечатка внутри overlay-файла = детект В ПОТРЕБИТЕЛЕ (парсер остаётся агностичным) ·
|
||||
`unionStringMap` коллизия base↔overlay = громкая ошибка (D39.23) · empty-probe гард `lintMagnitudeScale` · терминаторы
|
||||
chunker/coverage → одна embedded-точка истины · `第` → `cjk-section` (`chapter_marker`).
|
||||
**Селф-ревью 4 линзами исполнением:** байт-точность CLEAN · общность CLEAN (свип 47→39, ни одного нового пар-литерала) ·
|
||||
API-минимализм — 1 находка (`RubyToCandidates` распакован обратно) · циклы CLEAN.
|
||||
**⚠ ХВОСТ ВЛАДЕЛЬЦУ (блокирует следующий стенд-прогон):** конфиги `books/gu-zhenren/rerun2/pipeline-*.yaml` несут
|
||||
`prompts:`-мапы, которых больше нет в схеме → упадут ГРОМКО на загрузке с указанием ожидаемого пути. Минимальная миграция —
|
||||
`prompt_override:` с абсолютным путём на каждой стадии (детали в §«Хвосты» отчёта). Второй хвост: `eval/exp15/mem_select.py:36`
|
||||
читает `internal/pipeline/data/trad2simp.txt` — файл переехал в `internal/text/data/` (байт-идентичен), зона полигона.
|
||||
Сессия НЕ коммитит; переносы сделаны `git mv` (стейджированы — учесть при лендинге, `git diff --cached`).
|
||||
|
||||
**ДОПРИЁМОЧНАЯ ДЕЛЬТА (25.07, 3 пункта оркестратора — закрыты).** (1) Тихая подстановка промпта:
|
||||
легаси-ключи `prompt:`/`prompts:` возвращены в схему как **reject-only** (непустое значение = ошибка с
|
||||
названной миграцией) + **строгий декод `KnownFields(true)`** для pipeline-конфига — закрывает и опечатку
|
||||
`promt_override:`/`segmantation:`, до которой реджект не дотягивается (yaml.v3 роняет неизвестные ключи
|
||||
молча → конвенция резолвит БАЗОВЫЙ промпт роли, класс D37). Проверено исполнением на симуляции
|
||||
не-мигрированного стенд-конфига: падает ПО СУЩЕСТВУ, а не по совпадению раскладки. Кандидат под вашу
|
||||
санкцию: тот же строгий декод для `book.yaml` (опечатка `langpack_extned:` = оверлей тихо ВЫКЛЮЧЕН),
|
||||
не делал — файл владельца, строгий реджект может заблокировать живой прогон. (2)
|
||||
`TestSeedLintEmittedMinedDelta` возвращён в композит-корень (`minerseed_contract_test.go`:
|
||||
MineBank→DeltaYAML→membank.SeedLint/LoadGlossarySeed). **Восстанавливая, нашёл, что прежний тест
|
||||
проходил ВАКУУМНО** — его фикстура даёт 0 предложенных терминов (проверено исполнением), пустой сид
|
||||
линтуется чисто; теперь есть гард премисы, доказано-эмитирующий корпус и ассерт «лоадер материализовал
|
||||
столько же записей». (3) Ниты: `defaultPromptsRoot` в ветке без пар-файла резолвился на уровень выше
|
||||
документированной раскладки (чинит «expected»-путь в ошибке) · package-doc `internal/text` ·
|
||||
`chunk.Ingest` распакован (продового потребителя нет, драйвер зовёт `IngestEncoded`).
|
||||
**Моя поправка к отчёту:** заявка «ни один ассерт не удалён» была ЛОЖНОЙ — тест вырезан и не возвращён;
|
||||
раскрыто отдельной секцией в отчёте (причина: обратный шаг переноса не был в чек-листе этапа; проверять
|
||||
надо было диффом списка `^func Test` исполнением, а не памятью). Дельта байт-нейтральна: golden
|
||||
пере-снят — байт-идентичен, парити EXACT.
|
||||
|
|
@ -2,4 +2,6 @@
|
|||
|
||||
Закрытые сессионные промты и мёртвые документы. Хранится как история решений/передач — **инструкции отсюда не исполнять**: контракты могли быть переопределены. Актуальные источники истины — `../architecture/05-decisions-log.md` и `../README.md`.
|
||||
|
||||
Правило пополнения: сюда переносится документ, чьи задачи полностью закрыты (промты) или чьё содержимое целиком заменено (мёртвые доки). Частично устаревший research НЕ переносится — получает ⚠ superseded-баннер на месте (ссылки file:line из журнала/архитектуры не ломаем).
|
||||
Состав: `prompts/` — закрытые сессионные промты · `reports/` — отчёты паков/ресёрч-сессий с ревью-шапками (живая фактура приёмок) · `architecture/` — исполненные арх-доки (перенесены 25.07, санкция владельца: `07-strategic-review` курс исполнен · `08-sync-audit-ledger` аудит отработан · `11-implementation-plan` план пака-11 исполнен целиком) · `PROGRESS-*.md` — три слайса хроники журнала (04–10 · 10–13 · 13–25.07).
|
||||
|
||||
Правило пополнения: сюда переносится документ, чьи задачи полностью закрыты (промты) или чьё содержимое целиком заменено/исполнено (доки — со статус-баннером, объясняющим чем). Частично устаревший research НЕ переносится — получает ⚠ superseded-баннер на месте (ссылки file:line из журнала/архитектуры не ломаем).
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue