textmachine/docs/archive/PROGRESS-2026-08-01-02.md

139 lines
102 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Архив хроники PROGRESS: 31.0702.08.2026 (сессии оркестратора №9/№10, эра D39.5990)
> Срезано при закрытии сессии №13 (D39.105, 04.08). Все записи ниже — ЗАКРЫТЫЕ и залендённые; актуальное состояние — `../../PROGRESS.md` (CURRENT-STATE), решения — `../architecture/05-decisions-log.md`. Инструкции отсюда не исполнять.
## Хроника оркестратора (№10 сверху, №9 ниже)
## Оркестратор №10 — ЗАКРЫТИЕ СЕССИИ И ПЕРЕДАЧА №11 (D39.90), 02.08
**Задача №1 преемника — приёмка бэкенд-пака 104/46/16** (отчёт закоммичен с баннером «коммит ≠ ратификация», код В ДЕРЕВЕ незакоммичен — не чистить). **Главный технический результат дня:** проба банка на `low` ЗЕЛЁНАЯ — терминолог 4/5 батчей `stop`, consolidated 72, против 1/5 и 1 терма из 81 на вендор-дефолте `high`; весь заход $0.045095 из $0.10, леджер ≡ независимому пересчёту ДО НУЛЯ; провод вскрыт (35 тел, `reasoning_effort:"low"` во всех, ключей `thinking` ноль) ⇒ **гардрейл DeepSeek доказан проводом.**`low` стену не убирает, а разрежает (упавший батч: `completion=7999`, `reasoning=7999`). **Строка 46 переоценена в МЕНЬШУЮ сторону замером:** боевой гейт уже ловит 18 из 20, остаточная дыра 0.18%, но второй рубеж (санитайзер) на черновике не стоит вовсе из-за позиционного `isFinal` — и тем же `isFinal` глушатся латинный линт, флаггер голоса и глоссарный пост-чек. Развилка (а)/(б)/(в) — на владельце. **Строка 16 закрыта владельцем как неуспешная на этом этапе**, редакторская волна снова не гонялась ⇒ оси голоса без данных. **Банк-ресёрч запущен и досрочно закрыт владельцем, артефакта в дереве НЕТ** — находки не сохранены; пере-запуск подрезанным скоупом (держать A/B1/B3, свернуть B2, отложить C; потолок $1.20). **Дыры трекера заведены строками 106111**, снято расхождение 74↔44, уточнён гейт 93; четыре ложных «долга» сняты как закрытые решениями (резолвер слоя 7 · чистый детектор · 36б · полярность). **Владельцу подняты в решение** форма архитектурных гардов и конвенции репо (строка 107): намерение `synthetic_stage_seam_test.go` верное и окупилось (7 пойманных обходов), дом неверный — analyzer на `x/tools/go/analysis` вместо самописного обхода; `.golangci.yml`/`Makefile`/CI в репо нет вовсе, первый шаг — $0-замер объёма находок.
## Оркестратор №10 — АРБИТРАЖ БАНКА: гипотеза владельца о консилиуме принята к ПРОВЕРКЕ, промт выдан (D39.89), 02.08
Владелец поднял банк как центральную ценность и предложил для перевода термов **«консилиум без голоса»** со скорами уверенности от моделей, с оговоркой про слом стиля/системы соседних термов; отдельно потребовал в промте секцию рекомендованных дальнейших алгоритмов и критики текущего кода. **Разобрано как гипотеза на проверку, не как ТЗ.** Ключевое: трек НЕ новый — маршрут «второе мнение» ратифицирован (D39.69 закрыл стройку, D39.70 Q2 санкционировал полигон-замер, строка 5), поэтому Q2 РАСШИРЕН четырьмя новыми вопросами вместо дубля. **Три наших замера уже бьют по наивной форме гипотезы и вписаны в промт приорами:** судья = катастроф-экран, а не ранжировщик (D39.46) · канал отказа роли нестабилен (⟦TM-NO-DST⟧ размах 0.375, выдумывание dst 7782%, D39.50) · согласие прогонов слабое (Жаккар 0.0770.40, D39.50). **Несущее возражение оркестратора:** единица арбитража обязана быть КЛАСТЕРОМ, а не строкой — по-терминный argmax возвращает классом ровно тот дефект, который вылечен со-батчингом серий (D39.65 стр.21), а `Neighbours` (единственный межстрочный сигнал `ScoreVariants`) работает только при уже существующей подписи, которой у автономного банка нет. **Экономическая рамка, вписанная числами:** арбитраж платится раз на книгу и насыщается по числу различных термов ($0.0060.013/проход), инжект — на каждом чанке каждой волны каждой роли (`memory.go:523`) ⇒ расточительность законна в арбитраже и запрещена в инжекте. Промт `BANK_ARBITRATION_RESEARCH_SESSION_PROMPT.md`: работы A (критика кода, $0) · B (голд → калибровка уверенности → формы консилиума, ≤$1.40) · C (инжект/фетч, ≤$0.60) · D (рекомендации тремя корзинами, $0); потолок $2.00, пре-регистрация каждой пробы, легитимные исходы «закрыть по нужности» объявлены заранее. ⚠ Названы коллизии: `backend/` живая, coldrun-a — эталон на чтение, coldrun-b — стенд живой сессии, валидный базлайн качества банка = coldrun-a (в coldrun-b терминолог сломан транспортом). **Запуск — по слову владельца.**
## Оркестратор №10 — coldrun-b ПРИНЯТ: блокер 0731 вскрыт до корня, развилка 74 подана владельцу числами (D39.86), 02.08
Приёмка первой задачи хендоффа №9→№10. **Пере-проверено исполнением, а не чтением:** батарея независимо зелёная (build/vet/`vet -tags live` · `-race -count=1` все пакеты ok · парити EXACT · labels 5/5 фрозен · голден PASS · 5 новых тестов PASS); **деньги пере-выведены мной из сырья** (`sqlite3` read-only, пересчёт провайдерских `usage` по вендор-ценам мимо `ledger.CostUSD`): леджер **$0.114378** ≡ Σ чекпойнтов во всех ЧЕТЫРЁХ проектах до 6-го знака, независимый путь **$0.099267**, разница **$0.015111** = 3 декод-фейла (строка 78 живьём); все несущие счётчики пере-выведены из `chunk_status`/`request_log` и сошлись; строка `BANKNOTE` на боевой БД coldrun-a независимо воспроизвела `lines=182 over 18/20 · parse-fail 3` при неизменном sha256 БД. Плюс **9-осевой refute-воркфлоу** (скептик + независимый арбитр на каждую ось): 6 CONFIRMED, 2 PARTIALLY, 0 REFUTED. **Отчёт принят; тело не переписано, все поправки — в ревю-шапке** (10 пунктов). Несущие поправки: посылка об амендменте гейта неверна ТОЛЬКО для стадийной ручки, для бэнк-ролей ЖИВА ⇒ (б) = правка Go · «нет пути восстановления вообще» слишком сильно (ре-ген вылечил 1/5), НО **вылечил не бюджет — победивший вызов уложился НИЖЕ базового потолка** ⇒ лечит стохастика, а не потолок · волна (б) = **$0.028195**, не $0.0257 · вариант (г) ≈**×8.9**, не ×3.1 · Д1 недооценён (санитайзер условен тройкой, и `TargetActive()` только для ru ⇒ **для не-русской цели рубежа нет вовсе**; худший исход — тихо отгруженный релейный перевод zh→en→ru) · Д2 назван на 2/3 (третий шов `repair.go:384` с доккомментом, декларирующим фальсифицированную посылку) · строка `VOICE` говорит «сконфигурирован», а не «отработал» ⇒ **13б без данных**. **Вендор-факты, которых в отчёте не было** (пере-сняты мной, HTTP 200): дефолт эффорта = `high`; маппинг per-модельный — у pro **`low→high`** (рычага нет), и вендор объявил смену маппинга pro «early August 2026». `experiments/00-provider-quirks.md` обновлён (п.3а и п.10; отозван хвост «движок эту ручку слать не может» — может). **Ратифицирована норма прецедента:** ратифицированный гардрейл можно ПРОБОВАТЬ только карантином (копия конфига вне git, боевой файл и гейт не тронуты, вопрос релеем владельца), и результат = ЗАМЕР, не разрешение шипить. **НА ВЛАДЕЛЬЦЕ: развилка строки 74** — платных прогонов до его слова нет. — **РАЗВИЛКА РЕШЕНА тем же днём (D39.87): вариант (б); промт выдан после 4-линзового холодного аудита с независимым арбитражем (3 блокера + 15 major вправлены ДО выдачи).**
**ИНЦИДЕНТ КООРДИНАЦИИ ЗАКРЫТ (D39.88): git-протокол переведён в механику (pathspec-коммит, чужую зону не трогает никто) и вписан в `CLAUDE.md`, промт фронта и `platform/README.md`.** Хроника: **дважды** коммиты фронт-сессии (`e9a6bb2`, `b98afb5`) унесли мою застейдженную работу под своим сообщением — общий индекс, ровно класс инцидента 77dd9b8: в `e9a6bb2` уехал `git mv` архивации промта, в `b98afb5` — все четыре дока лендинга D39.87. **Содержимое цело и проверено** (`git show HEAD:` по каждому файлу), потеряна только атрибуция коммитов; history-rewrite не делаю — запрещён при живых параллельных сессиях. Смягчение с моей стороны: стейдж и коммит одной атомарной командой.
## Оркестратор №9 — ШОВ ДВИЖОК↔ПЛАТФОРМА: РЕСЁРЧ ЗАПИСАН, НАПРАВЛЕНИЕ РАТИФИЦИРОВАНО (D39.85), 02.08
По слову владельца («двигаемся в сторону стандарта индустрии, запиши что узнал аргументированно»). НОВЫЙ [research/23-engine-platform-seam.md](research/23-engine-platform-seam.md) — 5-агентный воркфлоу по первоисточникам (BEP/buildx/terraform/CI-раннеры · Go-модули с ЖИВЫМИ сборками internal-правил · SQLite-граница · репо-инвентаризация, арбитраж 9/9 подтверждён). Форма шва: версионированный NDJSON-поток событий движка → материализация воркер-обёрткой в Postgres (Reporting Database, НЕ полный CQRS) → SSE и чтения только из Postgres; артефакты границ стадий; `status --json` = пост-фактум/ре-синк. Анти-паттерны запрещены: живой SQLite платформой не читать (локи+checkpoint starvation+схемная связка+единодушие индустрии) · HTTP в движок не тащить (движок эмитит — адаптер пушит) · read-пакет из ядра не выносить (NewReadOnlyRunner тянет 12/14 internal-пакетов — тонкого среза нет) · неверсионированный JSON не эмитить. Модули: sibling-структура подтверждена (честный аргумент — изоляция MVS-графа = детерминизм); ревью-гард: пути Go-модулей платформы/фронта не вкладывать под путь движка. НОВАЯ строка 103 (эмиттер со словарём; не хватает только словаря-enum, version-хендшейка и события потолка); входы контракта 95 дополнены тройкой поток/артефакты/ре-синк.
## Оркестратор №9 — СТЕК ФРОНТА/ПЛАТФОРМЫ ПРИНЯТ И ЗАЛЕНДЕН, ВОСЕМЬ РЕШЕНИЙ ВЛАДЕЛЬЦА РАТИФИЦИРОВАНЫ (D39.84), 02.08
По релею отчёта фронт-сессии (стек-исследование закрыто: 15 агентов, артефакты `frontend/docs/STACK_DECISIONS.md` + `FRONTEND_SESSION_PROMPT.md` S0S7). Приёмка: 10-агентный refute-воркфлоу — все несущие бэкенд-утверждения записки CONFIRMED по коду, 8/8 веб-пинов подтверждены первоисточниками; 4 уточнения точности (гранулярность draft-only · кап 20 = stdout-only · «4276» не выводится из артефактов — принято как замер · якорь export.go = internal/pipeline). Ратифицированы 8 решений владельца (SEO Google-only · выравнивание по единицам экспорта, `--pairs` готов · подсветка блок/глава без спанов · стоп-на-банке = параметр запуска, `--verify-bank` готов · денег в MVP-UI нет · PWA-первый · вид = замеры референса · одна сессия кука/Bearer) + ПТ-34 (перевод НИКОГДА на индексируемом URL) + переформулировка ПТ-21 (якорь = edit-unit, не чанк). Работы движка = НОВЫЕ строки 99102 (пофазный прогресс · манифест глав/чанков · машиночитаемая таблица подписи · внешний trace-контекст), все проверены кодом. Противоречие «демон в backend» разрешено сессией верно — D39.81 удержан. Две ловушки подтверждены и заведены входами дизайна (строка 95 и П-1: подпись ≠ UPDATE; read-путь не мигрирует схему). Зоны `frontend/`+`platform/` залендены. **Зонные бэклоги (решение владельца при лендинге):** фронт и платформа ведут свои — `frontend/docs/BACKLOG.md` (Ф-1..Ф-6) · `platform/BACKLOG.md` (П-1..П-4, туда переехали строки 96/97); единый бэклог фронт/платформа-строк больше не принимает.
## Оркестратор №9 — РЕ-ПРОБА И ОТЛАДОЧНЫЙ ХОЛОДНЫЙ ПРОГОН САНКЦИОНИРОВАНЫ, ПРОМТ ВЫДАН (D39.83), 02.08
По слову владельца («надо идти и делать холодный прогон с контролем бэкенда; цель — отладка»). Промт `BACKEND_COLDRUN_DEBUG_SESSION_PROMPT.md`: фаза A — верификация готовности сессией ($0: батарея · сквозной fake-путь · чек-лист наблюдаемости с правом чинить дыры) → фаза B — ре-проба flash по строке 74 (≤$0.15, боевая форма через live-риг; пограничные числа = НЕ здоров → развилка владельцу; ручка #77 сама не включается) → фаза C — холодный прогон coldrun-b с автобанком (≤$5, ступени 2+8 глав в ОДНОЙ БД, банк-пауза как инспекция сессии по D39.77, намеренный стоп+резюм, наблюдения per-узел вкл. цену строки 16 и голос-оси для 13б). Дебаг-дисциплина: фикс только мультиязычный с батареей, архитектурная дыра = СТОП+пинг. Холодный аудит промта агентом: 3 major вправлены ДО выдачи (`budget_usd` не существует → `ceilings.book_usd/day_usd` с миной day_usd 0.25 эталона · у ре-пробы не было носителя боевой формы → live-риг + кандидаты терминолога из coldrun-a · механика смока/добора и легитимный re-pin/подпороговая перекупка — против ложного СТОПа) + 4 minor. Вне скоупа: Q2/Q7-полигон-слоты, судья Ф2, DC7-остаток (требует сидового прогона). Строка 74 → в работе.
## Оркестратор №9 — ФРОНТ ОТКРЫТ: SaaS РАТИФИЦИРОВАН, БЭКЕНД-РАБОТЫ ПОЛУЧИЛИ СТРОКИ (D39.81), 02.08
По релею фронт-записки (все техутверждения сверены кодом: HTTP-слоя нет · рамка research/16:13 дословна · `ratelimit.go:11` mistral ~48% · EXCLUSIVE flock `store.go:43` · банк-пауза `--verify-bank` есть). Ратифицировано: продукт = SaaS (решение владельца) · инвариант непротекания конвейера в интерфейс (продуктовые статусы «загрузка→разбор→перевод→подпись банка→финал→готово»; ревью-вопрос «сменится стадия — придётся ли править фронт?») · процессная модель (движок = процесс-на-прогон, сервер в backend НЕ пишется — HTTP/SSE в `platform/`). Строки: НОВЫЕ 95 (контракт API v0 — единственная ранняя вставка, $0) · 96 (platform-обвязка) · 97 (глобальный брокер рейт-лимитов, гейт «до второго пользователя»); перевесы 49 (annot-v1 → критический путь фронта) и 94 (стоп/лимит — к подключению). Реестр: ПТ-33 (непротекание) + SaaS в ПТ-23. Поправки записке: реестр требований, который она «предлагает завести», построен вчера (D39.80), H7/H8/H10 уже несла строка 94, ETA — строка 54.
## Оркестратор №9 — ОНБОРДИНГ-ОВЕРХОЛ ДОКОВ ПО ФИДБЕКУ НОВОЙ СЕССИИ (D39.80), 02.08
По санкции владельца («делаем максимально по красоте»). Триггер: две записки фронт-сессии — все проверяемые утверждения подтверждены исполнением, включая два моих (README не входил в процедуру лендинга — застрял на D39.77 с мёртвой ссылкой; статус-дубль в README разошёлся с CURRENT-STATE). Сделано: README = чистая карта без чисел головы и статуса (единственный носитель состояния — CURRENT-STATE здесь) · НОВЫЕ `product-requirements.md` (реестр ПТ-1..ПТ-32 (+25а) из START_PROMT V0V5 + H6H18, статусы сверены кодом; SEO/прескрин/лимит/стоп получили носителей — строка 94, дописки 71/90; строка 30в закрыта) и `glossary.md` · норма лендинга «двигаешь файлы — обнови README тем же коммитом» · бэклог: ID стабильны навсегда + жирные лиды · puml → `backend/docs/` (зонный сдвиг: диаграмма правится с кодом; 30а перевешена на бэкенд) · починены ВСЕ битые относительные ссылки архива + норма глубины в archive/README · роль «Фронт» и глоссарий в онбординг-пути CLAUDE.md · счётчик ролей канонизирован. Тем же заходом смолпак-промт прошёл ВТОРОЙ холодный аудит (агент-симуляция, 16 якорей исполнением): 3 major вправлены (голден-ожидание при боевых Go-правках сформулировано честно · факт-состояние BANK-FULL.tsv/note-полей сида дописано против ложного СТОПа · дискриминатор боевого пути F4 получил констрейнт «без магических строк провайдеров в Go») + 6 миноров (границы скоупа 36а/分之, множество book.yaml, адрес секции отчёта и др.).
## Оркестратор №9 + бэкенд — СТОПГЭП ЗАЛЕНДЕН, FINDING-1 ЗАКРЫТ (D39.77), 02.08
Мини-касание принято: мн. парадигма «Винного червя» в сиде (формы «Фан Юань» там уже были с 24.07 — честное уточнение сессии), гвоздь Линь/линий + позитив-тест «Фан Юаню» (2 тест-файла, ядро/голден не тронуты). Находка сессии: coldrun был СИДЛЕСС ⇒ прод-разрыв ещё меньше отчётного. Политика подписи уточнена (D39.77): банк — автономен без подписи (в силе); в сиде подпись владельца только за ВКУСОВЫМИ полями, детерминированная морфология — приёмкой оркестратора. Строка 91 закрыта.
## Оркестратор №9 + бэкенд + владелец — SOFTSIGN-DECL: ЗАМЕР ПРИНЯТ, РЕШЕНИЯ ПРИНЯТЫ (D39.76), 02.08
Отчёт: [`archive/reports/SOFTSIGN_DECL_FINDING1_2026-08-02.md`](archive/reports/SOFTSIGN_DECL_FINDING1_2026-08-02.md) (ревью-шапка с решениями; харнесс `eval/softsign-decl/` заленден). «Замер до стройки» отработал: наивное «ь» похоронено глобально, anchor-gated сломан адверсариалом самой сессии (перенос коллизии; чистота книги — транслит-везение), промах мал и локализован. Решено: стопгэп A (сид-формы «Винный червь»+«Фан Юань», формы пишет сессия, подпись владельца) + гвоздь Линь/линий + прямой тест «Фан Юаню»; finding-1 закрывается на A; движковый C — загейченный триггер до второй пары. В ядро — ничего.
## Оркестратор №9 + бэкенд — ФИКС-ПАК БАНКА ПРИНЯТ И ЗАЛЕНДЕН (D39.75), 02.08
Отчёт: [`archive/reports/BANK_FIXPACK_2026-08-02.md`](archive/reports/BANK_FIXPACK_2026-08-02.md) (ревью-шапка). 9/9 пунктов отработаны: 6 сделано (head-finality в данных · правдивый Batch-коммент+WARN · classify fail-loud+тесты · мутационные neuter-тесты · фикстура 4-серий · TokenizeLetters-консолидация, побочно закрывшая combmark-щель), 2 «не делать» с контрактом (voice×стеммер; Q5 уже в промптах с D39.45), 1 ОТКАЧЕН правильно — «ь» ловил бы коллизию Синь/синий (мандат самопроверки сработал: адверсариальный ревьюер сессии поймал до лендинга). Верификация: батарея зелёная, голден маскированно ПУСТ, 14/15 CONFIRMED. Строка 87 закрыта; finding-1 → строка 91 (владелец); плотность-граница → дописка 79. Очередь: ПАКЕТ-ЧЕКЕРОВ можно запускать.
## Оркестратор №9 — АУДИТ tmp-РЕСЁРЧЕЙ 21/22 (D39.74): утерянного нет, два хвоста моего триажа добиты, 02.08
По вопросу владельца о ресёрчах соседних харнессов (/home/ubuntu/projects/tmp, 15 клонов): research/21 транспорт — 9 пунктов построено паками 12/13, вердикт «транспорт не трогаем» ратифицирован, GLM-overflow/prefill-continuation уже несены (59/74), Q7-квирки — только после вендор-сверки (правило стоит); research/22 домен — Q6 gating+repair построен паком-16, Problem-классы в 25, planning в 71. Хвосты пучков моего триажа добиты: Mistral-strip гейт → дописка 59 (латентен при single-shot wire; жив для канала B/multi-turn); halve-chunk-on-retry №7 — ОТКЛОНЁН явно (волны+чекпойнты+флор делают малоценным; реопен при упорах — строка 45).
## Оркестратор №9 — РЕКОНСИЛЯЦИЯ ТРИАЖА СВИПА ЦЕЛИКОМ (D39.73), 02.08
По требованию владельца («что ещё проебал?»): механическая сверка всех 77 находок свипа D39.66 + рекомендаций пост-чека + фикс-листов приёмок D39.6471 против фактических носителей. Итог: 7/8 греп-кандидатов — ложные (носители на месте), реально выпали НА МОЁМ ТРИАЖЕ 5 позиций: ведро D (исправлено D39.72, строка 89) · идиоматика-словари → дописка 52 · Ф2-хвосты mvp (CometKiwi/Batch-API/llama-server/стриминг) → строка 90 · arity-полоса → дописка 55 · платный порог 6/6 → дописка 74. Решения самих сессий (D-цепочка) целы — их держал 951-позиционный свип с доказательствами; провал локализован в триаже оркестратора (~5% рекомендаций уронено), теперь сверено машинно.
## Оркестратор №9 — ОСТАТКИ КАРТЫ D39.60 ПОЛУЧИЛИ НОСИТЕЛЯ (D39.72), 02.08
Аудит по вопросу владельца: из карты общности взято почти всё (П0П4 построены · П5=строка 35 · П6 отклонён · флаги=14 · остаток C=79/34), но ведро D («удалить», 12 сайтов) осталось без строки — мой пропуск против нормы D39.66. Заведена строка 89 (чистка ведра D + сверка ведра B), чекер-промт дополнен пунктом.
## Оркестратор №9 — ФИКС-ПАК БАНКА ВЫДАН (D39.71), 02.08
По слову владельца («передать записку тем же бэкендерам»): промт `BACKEND_BANK_FIXPACK_SESSION_PROMPT.md` — 9 пунктов (строка 87 + Q5-промпт-инструкция), с вердикт-тройками на спорные и явной очерёдностью: фикс-пак первым, чекер-пак после лендинга (общие файлы). Остальные ответы §9 без бэкенд-работ: Q6/Q8 закрыты, Q1/Q4 не строим, Q3 — гейт Ф2.5, Q2/Q7 — полигон при ре-пробе 74.
## Оркестратор №9 — ОТВЕТЫ ПО §9 РАТИФИЦИРОВАНЫ + КАНОН ЦЕЛЕЙ В CLAUDE.md (D39.70), 02.08
Q8 (книжные примеры classifier.md) санкционирован с нормой «специфика — модулями/данными, встраиваемыми чисто»; Q1Q7 делегированы «как лучше по исследованию» — диспозиции по рекомендациям (Q2/Q7 = полигон-слоты при ре-пробе 74; Q5 = промпт-инструкция в 87; Q6 = морфоклип, прозвища алиасами). Оценка series.go по запросу владельца: ядро по канонам; head_final-константа → в 87 (перенос в lang-script данные). «Цели и мерило» (6 пунктов) вписаны в CLAUDE.md на поправку владельца. Строка 88 закрыта.
## Оркестратор №9 + бэкенд — КАЧЕСТВО БАНКА ПРИНЯТО И ЗАЛЕНДЕНО ОБОИМИ ЭТАПАМИ (D39.69), 02.08
Отчёт: [`archive/reports/BANK_QUALITY_DESIGN_2026-08-01.md`](archive/reports/BANK_QUALITY_DESIGN_2026-08-01.md) (ревью-шапка обоих этапов). Процесс: этап 1 ратифицирован владельцем напрямую; этап 2 до чекеров (не стартовали — коллизий нет); отдельного отчёта стройки нет — компенсировано приёмкой исполнением. Верификация: тесты/парити/голден зелёные; голден 172/172 hex-only независимой маскировкой; «4 серии на живом BANK-FULL» воспроизведено независимо; 4-агентное адверсариальное ревью. Закрыты строки 36а/36в/27/84/73 (+feed_cap из 86); строки 5/18/80 перевязаны на замер/гейт; новые 87 (фикс-лист, несущее «ь» в decl_suffix) и 88 (вопросы Q1Q8, вкл. ⚠книжные каноны в classifier.md). Отступление стройки от дизайна по оси neuter ПРИНЯТО как улучшение (scoped-фолд по §6.2).
## Оркестратор №9 — ДВА БЭКЕНД-ПРОМТА ВЫДАНЫ (D39.68): банк-качество (дизайн у бэкендеров) ∥ пакет-чекеров, 01.08
Хендофф по слову владельца («дизайна от тебя не жду — передай бэкендерам; главное правильные промты»): `BACKEND_BANK_QUALITY_SESSION_PROMPT.md` (этап 1 ресёрч+дизайн $0 → СТОП на ратификацию; этап 2 стройка по релею, после лендинга чекеров) и `BACKEND_CHECKER_PACKAGE_SESSION_PROMPT.md` (стройка: строка 25 целиком + 79; харнесс labels в git; Р2/Р4-контракты; голден-протокол вердикт-двигов). Оба несут НОВЫЕ обязательные блоки: глобальный критерий владельца дословно + МАНДАТ РЕВИЗИИ ПОСЫЛОК (свип собрал долг по «забыли», не по «надо ли» — каждый пункт получает вердикт-тройку посылка/нужность/форма, допустимый исход «не строить»).
## Оркестратор №9 — ПОСТ-СВЕРКА НАХОДОК + ПЕРЕИМЕНОВАНИЕ КУРСА И ХИРУРГИЯ ОЧЕРЕДИ (D39.66-пост-сверка, D39.67), 01.08
Пост-сверка свипа адверсариально против кода: 23 пункта — 20 CONFIRMED (потеряно реально), 0 «передумали», 3 RESCOPE вправлены (чек-лист kana-алиасов построен · инъективность dst построена warning-only · механизм релиза гендер-твиста построен repin/rebill — остался протокол-документ). Якоря — в НОВОМ справочнике `architecture/13-tech-debt-anchors.md` (вынесен из архива решением владельца; НЕ трекер). Решения владельца (D39.67): курс переименован «автономность» → «КАЧЕСТВО банка»; отдельный мини-прогон растворён в ДОБОР ИДЕАЛА; после дизайн-пака — стройка банка ∥ пакет-чекеров (строка 25 → «скоро», $0-код при стоящих платных прогонах).
## Оркестратор №9 — СВИП ПОЛНОТЫ ИСПОЛНЕН (D39.66): 951 обязательство проверено, 77 находок, потери возвращены в трекер, 01.08
По вопросу владельца «не потеряли ли запланированное на виражах» — 10-агентный $0-аудит: D-лог целиком · генеалогия пака-21 · ресёрчи 0122 + START_PROMT · 04-unhappy/06-реестр/02-mvp · хвосты 40 архив-отчётов · обратная проверка бэклога. Владелец был прав: главная потеря — корзина II пака-21 целиком (D39.62 послал «в П1/П2/П3», промт фазы-2 не включил) — возвращена в строку 25 полным перечнем; плюс резюме-слой памяти (R9/Q6), ja-преп B6, морфо-гейт рода C3, F4-бэкап, «гу»-средний-род, пилот-преп добор, мелкие решения владельца → новые строки 8086; ~18 дописок носителей; 6 явных закрытий; строка 30 закрыта как исполненная этим свипом. Норма впредь: каждое «отложено» в D-ноте обязано в том же лендинге получить строку бэклога или явное закрытие.
## Оркестратор №9 + полигон — СЫРЬЁ АРКИ БАНКА + ПРОБЫ ФИКСОВ ПРИНЯТЫ (D39.65), 01.08
Отчёты: [`archive/reports/POLYGON_BANK_RAWMATERIAL_2026-08-01.md`](archive/reports/POLYGON_BANK_RAWMATERIAL_2026-08-01.md) ($0, часть 2 §12.7 корректно пропущена без слова) и [`archive/reports/POLYGON_BANK_PROBES_2026-08-01.md`](archive/reports/POLYGON_BANK_PROBES_2026-08-01.md) ($0.027831/31 вызовов, два пути до 1e-6; ⚠ куплены сверх буквы промта — оговорка в шапке). Приёмка по слову владельца без пере-прогона оркестратора; внутренняя верификация отчётов — пре-регистрация, двойные пути счёта, слепые грейдеры, критик. Итог: строки 21/22 ЗАКРЫТЫ (нестабильность 43.3%; §C2-3 точна, но на холодном решает терминолог по KWIC 50/75 — веса не тюнить) · 36а/36в переведены в «дизайн с проверенными фиксами» (классификатор чинит 6/6 harm; со-батчинг серии детерминированно унифицирует) · Decl 142/142 null · ⚠ cap 8000 бьёт и терминолога — внесено в строку 74. Харнесс `eval/bank_autonomy/` заленден; промт → архив. Следующий шаг курса — дизайн-пак арки автономности банка (строка 73, вход собран).
## Оркестратор №9 + бэкенд — ОБЩНОСТЬ ФАЗА 2 ПРИНЯТА И ЗАЛЕНДЕНА (D39.64), 01.08
Отчёт: [`archive/reports/GENERALITY_PHASE2_2026-08-01.md`](archive/reports/GENERALITY_PHASE2_2026-08-01.md) (ревью-шапка). Приёмка исполнением: `-race` 14/14 · майнер-парити EXACT воспроизведён байт-в-байт · 7 приёмочных тестов PASS свежим прогоном · **Ш-1 сверен независимой классификацией диффа голдена (не их маской): 172 строки = ровно 5 осей, вердикт/wire/stage_text — ноль** · адверсариальное 6-агентное ревью — ни одно несущее утверждение не опровергнуто; байт-идентичность манифест-less пака доказана пробой HEAD-vs-дерево (`langpack-v2-a28ed743c99c`). Закрыты строки 72 (обе фазы общности) · 75 (ko-баг) · 76 (эмбед-плоскость) · 77 (ре-ген-ручка, дефолт 0) · 26 (translitInterjections) · 32 (ru-target долг слоя 7). Новые: строка 14 (4 data-флага §5 на подпись) · строка 79 (остаточные Cyrillic-хардкоды DC-чекеров). Ниты отчёта: флагов 9, не «10»; дрейф 4 line-номеров; «ратифицированный тест» segmentation — частично мёртвая ветка (блокер настоящий — контракт держат `pipeline.go:839-848` + голден-фикстура); корпус labels/ для дефектов пака-21 на стенде ЕСТЬ — барьер = утраченный в scratch харнесс. Промт фазы-2 → архив.
## Оркестратор №9 — АКТУАЛИЗАЦИЯ ДОКОВ по санкции владельца: хроника 2531.07 в новый слайс, шапки переписаны под голову D39.63, пять промтов в архив, 01.08
Санкция: «спилить лишнее, архивировать, ничего живого не потерять». Сделано: (1) PROGRESS 331→~160 строк — 37 закрытых записей (эры №7/№8 + лендинги D39.5458 + СТОП-запись общности) → новый слайс `archive/PROGRESS-2026-07-25-31.md`, указатели на местах вырезов; CURRENT-STATE переписан под голову D39.63 (сделано/курс/горизонт/стек/стоячие); (2) бэклог: строка 1 закрыта (D39.63), строка 3 снята (перекупок нет — D39.63), носители 12/13б поправлены; (3) CLAUDE.md и docs/README: статус-блоки переписаны (01.08, D1D39.63), активные промты = 3 + PACKAGE4-трекер; в гардрейл добавлен урок «слаг живой ≠ модель та же»; (4) D-лог: титул D1D39.63 + навигационная строка «карта покрывает до D39.28, голова — с хвоста»; (5) шапка 09-target: слой 7 «П1 в работе», актуализация-строка (пак-19, карта D39.60, фаза 2); (6) в архив с баннерами-исходами: промты пака-19, холодного прогона, общности-фазы-1, ToS-речека, Р6+P4; PACKAGE4 остался residual-трекером с дельтой «P4-хвост закрыт D39.61». Самопроверка — счёт строк вырезов = слайсу, фантом-гард D-ссылок, живость всех ссылок README/CLAUDE/PROGRESS, состав активных промтов (см. коммит).
## Оркестратор №9 — Р2=значение, Р4=норма, реснапшот-фигура растворена посылкой владельца (D39.63), 01.08
Строка 1 (Р1Р4) закрыта целиком; контракт единиц передан фазе-2. Владелец оспорил посылку «один общий resnapshot» — прав: стендовый корпус одноразовый, перекупать нечего, следующий замер = свежий мини-прогон на новом стеке; фигура выродилась в дисциплину «не покупать замеров до лендинга фазы-2». Развилка 74 — «(в) ждать» по умолчанию, ре-проба перед следующим платным прогоном. Само-ревью промтов по вопросу владельца: три дыры закрыты (Р2-контракт бэкенду · параллельность/заморозка бинаря обоим · карта чтения полигону); параллельный запуск двух сессий безопасен.
## Оркестратор №9 — ответы владельца по общности ратифицированы (D39.62), горизонт достроен, два промта выданы, 01.08
Q1 = П1 цель-шов санкционирован («главное бэкенд писать по умному»; заморозка D39.24 амендирована, носитель П1) · Q5 = пак-21 растворён · Q2/Q3 = механика оркестратора (resnapshot одним батчем после развилки 74; расщепление хеша пар-данных не делаем) · Q4 (Р2/Р4) — раскрыт владельцу, ждёт ответа (строка 1). Норма самопроверки («ВСЕГДА на важных, меньше на мелких») вписана в промт-нормы вместе с уроком D39.61 «вывод на агрегате до вскрытия единиц запрещён». Горизонт очереди достроен до Ф3 (шапка CURRENT-STATE). Промты: `BACKEND_GENERALITY_PHASE2_SESSION_PROMPT.md` ($0-код: П0П4 + шестёрка + 77/78; resnapshot только отдельным словом) · `POLYGON_BANK_RAWMATERIAL_SESSION_PROMPT.md` ($0-сырьё: строки 21/22 + аудит типов 36а; проб-пакет §12.7 — по слову владельца).
## Оркестратор №9 + полигон — Р6+P4 ПРИНЯТ (D39.61): Р6 отрицателен, гейт верности D21 п.6 пройден; ⚠ DeepSeek сменил веса под слагом — развилка у владельца, 01.08
Отчёт: [`archive/reports/POLYGON_PROMPTLANG_ANTIECHO_2026-07-31.md`](archive/reports/POLYGON_PROMPTLANG_ANTIECHO_2026-07-31.md) — **действующая редакция выводов = §12** (после 15-агентного адверсариального саморевью сессии и докупки судейского хвоста по прямой санкции владельца; три вывода первой редакции отозваны самой сессией). Деньги: $0.433 = $0.1475 в потолке + $0.2855 санкционированного хвоста; мой независимый ре-ран `spend.py` совпал до 2.9e-06. **Итоги:** (1) вендор-катовер `V4-Flash-0731` — боевая черновая форма покупает пустые ответы; сместился ДЕФОЛТНЫЙ эффорт (вендорская норма потолка для high/max — 384K против нашего флора 8000); **развилка (а) флор-16000 / (б) явный эффорт / (в) ждать — подпись владельца, строка 74, до неё платные прогоны СТОП**; (2) Р6 закрыт отрицательно — en-промпт не даёт ничего ни по одной детерминированной оси, боевые промпты остаются русскими; (3) гейт верности петли D21 п.6 пройден в ослабленной форме («цены верности у митигаций не обнаружено»; «митигации вернее» НЕ установлено — псевдо-репликация поймана саморевью); wiring отложен до предмета, новый сильнейший кандидат — префилл; (4) эхо на 0731 стохастично по вызову ⇒ ре-ген перед эскалацией ≈7.6× дешевле (строка 77); (5) леджер = нижняя граница денег (строка 78). Квирки синхронизированы с §12. Залендено: отчёт · quirks · харнесс `eval/promptlang/`.
## Оркестратор №9 — РЕСЁРЧ ОБЩНОСТИ ФАЗА 1 ПРИНЯТ (D39.60): долг 149 сайтов/45 файлов, книго-ось чиста, план П0П5; СТОП — пять вопросов владельцу, 31.07
Короткая приёмка по норме 30.07 (⚠ норма амендирована 03.08 — приёмка всегда адверсариальная): отчёт ([`archive/reports/GENERALITY_RESEARCH_2026-07-31.md`](archive/reports/GENERALITY_RESEARCH_2026-07-31.md)) прочитан целиком, восемь несущих утверждений пере-проверены исполнением — все сошлись (вкл. побайтный повтор хеша пака `a28ed743c99c` и счёт 27/12 живых CJK-строк); два нита некритичны (счёт сайтов `ExportNormalize`, атрибуция Ш-1). Ратифицировано как карта (D39.60): вёдра A27/B6/C104/D12/E106 · заморозки З1З9 · актуальные якоря пака-21 (§8 отчёта — ссылки D39.39 устарели) · правило условного фолда §6.2. Новые строки: 75 (живой баг ko/Hangul → П2) · 76 (эмбед-плоскость без хеша → П0 первым). Строка 32 исправлена фактом (боевых call-site 6 и 2), Decl-находка уехала в арку банка (73). **На владельце пять вопросов §12 с моими рекомендациями (в D39.60): П1 в арку = ДА · один общий resnapshot = ДА (но после развилки DeepSeek — D39.61, строка 74) · П6 = не сейчас · Р1Р4 = сократить до Р2+Р4 · пак-21 = растворить.** Фаза 2 не начинается до ответов.
## Оркестратор №9 — КУРС АМЕНДИРОВАН ВЛАДЕЛЬЦЕМ (D39.59): общность вперёд, автономность банка, спаренный полигон-пакет, 31.07
Три решения владельца: (1) общность вперёд — бэкенду выдан ресёрч инвентаризации языковой привязки, пак-21 отложен до его карты; (2) банк — курс на автономность (подпись опциональна; веб-фетч-вопрос признан не отвеченным пакетом-7 — пере-замер в арке автономности); (3) полигону — Р6 «язык промптов» + fidelity-хвост P4 анти-эхо (петля D21 п.6 с 09.07). Эхо-причина сведена по первоисточникам в D39.59: класс reasoning-моделей на плотном CJK, промпт-положение решает (0/29), языковой констрейнт инвертирует, язык промпта не исследован. Промты: `BACKEND_GENERALITY_RESEARCH_SESSION_PROMPT.md` · `POLYGON_PROMPTLANG_ANTIECHO_SESSION_PROMPT.md`.
## Закрытые записи секции «Бэкенд» (0102.08)
**Ручка эффорта (стр.104) ✅ ЗАКРЫТА · проба банка на `low` ✅ ЗЕЛЁНАЯ · экран целевого языка (стр.46) — ДИЗАЙН ПОДАН, КОДА НЕТ · холодный прогон (стр.16) НЕ НАЧАТ и закрыт владельцем как неуспешный на этом этапе (02.08, бэкенд-сессия по `BACKEND_EFFORT_HANDLE_SESSION_PROMPT`, D39.87; $0.045095 из $0.10; прогон C — $0; НЕ закоммичено).** Отчёт: [archive/reports/EFFORT_HANDLE_2026-08-02.md](archive/reports/EFFORT_HANDLE_2026-08-02.md). **Работа A — не три патча, а ДВА ШВА:** `config.InternalCall{…}.Stage()` (новый `internal/config/internal_call.go`) — единственная деривация стадии для внутренних вызовов движка, и `Runner.attemptRequest` (`stagerun.go:406`) — единственная сборка кортежа идентичности запроса. Рукописных `config.Stage{}` в движке НЕ ОСТАЛОСЬ НИ ОДНОГО (все 4 места + live-риг через шов); все 4 сборки `RequestHash(Request{…})` схлопнулись в одну. Приёмочный вопрос «появится ПЯТАЯ стадия — унаследует или забудут?» отвечен **механикой, не обещанием**: три гарда (единственность обоих швов + рефлексия по полям `Stage`, падающая на НОВОМ поле), каждый проверен исполнением. **Ловушка хеш-оси закрыта в ОБЕ стороны и на ОБОИХ путях** (`bankCheckpointExists`, `repairCheckpointExists`): ложно-false режет резюм бюджетным пред-чеком, ложно-true обходит ролевой суб-бюджет и покупает свежий вызов под одним лишь книжным потолком. **Гранулярность решена ЗАМЕРОМ, а не заранее:** одна ручка `gates.terminology.reasoning` на обе бэнк-роли — парная выборка N=5 через боевой путь дала `low` 4/5 против `high` 5/5 (неразличимо) при цене `high` ×2.30 ⇒ вторая ручка `classify_reasoning` была построена на n=1 и СНЯТА самой сессией, когда выборка её не подтвердила. `Temperature` зафиксирована нулём осознанно (ответ ролей — разбираемая структура, не проза). **Repair получил СВОЙ ключ `gates.repair.reasoning`, наследование от чинимой стадии СНЯТО** (правка против промта и D39.87, с аргументом): `reasoning: "off"` стоит на финальной стадии у ВСЕХ шиппинг-пайплайнов ⇒ наследование двигало хеш и перекупало все оплаченные repair-вызовы; и семантически «off» — значение, чей смысл зависит от control МОДЕЛИ, а `gates.repair.model` независим от стадийного (задокументированный no-op DeepSeek стал бы живым `thinking:{type:disabled}` на glm). **§3.4 (проба банка, свой проект `reprobe/bank-low/`, эталон coldrun-a только на чтение):** терминолог **4/5 батчей `stop`, consolidated=72, unanswered=18, bad_lines=0, off_language=0** (против 1/5 и 1 терма из 81 при вендор-дефолте `high`), классификатор 5/5 `stop`, reclassified=14, черновая волна **20/20 чанков ok**. **Оба молчащих пути ИСКЛЮЧЕНЫ предъявлением, а не словами:** терминолог $0.005750 из $0.05 (11.5%), классификатор $0.004286 из $0.02, книга $0.045095 из $0.10 — и НОЛЬ строк `budget would be exceeded`/`denied by a USD ceiling` в логе. **Провод вскрыт:** 35 тел, ключи `[max_tokens, messages, model, reasoning_effort, stream, temperature]`, `reasoning_effort:"low"` во всех 35, ключей `thinking` **0**, `reasoning_content` непустой везде ⇒ гардрейл доказан проводом. Упавший батч вскрыт сырьём (`content:""`, `reasoning_tokens=7999`) — **`low` стену не убирает, а разрежает** с 4/5 до 1/5, и упавший батч не самый большой по входу ⇒ стохастика вызова (квирки п.6). Деньги двумя путями: леджер $0.045095 ≡ независимый пересчёт $0.045095, дельта $0.000000, строк `decode_error` 0. **Работа B — вердикт-двигающая ⇒ дизайн и пинг ДО кода, решения владельца нет ⇒ кода нет (легитимный исход по букве промта).** Живая улика ДОБЫТА В ЭТОМ ЗАХОДЕ: гл.8/чанк 1 — полный связный черновик НА АНГЛИЙСКОМ, `finish=stop`, `disposition=ok`, хеш `fb51e135a395` стоит в `final_hash`. ⚠ **ДВЕ ПОПРАВКИ К СОБСТВЕННЫМ ЧИСЛАМ СЕССИИ, обе пере-проверены её же кодом:** (i) подавалось «здоровый русский 0.9510, n=1306» — это СЫРОЙ текст чекпойнта, а движок классифицирует ПОСЛЕ среза банкноты (`stagerun.go:632` режет, `:636` классифицирует; срез безусловен, `banknote.go:320`); на тексте, который видит гейт, **минимум 0.9767 при n=1055** (1306 двоил бэкап-копии БД); (ii) **боевой гейт уже ловит 18 из 20 off-target событий при 0 ложных из 1055 и запасе 13×** (худший здоровый source-share 0.0117 против порога 0.15) — этого не мерил никто, включая прошлые сессии. Остаточная дыра — **ровно 2 английских чанка = 0.18% выходов**; японский черновик (`exp15/anchors/oracle_30.db`) ловится по общей с китайским письменности (доля ханьцзы 0.332). Носитель экрана — `lang.LangScripts(Book.TargetLang)`, БЕЗ нового файла в `go:embed` (`EmbeddedVersion` фолдится безусловно ⇒ новый эмбед перекупает все книги всех пар); `gates.terminology.target_script` отвергнут причиной сильнее промтовой — он ДУБЛИРУЕТ то, что данные уже знают. **Работа C НЕ НАЧАТА:** стенд coldrun-b стоит нетронутым, черновик по-прежнему на `reasoning: "off"`; строка 16 не закрыта, строка 13б снова без данных (редакторская волна не гонялась ни разу). **ПОЧИНЕНО с тестами (9):** шов+гарды · обе хеш-пары · **`ThinksOnWire` врал про ПУСТОЙ эффорт на `extra_body_disable`** (возвращал «думает», а `applyToBody` в этом же случае мержит disable ⇒ бэнк-роль на glm уезжала в thinking-off МОЛЧА; предсуществующая дыра, но пак первым на предикат оперся) · `sourceEchoExposure` расширен на внутренние вызовы · fail-open неизвестной роли · дубль `plan.model` · дефолт рига N=1→5. **АДВЕРСАРИАЛЬНОЕ РЕВЬЮ (author≠reviewer) НАШЛО 10 ДЕФЕКТОВ В МОИХ ЖЕ ПРАВКАХ**, из них 1 blocker и 3 major; топ-2 пере-проверены сессией по коду до принятия. Отдельным ресерчем вскрыто, что **первая версия гардов пробивалась 7 способами** (5 байтовых + алиас импорта `cfg "…/internal/config"` + `[]config.Stage{{…}}` с опущенным типом элемента) — причина: сравнивалось ИМЯ пакета вместо ПУТИ импорта; переписано на AST с резолвом пути, разворотом `[]T`/`map[K]T`/`*T`, исключениями полными путями и полом на число разобранных файлов (обход, не распарсивший ничего, выглядел как чистое дерево); все 7 посадок пере-проверены на живом дереве. **НАЙДЕНО и НЕ ПОЧИНЕНО (с носителями):** Д2 `detectLatinInsertion` не обусловлен `TargetScriptNonLatin()` ⇒ первая латинописьменная цель дропнет 100% чанков (одним диффом с работой B) · Д3 `SourceEchoExpected` не покрывает `roleClassifier`**16/16 вызовов классификатора логируются `ok=0 degraded=cjk_artifact`** (данные не теряются — `reclassified=14` доказывает, но отравлен ровно тот сигнал, который говорит «провайдер плохеет») · Д4 **`gates.terminology.target_script` не сверяется с `book.target_lang`**: `target_lang: ru` + `target_script: Latin` грузится чисто и ИНВЕРТИРУЕТ банковский экран · Д5 наш enum эффорта провайдер-слеп (`medium` на DeepSeek не определён, `max`/`xhigh` недостижимы) — пер-модельная таблица = новый механизм, сознательный отказ · Д6 **`//go:embed` в `internal/lang/embedded.go:22` — ЯВНЫЙ список файлов**, новая цель требует правки Go, а `CompileCheckers` паникует при неполном файле цели ⇒ на ревью-вопрос «заработает ли пара, которой нет в репо» ответ сегодня НЕТ, и это не про язык, а про строку эмбеда · Д7 два гарда шва разной формы (мой AST против давнего байтового `TestProviderEgressSeamIsSingle`) — свести в один обход · Д8 ратифицированный порог классификатора «6/6» определён для ОДНОГО вызова, не для выборки, и на рекомендованном `low` риг красный (заявлено в тексте падения, не смягчено) · Д9 аддитивные провайдеры отказываются бэнк/repair-гейтам именно потому, что блок не несёт `reasoning_max_tokens` — новая ручка эту дыру НЕ закрывает. **РЕСЕРЧ-ЗАДЕЛ (два холодных исследования со скептиками, §5 отчёта — оставлен, чтобы следующие сессии шли по шагам):** у отказа есть имя и метрика (*off-target translation*, Zhang et al. ACL 2020; *language confusion* LPR/WPR, Marchisio et al. EMNLP 2024), рецепт поля — ровно наш, более умного serving-time метода не упущено; английский — доминирующий аттрактор (подтверждено дважды независимо и нашими 2/20); четыре режима отказа требуют РАЗНЫХ детекторов, гнать всё через один LID — ошибка проектирования. **Обещанной гарантии FPR ≤ 0.1% на этом корпусе НЕ КУПИТЬ:** правило трёх при n_eff=114 позиций даёт ≤2.594% (в 26× слабее), процедура двоит данные, а на сиблингах мощность ≈0.1% (болгарский алфавит — собственное подмножество русского, распределения совпадают) ⇒ ставить руками консервативную константу в широком пустом интервале и версионировать как контракт. **НЕ СТРОИТЬ (проверено запуском, не по README):** ни одну статистическую LID-библиотеку в путь вердикта (`lingua-go` недетерминистична 6/23 на 20k повторов + 126 МиБ эмбеда + 1012 мс/чанк; `langid-go` даёт P(ru)<0.5 на **22.2%** реальных русских сегментов 2040 рун и FMA-зависим от GOARCH; `whatlanggo` принимает 46 из 9 русских образцов за болгарский; `gocld3`/fastText CGo, вердикт становится функцией тулчейна ВНЕ снапшот-хеша) · посегментный worst-of (умножает FPR на число сегментов и имеет НОЛЬ положительных примеров) · замыкание алфавита · функционально-словный экран · новый файл в `go:embed`. **План на 8 шагов** с единственным необратимым (бамп `classifierVersion`) последним; ключевой перенос **`cultivation` чинить в СИДЕ, а не порогом** (86 из 1055 здоровых выходов содержат его; все 32 просевших абзаца содержат, ни один не содержит ханьцзы; правка пар-данных двигает `LangpackVersion`, который фолдится с `omitempty` перекупка ограничена книгами ЭТОЙ пары самый переносимый вывод цепочки: чинить на том плане, где перекупка уже). **Качество прозы не судил никто ни в одной пробе.** Батарея после всех правок зелёная (build/vet/`vet -tags live`/`-race -count=1`/gofmt чисты · голден PASS · парити EXACT · labels-фриз 5/5). **СТОП — приёмка оркестратора.**
**coldrun-b: фаза A ✅, фаза B ✅ — БЛОКЕР СТРОКИ 74 ВОСПРОИЗВЕДЁН НА БОЕВОЙ ФОРМЕ, фаза C ЗАМОРОЖЕНА развилкой владельца (02.08, бэкенд-сессия по `BACKEND_COLDRUN_DEBUG_SESSION_PROMPT`, D39.83; фаза B $0.114378 из $0.15; НЕ закоммичено).** Отчёт: [archive/reports/COLDRUN_B_DEBUG_2026-08-02.md](archive/reports/COLDRUN_B_DEBUG_2026-08-02.md). **Фаза A:** батарея воспроизведена числами (парити EXACT · labels 5/5 фрозен · голден PASS · `-race -count=1` зелёный); сквозняк = голден-тест; CLI-читаемость проверена read-only на БОЕВОЙ БД coldrun-a (sha256 БД до/после идентичен) сильнее локальной модели; **2 дыры наблюдаемости починены $0** (счётчики банкноты и голос-флаггера считались, но не имели НИ ОДНОЙ поверхности вывода строки `BANKNOTE`/`VOICE` в `report` + 5 тестов, включая тесты молчания и различение «не измерено»↔«измерено, чисто»; голден/`CheapGateVersion` не тронуты; новая строка независимо воспроизвела руками добытые числа coldrun-a 182/18-из-20/parse-fail 3). Стенд `coldrun-b` собран (пустой сид, `ceilings` 5.00/5.00, `pipeline.yaml` побайтно = эталону), ключи $0-проверены. **Фаза B (носитель — САМ боевой путь `tmctl translate --verify-bank` на отдельных проектах с потолком, принуждаемым движком; девиация от «расширить live-риг» аргументирована §2 отчёта):** при боевом `max_tokens=8496` (флор 8000 + `bankTokenBudget` 496) **0 из 9 вызовов пригодны** (8 `empty`, 1 `length`); **вариант (а) флор-16000 ФАЛЬСИФИЦИРОВАН** 4/5 пустых при 16992, сырьё показывает 1521 тыс. симв. `reasoning_content` (модель переводит главу ВНУТРИ размышления и не доходит до ответа), удвоение потолка добавляет ~2 тыс. симв. думания и не сходится. **Вендор-сверка сделана ДО диагноза:** changelog без записей после 31.07; `guides/thinking_mode` **«default effort being `high`»** и маппинг flash `low→low` запись квирков 04.07 low/mediumhigh») УСТАРЕЛА (правка `00-provider-quirks.md` оркестратору, зона). **Вариант (б) `reasoning_effort:"low"` РАБОТАЕТ и достижим ПРАВКОЙ ОДНОЙ СТРОКИ ран-конфига — амендмент `echoMineViolation` НЕ НУЖЕН** (посылка строки 74 неверна: гейт инспектирует МЕХАНИЗМ `control`, у deepseek `ReasoningNone`, где `low` уходит на провод, а `off`/`""` no-op; thinking не выключается, вендорский тумблер другой параметр; проверено исполнением): **18 из 20 чанков отгружено, 20 из 22 свежих вызовов `finish=stop`**, волна ≈$0.0257 против $0.02474 у coldrun-a, латентность 944 с. **Цена (б) названа честно:** эхо 3/20 (15% против 10% у coldrun-a; на таких N неразличимо) · **1 черновик из 18 пришёл ЦЕЛИКОМ НА АНГЛИЙСКОМ и прошёл гейт как `ok`** · **терминолог (б) НЕ лечит** 4/5 батчей `length` с `completion=8000` ровно (на coldrun-a до смены весов было 21/21 `stop`), банк консолидировал 1 терм из 81, корень: бэнк-роли строят `config.Stage` без `Reasoning` (`terminologist.go:515,568`) и у `gates.terminology` ключа нет они ВСЕГДА едут вендор-дефолтом `high`, что бы владелец ни выбрал для черновой стадии. **Порог классификатора 6/6 ВЗЯТ** ($0.000390, `finish=stop`; честная оговорка 元石/灵泉 стоят дословно в `classifier.md`, дискриминирующее подмножество 4/4). **Попутно доказано живыми деньгами:** нарезка · волна на 4 воркерах · classify (поймал 3/3 эха и все `length`/`empty`) · эскалация одним хопом с ре-гейтом · банкнота (129 строк на 14/20 чанков) · майнер+банк (76 кандидатов, 100% dst в кириллице, 0 утечек письма) · банк-пауза exit 3 + сайдкары · **деньги `committed ≡ Σ checkpoints` двумя путями** (независимый пересчёт провайдерского usage по вендор-ценам сошёлся до 6-го знака на optB; расхождение $0.015110 на первой пробе = **строка 78 в живом виде**, 3 билленных 2xx с нечитаемым телом) · потолок физически выстрелил на 98.7% и отказал в хопах · F4-бэкап на каждом платном старте (первый боевой клиент) · graceful SIGINT посреди волны · **$0-резюм** (20 юнитов из `chunk_status` + 5 чекпойнтов, 0 вызовов, леджер байт-в-байт). **Найдено и НЕ починено (вердикт-двигающее → СТОП+пинг):** Д1 гейт черновой стадии не ловит выход на ТРЕТЬЕМ языке (последний рубеж есть санитайзер даёт `Latin insertion`, но стоит только на ФИНАЛЬНОЙ стадии не тихая порча, а потеря юнита + оплаченный впустую редактор; живой носитель к строке 46) · Д2 у бэнк-ролей нет ручки reasoning (шов назван, форма предложена, строить после выбора владельца) · Д4 роль `classifier` мис-вердиктится как `cjk_artifact` (поблажка `SourceEchoExpected` дана только терминологу; ущерб телеметрийный текст парсится, но каждый батч светится `ok=0`; латентно, `classify_types` выключен). **Починено:** обе дыры наблюдаемости + **live-риг не собирался с D39.64** (`undefined: cjkShare` после переезда на `sourceScriptShare` per-adapter live conformance физически не запускался). **Проба C — thinking ВЫКЛЮЧЕН (по вопросу владельца «а выключить ризонинг нельзя?»; пере-замер клейма `echoes_when_thinking_off` на весах 0731, потому что вся эмпирика по нему снята на несуществующих весах Preview; пробная копия models.yaml ВНЕ git, боевой файл и гейт не тронуты):** выключатель в OpenAI-транспорте ЕСТЬ и документирован вендором (`extra_body {"thinking":{"type":"disabled"}}`; `reasoning_effort:"none"` в OpenAI-формате НЕ существует `none` живёт только в Responses-API-колонке). Результат на тех же 20 чанках: **0 пустых из 22 вызовов · терминолог 5/5 `stop` (единственная конфигурация, где стадия банка жива БЕЗ правки Go) · выход не на целевом языке 0/18 · весь заход $0.014932 — в 2.6× дешевле (б)**; НО **эхо-мина ЖИВА на 0731: 4/20**, гейт поймал 4 из 4, эскалация вылечила 2 по $0.0024, ещё 2 не вылечены только пробным потолком $0.03 (`escalation hop denied by a USD ceiling` деградация, не падение). Качество прозы не судилось НИ В ОДНОЙ из трёх проб канон D19.1/D21.9 стоит не только на эхе, поэтому C = ИЗМЕРЕННАЯ опция, не рекомендация: её принятие = разворот ратифицированного гардрейла и требует читки качества. **Развилка владельцу:** (а) фальсифицирована · (б) работает, но требует Д2 (правка Go) и делает Д1 условием безопасности · (в) вендор молчит · **(г) сменить модель черновика на `deepseek-v4-pro`** (вендором не тронут обновлением 0731; один хоп на боевом рендере отработал `stop` за $0.008706) **0 правок Go и гейта, ценой ~×3.1 COGS черновика; не замерен волной, замер ~$0.03**. Ручка #77 не включалась. Батарея после всех правок зелёная. **СТОП — решение владельца по строке 74, затем приёмка оркестратора.** **ЛЕНД D39.86** (приёмка оркестратора 10: батарея и все несущие счётчики пере-выведены независимо, деньги из сырья двумя путями [$0.114378 леджер Σ чекпойнтов во всех 4 проектах · $0.099267 независимый пересчёт · $0.015111 неизвестности]; 9-осевой refute-воркфлоу со скептиком и арбитром на каждую ось 6 CONFIRMED / 2 PARTIALLY / 0 REFUTED. Поправки в ревю-шапке отчёта: §3.3 верно только для СТАДИЙНОЙ ручки [для бэнк-ролей посылка об амендменте жива (б) = правка Go] · §3.1 «нет пути вообще» слишком сильно, НО «бюджет не лечит» усилено [победивший вызов уложился НИЖЕ базового потолка лечит стохастика] · волна (б) = $0.028195, не $0.0257 · (г) ≈×8.9, не ×3.1 · Д1 недооценён и дыра цели ДВУСТОРОННЯЯ · Д2 назван на 2/3 [третий шов `repair.go:384`] · строка VOICE говорит «сконфигурирован», не «отработал». Новые вендор-факты: дефолт эффорта `high`, у pro `low→high` и объявленная смена маппинга в quirks п.3а/п.10. Новые строки 104/105; 46 повышена; 44 сужена; 78 и 13б уточнены; 16 НЕ закрыта).
**Мелкая пачка хвостов (строки 93·89·53·83 + решения D39.79) исполнена (02.08, бэкенд-сессия по `BACKEND_SMALLPACK_TAILS_SESSION_PROMPT`, D39.79, $0 — только фейк-провайдер в тестах, НЕ закоммичено; D-номер лендинга проставит оркестратор).** Отчёт: [archive/reports/SMALLPACK_TAILS_2026-08-02.md](archive/reports/SMALLPACK_TAILS_2026-08-02.md). **A (стр.93):** 8 хвостов whole-word inner-marker вето `isSpokenChevronLine`+гвоздь · recall-потолок `speechAttribution` в контракт · негатив-ассерт `Demoted=false` (мутант убит) · stale `LatinResidueCount` коммент · CAND k4_inverse боевое правило + REJECTED-контраст · «..»/thin-space комментыкод · честная кана-оговорка · target-алиас NB. **B (стр.89):** ведро D `isHeaderSeparator``!isHeaderContentRune` (консолидация), мёртвый `freqStratum` удалён, `minerPackVersion`/⟨проверить-глиф честные комменты (парити EXACT); ведро B (6) сверено на носители (строки 35/81), бездомных нет пинга нет. **C (стр.53):** gofmt чист (4 файла) · `editor-mono.md` DORMANT-маркер (`<!-- -->` strip'ается, hash-нейтрален, боевого SHA не двигает) · внутрифайловый дубль-ключ `parseDCCheckers` fail-loud (`putUniqueDC`+тест; register_neg-список терпим) · D39.4/D23.4/D28.3(б) архео (парк/moot/уже-сделано). **D (стр.83, F4):** `tmctl backup` верб + боевой pre-flight (integrity_check + `VACUUM INTO ~/books/<книга>/backups/`); дискриминатор боевого пути = размещение в `run()`-диспетчере (тесты зовут `translate()`/Runner напрямую) **ноль магических строк провайдеров в Go**; гвоздь «фейк-путь бэкапов не создаёт». **E (D39.79):** Q1 канон «класс X» подтверждён (0 «разряд» в живом носителе пинга нет); DC7-замер = **25 юнитов/93 девиации «разряд»≠канон → построй, НО** двойной стоп (книго-канон-дом vs пар-пак + >50 строк) → **СТОП+ПИНГ с дизайном, DC7 не построен** (грейд-канон = book.yaml, оркестратору). Q2 — 兩 в `shichen_re` (probe-литералы/cheng_re не тронуты) + NB-граница. Q4 — `register_neg`+жанр-msg → книжный слой (`book.yaml register_blocklist``CheapGateConfig`→DC6-union; `omitempty` в BriefHash → **golden brief_hash `c2021b1b…` неизменен**; пар-`register_neg`/`dc6_register` опциональны; терем-список → coldrun-a+example book.yaml; DC6-семантика та же; «вторая книга другого жанра — 0 ложных DC6, 0 правок Go» = ДА). **Приёмка:** build/vet/`-race ./...` зелёные · майнер-парити EXACT · **голден НЕ двинулся** (`CheapGateVersion` не бампнут) · labels-фрозен (k4b 10/1/36/99·k4_inverse 3/0/1/71·k2 34/1/6/51·K6 1/6/0/251·k4a 0/0/0/348, `assertBaseline` хард) · gofmt чист · греп-общность чист. **Плюс адверсариальный author≠reviewer (6-агентный refute-воркфлоу по своим правкам): 0 блокеров, 0 major; 2 CONFIRMED low-sev (диагностика/коммент) исправлены ДО отчёта** (source-neutral DC6-detail; `isTargetWordLetter`-атрибуция коммента), пост-фикс перепрогон зелёный. **СТОП — приёмка оркестратора.****ЛЕНД D39.82** (батарея пере-прогнана оркестратором независимо, все числа совпали; 5-осевой refute-воркфлоу: 0 блокеров/0 major против пакета — omitempty доказан пере-выводом hash, комплементарность рун — полным перебором; DC7-стоп ПОДТВЕРЖДЁН, но рекомендация пере-гейчена сид-покрытием mempostcheck → строка 98; F4-хвост dry-run-redrive → строка 93; строки 89/53/83 закрыты).
**Пакет-чекеров (строка 25 + 79) исполнен (02.08, бэкенд-сессия по `BACKEND_CHECKER_PACKAGE_SESSION_PROMPT`, D39.67/68, $0 — только фейк-провайдер в тестах, НЕ закоммичено).** Отчёт: [archive/reports/CHECKER_PACKAGE_2026-08-02.md](archive/reports/CHECKER_PACKAGE_2026-08-02.md). **Харнесс labels пересобран В GIT** (env-гейт `TM_CHECKER_LABELS=1`, `internal/checks/labelharness_test.go` + `internal/membank/labelharness_test.go` + candidates); `metrics.json` пакета-6 воспроизведён ПОБАЙТНО (12 ключей после постфикса — k4a маркер-онли; 2 независимых пути счёта совпали); k5c-конвенция названа (`codeconv`=фиделити кода / `unit`=цель Р2); две пост-банк-пак дельты объяснены (K6 стеммер 14→12; K3 combmark 0). **Построено:** #10 (пост-чек однознак. Han-ключ → Unverified observability, K6 fp 14→6, **fn=0 сохранён**) · #3 (атрибуция ёлочки +5 tp, K4b r0.11→0.22, Р4-потолок в контракт) · #6 (заглавная латиница +allowlist, K2 r0.75→0.85) · k4_inverse (inner_marker-на-тире, +3 tp, p1.0) · #8 (两/兩 данные, 0 эффекта = generality) · Р2 hard/soft split (`UnitScaleHard`/`Soft`, `Total` не тронут) · строка 79 (isCyrLetter→wordScript · DC1-трим · magnitude SourceScripts-гейт — закрыла и ведро C-2 register-boundary) · рефрен editor.md/mono · чистка ведра D (6 указателей `checkers_zh_ru.go` + ложная шапка checkers.go). **Закрыто с обоснованием:** #5 (единственный дефект DC2-покрыт) · #7 (порог=0-эффект; гомоглиф=`tk.mixed`, приёмка пройдена) · DC2 word↔word (нет размеченного дефекта) · research/22 (не на labels) · omission-бэкстоп (уже стеммером) · строгий OffLanguage (36а). **На владельца (§6 отчёта):** DC7 grade/role (коллизия канона класс/разряд) · 兩-traditional · Р2 value-детектор vs soft · register_neg в пар-паке. **Приёмка:** build/vet/`-race ./...` зелёные · майнер-парити EXACT · голден пере-захвачен РАЗ, маскированный дифф ПУСТ (двинулся только `style_check_version` v6→v7 + хеш-каскад; content_hash/disp/flag/memory_version/prompt_sha256/вердикты байт-идентичны) · греп-общность чист (нет новых пар/книго-ветвлений) · мут.тесты на новые классы. Якоря `13-tech-debt-anchors.md` актуализированы (#10 помечен исполненным). **Плюс адверсариальное агентское ревью (3 refute-biased агента, по вопросу владельца ПОСЛЕ лендинга): 2 корректностных FP найдено и ИСПРАВЛЕНО ДО приёмки** (k4_inverse маркер по всей строке → скоуп на атрибуцию; #3 плоская цитата `«X» —` → отвергается, принимаются только `«X», —`/`«X!/?/…» —`; оба observability, гвозди добавлены, labels не двинулись 10/1/36/99 · 3/0/1/71) + honesty-правка (K2 precision честно **0.971**, не «1.0 с allowlist» — конфиг бренд не заносит) + Р2 NumberMagnitude→HARD + DRY `lang.IsDenseScript` + подрезка комментариев (норма 26.07). Харнесс подтверждён честным (byte-for-byte, «before» из git; манифактуренной сходимости нет). — **ПОСТ-ФИКС D39.78 (приёмка оркестратора: 0 блокеров, 5 major + minors, $0, `CheapGateVersion` НЕ бампнут):** все закрыты, §8 отчёта. (1) `speechAttribution` режет сегмент атрибуции с ДВУХ сторон + `lineHasInnerMarker` по границе слова (4 контрпримера гвоздём); (2) `latinResidueCandidates` синхронизирован с #6-lint (caps-утечки адресуемы, гвоздь `TestLatinResidueCandidateCapsSynced`); (3) `chevronSpeechShapeCommaOnly` заморожен → «ДО» 5/1/41/99 из дерева, отвергнутый `Ext` снесён; (4) Р4-потолки inline (`minLatinResidueLen`, `chevronSpeechShape`); (5) пост-чек контракт/комменты честны (B6=строка 81; multi-rune «статистически сильнее», не «word span») + `PostcheckMiss.Demoted` (omitempty, голден-нейтр.) + негатив-гвоздь одно-руновый-не-Han→Confirmed. **k4a воспроизведён маркер-онли (12/12 ключей, 0/0/0/348)**; отчёт §2/§5 — реальные tp вместо 2 ложных, «fn=0 класс-вакуумен» оговорено. Опц. Fix-8 (скоуп `isSpokenChevronLine`) ОТЛОЖЕН вердикт-тройкой (0 инстансов FP-класса в корпусе, загейчен нотой). Приёмка: labels фрозен (k4b 10/1/36/99 · k4_inverse 3/0/1/71 · k2 34/1/6/51 · K6 1/6/0/251 · k4a 0/0/0/348) · build/vet/`-race ./...` · майнер-парити EXACT · голден пере-захват РАЗ = байт-идентичный no-op, маскированный дифф ПУСТ · author≠reviewer (3 refute-агента, 0 подтверждённых багов, мутант-килл негатив-гвоздя исполнен). — **ЛЕНД D39.78** (двухраундовая приёмка оркестратора: 10-агентный адверсариал → 5 CONFIRMED major → постфикс §8 → 3-агентный дельта-раунд: 0 major; голден-маска независимо ПУСТА дважды; остаточные минорки → строка 93, вопросы §6 → строка 92; строка 25 закрыта, 79/89 сужены).
**finding-1 (строка 91, Decl мягкознаковых имён) — ЗАМЕР ПРОВЕДЁН (02.08, бэкенд-сессия по указанию владельца в eval-конвенции, $0); РЕШЕНИЕ — владелец+оркестратор.** Отчёт: [archive/reports/SOFTSIGN_DECL_FINDING1_2026-08-02.md](archive/reports/SOFTSIGN_DECL_FINDING1_2026-08-02.md); харнесс `eval/softsign-decl/` (пин-модуль, боевой стеммер), сырьё+2 адверсариал-прогона durable в `~/books/gu-zhenren/softsign-decl/`. ИТОГ: разрыв реален но МАЛ (~47 ложных промахов/25 глав на реальном размере чанка, почти весь — ОДИН термин «Винный червь»; «Фан Юань»→0 per-chunk; occurrence-level 259 — код-верифицирован). Вариант **(б) anchor-gated** НЕ закрывает коллизию «Синь/Линь» — ПЕРЕНОСИТ на форму `[титул]+[ь-фамилия]` + не защищает числовой класс («пятого/шестого ранга» ×23); чистота на gu-zhenren = транслит-везение, доказательство **пара-зависимо**, safety НЕ измерена (M4=3 пары/1 книга). Рекомендация: **(а) сид-перечень 12 ВИДИМЫХ мягких канон-имён** — данные `decl.forms`, матч generic `containsWholeWord`, **вне ядра Go**, ноль коллизии (честно: ручной труд — майнер морфологию НЕ майнит, declForms руко-писаны); движок (б) — только на КРОСС-ПАРНОМ гейт-замере (≥2 пары), не на одном. Строку 91 и CURRENT-STATE НЕ трогал. Открытые решения — в §«Что решить» отчёта. — **ЛЕНД D39.76 (стопгэп A, $0, ядро Go не тронуто):** в подписанный стенд-сид `~/books/gu-zhenren/guzhenren-seed-v2.yaml` (вне git) дописана МН. парадигма «Винный червь» (ед. обликы «Винный червь» + все 4 «Фан Юань» УЖЕ стояли с 24.07 — нетто-новьё = только мн.); `stemmer_test.go` гвоздь Линь/линию→Линь/линий (эмпир-проба: Stem(линий)=лин дискриминирует, Stem(линию)=лини был ИНЕРТЕН); позитив-гвоздь `memdecl_test.go` «Фан Юаню» принят через forms[] (закрыл PARTIAL D39.75). Приёмка зелёная: build · lang+membank · `tmctl seed-lint` OK (0 fail-loud/0 collision) · голден нетронут (git backend = только 2 тест-файла). ⚠ Уточнение к цифрам замера: coldrun-a — СИДЛЕСС (`coldrun-a/book.yaml`: сид не грузится), потому харнесс мерил ТОЛЬКО стеммер-путь; в сид-прогоне «Фан Юань» обликы уже ловились forms[] → прод-разрыв ещё меньше замеренного. Ждёт подписи владельца на сид-формы (+2 доп. мн. падежа сверх списка владельца: Винным червям / Винных червях — полная парадигма). → Снято D39.77: строка 91 закрыта, подпись владельца — только вкусовые поля.
**Фикс-пак банка (строка 87 + Q5) исполнен (02.08, бэкенд-сессия по `BACKEND_BANK_FIXPACK_SESSION_PROMPT`, D39.71, $0 — только фейк-провайдер в тестах, НЕ закоммичено).** Отчёт: [archive/reports/BANK_FIXPACK_2026-08-02.md](archive/reports/BANK_FIXPACK_2026-08-02.md). СДЕЛАНО: **(б)** head_final → данные (`script-series.txt`+`SeriesHeadFinal`, zh/ja/ko байт-идентичны, тест «плотный не-head-final заводится данными») · **(в)** лживый коммент `Batch` переписан (ChunkIdx фолдится в request-hash) + `BatchRunes`-WARN на оверсайз-серию (не резать — убьёт со-батч §1) · **(г)** classify_types при выкл.гейте = fail-loud + 5 config-тестов · **(д)** мутационный neuter-фолд (mined-scope) · **(ж)** дистилл-фикстура `BANK-FULL` пинит ровно 4 серии (转/等/等资质/阶) · **(и)** `lang.TokenizeWords``text.TokenizeLetters` (общий шов, чинит combmark-щель). НЕ ДЕЛАТЬ с обоснованием: **(е)** стеммер НЕ в voice (accept-bias не единонаправлен; контракт в код) · **(з)** Q5-реалии УЖЕ в `terminologist.md`/`classifier.md` (пинг: `PromptSHA256` не двинулся). **(а) ОТКАЧЕНО — предложенный «ь» ФЛАВЕД: адверсариальное ревью (author≠reviewer, подтверждено white-box) поймало коллизию «Синь/Линь»→«син/лин»=«синий/линия» → ложный `SpoilerLeaks` (шум); «юань»→«юан» неотличим по форме — min-stem не разделяет.** Откат + регресс-гвоздь; finding 1 (палладий) открыт в safe-направлении, нужен сид-decl-перечень или anchor-gated матч — **РЕШЕНИЕ владельца (пинг §а)**. Приёмка: `build`/`vet`/`test -race ./...` зелёные · майнер-парити EXACT · голден пере-захвачен, маскированный дифф ПУСТ (двинулся только `embedded_version`; `memory_version`/`prompt_sha256`/`content_hash`/вердикты — на месте) · греп-общность чист. **СТОП — приёмка оркестратора.**
**Качество банка — этап 1 (дизайн) исполнен (01.08, бэкенд-сессия по `BACKEND_BANK_QUALITY_SESSION_PROMPT`, $0, read-only, НЕ закоммичено).** Отчёт: [archive/reports/BANK_QUALITY_DESIGN_2026-08-01.md](archive/reports/BANK_QUALITY_DESIGN_2026-08-01.md). 6 пунктов свипа сведены в **3 переиспользуемых примитива** (A head-aware кластер-по-морфеме: §1 серия-батчинг + §6 голова 蛊 · B ре-порядок `terminology.Batch`: §1 + feed_cap · C стеммер целевого письма: §3 Decl-шов + omission-бэкстоп чекеров) + дата-правки (тип — ОТДЕЛЬНЫМ классификатором первичным; род neuter enum+seed-lint, ось `RenderFormatVersion`). **Самопроверка — 3 рубежа (грунтинг + анкор-верификация всех 8 tech-debt-якорей CONFIRMED + 5-агентная адверсариальная дизайн-критика): §1 серия-дефиниция «равная длина/1 позиция» и §2 инлайн-тип были BROKEN — переработаны (§1 → head-aware, пере-верифицировано на `BANK-FULL.tsv`: наивное = 19 кластеров вкл. блоб с §2-harm+протагонист, head-aware = 4 годных серии; §2 → классификатор первичным, DO-роль ДО RenderBatch; $0-экран честно пере-скоупнут — провабельно пропускал юаньши/Юаньхай); §5/§6/§7-эмбеддинг WEAKENED вправлены.** §4 (36б второе мнение) и §7-эмбеддинг ЗАКРЫТЫ по нужности; §5 (резюме-слой 80) → пилот-Ф2.5-гейт (проза-суммарайзер закрыт; «дата-состояние свободно от D1» опровергнуто — source-anchored reveal без верификатора); §6-эмиссия головы → полигон-замер + после #10 (seed-половина строится). **First-occurrence-тест ИСПОЛНЕН** ($0, `eval/bank_autonomy/m_firstocc.py`): гипотеза первенства ОПРОВЕРГНУТА (финал==первое 7 == финал==частота 7, большинство — ни то ни другое) ⇒ роль = контекстный ре-решатель, усиливает §1 (со-батч — единственный рычаг). **7 вопросов владельцу** (§9: канон-пин между прогонами · замер 36б · диспозиция резюме · hard-инъективность · вкус авто-транслита реалий юаньци/цзин-ци-шэнь · короткая форма 27 · замер эмиссии головы). **СТОП — ратификация оркестратора/владельца; этап 2 (стройка) — по релею после лендинга пакета-чекеров.****РАТИФИЦИРОВАНО ВЛАДЕЛЬЦЕМ, ЭТАП 2 (СТРОЙКА) ИСПОЛНЕН (01.08, та же сессия, $0 — только фейк-провайдер в тестах, НЕ закоммичено, resnapshot НЕ запускался).**
**Качество банка — этап 2 (стройка) исполнен.** Построены 3 примитива дизайна: **§1 серия-батчинг** (`terminology/series.go` `DetectSeries` head-aware + `Batch` серия-целиком + value-порядок feed_cap; пар-данные `lang.SeriesMorphology` из CJK-письма — инертно для алфавита; **пере-верифицировано на живом `BANK-FULL.tsv`: ровно 4 годных серии, ноль блоба**). **§2 тип-классификатор первичным** (новая фаза перед рендером на общем `runBankRoleBatches` — денежный цикл терминолога зарефакторен в общий, чекпойнт-хеш идентичен; корректный тип роутит conform + праймит RenderBatch + банкуется через `attachClassifiedType` БЕЗ смены эмиссии=без реоткрытия D39.50; своя роль/бюджет/промт `classifier.md`; честный $0 label-экран). **§3 Decl-шов** (`lang.TargetStemmer` примитив C + ru `decl_suffix` данные → `dstFormPresent` принимает косвенные падежи без перечисления форм; **neuter** enum→`injection.txt`/`genderConstraintNote`; **SeedLint** валидирует род громко; ось — **scoped `hasNeuter`-фолд** в `memory_version` по образцу `editor-unverified-section-v1`, НЕ бланкетный `RenderFormatVersion`). **Верификация (5 независимых сигналов):** `go test ./...` зелёно · `-race` чисто на затронутых пакетах · греп-общность: ноль пар/книго-литералов в Go-логике (новая пара — без правки Go) · голден Ш-1 **пере-захвачен, 172/172 hex-only = вердикт-нейтрально** (EmbeddedDataVersion сдвинулся от данных injection/target-ru) · **адверсариальное ревью author≠reviewer (4 измерения × refute-verify): 0 подтверждённых дефектов.** Короткая форма (27) — уже работает через `decl.forms[]`, кода не требует (§9-Q6 владельцу открыт). §4/§5/§6-эмиссия/§7-эмбеддинг — как в дизайне (не строятся/гейтнуты).
**Общность фаза 2 исполнена (01.08, бэкенд-сессия по `BACKEND_GENERALITY_PHASE2_SESSION_PROMPT`, $0, НЕ закоммичено, resnapshot НЕ запускался).** Отчёт: [archive/reports/GENERALITY_PHASE2_2026-08-01.md](archive/reports/GENERALITY_PHASE2_2026-08-01.md). Построено+верифицировано исполнением: **П0** байты-есть-версия (`lang.EmbeddedVersion()`→снапшот, мут.тест) · **П1** цель-шов слоя 7 (isRuTarget×6→`TargetActive`/`TargetScriptNonLatin` по данным · токенизатор цели с алфавитом из данных + U+0301 = ЕДИНЫЙ шов, репэйнут долг `repair.go:182-189` + закрыт #11 · ExportNormalize-гейт · ruSanitizer→per-run поле Checkers · реестр целей из эмбед-данных) · **П2** скрипт-шов источника (`cjkShare``sourceScriptShare` по ОБЪЯВЛЕННОМУ письму + новый `lang-script.txt`/`IsCJKScriptLang` · Hangul в CJK-leak — **живой баг ko/строка 75 ЗАКРЫТ**) · **П3** 話-глава в данные · sourceAbbrevs по языку книги · generic-детект глав (Chapter 12, opt units) · консолидация класса письма (5 сайтов, вторая копия арифметики на шов) · **П4** табличный опц-файл + манифест-по-каналам (обратно-совместим, БЕЗ бампа `packAlgoVersion` — снят самый жёсткий блокер слоя данных) · шестёрка: translitInterjections→данные + #11 · малая пачка: #77 ре-ген-эхо-ручка (дефолт=текущее). **Верификация:** `go test -race ./...` 14/14 · голден Ш-1 **0 verdict/wire / 172 version-only** (вердикт-нейтрально по всему пакету) · майнер-парити EXACT (`n=13618`, катастрофы точны, recall 0.9655) · мут.тесты П0-байт/П1-инертность-en/П2-Hangul PASS · сухой-прогон 2-й пары PASS. Сдвинуто 5 снапшот-осей (`embedded_version` нов + CheapGate/Sanitizer/classifier/chunker бампы) — перекупок НЕТ (D39.63). **10 позиций флагнуто на владельца** (ё-фолд · segmentation-громкая ⚠расходится с рат.тестом `prompt_pack_test.go:193` · EstimateTokens-N-коэфф · encoding-аллоулист · 4 дефекта пака-21 нужен ВНЕ-git размеченный корпус · #78 money/ledger-путь) — §5 отчёта, каждый с причиной+дизайном. **СТОП — приёмка оркестратора.****ПРИНЯТО И ЗАЛЕНДЕНО (D39.64, ревью-шапка в отчёте; журнал выше).**