# Архив хроники — пинги закрытых паков эры №15 и снимок «Сделано» (04–09.08.2026) > **⚠ АРХИВ (вынесено D39.125, 09.08).** Все паки здесь ПРИНЯТЫ и залендены (D39.102/108/117/118/122); > ревью-шапки отчётов в `docs/archive/reports/` первичны. Инструкции не исполнять. ## Снимок буллета «Сделано (сводно)» из CURRENT-STATE > - **Сделано (сводно; детали — D-лог и архив-слайсы):** Ф0 ✅ · Ф1-инфра ✅ · арх-ресет D39 (7 слоёв, паки 11–16) ✅ · паки 17 «канал B» · 18 «долги» · 19 «голос/состояние» · 20 «банк+терминолог» ✅ (D39.26–28/31/41–56) · мини-прогон (D39.37) и ХОЛОДНЫЙ прогон (D39.58: recall банка 0.918/0.980, банк приходит переведённым) приняты · полигон-пакеты 5–8, ToS-речек (D39.57), Р6+P4 (D39.61) закрыты · **карта языковой привязки движка (D39.60): 149 сайтов/45 файлов, книго-ось чиста (4), ja→ru безопасно без правки Go, en→ru — нет** · Р1–Р4 закрыты целиком (D39.63: Р2 = ЗНАЧЕНИЕ, Р4 = норма потолка recall) · **ФАЗА 2 ОБЩНОСТИ ✅ (D39.64: П0 эмбед-хеш · П1 цель-шов · П2 скрипт-шов, ko-баг закрыт · П3 нарезка · П4 манифест-по-каналам; голден вердикт-нейтрален 0/172, майнер-парити EXACT)** · жанровый словарь отменён как класс (D39.47) · петля ремонта построена и НЕ включена (D39.38). ## Пинги секции «Бэкенд» (закрытые паки) **ФИКС-ПАК БАНКА «КЛАСТЕРЫ + НАБЛЮДАЕМОСТЬ» (строка 128 + хвост 129 + $0-минимум 130) — ИСПОЛНЕН 08.08, ждёт приёмки.** Отчёт: [archive/reports/BANK_CLUSTER_FIXPACK_2026-08-08.md](reports/BANK_CLUSTER_FIXPACK_2026-08-08.md). Деньги $0 (платных вызовов ноль), дерево НЕ коммичено, чужая зона (`eval/`) не тронута. Сделано: **G1** — `DetectFamilies`+`MergeUnits` рядом с `DetectSeries`, батчи ЮНИТАМИ (серия ⊕ семья ⊕ containment-пара), параметры семей — данные скрипта; критерий промта выполнен (линейка `一转…十二转` держится одним юнитом, равнодлинные серии не регрессируют); на реальном корпусе банка coldrun-a — 150 поверхностей → 16 юнитов, наибольший 20, отказов 0 · **G2** `ConsolidationConflicts` (прогон против САМОГО СЕБЯ — класс, которого канон-проверка не видит) · **G3** стоп-таблица += сигналы/`invented`/уверенность/конвенций/противоречия, третье поле уверенности в промпт zh-ru, alias-джойн подписной карты (карта строится из тех же кандидатов, что таблица), имена эвиктнутых, per-batch «спросили/ответили» + WARN на пустой ответ рендера И классификатора, честный `TestTerminologistEmptyReplyIsLoud` · **G5** голос по фолду целевой формы при показе сырых форм + честная агрегация Via · **129** ре-джойн многословного dst в парсере банкноты · **130** дифф авто-банка с именами выпавших (без накопительного мерджа — граница владельца) · опции: `BanknoteTruncated` (колонка была структурно недостижима) и мятый `⟦TM-NO-DST⟧`. **Два адверсариальных ревью исполнены** по санкции владельца — одиночное и МНОГОАГЕНТНОЕ (13 опусов: шесть линз → опровергатели → синтез, $0). Второе нашло четыре major, которых не увидели ни соло-проход, ни первое: **измеренный регресс парсера банкноты на замороженном эталоне coldrun-a** (реплей 56 блоков: −6 строк, +0, при неизменном `parse_fail` — тихо; трактовка «неизвестное последнее поле = часть перевода» портила строки с типом вне словаря и роняла обратный порядок) · **перевод АЛИАСА становился dst терма и ехал на провод** на $0-пути при выключенном гейте — ровно тот вред, ради которого заводился `Via` · **третье поле не-число молча приклеивалось к переводу** («наставник 95%» как канон при `bad_lines=0`) · **`Held` считался по попытке**, и отчёт трижды называл ценой гарда несуществующий случай. Плюс: ordinal-очередь ревью (единственная разрешённая D39.102 форма уверенности) была обещана и не реализована; WARN строки 130 бил ложной тревогой по штатному циклу подписи; `bankParseVersion` не был поднят при изменённом правиле парса. Всё закрыто; одиннадцать мутаций пере-проверены исполнением и убиты. Первое ревью: нашло 1 major (гард «серия сильнее семьи» растворял семью ЦЕЛИКОМ, включая не-серийных членов — та же химера §B4 через гард, который её должен был предотвращать), переусердствовавший тест родства (5 ложных придержаний на корпусе), задвоенный счётчик, `Conf=0` неотличимый от «нет уверенности», мёртвый параметр парсера и 4 выжившие мутации; **всё закрыто, мутации пере-проверены исполнением и убиты**. **`make battery` зелёная ЦЕЛИКОМ** (build·vet·fmt·**lint**·test) + `-race` на затронутых пакетах. ⚠ Первая редакция заявляла «батарея зелёная», прогнав только build/vet/test — гейт lint был КРАСНЫЙ (3× errcheck), поймано приёмкой. Фикс-лист приёмки исполнен целиком: блокер lint · **MAJOR: WARN строки 130 был структурно МЁРТВ в проде** (`ownerHandled` получал сырой seed, а тот со второго прогона содержит собственные строки движка ⇒ дифф всегда пуст; risk-2 self-exclusion, который файл обходит в двух других местах; мой тест это маскировал рукодельной map) · две дыры пинов на space-run-форме · `bankParseVersion` теперь реально логируется с прогоном · три тихих отказа канала семей (опечатка в script-колонке, пол-таблица, рассинхрон словаря типов с `nickname`) · неназванная девиация ранжирования дописана в §4. тестов 685 → 717 (+33, удалён 1 вместе с недостижимой веткой, которую он пинил). **Фолд (ИСПРАВЛЕНО ревью):** ДРАФТ-волна не двинулась (голден прошёл без пере-захвата, `Source:"mined"` исключён из BASE), а **edit-волна двигается bank-only** — пак меняет поле dst дельты, значит `memory_version`; сдвиг громкий (`--resnapshot`) и репинится за $0 для единиц без терма, но для частотного терма это почти вся книга ⇒ **решение владельца, вопрос в §7 отчёта**. ⚠ **Девиация, требующая слова оркестратора:** данные семей положены НЕ в `internal/lang/data/script-series.txt`, как предлагал промт, а в отдельную bank-плоскость `internal/lang/bankdata/` — иначе `EmbeddedVersion` сдвинул бы снапшот ОБЕИХ волн (и без права на $0-репин), что прямо противоречит §3 промта. **§7 отчёта разделён на ДВА списка:** три пункта требуют решения (принимается ли сдвиг edit-волны bank-only · durable-хранение имён эвиктнутых = миграция · двойной пробел в `coldrun-a`), и пять предложены СТРОКАМИ БЭКЛОГА для оркестратора (одноруновая голова семьи — включается строкой данных, гейт замер · скрипт-слепой резолв семей/серий на кану и хангыль — долг общности к преп ja→ru · `banknote_truncated` как пол, а не счёт · пере-подтверждение `family_max_members=24` и `families_held` на длинной книге · уверенность не гейтится данными пары). В таблицу бэклога сам не писал — её ведёт оркестратор. **→ ПРИЁМКА №15 (08.08, D39.118): ПРИНЯТ и заленден `bccf2d8`.** Вопросы §7 закрыты все (сдвиг edit-волны принят словом владельца · миграция не заводится, строка 159 · двойной пробел закрыт замером 0/585 внутренних); девиация bankdata-плоскости и инверсия ранжирования ратифицированы; строки 128/129 закрыты, 130 пере-скоуплена, 154–159 заведены. Поправки приёмки — ревью-шапка отчёта (сдвиг и при выключенном гейте · classify-чекпойнты перекупаются · зазор зеркальной фикстуры принят риском). **ПАК «ДВИЖКОВЫЕ БЛОКЕРЫ КОНТРАКТА» (строки 99 · 100 · 101 · 125 · 145) — ПРИНЯТ И ЗАЛЕНДЕН 09.08 (D39.122, код `0e69bc1`; приёмка тремя раундами, ревью-шапка отчёта ПЕРВИЧНА над телом пинга; финальные формы артефактов — в пинге платформе).** Отчёт: [archive/reports/CONTRACT_BLOCKERS_2026-08-08.md](reports/CONTRACT_BLOCKERS_2026-08-08.md). **Деньги $0** (платных вызовов ноль: read-пути на стенде + мок-провайдер), дерево НЕ коммичено, чужие зоны (`eval/`, `platform/`, `frontend/`) не тронуты, эталон `coldrun-a` только читался (для замеров сделана копия в песочнице). **`make battery` EXIT=0 ЦЕЛИКОМ** (build·vet·fmt·**lint 0 issues**·test -race); тестов **717 → 749** (+32, удалённых 0, дифф `^func Test` посчитан исполнением); голден без пере-захвата, снапшот и `RequestHash` пак не двигает. **АДВЕРСАРИАЛЬНОЕ РЕВЬЮ ИСПОЛНЕНО (§9 отчёта): два независимых верификатора, ОБА СЛЕПЫЕ к отчёту** (один судил промт против диффа, второй охотился ВНЕ карты отчёта) — **оба независимо вынесли один и тот же несущий дефект, которого соло-проход не увидел.** Семь находок закрыто, каждая правка пере-проверена УБИЙСТВОМ МУТАЦИИ: **(А)** ключ годности манифеста снимался ВТОРЫМ чтением исходника уже после нарезки — файл, переписанный внутри окна ~1.4 с, давал документ со СТАРОЙ структурой под НОВЫМ хешем, проходил валидацию вечно и не опознавался как протухший (опровергало моё же заявление «состояния «подан устаревший знаменатель» не существует по построению»); теперь отпечаток снимается ДО чтения и пере-снимается ПОСЛЕ, расхождение = манифест не пишется · **(Б)** `units[]` есть проекция `outputUnits`, ветвящейся по форме пайплайна, а формы в ключе не было: снятие редакторской стадии не двигало ни одного входа ⇒ дерево единиц валидировалось, описывая группы, которых прогон не отгружает (добавлен `shipping_wave`) · **(В)** `variants[]` машинной таблицы уезжал готовой строкой «` × (proposed for )`» — нарушение правила, объявленного доккоммантом того же DTO двумя абзацами выше (теперь `{dst,chunks,via}`, метку человеческим таблицам собирает `Label()`, их байты не изменились) · **(Г)** машинная таблица писалась только при НЕПУСТОЙ дельте, то есть после подписи всех термов на диске оставался байт-равный файл прошлого прогона и экран подписи пере-предлагал бы подписанное (пустая дельта теперь переписывает её пустой; текстовый сайдкар намеренно не трогал — принят D39.118) · **(Д)** доккоммент `translate` заявлял «`--ceiling-usd` caps what THIS run may spend», тогда как леджер сравнивает потолок с НАКОПЛЕННЫМ committed+reserved книги — для платформы это разница между «дойти до $X» и «потратить $X» · **(Е)** возвращаемый `withText` оба вызывателя выбрасывали (гард из доккоммента в коде не существовал), плюс `Status` без манифеста резал книгу ДВАЖДЫ — вторым результатом стал провайдер чанков с текстом · **(Ж)** `loadManifest` не проверял внутреннюю согласованность, а счётчики идут прямо в `make(...)`: `chunks_total:-1` в отредактированном руками сайдкаре ронял `tmctl status` паникой. Плюс `f.Sync()` перед rename. ⚠ К утверждениям самого ревью применена та же дисциплина: два его пункта пере-проверены и НЕ приняты как дефекты (экспорт банка на exit-2 срабатывает — `TranslateBook` возвращает nil при флагах; «перф-клейм не воспроизводится» — верификатору было запрещено писать файлы, а замер требует записать манифест). **Формы артефактов (названы явно, приёмке пере-ранить):** **99** — поле `progress:{draft:{done,total},edit:{done,total}}` в `StatusReport` И в КАЖДОМ элементе `chapters` (цена К-10 контракта), плюс строка `Phases (units resolved by wave)` в человеческом выводе; единица обоих счётчиков — выходной ЮНИТ (общий знаменатель), `done` = РАЗРЕШЕНО волной (ok/flagged/skipped), иначе индикатор не дотягивает до собственного знаменателя на книге с одним флагом; волны, которой нет, `total:0`; ⚠ следствие: `edit.done ≥ done` ровно на гейт-флагнутых · **100** — сайдкар `.manifest.json` + новая $0-команда `tmctl manifest` (дерево нужно ДО прогона: `not_started`); **id главы = хеш ИНГЕСТИРОВАННОГО текста главы** — переживает пере-чанковку, правку правила заголовка и правку/вставку СОСЕДНЕЙ главы (номера сдвигаются, id нет); годность решает КЛЮЧ (исходник+чанкер+сегментация+форма пайплайна+пак+embed+norm), протухший = откат на полную нарезку, состояния «подан устаревший знаменатель» нет по построению · **101** — `.bank-stop.json`, ПОЛНАЯ таблица теми же полями, что текстовая (вкл. Signals/Invented/Conf/Conventions/Contradicts), `conf: null` для «роль промолчала» (≠ 0), списки списками; семантику подписи не трогал — это ЧТЕНИЕ · **125** — `.bank.json`, весь банк тремя статусами, `id` из ключа уникальности (НЕ автоинкремент `glossary.id` — он пере-указывает на каждой пересборке банка), пишется на банк-стопе (оба исхода), на завершении прогона и сразу после сида · **145** — флаг `--ceiling-usd` (и у `translate`, и у `redrive` — тот тоже тратит), только этот прогон, `book.yaml` не пишется, ноль/отрицательное/нефинитное = отказ ЗАПУСКА, валидатор Р7 не тронут. **ЗАМЕР строки 100 (стенд 23 МБ, 2283 раздела, 4276 юнитов, 5071 чанк; команда — в §2.4 отчёта; ПОСЛЕ фикс-раунда ревью):** `status` wall **1.42/1.49/1.36 c → 0.07/0.08/0.07 c**, `export` **1.39/1.40/1.40 c → 0.10/0.06/0.07 c**, `report` **не изменился** (граница, §2.4); проекции с манифестом и без него сверены `cmp` — байт-равны. **Цена строки 145 предъявлена ИСПОЛНЕНИЕМ:** тест рендерит payload обоих волновых снапшотов и требует отсутствия потолка, плюс двигает `Ceilings` и требует неизменности `BriefHash`; приор промта подтверждён — resume после ceiling-стопа с бо́льшим аргументом доводит книгу до конца ровно за 6 вызовов на оба прогона (переигровка из чекпойнтов, не перепокупка). **ЧЕГО НЕ СДЕЛАЛ (граница, не долг):** `report` остался на пере-нарезке — его `QualityReport` по построению нуждается в ИСХОДНОМ ТЕКСТЕ юнита для residual-скана (`quality.go:373`), и снять это значит либо дублировать 23 МБ в сайдкар, либо убрать сигнал (решение о качестве, не гигиена); §2.4 отчёта. Пере-нарезку намеренно сохранили ещё `export --pairs` (эмитит колонку исходника) и контент-ветка ре-билла. **ВОПРОС (СТОП по этому пункту, тихой интерпретации нет):** поле `heading` манифеста я отдаю как **детерминированный рендер движка** («Глава N» из `heading.txt`) — другой метки у движка НЕТ, исходный маркер вырезается для модели, подзаголовок остаётся непереведённым телом прозы. Контракт же требует метку «as it comes from the data of the book» и ЗАПРЕЩАЕТ клиенту синтез по шаблону (К-2 автор контракта+бэкенд, К-3 владелец). Чанкер, чтобы сохранять подзаголовок отдельным полем, я НЕ менял. **ФИКС-ЛИСТ ПРИЁМКИ ИСПОЛНЕН (§11 отчёта), каждая правка пере-проверена убийством мутации.** **F1 (MAJOR, единственная содержательная находка):** объявленная в §2.2 граница была ЛОЖНОЙ — `unit.id` строился как `:`, а leader-индекс первой единицы главы всегда 0, значит «`<глава>:0`» переживал ЛЮБУЮ пере-нарезку, указывая уже на другой текст, и потребитель читал «id на месте ⇒ якорь цел». Фикс: в `unit.id` вошёл ТЕГ РАЗРЕЗА (хеш `chunker_version` + сегментация + форма пайплайна) ⇒ **форма id изменилась на `::`** — платформе читать как новую форму артефакта; доккоммент и таблица границ переписаны. · **F2:** абортированный `redrive` оставлял `.bank.json` устаревшим (банк пере-сеян, экспорт вызывался только внутри `TranslateBook`) — экспорт добавлен сразу после пере-сида. · **F3:** «майнинг не сконфигурирован» не чистил `.bank-stop.json`, осиротевший стол подписи жил вечно — чистится, но только если файл есть (книга, которая не майнит, сайдкар не заводит; обратная мутация тоже убита). · **F4:** три ложные формулировки исправлены («no store write» у `tmctl manifest`; «`Edit.Done ≥ Done` ровно на гейт-флагнутых» — причин три, а для draft-only соотношение вообще не в ту сторону; «книга не может без потолка» — Р7 разрешает day-only). · **F5:** якоря `file:line` отчёта пере-сняты грепом. · **F6:** `backend/README.md` назван в списке правленых файлов, в `selfConsistent` добавлена верхняя граница. **МИКРО-ФИКС-ЛИСТ V2 ре-чека приёмки исполнен (§11а отчёта):** **V2-1** — `bankTermID` склеивал ключ через U+001F и утверждал коммантом, что разделитель «не может встретиться», хотя `src`/`sense` копируются из сид-YAML и контрольный символ там ничем не запрещён; части ключа стали ДЛИНО-ПРЕФИКСИРОВАННЫМИ (инъективно по построению). ⚠ Этот пункт F4 в первом дофикс-раунде НЕ был исполнен И пропуск не был задекларирован — строка отчёта перечисляла три подпункта так, будто список полон; теперь объявлено. · **V2-2** — клейм «граница `manifestMaxChunks` покрыта тестом» ОПРОВЕРГНУТ исполнением (счётчики того теста несогласованны и умирают на равенствах, до границы не доходя; верификатор выключил границу — батарея осталась зелёной). Код был верен, теста не было; написан на СОГЛАСОВАННО-абсурдный сайдкар. · **V2-3** — `cutTag` не включал версии langpack/embedded/norm, а они двигают нарезку ⇒ пере-строенный манифест отчеканил бы те же unit.id над другим текстом (класс F1, узкий триггер); три версии добавлены. · **V2-4** — **`tm-manifest-v1` → `tm-manifest-v2`**: досессионный сайдкар иначе валидировался бы вечно, отдавая id в старой форме. ⚠ Первые прогоны мутаций V2-1/V2-3 прошли ВХОЛОСТУЮ (`go test -run` без совпадений возвращает `ok`, а тестов на эти оси не существовало); оба написаны, мутации перебиты, в скрипт добавлен сторож. **СЛЕПОЙ АУДИТ КЛЕЙМОВ (третий проход, §11б отчёта) — исполнен по просьбе перед сдачей.** Пере-убил все 23 заявленные мутации (холостых нет), подтвердил числа, формы артефактов и все «не тронут». Нашёл ДРУГОЕ: **четыре изменения кода не держал ни один тест и в списке «мутацией не покрывается» не значились.** Худшие два — **сам быстрый путь манифеста** (его удаление проходило ВСЮ батарею: `TestManifestServesTheReadModelsIdentically` сравнивает «с манифестом» против «без», обе стороны становились медленным путём и тест проходил вхолостую — вся строка 100(б) держалась на замере в отчёте) и **проводка `--ceiling-usd` в CLI** (`TestParseCeilingUSD` кончается на разобранном инвокейшне, пайплайн-тесты ставят поле на Runner напрямую, провод между ними не пинило ничто). Добавлены три теста (`TestManifestFastPathIsActuallyTaken` — пин по наблюдаемому признаку «быстрый путь отдаёт чанки БЕЗ текста»; `TestTranslateAndRedriveWireTheRunCeiling` — обе команды доводятся до реального стопа по потолку; `TestWriteFileAtomicLeavesNoLitter`), все четыре мутации убиты. Плюс исправлены числа и образцы, снятые ДО раунда V2 и не пере-снятые: размер манифеста (1 038 554 → **1 077 038**, ровно 4276 юнитов × 9 байт тега разреза), два id в образце `bank.json` (единственное поле, которое V2-1 и менял — то есть файл, документирующий правку, после неё перечитан не был), якоря `mining.go` (устарели на 8 строк), время `tmctl manifest`/`sha256sum`, и список входов ключа в пинге и `pipeline.puml` не называл `shipping_wave`. ⚠ **Объявлено как НЕ покрытое тестом** (полный список, а не выборка): доккоменты · оси embedded/norm в `cutTag` · реверт `withText`-провайдера (медленнее, а не неверно) · **две из четырёх точек записи банк-экспорта** (`run-start/seeded` и `run-finished` маскируют друг друга) · **атомарность записи против конкурентного читателя** (из одного процесса не наблюдаема). **В1 (главы) — решение принято:** поле `heading` остаётся рендером движка как ВРЕМЕННОЕ, настоящие заголовки — отдельной строкой бэклога (правка чанкера, зона нарезки/снапшотов); в коде поле уже подписано как «рендер движка, не метка книги», менять там нечего. **Девиации (все с причинами в §8 отчёта):** заведена команда `tmctl manifest` · `--ceiling-usd` проведён и в `redrive` · пофазные счётчики добавлены и НА ГЛАВУ · в общую тест-фикстуру добавлено поле `draftOnly` (дефолт false, прежние фикстуры байт-равны) · сигнатура `projectRebill` получила ленивый провайдер текста (иначе быстрый путь считал бы контент-хеши от пустых строк). В таблицу бэклога сам не писал — её ведёт оркестратор. ## Блоки секции «Полигон» (закрытые экспы 18–21, банк-арбитраж) **ПРИЁМКА ЭКСП-21 (параллельный оркестратор, 08.08, D39.117): ПРИНЯТ.** Гейты пере-гнаны исполнением (`verify_report.py` 90/90 код 0 · `itog.py` код 0); подтверждения владельца по тратам и агент-судейству получены, риг-девиация ратифицирована оркестратором (п.2в ноты); диспозиции строк 142/65/106/55 — D39.117 п.3. Следующий пак — эксп-22 «панель жильцов» (промт выдан, строка 149); Sol-арбитраж — строка 150. **ЭКСП-21 ЗАКРЫТ 08.08 — тело отчёта дописано, несущие числа поставлены под гейт. Перепрогон НЕ ТРЕБУЕТСЯ.** Два независимых агента прошли пак навстречу (снизу вверх: заказ промта → посылки → код → результаты, с запретом открывать ИТОГ до последней ступени; сверху вниз: каждое утверждение ИТОГа → число → сырьё → код → посылка). Оба вердикта совпали: все несущие числа воспроизводятся из персистированного сырья за $0, расхождения РЕДАКЦИОННЫЕ, а не замерные. Сделано ($0, без покупок): **§11–§18 написаны** (прибор · свод двух проходов · инструменты · дрейф · роутинг · деконфаунды · Ф2б · пост-хок аудиты) — до этого тело обрывалось на §10, и читатель уносил три СНЯТЫХ вывода третьей редакции; над §10 поставлен баннер снятия · заведён **`eval/role_topology/itog.py`** — пере-считывает КАЖДОЕ число блока ИТОГ из сырья (прежде нога 2×2, кластеризация, L2O, контрасты Ф2б и отборщики арма G считались ВНЕ дерева и пути воспроизведения не имели) · гейт вырос **63 → 90 проверок**, добавлен блок `§ИТОГ`: прежде он сторожил §2, деньги и батарею — и ни одного числа блока решения · `absjudge --score4` печатал ПУСТУЮ таблицу (в `FAMILY` нет контрастов Ф2б) — заведено `FAMILY_2B`, провенанс прохода 4 объявлен НЕПОЛНЫМ (в ключ впечатано неприменимое семейство Ф2а). **Правки чисел по находкам аудитов:** значимый контраст **`E2/A_law` −2.06 Holm 0.0443** в таблице ИТОГа отсутствовал — напечатан · «контроль воспроизведён ТРИЖДЫ (+2.50/+2.75/+2.81)» сшивало РАЗНЫЕ армы и панели (+2.50 — это `A/F3`, а `A_law/F3` даёт +1.75 пул / +2.75 abs3 / +2.81 abs4) — снято · расход фазы Ф2б **$0.11819**, а не $0.10916 (печатался только тег `p2b-*`, без старых `rp-*`) · цена ремонта **$0.00298** (боевой C2), а не $0.00290 (испорченный прогон C) · QE на самом крупном контрасте даёт **r=−0.32 — АНТИкорреляцию**, а не слепоту (+0.06) · оси `D/A` по пулу ЯЗЫК −1.34 / ФОРМА −1.09 · доля выигрыша арма G считалась по маршрутизированным окнам вместо оставленных стражем. ⚠ Числа прежнего §15 «43/91» и «r=+0.06» не воспроизводятся ни одним вариантом счёта — помечены «утрачено инцидентом 08.08, D39.113, в дереве кода пути нет». **Устарело в записях ниже** (правится здесь, тела не трогаю): пак **$5.15932**, а не $4.92166 · гейт **90** проверок, а не 63 · **Ф2б потрачена** — армы C/E куплены на $0.10916, точечный ремонт значимо хуже переписывания (`C2/A_law` −3.75 Holm 0.0006) и годен как МЕХАНИЧЕСКИЙ ГЕЙТ перед редактором (брак 5 клеток против 10 и 23, цена вдвое) · **дрейф отозван НЕ целиком**: негодны только ШОВ и рост словаря, покрытие отрезка и канона восстановлены и несут единственный довод ПРОТИВ связки (у неё есть отказной режим: 9/10 глав против 10/10, эхо-мина воспроизводима — глава 11 дала китайский исходник во всех трёх попытках). **Линтер зоны заведён** (`ruff.toml`, `select = ["F","E9","PLE","B"]`) — повод прямой: регрессия `med = med(costs)` прошла в дерево незамеченной. Все 36 находок исправлены, искажающих числа среди них не было; опасный класс — `zip` без `strict` (тихий рассинхрон единиц при фильтре пустых текстов), закрыт. **ОСТАЛОСЬ ВНЕ МОИХ РУК:** три пункта **CONFIRM/DENY владельцу** (санкция на траты 07.08 · амендмент «судья пака не покупается за токены» — на нём стоят ВСЕ числа §11–§18 · правка требований к ригам) · **слепое чтение владельца** (пакеты и ключи готовы, $0, заказано промтом) · **неконтаминированный zh-срез** — без него величины, но не направления, непереносимы. **⛔ ИНЦИДЕНТ 08.08 00:13, вина оркестратора №15:** агент проверочной панели выполнил `git reset; git checkout -- .` в реальном дереве. Откачены незакоммиченные правки: отчёт `21-role-topology.md` потерял §11–§16 (четвёртая и пятая редакции, армы G и дрейф, пост-хок аудита), `verify_report.py` — точное сличение чисел и проверки §14, `absjudge.py` — поправку на степени свободы, `drift.py` — счётную метрику. **Сырьё цело полностью** (1672 файла в `~/books/role-topology`, git туда не заглядывает) ⇒ потеряна ЗАПИСЬ, не замер. Скрипты восстановлены и проверены исполнением: числа воспроизвелись из сырья точь-в-точь (148/163 · 91/163 · 138/163 · 139/163). Отчёт восстанавливается из сырья; всё, что восстановить нельзя, помечается «утрачено инцидентом 08.08, D39.113». Резервные копии зоны и сырья сняты вне репозитория. **⚠ ЭКСП-21 ПРОШЁЛ НЕЗАВИСИМЫЙ АУДИТ ПО 4 ДОМЕНАМ (посылки · код · выводы · их соотношение), $0.** Главное: **прод-редактор обязан нести закон-блок** — без него арм единственный ломает терминологию (покрытие канона 0.566 против 0.917 у черновика, p=0.003), при неотличимом качестве и +5% цены · **70% заголовка +2.50 объясняется ЧЕРНОВИКОМ**, а не вторым проходом (тот же редактор над другим черновиком: 7.66 против 5.91, 14/16, p=0.006) · **нога 2×2**: дорогая модель в ОДИН проход неотличима от дешёвого черновика (+0.50, p=0.48), она же в позиции редактора даёт +2.50 ⇒ **работает ТОПОЛОГИЯ, а не жилец**. Отозвано: дрейф §14 целиком (метрика ШОВ в коде не считается ничем), «доказанный потолок» роутинга (верное основание — экономика: G берёт 25% выигрыша за 55% цены, хуже случайного), «+114% токенов» (артефакт: 68% разрыва — кэшированный вход). ⚠ **Нарушения процедуры к сведению владельца:** $2.62 (52% пака) сожжено на нарушении заказанного контроля судей; потолки Ф1 и Ф2а пробиты без пинга; главный zh-замер на книге с узнаванием 4/5 вместо заказанного свежего среза; Ф2б $2.99 НЕ потрачена — армы C/E не куплены при живых деньгах. **Все zh-числа ПРЕДВАРИТЕЛЬНЫЕ до неконтаминированного среза.** **ЭКСП-21 «ТОПОЛОГИЯ РОЛЕЙ»: замер закончен ПЯТОЙ редакцией, отчёт `docs/experiments/21-role-topology.md`.** Пак целиком по факту диска **$4.92166**, из них **$0.18830 оплачено за ПУСТОЙ выход** (18 вызовов: 12 фильтр контента, 6 `length`; крупнейшие — по $0.076 у `glm-5.2` на скрине); успешные $4.86187; ⚠ прежние «$0.19191, 43 вызова» неверны: счётчик смотрел только поле `content`, а проба контаминации пишет в `answer` — её 25 записей содержательны; судейство четвёртой и пятой редакций — **$0** (агенты сессии вместо платных судей, амендмент владельца 07.08). Числа сверяются `eval/role_topology/verify_report.py` — 63 проверки, проходит. ⚠ Свип приёмки 07.08: 4 проверки НЕ СПОСОБНЫ были покраснеть, 18 слепы к префиксу числа, §14 не покрывался вовсе; починено классом (`num_in`, точное вхождение), проверено сломом. Читать гейт как «грубые расхождения отсекаются», а не «числа сверены». Риг пятой редакции зафризен `6d79dfb` ДО выпуска пачки. **Инструмент сменён по находке, а не по вкусу.** Четыре независимых агента-судьи, получив ПАРНЫЕ пакеты с зеркальной раскладкой, все четыре свернули их обратно: оценили каждый уникальный текст ОДИН раз против исходника и разнесли числа. Оснастка переписана под это (`absjudge.py`): абсолютная шкала, позиции не существует как измерения, 138 прочтений вместо 320, семь контрастов вместо четырёх. ⚠ Требование ригов «зеркальная раскладка/оба порядка» (промт стр.59) писалось под ПЛАТНОГО судью и на агента не переносится — правка требований подлежит ратификации оркестратором. **ЧТО УСТАНОВЛЕНО ТВЁРДО** (Холм по объявленному семейству из 7, ноль вылетов leave-one-out, воспроизведено ДВУМЯ независимыми проходами по 16 судей каждый): второй проход поверх черновика покупает качество — `A/F3` +2.50 [+1.56, +3.47] Holm 0.0004 и `B/F3` +2.44 [+1.81, +3.19] Holm 0.0002 (⚠ не независимо: делят опорный арм F3, прямое `A` против `B` даёт +0.06 p=0.95); ⚠ эффект держится на ОДНОЙ оси — без ЯЗЫКА `A/F3` падает до +0.75 Holm 0.407 · однопроходка С МАНДАТОМ перевёрстки проигрывает связке крупно, `D/A` −3.31 [−4.47, −2.16] Holm 0.0014 (вклад делится: ЯЗЫК −1.34, ФОРМА −1.09). **ЧТО НЕ УСТАНОВЛЕНО:** ⚠ **однопроходка без мандата против связки порога НЕ проходит** — `D_/A` −2.00 [−3.34, −0.62], Holm 0.063. Направление воспроизвелось в обоих проходах, интервал ноль не накрывает, но формально утверждение не доказано; прежний заголовок «связка бьёт однопроходку» снят. Так же не проходят: мандат перевёрстки `D/D_` −1.31 Holm 0.109 · закон-блок `A_law/A` −0.75 · выбор движка `A_law/B` −0.69. ⚠ «Не обнаружено» ≠ «нет»: различимый эффект оснастки ≈2 ошибки. **ГЛАВНЫЙ МЕТОДИЧЕСКИЙ РЕЗУЛЬТАТ ПАКА — шум разложен: компоненты СОПОСТАВИМЫ.** Пол (две генерации одного арма, ОДИН судья, уровень сокращается точно) var 7.98 = 2σ²ген+2σ²судья; кросс-проход (один и тот же текст, два судьи, уровень снят центрированием) var 4.07 = 2σ²судья (с поправкой на степени свободы) ⇒ ⚠ **разложение шума НЕ УСТАНОВЛЕНО:** три способа счёта из тех же данных дают «генерация больше» (1.48/1.34), «поровну» (1.43/1.40) и «судья больше» (корреляция пола между проходами r=0.30 ⇒ 0.65), и ни один не отличим от остальных при n=16. Считать оценкой порядка величины; ⚠ какая больше, НЕ установлено: бутстрап даёт отношение 1.08 с ДИ [0.58, 1.44], P(генерация больше)=0.64. Судейская компонента подтверждена ПРЯМЫМ повтор-тестом (те же задания побайтно, новые судьи, σ 1.29, r=0.707); рандомизация раскладки стоит 0.08 sd, то есть бесплатна. Планирование: ×2 судьи дают SE 0.706→0.622 за $0, ×2 единицы — 0.706→0.500 за ≈$0.48. ⚠ Число исправлялось ДВАЖДЫ по адверсариальному ревью: «шум в генерации» опиралось на совпадение двух sd (совпадение дисперсию не раскладывает), «шум в судье, 73%» считалось на СЫРОЙ кросс-разности, куда входит разница уровней строгости, которой в поле нет. Свод и разложение считаются `absjudge.py --pool`, в дереве (прежде считались вне его). **ЭКОНОМИКА — РАЗМЕН, не доминирование.** Парно связка ДОРОЖЕ однопроходки на +0.00096/единицу, 11 из 16 (≈+20%), ⚠ но как УСТАНОВЛЕННЫЙ факт не держится: собственный точный тест даёт p=0.061, интервал накрывает ноль при удалении любой из 9 единиц. ✔ По ТОКЕНАМ жёстче: +7601 (+114%), 16 из 16, p<0.0001 — долларовая разница есть артефакт прайс-листа. Прежнее «связка дешевле на 6%» сравнивало медианы маргиналов и переворачивалось при парном счёте. Жилец роли редактора — `deepseek-v4-pro`, обоснование ЦЕНОЙ: полная связка $0.00580 против $0.01025 у `glm-5` (парные средние), не качеством. **⚠ ДЕТЕРМИНИРОВАННЫЙ КОНТУР ВЫВОД НЕ ПОДПИРАЕТ.** Батарея, пересчитанная на ТЕХ ЖЕ текстах, что судились, даёт другой порядок: `D` (худший по судье) — лучший по правилам. Расхождение локализовано в слипании абзацев, которого не проверяет ни одно правило. Контуры смотрят в разные части оси ФОРМА. **ЧЕТЫРЕ АДВЕРСАРИАЛЬНЫХ РЕВЮ, находки приняты без спора.** Сняты клеймы: «позиция исчезла по построению» (наклон +0.147 на шаг метки, измерен и поправлен) · «слипание у редактора не штрафуется» (штрафуется, 6 единиц из 16) · «связка дешевле» · «шум в генерации» · «ФОРМА конфаундом быть перестала» (размен внутри оси остался, лишь сошёлся в ноль). Починены исполнением: касса не видела оплачиваемых ею тегов `bo4-*` ($0.29309 мимо потолка) · гард пропускал `python -c` из каталога зоны · разбор ответов утаскивал соседнюю строку при пустом поле · контроль пола мерил разницу черновиков · приёмка требовала меньше, чем обещано судье. **ОСТАЛОСЬ НЕЗАКРЫТЫМ — требует владельца:** слепое чтение ВЛАДЕЛЬЦА (единственный контур вне семейства сессии; агентские читатели семейно зависимы) · армы **C/E/G** заказа не построены (точечный ремонт, обратная связка, маршрутизация; `route_arm.py` в текущем виде не запускается) · дрейф на связном отрезке 8–10 глав · пара en под абсолютным ригом · арбитр вне семейства (нужны кредиты xAI). ⚠ **Потолки ФАЗ промта пробиты:** Ф1 $1.07473 против $1.00, Ф2а $3.887 против $2.50; верификатор сверяет отчёт с сырьём, но потолки промта НЕ сверяет. **ВТОРАЯ ПАРА en→ru** (Kristoff, контаминация 1/5 против 4/5 у основного материала) заведена сверх промта по слову владельца 07.08. Пар-специфика боевого промта редактора измерена — **4 места из 42 строк**; пар-пакет `eval/role_topology/prompts/en-ru/` заведён правкой только их ⇒ новая пара стоит ~4 клауз в данных, правки Go не требует. **⚠ ВНЕШНИЙ БЛОКЕР ВЛАДЕЛЬЦУ: кредиты xAI исчерпаны** (HTTP 403 на 250 голосах). Второй судья заменён на `gemini-3.1-flash-lite` через положительный контроль (декой 6/6 в обоих порядках). Grok нужен и как судья 18+ — по quirks единственный живой на эротике. **Уточнение к quirks 00:** оговорка «на violence/SFW Gemini-судья жив» на вебновелле держится не целиком — 10 клеток пришли БЕЗ объекта сообщения с `finish_reason: content_filter: PROHIBITED_CONTENT`. Google непригоден как ЕДИНСТВЕННЫЙ второй контур на этом материале. **Эхо-мина черновика измерена как частота:** 5 ре-генов на 16 единиц zh (31% против документированных 15%), 0 на 12 единицах en. **Открыто:** дрейф на связном отрезке · армы C/E/G не гнались · банкнота как канал не замерена · разброс судьи-замены на повторе не измерен · чистый контраст мандата (у D_ своя вёрсточная строка, у D блок из 4 правил, промт ×1.92) · слепое чтение владельца · цена черновика, который реально правят армы. Не коммичу, кроме пре-рег-фриза; отчёт 21, харнесс `eval/role_topology/` и этот пинг — на лендинг оркестратору. **Поправки приёмки №15 (D39.108) к пингам ниже — шапки отчётов первичны:** verify_report = 20 проверок, не 19 · «вся сессия $2.1793» включала $0.107335 сырья research/24 — фактически 18+19+20 = $2.0720 · решающий замер §5.2 не персистирован («со слов»; направление держит §5.3) · цена раунда починки не входила в дифф (lu/ON 0.89→1.08) · offblock-числа сняты до-фризовым стемом. **ЭКСП-20 «РОЛЬ РЕДАКТОРА»: прогнан, отчёт `docs/experiments/20-editor-role.md`, $1.2285 из потолка $2.00 (поднимался дважды, оба раза объявлено ДО прогона).** 7 контрактов × до 5 моделей × 2 целевых языка + арм починки + три раунда слепого судейства. Числа отчёта сверяются с сырьём командой: `eval/editor_harness/verify_report.py` (19 проверок, проходит). **Роль редактора измерена и узка:** в бейк-оффе «перевод с нуля против редактуры черновика» второй проход выигрывает ОДНУ ось из шести — русскую прозу; верность и общий вердикт — ничьи. Совпадает с ратифицированным D32.1(г). **Ответ «нужен ли редактор» ЗАВИСИТ ОТ ПАРЫ «модель × роль» и переворачивается:** у `glm-5` связка выигрывает всё (вёрстка 6:0), у **`deepseek-v4-pro` — модели, стоящей редактором в `pipeline-c1.yaml` СЕЙЧАС, — второй проход отрицателен** (общий 1:5, обе целевые оси 3:3, при этом ломает фактуру). **Цену держит ПОИСК, а не правка:** арм «только найди» 2.14× от переписывания; починка по флагнутому спану — 12/12 дефектов снято на обеих моделях за **$0.000173** (luna), в 5-6× дешевле поиска. Это механизм конкурентов (AiNiee, LinguaGacha), которого у нас нет (`research/22:176` «флагаем, не чиним»). **⛔ Методическая находка, обесценивающая часть выводов:** разброс судьи на ИДЕНТИЧНОМ входе — 56% единогласия, 33% на несущих осях ⇒ судейство не разрешает разницу меньше ~2:1; перекрёстная проверка понижена до «не разрешает». Норматив: мерить инструмент ДО того, как им мерить. **Отозвано из эксп-19 дважды:** «дифф дороже» сужен до пары «модель × целевой язык» (`deepseek-v4-pro` 2.83 на ru против **0.67 на en**); а объяснение, которым эксп-19 снял арм E, ОПРОВЕРГНУТО репликацией с выверенным по проводу зеркалом. **Пинги бэкенду (чужая зона, не правлю):** (1) боевой гейт `disposition.go cjkEchoThreshold = 0.15` не ловит микро-утечку — `gpt-5.6-luna` роняет иероглифы в русскую прозу в 3 окнах из 6 при доле 0.5%; (2) банкнотный канал похоже тихо выключен — блока нет в `prompts/zh-ru/translator.md`, `translator-banknote.md` ни одним конфигом не выбирается, при том что холодный прогон банкноты собирал (56 из 128 ответов). Не коммичу; отчёты 18/19/20, правка квирков и пинг — на лендинг оркестратору. **ЧЕТЫРЕ ФАЛЬСИФИКАЦИИ Q4b ПРОГНАНЫ + РЕВЬЮ ПОСЫЛКИ + АДВЕРСАРИАЛЬНОЕ РЕВЬЮ РЕЗУЛЬТАТОВ (05.08).** Пре-рег фризнут `4d1d9e5` ДО платных вызовов; 90 вызовов `deepseek-v4-pro`, все `finish=stop`, **$0.349566 из потолка $0.50**, прогон верифицирован (`eval/premise_review/verify_run.py`: теги ровно плановые, деньги сошлись вторым путём до 1e-6, малформед 0). Отчёт — `19-editor-contract-q4b.md` §4–§6. **Итог армов:** G устоял (комплаенс 0.966 на боевой единице ≥0.90) · N ПАЛ — do-nothing покупается сужением мандата (NO_CHANGE 4/18 против 0/36) · L не засчитан как фальсификация (посылка про ручку `low` не выдержала пере-счёта) · E не засчитан (зеркало промпта конфаундировано на проводе). **⚠ ОТЗЫВ ПРАВКИ ИСТОЧНИКА ИСТИНЫ, сделанной этой же сессией:** `00-provider-quirks.md` §3б звено (а) («`low` на pro срезает размышление на треть») ОТОЗВАНО — решающее правило «диапазоны не пересекаются» при n=3/3 воспроизводится НУЛЕВЫМ вмешательством (два блока дефолта на побайтно одном запросе разделяются так же и с тем же размером ×1.47). Строка §3а (`low`→`high` для pro) ВОЗВРАЩЕНА В СИЛУ до замера с мощностью. Звено (б) про `xhigh` в силе и усилено. **Оркестратору: если правка §3б куда-то процитирована — сверить.** **Главное по существу:** «дифф дороже full-regen» реплицировано ТРИЖДЫ (2.913 · 1.677 · 2.468, последнее — на боевой единице и дефолтном режиме), но ПРИЧИНА не установлена: обе гипотезы (несъёмный thinking · русская фертильность) остались непроверенными. Размышление = 95% цены диффа, растёт с объёмом ВХОДА (×2.78 при входе ×3.24, p=0.0003) и сужением мандата НЕ снимается. ⇒ строку 106 закрывать выводом «диффы не берём» преждевременно; контракт механически исправен, проигрывает режим. **Проба 18 §C.5 (дозамер, $0.081326):** гипотеза «чемпион glm-5 был искалечен выключенным мышлением» ОПРОВЕРГНУТА — с мышлением 24/45 против 25/45 при цене 4,4× ⇒ ограничение №5 отчёта 18 снято; на роли терминолога разум не конвертируется в качество ни у одной проверенной модели. Не коммичу ничего, кроме пре-рег-фриза; отчёты и правка квирков — на лендинг оркестратору. **КОНТРАКТ РЕДАКТОРА: арм Q4b прогнан впервые — строка 106 закрыта эмпирикой (расширение зоны по слову владельца 05.08), отчёт `docs/experiments/19-editor-contract-q4b.md`, потрачено $0.194006 из потолка $0.40.** Пре-рег зафризен `52e12f3` до первого платного вызова; аппликатор самопроверен 9/9; 60 вызовов `deepseek-v4-pro`, все `finish=stop`, реплики ×3 на арм; материал переиспользован из пробы 18 ($0). Арм пре-регистрирован в `exp15:108` и **не гонялся ни разу** с момента постановки. **(1) Формат-гейт ПРОЙДЕН: комплаенс 0.975 / 0.949** при пороге 0.90, малформед 0/36 ⇒ опасение `research/19` («слабые модели на edit-форматах хуже, чем отдавая текст целиком») на боевом редакторе и русской прозе НЕ воспроизвелось; толерантный apply отбросил 6 операций из 158, черновик в этих местах цел. **(2) ⚠ ЭКОНОМИКА ПЕРЕВЁРНУТА — несущий результат: дифф-редактор в 1.5–2× ДОРОЖЕ full-regen** ($0.004157 против $0.002686 за вызов). Разбор выхода: у диффа **96% completion уходит на размышление** (3742 из 3904 ток.) против 58% у full-regen — поиск уникального якоря загоняет модель в долгую обдумку, а у DeepSeek reasoning биллится ВНУТРИ completion. ⇒ **довод `research/15` «дифф режет output-токены редактора, а это ~90% COGS» на thinking-модели НЕ ДЕЙСТВУЕТ и инвертируется**; ручки бюджета размышления у v4-pro нет (`low`→`high`), конфигом не чинится. **(3) Дифф выигрывает структурно на омиссии:** потеря атомов полярности 0–1 против 7–11 у full-regen (~10×) — «структурно omission-safe» подтверждено; числовые «потери» диффа оказались ложными (он ПРАВИЛЬНО приводит доли 成 к процентам), после вычитки ≈0. **(4) На fidelity-классе посадок паритет 100%** (к2 6/6 = 6/6); на классе несуществующих слов дифф стабильно хуже на 1/6 («струмель» выжила 1/3, «дерзновяжной» 2/3). **(5) ⚠ Дисциплина do-nothing НЕ покупается промптом: NO_CHANGE = 0 из 36** при явном разрешении жирным шрифтом; медиана 4.3 правки на вызов ⇒ вторая половина цитаты `research/19` («LLM-редакторы правят даже корректный вход — гейт снаружи обязателен») подтверждена, надежда на первую снята. **(6) Обе поправки к пробе 18, обе по репликам:** в блоке контракт НЕ различает (21/21 у обоих во всех трёх розыгрышах, дисперсия была только у базы БЕЗ блока); **клейм «блок поднимает канон вне блока до 24/41» ОТМЕНЁН** — 24 был удачным одиночным розыгрышем, медиана трёх = 20 при 18 у черновика. **(7) $0-находка, найденная до пробы:** канон ПОДПИСАННЫХ строк ВНЕ инъецированного блока = **18/41 (44%) уже в ЧЕРНОВИКЕ** (метрика `editor_contract/offblock.py`, 41 клетка, 18 сущностей) — инъекция селективна у ОБЕИХ ролей, дыра пайплайновая, а не редакторская; `花酒行者` («Монах Цветочного Вина») пришёл неканоническим от транслятора. **Терминология решается покрытием инъекции, а не контрактом правки.** **Вердикт:** формально дифф проходит стоп-гейт в прод-кандидаты, фактически НЕТ — по цене и по несработавшему do-nothing. Строка 106 из «когда-нибудь» переходит в «измерено, решение владельца»: дифф-контракт технически состоятелен и покупает omission-safety за +50–100% цены на thinking-редакторе. Не гонялось: reflow-проход Q4c, судейский риг (проза и переверстка НЕ сравнивались). Сырьё `~/books/gu-zhenren/bank-arbitration/` префикс `ec-*`, риг `eval/editor_contract/`. НЕ закоммичено кроме пре-рег-фриза — лендит оркестратор. **Редакторский провод под доктриной закона + фронтир-пасс (промт `POLYGON_EDITOR_WIRE_PROBE`, D39.103/104) — ИСПОЛНЕН, отчёт `docs/experiments/18-editor-wire-probe.md`, потрачено $0.174390 из потолков $0.30+$0.50 (04.08).** Пре-рег зафризен коммитом `080c15d` за 46 с до первого платного вызова; байт-идентичность провода edit-стадии c1 доказана ИСПОЛНЕНИЕМ (overlay-`go test` реальных `SystemFor(false)`/`MessagesWithInjection`/`RenderEditorConstraintBlock` — sha256 всех трёх сообщений совпали с харнессом). 50 вызовов, все `finish=stop`. **Проба A (v4-pro, $0.070293):** (1) **единый закон-блок исполняется 21/21 клеток, 6/6 окон** ⇒ доктрина D39.104 на редакторском проводе подтверждена, двухсекционка не нужна; (2) **несущая находка, которой не ждали: редактор БЕЗ блока сам ломает канон черновика — 5/20 клеток в одном розыгрыше контроля и 12/20 во втором** (A5 по проводу = тот же контроль; «71%→100%» ошибочно как величина, честно «без блока 8–15 из 21, с блоком 21/21»). Редактор — не пассивная стадия, а самостоятельный источник разнобоя: «юань-камни», «изначальная сущность», «мастер гу», «Гу Юэ Мо Бэй»; (3) **цена неверной строки на редакторе НЕ МЕНЬШЕ, чем на трансляторе: принята 6/6, вытеснила верную 5/6** (§C research/24 — те же 6/6 и 5/6); единственный выживший случай — глосса «Юаньхай — море истинной ци»; (4) **межоконная консистентность единогласна 6/6** — инъекция канал разнобоя между главами не открывает, что и есть несущий довод D39.104; (5) **A5, первый замер класса: посаженные дефекты черновика редактор чинит 12/12** (абракадабра 6/6, смысловые инверсии 6/6, глазами против исходника), НО в тех же вызовах ВНОСИТ свои — тихий **обрыв выхода на полуслове при `finish=stop`** (1176/16000 ток., кандидат в `00-provider-quirks.md` по v4-pro), 五百年→«полувекового», разбиение реплики, переименование реалии вне блока; (6) **кандидат-оговорка области §B НЕ ПОДТВЕРЖДЕНА и работает в обратную сторону**: арм БЕЗ неё передал метаязыковой пассаж по смыслу 2/3, арм С ней — 0/3 (приклеил канон 2/3, потерял пассаж 1/3) ⇒ в `injection.txt` не вносить; (7) оговорка «не течёт 0/6» — метрика присутствия к протечке слепа, по счёту УПОТРЕБЛЕНИЙ 元石 8→4, 蛊师 4→3: **нулевая протечка не измерена**. **Проба C (терминолог по 45 голд-термам, $0.104097):** слаги владельца опознаны live `/models` — `gpt-5.6-terra`/`gpt-5.6-luna` (есть и `gpt-5.6-sol`, не назывался); **wire-квирк GPT-5.6 замерен, не угадан: плоский `reasoning_effort` в Chat Completions ЖИВОЙ** (`reasoning_tokens` 0→48 terra, 0→57 luna), Responses API не понадобился. **Фронтир НЕ ОПРАВДАН по пре-регу** (нужно ≥+5): pro −9, terra −7, luna −7 против glm-5 25/45. **Но сырой вердикт врёт о причине:** после фолда конвенции `古月` (7 поверхностей + `人祖`) разрыв исчезает — terra и luna догоняют до 26/45, net ±0 ⇒ 7 из 9 «промахов» фронтира это орфографическая конвенция, а не ум. **Конвенция составных фамилий стоит 8/45 голда и перекрывает разницу между ВСЕМИ моделями — рычаг данных сильнее рычага модели (усиливает research/24 §D п.9).** Экономика: **`gpt-5.6-luna` = качество glm-5 за $0.23/книга против $0.59 (39% цены)**, дешевле даже flash-low; `gpt-5.6-terra` — то же качество за $2.61/книга (×11 к luna, 0 клеток); `deepseek-v4-pro` 24/45 за $0.43 ⇒ довод «pro умнее» на роли терминолога пуст. **Адверсариальный проход author≠reviewer пройден** (независимый агент от задания и сырья к отчёту, пере-счёт всех чисел своим кодом): вердикт «принять с правками», все числа CONFIRMED, 8 находок сверх отчёта — все пере-проверены мной по сырью, все подтвердились и вправлены (в т.ч. **девиация пре-рега №1: на провод ушёл заголовок со скобкой ПЕРЕД оговоркой, а не как в §0.3** — при внесении §B брать отправленную строку). Объявленные девиации: пост-хок репликация AM (+4 вызова), `cap=8000` у terra, `frontier_probe.py` вне фриза. Сырьё durable `~/books/gu-zhenren/bank-arbitration/` (префикс `edp-*`/`fdp|flu|fte-*`, 134 json), харнесс `eval/bank_arbitration/{editor_wire_probe,frontier_probe}.py`. **Вопросы уровня владельца/оркестратора:** (а) §B в движок — только единый блок, оговорку НЕ вносить; (б) обрыв при `finish=stop` — заводить ли в квирки и гейт; (в) конвенция `古月` данными пар-промпта; (г) luna как кандидат в терминологи. НЕ закоммичено (кроме пре-рег-фриза) — лендит оркестратор. **Арбитраж банка (строка 5, пере-запуск промта D39.89 по слову владельца, потолок $1.00) — ИСПОЛНЕН, отчёт `docs/research/24-bank-arbitration.md`, потрачено $0.0896 (04.08).** Главное: (1) голд 53 approved сида → 45 в BANK-FULL, из них у 27 промахов прод-банка верный dst лежал в вариантах черновиков лишь у 5 ⇒ **потолок любого «выбора из вариантов» = 17/45, селекционный арбитраж закрыт классом**; (2) свежий терминолог-соло (flash-low) бьёт бесплатный базис §C2-3 **+8/−0**, а **равноправный консилиум НЕ окупается**: +3 к само-согласованности = одна конвенция 古月; лучший одиночка glm-5 25/45 > лучший совет 23/45; добавление grok РОНЯЕТ совет 23→20; C3conf(взвешенный уверенностью) ≡ C3; ⟦TM-NO-DST⟧ = 0 на 35 вызовах трёх семейств; (3) **вербализованная ЧИСЛОВАЯ уверенность разделяет внутри модели** (AUC 0.77–0.85, слова хуже 0.63) при тотальной overconfidence (~88 при точности ~50%) — жить ей ordinal-очередью ревью, не арбитром; (4) **химера семьи 古月 воспроизведена причинно на границе батча** (свежий deepseek: «Гу Юэ» ровно в батче 2, «Гуюэ» ровно в батче 0), а по-терминная МАРШРУТИЗАЦИЯ (улики-первым) сама создала химеру 转-серии ⇒ единица арбитража/роутинга — кластер; DetectSeries разнодлинные семьи (古月×15, 蛊×14) не видит; (5) **проба инжекта: инъекция поднимает следование канону 43%→95%, НЕВЕРНАЯ строка законом принимается 6/6, с маркером ⟨проверить⟩ — тоже 6/6 (Δ=0 п.п.): пометка на транслятор-проводе поведенчески пуста**, цена неверной строки банка = ~100% заражение; (6) индустриальный обзор: стандарта арбитража термов не существует, наш дизайн впереди ближайшего аналога (DelTA first-wins); пропущенных стандартов нет. Рекомендации тремя корзинами в §D (строить: кластер-канал семей · intra-run CanonConflicts · наблюдаемость Signals/invented/conf · нормализованный голос foldVariants; закрыть: равноправный совет · кросс-модельные веса · self-consistency · селекция · отказ-сигнал). 4 вопроса владельцу в отчёте (мини-голд алиасов · конвенция составных фамилий · проба редакторского провода · фикс-пак корзины 1). Два адверсариальных раунда author≠reviewer пройдены (р.2 поймал 4 неточности, все вправлены; моя ложная оговорка про grok-ростер снята сырьём). **Достройка по вопросам владельца (тот же день, +$0.0161, итог $0.0960):** (а) $0-демо ценности на живом банке — intra-run чек связности поймал бы **18 невидимых противоречий на 149 финалов (12%)**, а нормализованный фолд голосов двигает топ лишь 1/75 (понижен до косметики); (б) **мультиязычная проверка ja→ru и en→ru (`multilang_probe.py`): направление инжект-выводов ПЕРЕНОСИТСЯ** — закон слушается, неверная строка принимается (ja 2/2, en 1/1), маркер Δ=0 на обеих парах; попутно ja-батч бэнк-вызова вернул термы упрощённым китайским — off-language класс, который парослепой экран `OffLanguage` отбил бы (несущая защита для будущей ja-пары). **Кросс-пары по слову владельца (тот же день, +$0.0113, итог $0.1073): §F/§G отчёта.** F1 zh→en: свежая en-редакция по тому же ростеру дала «Rank 1..9 · Grade A/B/C/D · Aperture · Gu Master» — **41/45 (91%) совпадений класса решения с подписями владельца** (банк НЕ однобокий; буквенный маппинг 甲→A, недостижимый для ru-моделей, en-моделью взят — довод за сид/бриф-канал); fan-канон RI по памяти сессии ещё ближе к владельцу (元石 primeval stone = «первобытный камень»); ру-специфика ровно одна — слитность «Гуюэ». F2 en→zh (Кристофф-2026): deepseek идеально связал семью *-blood (X血者), **glm сломал корень внутри ОДНОГО батча** и разошёлся в имени Aaron между соседними окнами (艾伦↔亚伦) — дрейф, от которого банк существует, воспроизведён на en→zh; deepseek выдумал 5 незапрошенных строк (нужность гарда `want[key]` кросс-парно подтверждена); личная оценка прозы обеих моделей — «редактируемо-издательская», узкое место всех направлений — термы, не слог. **§G — дизайн-синк алгоритмов бэкенда** (готовый вход фикс-пака класса D39.71): G1 `DetectFamilies` (данные-гейтед, имя=префикс/реалия=суффикс, без транзитивности, мёрж в seriesID) · G2 `ConsolidationConflicts` (18/149 на живом банке) · G3 наблюдаемость (Signals/Invented/Conf + фикс ParseReply-джойна) · G4 кластерный роутинг рецензента · G5 фолд-косметика · G6 явные «не делать». **Финальный рерайт отчёта по слову владельца (04.08):** сага/хроника правок убраны, факты и оговорки сохранены, §G сведён к уровню алгоритмов; **раунд 3 адверсариала (независимый агент по диффу v1→v2): числа 100% чисты пере-раном, новые клеймы подтверждены первоисточниками; его блокер (рерайт сжал зарегистрированные пре-реги §0/§E/§F) закрыт восстановлением пре-регов дословно с явной пометкой девиаций, потери фактов возвращены.** v1-черновик — `docs/archive/reports/DRAFT_BANK_ARBITRATION_V1_2026-08-04.md` (помечен черновиком в шапке и именем; перенесён по слову владельца 04.08). Сырьё durable `~/books/gu-zhenren/bank-arbitration/` (84 json), харнесс `eval/bank_arbitration/`. НЕ закоммичено — лендит оркестратор. **→ ПРИЁМКА №13 (04.08, D39.102): ПРИНЯТО и залендено.** Поправка арифметики пинга выше: инкремент §E = **+$0.0065** ($0.0896 → $0.0960); «+$0.0161» — склейка инкрементов пробы C и §E ($0.0097+$0.0065), леджер отчёта чист (независимый пересчёт из сырья $0.107334). Оговорки приёмки — ревью-шапка `research/24`; находки сверх отчёта — строки 128–132. Вопросы отчёта закрыты ВСЕ (D39.103/104). АКТИВНЫЙ промт полигона — `docs/POLYGON_EDITOR_WIRE_PROBE_SESSION_PROMPT.md` (проба редакторского провода ≤$0.30 + фронтир ≤$0.50; отчёт — `docs/experiments/18-editor-wire-probe.md`). **Сырьё арки банка + пробы фиксов (01.08) — приняты и залендены, детали в журнале выше (D39.65).** *(Закрытые записи 26.07 — пакет-6 «размеченный набор» (D39.39) и пакет-8 «три пре-замера» (D39.43–46/50/52) — в [archive/PROGRESS-2026-07-25-31.md](PROGRESS-2026-07-25-31.md); пакеты Р6+P4 и ToS — журнал выше (D39.57/61).)*