# Журнал прогресса > **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-08-08, голова D39.113; хендофф №14→№15 — D39.107). ⚠⚠ **ИНЦИДЕНТ 08.08 00:13 (D39.113): агент моей панели откатил незакоммиченные правки СЕМИ файлов чужих сессий** — `git checkout -- .` в реальном дереве вместо песочницы. Пинг полигона в этом файле ВОССТАНОВЛЕН из бэкапа 00:08; безвозвратно потеряны правки отчёта эксп-21, промта полигона, Приложения А контракта и трёх скриптов `eval/role_topology/`. Коммиты целы. Инвентарь и норма изоляции панелей — D39.113. ⚠ **Оркестраторов сейчас ДВА, зоны разведены явно (решение владельца 07.08):** №15 — приёмка ПЛАТФОРМЫ (исполнена, D39.109–D39.112; записи верифицированы независимым агентом, поправки — D39.112) · ВТОРОЙ, параллельный — приёмка ПОЛИГОНА (эксп-21, ждёт результатов; его пинг лежит в секции «Полигон» незакоммиченным). **Номер второму НЕ выдан намеренно:** канонический счётчик один и живёт в `ORCHESTRATOR_SESSION_PROMPT.md`, а выдавать номер сессии, которой я не писал промт, — второй носитель состояния. Одновременно не запускаются; CURRENT-STATE ведут оба, каждый пишет про свою зону и чужую строку не трогает. > - **Сессия №15 (07.08, ИСПОЛНЕНА):** **приёмка платформы P1+P2 — ПРИНЯТО и ЗАЛЕНДЕНО `fcdab81`** (62 файла, +7066/−252; D39.109). Адверсариально: своя батарея с живым PostgreSQL 18.4 (скипов ноль) · 45 СВОИХ мутаций (33 поймано, 8 выжило, 4 моих посадки негодны и разобраны) · живые пробы на боевом бинаре (PD-2 отпускает на 30.0 с; RFC 9207 сверен у Google) · панель 7 линз с опровергателем на каждую находку. Ратифицировано 6 решений (срок сессии 30 суток — **CONFIRM владельца 07.08 получен** · `iss` авторизационного ответа + миграция 00008 · §13 политики сессий · ломающие изменения зоны · `MemoryMax=80%`+`OOMPolicy=continue` · PD-71 риском). Регистр зоны → **PD-107**: 37 открыто, из них **3 major** (PD-80: вход выключается ~3 rps, и 429 колбэка добивает начатые входы; PD-95 и PD-105 подняты эрратой как задание эмиттеру), 14 minor, 20 info. **Живой уязвимости нет.** ⚠ **ЭРРАТА 07.08 (поймано вопросом владельца, не процессом):** приёмка пропустила, что **D39.106 п.3 снял пайп-транспорт** («PD-59 superseded; пайп-путь `supervisor.go` P1 = дев-режим»), и приняла зонную секцию «канал остаётся stdout» как живое решение. Ратифицированная форма — транзиентный systemd-юнит на прогон, платформа НЕ родитель, события = `events.jsonl` каталога книги, платформа ТЕЙЛИТ с курсором (`research/25` §Форма; родитель+пайп 0/15 голосов). Исправлено: секция журнала помечена superseded, PD-95 переписан и поднят в вес, PD-92 понижен до info, PD-105 повышен, PD-60 пере-диспозиционирован; вердикт лендинга не меняется (код и был дев-путём по D39.107 п.3). ⚠ Пять строк реестра — движковые по существу и должны быть разрулены ДО промта эмиттера (строка 103): PD-95 (транспортная история зоны устарела против D39.106 в двух местах — эмиттер-сессия прочтёт её как задание) · PD-105 (дубль `seq` = убитый платный прогон против норматива «дубль не ошибка»; при тейле файла повторная доставка — норма) · PD-79 (строковый `"null"` в цене = ноль денег) · PD-99 (argv на INFO — деньги/book-id при воркере) · PD-107 (удаление аккаунта обходит гарантию PD-25) · **PD-60 и PD-61** (обратное давление и сброс буфера — свойства эмиттера, задаются дешевле ДО постройки, чем миграцией после; PD-60 переформулируется под файл-транспорт). **Потолок прогона РЕШЁН владельцем 07.08 и ратифицирован формой (D39.110):** шкала в интерфейсе от минимума (ноль нельзя) до баланса аккаунта ⇒ Р7 не амендируется, «выключено» не существует как состояние. Добор: единица шкалы — ГЛАВЫ, не доллары (иначе амендмент D39.84) · потолок в `book.yaml` НЕ пишется, движку нужен приём на прогон — НОВАЯ строка **145** · максимум шкалы = баланс минус открытые холды. **Фри-тир:** ответ дан нормой (автогрант без якоря — не стандарт; `email_verified` Google якорем не является), предложение оркестратора — на бете дефолт в НОЛЬ и начисление руками, при платежах $5 вместе с суточным потолком; **ждёт слова владельца** (PD-104, там же расхождение док↔код: реестр обещает ноль, код начисляет $5) · **приёмка экспов 18/19/20 ИСПОЛНЕНА и залендена** (D39.108: приняты с ревью-шапками; §5.2 экспа 20 — «со слов»; деньги сессии полигона $2.0720; квирк §3б отозван, §3а в силе; D21.4/D21.10 закрыты) · **эксп-21 «топология ролей» — промт выдан** (`POLYGON_ROLE_TOPOLOGY_SESSION_PROMPT.md`: скрин моделей по 7 ключам → бейк-офф топологий на невиданном срезе; потолки ПРЕДВАРИТЕЛЬНЫЕ ≈$7.3 стадиями; **ЗАПУСК = слово владельца**) · строки 135–144 заведены, 103/106/134/65/55/12 пере-диспозиционированы · дальше по D39.107 п.3: промты эмиттера (бэкенд) и денег шва (платформа) — по команде · запуск S3 (промт готов, `6ac26f3`) · вахта deepseek-v4-pro — пере-проба маппинга вшита в Ф1 эксп-21 · мини-проба флора 44 — одобрена, промт не выдан. **Открыто на владельце:** запуск эксп-21 (потолки + готовность слепого чтения ~50 пар) · передача платформы · Приложение А `14-api-contract` (незакоммичено) · запуск S3 · 116 (порог подан) · мини-проба 44 · подпись денежного шага 46 · лист В-3+К-6 · вопрос платформы (авто-резюме `paused`). > - **Сделано (сводно; детали — 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). > - **Курс:** ОБЩНОСТЬ ✅ → КАЧЕСТВО БАНКА ✅ → ПАКЕТ-ЧЕКЕРОВ ✅ (D39.59–78) → **ФРОНТ-ЭРА открыта** (D39.81–100: зоны `frontend/`+`platform/` живые, контракт API ратифицирован). Развилка блокера 0731 решена вариантом (б) и ИСПОЛНЕНА (D39.87/91: `reasoning_effort:"low"` черновику + ручка эффорта бэнк-ролям, код `553f1a3`); отладочный прогон C не стартовал ⇒ **строка 16 жива и оси голоса 13б без данных**; пак экрана 46 — дизайн заморожен (D39.92 п.1 + D39.93), промт ждёт выдачи; coldrun-b фаза C заморожена чекпойнтом — легитимный исход (D39.86); эталон денег/поведения — coldrun-a (read-only). Числа и хроника закрытых паков — D-лог D39.79–97, сюда НЕ дублируются. > - **Горизонт (D39.62/67, освежён D39.95):** ре-проба flash ИСПОЛНЕНА и строка 74 закрыта (D39.86/91; порог 6/6 → пере-ратификация выборочным, строка 116; проба Q2 ИСПОЛНЕНА — research/24, D39.102: семейства не окупаются, остаток = рецензент спорных кластеров при ре-пробе 74; эмиссия Q7 — по слову) → **ДОБОР ИДЕАЛА** (первым прогоном: оси голоса 24 · авто-режим · итерация №2 редакторов 65 · цена 16 · веса K1–K12 13а · вне-претрейн чекпоинт 55) → ВТОРАЯ ПАРА живьём (ja→ru; преп 81) → МАСШТАБ → пилот Ф2.5 (гейт резюме-строки 80; строки 62–68, 85) → Ф3 ридер-IDE (69–71). **Стоячие:** ToS-триггер 25.10 · Ш-2 до go1.27 (⚠ + x/text-таблицы Unicode 17 тем же тулчейном — строка 119/реестр 108) · проба провода исполнена и 117 закрыта (D39.97), конфиги 112 залендены — платные прогоны разблокированы. > - **Стек:** draft deepseek-v4-flash thinking-ON (банкнота: ⚠ канал в shipping-c1 НЕ включён — жив ран-локальным конфигом книги, строка 140) **⚠0731** → терминолог (та же модель, батчи, экран `target_script`) → editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (⚠ exp20/D39.108: второй проход на dspro отрицателен по слепому суду — судьба роли = эксп-21; ⚠ вендор АНОНСИРОВАЛ смену маппинга эффорта pro «early August 2026» — вахта в реестре 108; glm-5 резерв) → судья gemini (Ф2, полигон); канал B Mistral+grok; ~$0.85/ранобэ (D30.4) — 112 залендена (D39.97), пере-калибровка цены при следующем платном прогоне. > - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже** (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). **СЧЁТ ОЧЕРЕДИ на 07.08 (D39.110, скриптом по таблице; обновлять при каждом лендинге):** всего **120** строк · зона бэкенд **62** строго (ячейка ровно «бэкенд») / **79** широко (ячейка содержит «бэкенд») · **блокеров очереди 0**, платные прогоны разблокированы · «скоро» **32** (2·4·18·46·49·55·99·100·101·103·108·109·113·114·116·118·119·120·121·125·**126**·128·129·130·134·**135·136·138·139·140·143·145**) · гейт-строки эксп-21: 65·106·142; строка 5 — остаток гейчен ре-пробой 74 (D39.102 п.2); остальное «когда-нибудь». ⚠ **Счёт — НИЖНЯЯ граница долга, а не потолок:** трекер содержит только замеченное, и 02.08 дважды за $0 свежие глаза вытащили из кода дефекты, которых в нём не было (релей фронта → строки 99/100/102; приёмочное ревью → третий шов `repair.go:384` в 104 и честность `quality.go:436` в 105). Лента ✅ выше — про ЗАКРЫТЫЕ паки, читать её как «долга нет» неверно (разбор — вопрос владельца 02.08, D39.89). > - Архивы хроники: `archive/PROGRESS-2026-07-04-10.md` (D31) · `-10-13` (D39.6-гигиена) · `-13-25` (стройка паков 11–16, rerun2) · **`-25-31` (паки 17–20 · мини-прогон · полигон-пакеты 5–8 · ToS · холодный прогон; D39.26–58)** · **`-08-01-02` (сессии №9/№10: общность · качество банка · coldrun-b · открытие фронта/платформы; D39.59–90, срез D39.105)**. Записи ниже — живой хвост (№11+, эра D39.91+). ## Бэклог (ЕДИНЫЙ, собран 26.07, актуализация 04.08 D39.99/D39.101; правки — только через оркестратора) Закрытые строки здесь НЕ хранятся — они уходят в D-лог с номером решения. **ID строки стабилен навсегда** (не перенумеровывается и не переиспользуется — на «строку N» ссылаются доки и промты, D39.80). Вес: «блокер-очереди» = мешает текущему шагу · «скоро» = ближайшие 1–2 касания · «когда-нибудь» = записано, не потеряно. Длинная строка начинается жирным лидом — таблица сканируется по лидам. **Зонные бэклоги (решение владельца 02.08, D39.84):** фронт и платформа ведут СВОИ бэклоги (`frontend/docs/BACKLOG.md` · `platform/BACKLOG.md`) — их строки сюда НЕ заходят; здесь движок/полигон/доки, включая движковые стыки фронта (зона «бэкенд», как 99–102); строки 96/97 переехали в платформенный (П-1/П-2), надгробия-указатели сохранены. | ID | Хвост (одной фразой) | Зона | Вес | Чем закрывается | Источник | |---|---|---|---|---|---| | **— ВИСИТ НА ВЛАДЕЛЬЦЕ —** | | | | | | | 2 | Четыре вопроса границы «алгоритмического идеала» (Annotator · семантический судья · ja→ru §B5 · ru-target до/после) | владелец | скоро (гейт «добора идеала» перед МАСШТАБОМ) | отдельное решение | D39.33, D39.38 | | 4 | **Ре-чек ToS по триггерам** — первый ИСПОЛНЕН 31.07, дельт вердиктов нет (D39.57); предмет Google-мониторинга перевешен на цепочку договора (PUP · Additional ToS · Google APIs ToS); следующие: квартал 25.10.2026 · первая лейблованная книга · любая правка `accepts_labels` | владелец/полигон | скоро (следующий триггер 25.10.2026) | отдельное решение (правило) | D39.32, D39.57 | | 5 | **Арбитраж банка: замер ИСПОЛНЕН и ПРИНЯТ (research/24, D39.102).** Закрыто классом: равноправный совет · кросс-модельные веса уверенности · self-consistency · селекция из вариантов · отказ-сигнал ⟦TM-NO-DST⟧; Q2 отвечен — семейства не окупаются (C3−SC=+3 и все три добычи = один кластер; glm-соло 25/45 > совет 23/45). **ОСТАТОК СТРОКИ:** рецензент-другого-семейства ТОЛЬКО на спорных КЛАСТЕРАХ (слот при ре-пробе 74), роутинг целыми family/series-юнитами (G4), эмиссия рецензента — та же draft/⟨проверить⟩. История захода — D39.89/90/101/102 | полигон/ресёрч | **ОСТАТОК ГЕЙЧЕН ре-пробой 74** (D39.102 п.2) | замер (остаток) → решение | D39.89, **D39.102** | | 6 | **Строка Gemini в `accepts_labels`** — ждёт слова владельца о подписи интерпретации сужения как разрешения; ре-чек 31.07 понизил приоритет: подпись даёт ПРАВО, но не судью 18+ (фильтр неконфигурируем D22.6 + обход запрещён договором) — возвращаться при вопросе, требующем именно права | владелец | когда-нибудь | отдельное решение | D39.32, D39.57 | | 7 | Q2 «редактор под `sexually-explicit`» (grok-4.3 интерим · glm-5 после сверки ToS Z.AI · mistral вон) | владелец | когда-нибудь (перед первой explicit-книгой) | отдельное решение | D39.27 п.7 | | 8 | D22.7 пер-чанковый L3-скрин — несня­тое предусловие первой erotica-книги в проде, отдельный гейт | владелец | когда-нибудь | отдельное решение | D22.7, CURRENT-STATE (оркестратор) | | 9 | Промпт-слой под лейблом: лейбл не доезжает до промпта — должны ли переводчик/редактор знать о свойстве контента | владелец | когда-нибудь | отдельное решение | CURRENT-STATE (владелец, из пака-17) | | 10 | Дата создания аккаунта OpenAI (низкий приоритет, OpenAI вне цепочки) + применимость OpenAI Sharing & publication policy 2022 (quirks:128) | владелец | когда-нибудь | отдельное решение | D39.32 | | 11 | Флип coverage-гейта (`enabled:false`, D12-Q4) — за подписью владельца ; при флипе решить судьбу v1.1 quote-absorption (D12-Q1, Python-first лок-степ) | владелец | когда-нибудь | отдельное решение | D39.34(2) | | 12 | **`postcheck_gate` в hard-gate** — требует пере-замера recall (recall чекеров измерен и низок); ⚠ «fn=0» демоции #10 класс-вакуумен на labels (ноль одно-Han-позитивов, D39.78) — пере-замер обязан добрать одно-Han-позитивы, на «fn=0» не опираться; одно-Han-класс при gate-on вне гейта (Unverified+Demoted); тем же решением строится HARD-value-детектор 成/万 (Q3 §6 — честный hard-gate требует value-чека; либо раньше при ненулевом потоке value-дефектов добора, D39.79) · recall существующих гейтов на невиданном срезе печатает арм C эксп-21 (D39.108) | владелец | когда-нибудь (после фазы 2) | отдельное решение | D39.34(2), D24.4+D28.1, D39.39, D39.78, D39.79 | | 13 | **Включение платной петли ремонта + per-class исходы ремонта** (схемное решение принимается вместе) — вернуться при расширении классов детекторов и ненулевом остатке; ⚠ при включении: репэйр-гард №5 после #10 слеп на одно-Han-дифференциал (демоция в обоих прогонах ⇒ 0>0 — репэйр, стёрший верно отрендеренный одно-Han-термин, не ветируется; D39.78-ревью) | владелец | когда-нибудь | отдельное решение | D39.38, D39.39(а), D39.78, CURRENT-STATE | | 13а | Веса рубрики K1–K12 не выбраны (Q1: «по данным фазы B»; фаза B прошла на BWS без весов — выбор нужен к агрегатной приёмке качества книги) | владелец | когда-нибудь (к пилоту) | Ф2.5 / отдельное решение | D39.44 Q1, D39.46 | | 13б | **`speech-cue.txt` zh НЕ шипить до замера голос-флаггера на холодном прогоне** (данные для недоказанного детектора = инерция; вывод обсуждения 31.07): оси пустые → файл не нужен, оси ловят → решение владельца о шипе (байты двигают `LangpackVersion`). ⚠ **Замера ВСЁ ЕЩЁ НЕТ (D39.86):** поверхность вывода построена (строка `VOICE` в `tmctl report`), и живое чтение coldrun-a даёт `flags=0 over attributed=0 of replies=0` — но это НЕ «оси пустые»: флаггер живёт на ФИНАЛЬНОЙ волне (`waverun.go:392,512`), а редакторская волна там не гонялась ⇒ оси не считались НИ РАЗУ. ⚠ И поле `rules=` в новой строке говорит «гейт СКОНФИГУРИРОВАН» (читается из конфига ВРЕМЕНИ ОТЧЁТА, `quality.go:436`), а не «гейт отработал» — честный дискриминатор это ЗНАМЕНАТЕЛИ (`replies=`); читать так до фикса (строка 105) | владелец | отложено-до-замера | первый прогон добора идеала С РЕДАКТОРСКОЙ ВОЛНОЙ (оси голоса, строка 24) → отдельное решение | D39.56, PACK19_BUILD §7.2, чат 31.07, D39.86 | | 14 | **Четыре data-инженерных флага фазы-2 общности, каждый с рекомендованным дизайном** (§5 отчёта): ё-фолд → target-данные (`char_fold`; смена сигнатуры core-примитива через вердикт-несущий банк, сдвиг `memory_version`) · segmentation-фолбэк громким (ломает контракт corridor-фолбэка `pipeline.go:839-848` + голден-фикстура на нём; лечение — объявить блок в голден-yaml) · `Fertility` per-script map (калибровка ждёт боевого токенизатора) · `source-encoding.txt` + Go-реестр декодеров | владелец | когда-нибудь (следующий пак общности) | отдельное решение | D39.64, GENERALITY_PHASE2 §5.1–5.4 | | 86 | **Мелкие открытые решения одним списком** (свип D39.66): echo-семантика дропнутого c-lite-члена (D39.18 — оставить pre-c-lite?) · magnitude-кап тяжёлой CJK-утечки (D38.3 п.4в; сейчас strip+flag) | владелец | когда-нибудь | отдельные решения | D39.66, D39.69(feed_cap закрыт §1) | | **— ХВОСТЫ ХОЛОДНОГО ПРОГОНА (исполнен достаточно, D39.58; Р7 владельца) —** | | | | | | | 16 | Полная цена холодного старта: edit-волна не гонялась (Р7); измерено всё ДО редактуры (драфт+банкнота $0.0247/волна · терминолог $0.006–0.013/проход). ⚠ **Прогон НЕ НАЧАТ и закрыт владельцем как неуспешный на этом этапе (02.08, D39.90)** — деньги фазы C не тронуты ($0). Свежие числа с пробы `bank-low` (10 глав, `low` на черновике И на бэнк-ролях): черновая волна 20/20 ok — $0.031639 flash + $0.010350 pro · терминолог $0.005750 · классификатор $0.004286 · **весь заход $0.045095**, леджер ≡ независимому пересчёту до нуля. Редакторская волна по-прежнему НЕ гонялась ⇒ строка жива, и она же держит оси голоса (13б/24) | бэкенд | когда-нибудь (первый прогон добора идеала — после решения по 46) | добор идеала | D39.58, **D39.90** | | 18 | **Эмиссия головы 蛊**: сид-половина = чек-лист (определяющий терм книги сидится `allow_short`, D39.50); эмиссия-КАНАЛ демотирован до ИЗМЕР-ГЕЙТА (Q7): полигон-замер «меняет ли эмиссия головы рендер композитов» — строить ТОЛЬКО по эффекту и ПОСЛЕ #10 (однознаковый пост-чек чинится чекер-паком); перед стройкой резолвить K-гейт и KWIC-грязь одиночной головы | полигон → бэкенд | скоро (санкция Q7 D39.70 — после #10, очередью с ре-пробой) | полигон-замер → решение | D39.58, D39.60, D39.69 | | 24 | **Остаток: авто-режим флага** (проект Б не гонялся) · оси голоса A–D (профили не подписаны; черновик готов — `coldrun-a/SIGN-PACKAGE.md` §3) ; + слот инъекции голоса и решение gates.voice при ненулевых осях (D39.55/D21 п.2) · слой-2 voice не строим до доказательства слоя-1 · сверить until_ch 白凝冰 при курации сида (D19.3в) | бэкенд | когда-нибудь (первый прогон добора идеала) | добор идеала | D39.40, D39.58 | | **— ТЕКУЩАЯ ОЧЕРЕДЬ (D39.59) —** | | | | | | | 78 | **Леджер денег = НИЖНЯЯ граница**: «2xx body decode failed (call IS billed)» — провайдер списал, исходная попытка в `request_log` НЕ попадает (≤$0.009/сессия); дизайн фикса ГОТОВ (GENERALITY_PHASE2 §5.6: `BilledDecodeFails` + per-billed-attempt settle с `Estimated=true`), но это money/ledger-путь — не $0-хастл. **Живое число (D39.86):** на ре-пробе 74 — 3 таких вызова на 14, неизвестность **$0.015111** при леджере $0.114378 (13% захода); движок засеттлил оценку и честно напечатал `estimated-cost rows: 3` ⇒ канал ВИДЕН, но `decode_error` при этом ещё и терминален (не retryable, не escalatable) — 3 из 7 терминальных флагов пробы A | бэкенд | когда-нибудь (money-паком) | отдельное решение (дизайн §5.6) | D39.61, D39.64, D39.86 | | 79 | **Граница ПЛОТНОСТИ письма для серий**: `enabled` через Go-константу `cjkScriptNames` — новый плотный скрипт требует правки Go (head-finality уже в данных script-series.txt; пре-существующая граница, D39.75). Первые два компонента строки (isCyrLetter→`isTargetWordLetter` · magnitude `SourceScripts`-гейт) исполнены пакетом-чекеров, D39.78 | бэкенд | когда-нибудь | следующий пак общности / касание чекеров | D39.64, D39.78 | | 90 | **Ф2-кандидаты 02-mvp-плана без носителя** (свип-хвост, D39.73): CometKiwi/T-index метрики судьи · Batch API судьи (экономия) · llama-server-интеграция локали · стриминг — взять/закрыть при пилот-препе; + H16 самоулучшение (V3-п.2, ПТ-26): дизайн петли по данным судьи — тем же препом | полигон/бэкенд | когда-нибудь (Ф2.5) | пилот-преп-промт (с 85) | 02-mvp-plan, D39.66, D39.73, D39.80 | | **— НАХОДКИ СВИПА ПОЛНОТЫ (D39.66: 951 обязательство проверено, потери возвращены в трекер) —** | | | | | | | 80 | **Резюме-слой памяти** — проза-суммарайзер ЗАКРЫТ (D39.69); строка = ГЕЙТ ПИЛОТА Ф2.5: первый деливерабл пилота — «допускает ли автономная нарратив-состояние-строка ДЕТЕРМИНИРОВАННЫЙ верификатор (source-anchored) — или это D1-компаундинг со схемой»; не-покрытые классы (source-anchored reveal · арк-колбэки без ключа) реальны, но не измерены как дефект | Ф2.5 (Q3 подтверждён D39.70) | когда-нибудь (пилот) | Ф2.5 пре-рег | D25 п.8–9, D39.66, D39.69 | | 81 | **ja-преп B6-ja (сужено пост-сверкой D39.66)**: Поливанов-валидатор (`translit_policy` = «Phase 2»-заглушка, migrate.go:186/194) + kana-омограф POS/known-word гейтинг / B6-токенизатор (memory.go:1048); чек-лист kana-алиасов сида УЖЕ построен (backend/README §ja + `AttachRubyAliasesToManual`) — остаток в нём только дизамбигуация двойных чтений (тот же B6) | бэкенд | когда-нибудь (перед ja→ru) | ja→ru-пак (рядом 35) | D16.4, D17.1, D18, D39.66 | | 82 | **Морфо-гейт РОДА** (C3: русский глагол прош. вр. при gender=hidden = механический спойлер-канал; «жалоба №1 читателей MTL»; python-сайдкар/pymorphy, связка с морфопроходом Decl из 73) | бэкенд | когда-нибудь (Ф2-гейты) | отдельный пак (с 52) | 06-реестр C3, research/12, D39.66 | | 85 | **Пилот-преп добор** (к переупаковке PACKAGE4): Bertalign GOLD-пары + zh→ru spot-check (D29.2в; GPL-тулинг отдельно) · fidelity-каскад R2 shadow с корпус-подготовкой (D25.2) · exp08 v3 пере-съём COGS до фиксации budget_usd (D21.8) | полигон | когда-нибудь (Ф2.5) | пилот-преп-промт | D25, D29, D21.8, D39.66 | | **— ПАК-21 «чекеры»: РАСТВОРЁН (D39.62); шестёрка исполнена 2/6 фазой 2 (D39.64: #11 · строка 26), остаток — ниже —** | | | | | | | 93 | **Остатки строки 93 после пачки (D39.82):** строгий OffLanguage (36а, deferred D39.78) · 分之-разметка прежде стройки DC2 word↔word (полигон) · F4-хвост: `redrive --dry-run` обходит pre-flight, а `store.Open` мутирует SPOF-файл (миграции + recoverReservations; коммент «mutates nothing» неверен) — pre-flight и на dry-run при существующей БД либо read-only план; заодно stat-скип точной формой `fs.ErrNotExist`. ⚠ **Остаток НЕ однороден по гейту (сверка 02.08):** F4-хвост и строгий OffLanguage свободны, а `分之`-часть ГЕЙЧЕНА полигон-разметкой среза («строить вслепую против мандата» — якорь техдолга) ⇒ не подавать строку как «малое касание без гейта» | бэкенд/полигон | когда-нибудь | малое касание / полигон-слот | D39.78, D39.82 | | 98 | **DC7 грейд-консистентность — пере-гейчен по сид-покрытию (D39.82):** замер пачки реален (25 юнитов/93 «разряд» ≠ канон «класс» на labels-финалах), НО финалы — прогоны до/вне сид-v2-канона, а грейды 甲/乙/丙/丁等 теперь approved-записи сида с decl-формами: mempostcheck флагнёт «разряд» промахом dst; строить DC7 только если ОСТАТОК девиаций переживёт сид-покрытие — замер на первом СИДОВОМ прогоне добора идеала; дом канона при стройке = book.yaml (как register_blocklist; ратифицировано D39.82 — НЕ dc-checkers.txt, посылка D39.79 исправлена) | бэкенд | когда-нибудь (гейт: первый сидовый прогон добора идеала) | замер остатка → решение | D39.79, D39.82, SMALLPACK §5-E1 | | 28 | Банк-линт латиницы в dst или строгая форма языкового предиката (7 строк утечки алфавита проходят экран) | бэкенд | когда-нибудь (добор идеала — носитель «свежий мини-прогон» растворён D39.67, актуализация D39.79) | касание чекеров при данных добора (помнить оговорку 36а: «甲等 → класс Цзя» строгой формой не ловится) | D39.52, D39.62, D39.64, D39.79 | | 28а | **Prompt-injection-проба входного текста** ($0): сепаратор ⟦TM-BANK-v1⟧ и якорь-подобные маркеры В ТЕКСТЕ КНИГИ — поведение среза/парсера/инъекции (книга = недоверенные данные; инструментов у моделей нет, но канал банкноты читает вывод по маркеру) | бэкенд/полигон | когда-нибудь | малая проба | сводка-ревью 26.07 | | **— СВИП ГИПОТЕЗ —** | | | | | | | 30а | **Перерисовка puml-диаграмм под пост-пак-20 пайплайн** (терминолог, банкнота отдельным файлом); дом диаграмм теперь `backend/docs/` — правятся одним коммитом с кодом (D39.80); PUML НЕ рендерить (гардрейл) | бэкенд | когда-нибудь | ближайший пак, касающийся pipeline | аудит доков 26.07, D39.80 | | **— ОТДЕЛЬНЫЕ ПАКИ/РЕШЕНИЯ (бэкенд, добор идеала) —** | | | | | | | 31 | Слой-2: извлечение дискурс-норм/few-shot из ТЕЛ промтов (форсинг = ja→ru) | бэкенд | когда-нибудь | отдельный пак (идеал D39.33) | CURRENT-STATE, D39.33 | | 33 | **native-Gemini судья** (Ф2-механизм) ; до прод-заводки: $0.01-проба thinking⊆max_tokens на боевом слаге (D22.3) + включить sanitizer в pipeline-c2 при оживлении (D33.4б) | бэкенд | когда-нибудь | отдельный пак (идеал) | CURRENT-STATE, D39.33 | | 34 | **Генеральность нарезки** — ОСТАТОК после фазы 2: сами per-script коэффициенты (`est_out` ja завышен ~1.7× МОЛЧА · `EstimateTokens` недосчитывает кириллицу); консолидация класса письма СДЕЛАНА (один дом `DenseScript`, D39.64) — лечение = `Fertility`-map (строка 14) + офлайн-калибровка при боевом токенизаторе | бэкенд | когда-нибудь | строка 14 + отдельный пак (с ja→ru) | D39.37(5), D39.64 | | 34а | **Экран кодировки не видит `` без XML-объявления** (епаб с gb18030-метой прочтётся как UTF-8) — до-паковая дыра, сознательно не тронута пачкой 14а (паритет со старым ридером) | бэкенд | когда-нибудь | отдельное решение | D39.54, SMALLPACK §8 | | 35 | **Не-CJK майнер/банк**: en-детектора не существует (hanRuns=0), ja с zh-таблицами активно неверен (0/10); нужен второй ДЕТЕКТОР (прототип `mine_nonhan.py`) + G1–G10 требования generic-майнера (вкл. квадратичность G9 ≈4.6 ч) | бэкенд | когда-нибудь | отдельный пак generic-майнера (с ja→ru) | D39.37(8), D39.43, D39.50 п.8, POLYGON_PREMEASURE §6 | | 36 | Кластеризация майнера глотает родовые титулы (族长/学堂家老 в кластере 葛家) — закрыто на границе сборки входа, сама кластеризация не чинилась | бэкенд | когда-нибудь | отдельное решение | D39.43, D39.45 | | 36б | **Второе мнение по банку**: рецензент ДРУГОЙ моделью, несогласия — отдельной колонкой подписной таблицы (судья-с-декоем в роли рецензента; решает владелец, D39.46-ограничение не бьёт). ⚠ **Бэкенд-стройки НЕТ** (D39.69 закрыл по нужности); замер ИСПОЛНЕН (research/24, D39.102) — остаток = строка 5: рецензент спорных КЛАСТЕРОВ при ре-пробе 74, роутинг family/series-юнитами; переживёт замер → тонкая колонка наблюдаемости, не гейт | полигон (замер) → бэкенд (только если переживёт) | когда-нибудь (слот при ре-пробе 74, остаток строки 5) | замер остатка → решение | D39.69, D39.90, **D39.102** | | 36г | **Проводной формат каналов пересказан прозой в каждом пар-промпте, парсер в Go, связи нет** — формат в шаблон движка (`{{banknote_format}}`); линты держат класс, дублирование остаётся | бэкенд | когда-нибудь (со следующей правкой промптов) | отдельное решение (Р5) | D39.58 | | 37 | **Квадратичности: `AttachKWIC`** (16.8 с / 2000 кандидатов; фикс — многошаблонный поиск; кандидат-носитель — опция фикс-пака 128, Aho-Corasick в membank готов) + src-правило банкноты при промахе чанк-пути (строка × длина книги; на 10 главах не видна) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.1, D39.58 | | 38 | Смета не видит пере-покупку прохода терминолога на каждой итерации подписи (роль не пишет `chunk_status`, не видна `projectRebill`) · хвост приёмки №13 (СО СЛОВ слепого ревью, НЕ верифицировано): адрес чекпойнта батча = ординал при частотной сортировке растущего набора кандидатов ⇒ реюз чекпойнтов прохода ~0 на инкрементальной книге (`terminology.go:925-931`) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.2, D39.102 | | 39 | S12 частичен: `malformedSeparatorAt` не ловит подмену слова разделителя и обрыв токена (комментарий обещает) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.3 | | 40 | `bankTokenBudget`: worst-case зашит zh→ru (признанная утечка §0; CJK-цель недобирает вдвое) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.4 | | 41 | golden: вторая фикстура С langpack (сейчас пинится только фолбэк-путь) ; + golden-счётчики голоса (хвост D39.58) | бэкенд | когда-нибудь | отдельное решение | D39.37(6) | | 42 | `prompt_override` — легальный обход гарантии слоя-2, сформулировать честно | бэкенд | когда-нибудь | отдельное решение | D39.37(7) | | 43 | `request_log` без скоупа/ретеншена + `first_flag_reason` = третье представление истории попыток (корень — неразведённые скоупы) | бэкенд | когда-нибудь | отдельное решение | D39.37(9) | | 44 | **Флор — калиброванная константа без модели «thinking в completion»: МОДЕЛЬ ПОЛУЧЕНА замером (D39.86), сама строка сужена до выбора числа.** Замер боевой формы: при вендор-дефолте `high` размышление на плотном хане потолком НЕ ограничивается (8496 → 0/9 пригодных, 16992 → 1/5; вендорская норма вывода для `high` = 384K) ⇒ **флор не является рычагом против неограниченного думания — рычаг это `reasoning_effort`**; при `low` размышление 170–313 ток. и флор 8000 избыточен. Остаток строки: какое число ставить ПОСЛЕ развилки 74 (и помнить, что у `deepseek-v4-pro` эффорт не настраивается — вендор-маппинг `low→high`, quirks п.3а). ⚠ **РАСХОЖДЕНИЕ ТРЕКЕРА СНЯТО (D39.90):** строка 74 объявляла 44 «закрытой этим замером» — это верно только для ПОЛОВИНЫ «поднять флор» (фальсифицирована). Живой остаток — обратный: **опустить/пере-калибровать число по числам пробы `bank-low`**, где стена на `low` не исчезла, а разредилась (упавший батч: `content=""`, `finish=length`, `completion=7999`, `reasoning=7999` — тот же тяжёлый хвост, 1/5 вместо 4/5, и это стохастика вызова: батч не самый большой по входу). ⚠ **Флор при `low` НЕ варьировался ни разу** — упавший батч умер ровно на потолке 8000, так что «сколько ставить» остаётся незамеренным вопросом, а не выводом | бэкенд | когда-нибудь (триггер «приёмка 104» НАСТУПИЛ — D39.91, ручка заленжена; «сколько ставить» остаётся НЕзамеренным — нужен вариационный замер флора при `low`) | отдельное решение | D39.37(10), D39.86, **D39.90** | | 45 | `max_tokens`-упоры (две единицы) — вернутся на en-книге ; halve-chunk-on-retry (research/22 §2 №7) ОТКЛОНЁН D39.74 — вернуться сюда же при живых упорах | бэкенд | когда-нибудь | отдельное решение (с en) | D39.37(11) | | 46 | **Экран целевого языка на выходе НЕ-ПОСЛЕДНЕЙ стадии — ЖИВОЙ НОСИТЕЛЬ ПОЛУЧЕН, класс поднят (D39.86).** Было: 38/40 дефектов латиницы живут в черновиках вне охвата гейтов (`waverun.go:486`). Стало: на ре-пробе 74 при `effort:low` **1 черновик из 18 пришёл ПОЛНЫМ связным переводом НА АНГЛИЙСКИЙ** и прошёл как `disposition=ok` — `classify` экранирует ИСХОДНУЮ письменность, пустоту, обрыв и отказ, а «не исходный и не целевой» не ловит ни один предикат (частично ловится лишь третий язык, ДЕЛЯЩИЙ письменность с источником, и ловится под ЛОЖНОЙ причиной `cjk_artifact`). ⚠ Последний рубеж УСЛОВЕН тройкой `isFinal && Gates.Sanitizer.Enabled && checkers.TargetActive()` (`chunkrun.go:52`), и **дыра на оси ЦЕЛИ двусторонняя**: (i) без данных цели слой 7 инертен ПО ОТСУТСТВИЮ (осознанный дизайн, `disposition.go:302-305`) ⇒ для не-русской цели рубежа нет вовсе; (ii) а с данными будущей ЛАТИНОПИСЬМЕННОЙ цели `detectLatinInsertion` (`checks/sanitizer.go:228`) сработает на ЧИСТОЙ целевой прозе и дропнет 100% чанков — внутри санитайзера он НЕ обусловлен `TargetScriptNonLatin()`, хотя доккоммент это объявляет (реальный гард только на репэйре — `quality.go:215`, `repair.go:208`), а частичный файл цели невозможен (`CompileCheckers` паникует). ⇒ **ревью-вопрос «заработает ли пара, которой в репо нет, без правки Go?» для →en/→de отвечается НЕТ**; кандидат фикса — тот же шов, что уже применён к репэйру. *(Контрпример «pipeline-c2.yaml — легальная сборка без санитайзера» проверен и СНЯТ: c2 неисполняем `CheckRunnable`, его санитайзер забукован строкой 33.)* Даже при включённом санитайзере худший исход — не потеря юнита, а ТИХО ОТГРУЖЕННЫЙ релейный перевод zh→en→ru, если билингв-редактор отрендерит русский с английского черновика. Область фикса — «выход любой НЕ-последней стадии», не «черновик» (`isFinal` позиционный, `stagerun.go:145`). ⚠ **ДИЗАЙН ПОДАН, КОДА НЕТ — СТОИТ НА РЕШЕНИИ ВЛАДЕЛЬЦА (D39.90).** Три поправки сессии к посылке, все замером: **(1) боевой гейт уже ловит 18 из 20** off-target событий (`sourceScriptShare > 0.15`, `disposition.go:224,275`; 0 ложных на 1055 здоровых, запас 13×) ⇒ остаточная дыра **2 чанка из ~1100 = 0.18%**, оба английские, японский ловится долей ханьцзы; **(2) второй рубеж существует, но стоит не там** — санитайзер поймал бы те самые байты («Latin insertion»), но `chunkrun.go:52` требует `isFinal`, а в двухстадийной топологии черновик НИКОГДА не финальный; тот же `isFinal` глушит на черновике латинный линт, флаггер голоса и глоссарный пост-чек; **(3)** здоровый минимум на тексте, который РЕАЛЬНО видит гейт (после среза банкноты), = 0.9767 при n=1055. **Развилка владельцу:** (а) предикат внутри `classify()` + бамп `classifierVersion` — двигает снапшот у всех книг, голден пере-захват один раз, на свежем стенде $0; (б) отдельный опциональный гейт вне `classify()` — снапшот не двигает, но это второй способ сказать «ответ непригоден», и он выключен по умолчанию; (в) языковой детектор. **Выбор сессии — (а).** Носитель данных — `lang.LangScripts(Book.TargetLang)`, НОВЫЙ go:embed-файл не заводить (`EmbeddedVersion` фолдится безусловно = перекупка всех книг всех пар); порог 0.50 не калиброван, а поставлен в середину пустого интервала. Три мины наивной реализации названы: новый флаг провалился бы мимо `escalatable()`/`retryable()` (⇒ переиспользовать `FlagCJKArtifact`), классификатор ложно флагался бы 16/16, экран слеп к ПОДМНОЖЕСТВАМ письменности (чисто китайский выход для →ja наберёт 1.000). Вторая половина дыры (`detectLatinInsertion` без `TargetScriptNonLatin()`) — чинить тем же диффом, для ru вердикты не двигаются. **Константы и хвосты дизайна, без которых подпись неполна:** порог **abstain 200 букв** (ниже экран воздерживается; самое короткое off-target событие 346 букв, ниже 200 падают лишь 5 из 1055 здоровых, все со счётом 1.0000) · ⚠ **опубликованная база «~1.5% off-target» НЕВЕРНА по знаменателю** — он пулит черновики с редакторскими выходами, а редактор такой отказ произвести не может; на ЧЕРНОВОЙ вызов база **3.02%**, то есть вдвое хуже · ⚠ **не проверено, что делает РЕДАКТОР с английским черновиком** — вытащит обратно в русский или отредактирует как английский; именно этот неизвестный решает, чем является остаточные 0.18%: потерей юнита или тихо отгруженным релейным zh→en→ru · английских черновика найдено ДВА (`fb51e135a395`, `4080ee8287af`), плюс японский в exp15 · **`cultivation` чинить в СИДЕ, а не порогом:** 86 из 1055 здоровых несут голое английское `cultivation` внутри беглого русского, и все 32 абзаца ниже 0.90 содержат именно его, ни один — ханьцзы; правка пар-данных двигает `LangpackVersion` с `omitempty` ⇒ перекупка ограничена книгами ЭТОЙ пары (чинить на плане, где перекупка уже) · Hunspell и GlotScript-эмбед — **не строить** · база замера = строка **113** · **02.08 вечер (D39.92): владелец пере-поставил задачу closed-set** («вернуло НЕ тот язык, что просили»; полноценный LID — только запасной флаггер вне пути вердикта; проверку изолировать отдельным слоем) — ресёрч §5.1–5.3 отвечает постановке, форма (а)+изолированный модуль подтверждена, слой-0 владельца (полоса len(out)/len(in)) добавить замером на фикстуре 113 | владелец → бэкенд | **скоро (порядок §5.4: сначала 113, шаг 6 — под подпись)** | правка Go по плану §5.4 | D39.39(д), D39.86, **D39.90** | | 47 | M2-кэш / доктрина Д2 — кандидат на отдельную ратификацию | оркестратор/бэкенд | когда-нибудь | отдельное решение | D39.42 | | 48 | Направленная банкнота — вернуться по замеру покрытия терминолога | бэкенд | когда-нибудь | отдельное решение | D39.42 | | 48а | **Серийный шаринг банка** — РЕАЛИЗАЦИЯ (экспорт подписанного глоссария как сид-YAML следующей книги серии; спойлер-окна плющатся в since_ch=0); контракт round-trip держится тестом, самой фичи нет | бэкенд | когда-нибудь (перед второй книгой серии) | отдельное решение | D39.42 задел (а), PACK20_BANK_BUILD З-а | | 48б | **Импорт «оригинал + чужой перевод» как режим данных терминолога** (target-агностичный вход есть контрактом; сам режим + провенанс источника + юр-сторона в юр-пакете) | бэкенд/владелец | когда-нибудь | отдельное решение + Ф2.5 (юр) | D39.42 задел (б), PACK20_BANK_BUILD З-б | | 128 | **Фикс-пак банка (вход §G research/24, класс D39.71):** G1 семейный со-батч из ПАР-ДАННЫХ (имя=префикс/реалия=суффикс, без транзитивности, серия сильнее семьи; + многорунные модификаторы серий — 十一转 рвёт со-батч равнодлинности на ранге 11; + майнерские containment-пары в один юнит) · G2 intra-run `ConsolidationConflicts` ($0; 18/149 на живом банке) · G3 наблюдаемость (Signals/Invented/Conf в стоп-таблицу · ловушка числового хвоста ParseReply · alias-джойн подписной карты `miner_emit.go:242` — владелец подписывает, не видя alias-рендерингов · имена эвиктнутых при NEvicted · per-batch спросили/ответили + WARN на пустой ответ батча/классификатора) · G5 счёт голосов по нормализованной форме + Via-провенанс фолда (первый-выигрывает врёт на wire) · опции: перф 37 (Aho-Corasick в membank готов) · гигиена (мёртвая колонка `BanknoteTruncated` + стейл-комменты · NoDst-префикс-матч для латиница-target). Цена фолда: перекупка бэнк-батчей один раз (центы), волны/снапшоты не двигаются; вне снапшота — G2 и печать (G5 двигает wire, аудит промта) | бэкенд | **скоро — САНКЦИОНИРОВАН владельцем 04.08 (D39.103 п.1), ПРОМТ ВЫДАН** (`docs/BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md`) | фикс-пак одним промтом | D39.102, D39.103, research/24 §G | | 129 | **Банкнота-парсер теряет хвост многословного dst** (находка приёмки №13 против клейма A10): `banknote.go:236` берёт `parts[1]` голым при 3-польном формате — «Фан Юань» с двойным пробелом банкует полу-имя «Фан», хвост уезжает в колонку типа и падает в `"term"`; ре-джойн терминолога (`terminology.go:880-885`) ровно этот класс чинит с комментарием. Фикс = ре-джойн середины при последнем поле ∈ закрытому словарю типов; двигает observed → авто-банк (memory_version там, где случай реален) — цену назвать при выдаче | бэкенд | скоро (хвостом 128 либо отдельно) | малое касание | D39.102 п.3 | | 130 | **emitRankCap × writeAutoBank: терм, выпавший из топ-200, МОЛЧА стирается из авто-банка посреди книги** — `miner_emit.go:119-123` кап ДО эмиссионных фильтров (seed/rejects слотов НЕ освобождают — исключаются после капа), `mining.go:448-460` перезапись файла целиком без мерджа против «накопительного» замысла пака-20; оплаченная консолидация теряется, редактор теряет строку банка (по D39.104 — закон на проводе) без сигнала; FL-3 ратифицирован ДО авто-провода D39.42 — взаимодействие не ратифицировалось. Минимум $0 = дифф старого/нового авто-файла + WARN с именами; накопительный мердж/освобождение слотов — СТОП-решение (двигает банк → memory_version) | бэкенд | скоро | $0-минимум + СТОП-решение | D39.102 п.3 | | 131 | **Кап инъекции не считает маркер и гендер-ноты**: `glossaryLineTokens` бюджетирует только «src → dst» (`memory.go:512-515` против рендера `:698-708`) — авто-книга (все строки Ambiguous с ⟨проверить⟩) превышает `glossary_token_budget` ~на 40–60% при budget 800; биллинг/потолки компенсированы (резервация по фактическому рендеру, `stagerun.go:469-477`), сам кап не исполняется. Фикс двигает состав инъекций → RequestHash → перекупка волн ⇒ СТОП-решение с названной ценой. ⚠ После строки 134 (единый блок, маркер снят с провода — D39.104) превышение пере-замерить: состав рендера сменится | бэкенд | когда-нибудь | СТОП-решение | D39.102 п.3 | | 132 | **Стойкий (пост-ретрайный) аутедж ТОЛЬКО банк-провайдера валит весь ран** вопреки коммент-контракту «optional step never aborts» (`terminologist.go:630-634` — деградация только на ceiling; транспортные ретраи гасят transient, `httpllm.go:126-160`; потерь нет — чекпойнты реплеятся за $0): решить — деградировать в «термы неконсолидированы»+WARN либо честно переписать коммент | бэкенд | когда-нибудь | малое касание через СТОП-решение | D39.102 п.3 | | 134 | **Дата-правка инжект-заголовков под доктрину D39.105** (единый закон-блок редактора вместо двухсекционки · оговорка ОБЛАСТИ употребления · снятие маркера ⟨проверить⟩ с провода; статусы строк и подписная таблица НЕ меняются): кандидат-тексты — §B промта пробы 18; **ГЕЙТ ПАЛ (D39.108):** текст = ОТПРАВЛЕННАЯ строка пробы 18 БЕЗ оговорки области (девиация №1; оговорка опровергнута §A.4 — НЕ вносить); двигает рендер → RequestHash → перекупка, цену назвать при внесении | бэкенд | скоро | малое касание | D39.104 п.2, **D39.108** | | **— ШОВ ДВИЖОК↔ПЛАТФОРМА: деньги и механизмы (D39.106/107 п.2) —** | | | | | | | 135 | **Гейт потолка на КАЖДЫЙ платный вызов** (сейчас — граница юнита работы; research/25 «Деньги») | бэкенд | скоро (промтом эмиттера) | правка по дизайну research/25 | D39.106 | | 136 | **Write-ahead intent + состояние `uncertain`-эскроу + `closing`**: холд НЕ освобождается по выходу юнита (сигнал обгоняет денежные события); spend не постится без свидетельства провайдера; расход сверх холда — полной суммой, превышение явной строкой убытка | платформа/бэкенд | скоро (промты по команде владельца) | стройка по research/25 | D39.106 | | 137 | **Ночная сверка расходов с данными провайдера** (в движок цены входят float64 по ручной таблице `ledger/pricing.go` — систематика процентная; сверка приоритетнее споров об округлении) | платформа | когда-нибудь (до первого платного пользователя) | стройка по research/25 | D39.106 | | 138 | **Реконсилятор: на каждый выход юнита + на буте ПЕРЕЗАПУСК прерванных прогонов** (транзиентные systemd-юниты не переживают ребут VM) | платформа | скоро | стройка по research/25 | D39.106 | | 139 | **Пиннинг прогона к версионированному пути бинаря движка**; резюм другой версией — только явным флагом (движок выкатывается чаще, чем идёт прогон) | платформа/бэкенд | скоро | стройка по research/25 | D39.106 | | **— НАХОДКИ ПРИЁМКИ ЭКСПОВ 18–20 (D39.108) —** | | | | | | | 140 | **Банкнота: shipping-конфиг c1 канал НЕ несёт при декларации «+банкнота» в CURRENT-STATE** — канал жив только ран-локальным конфигом книги (ратифицированный путь D39.42 п.4; coldrun 56/128); решить: включить в c1 (двигает промпт драфта → RequestHash — цену назвать) либо поправить декларацию; родня 36г | владелец → бэкенд | скоро | СТОП-решение | D39.108, exp20 §6 | | 141 | **Дыра детектора примечаний: сноска «[1] …» без слова-заголовка проходит мимо** (`sanitizer.go:273-278` требует «Примечание:/прим. перев.») — после StripCosmetic уезжает в экспорт с дырой на месте вырезанного ханьцзы | бэкенд | когда-нибудь | малое касание + тест | D39.108 (приёмка 20) | | 142 | **Механизм «гейты флагают → точечная починка по флагу» как прод-путь**: exp20 §3.3 — $0.0002/дефект, 12/12 (при ИДЕАЛЬНОЙ детекции); механизм конкурентов (research/22:179), у нас петля пака-16 за `enabled:false` (строка 13); детекторы «выдуманное слово»/«инверсия» прототипируются эксп-21 Ф0 | владелец → бэкенд | гейт: эксп-21 | решение владельца по итогам эксп-21 | D39.108 | | 143 | **Абсорбция норматива судейства в `09-pilot-protocol.md`**: разброс инструмента ДО замера · объявленный порог различимости · MQM-lite/error-span первичен, pairwise только для стиля · декой обязателен · запрет судьи семейства жильца арма | полигон/оркестратор | скоро ($0) | правка дока | D39.108, exp20 §7 | | 144 | **Вахта: grok `reasoning_tokens` ВНЕ `completion_tokens`** — формула цены харнессов может недосчитывать (до $0.0325 на exp20); вендор-сверка биллинга xAI при следующем прогоне с grok | полигон | когда-нибудь (следующий xAI-прогон) | вендор-чек | D39.108 (приёмка) | | 145 | **Движок обязан принимать потолок НА ПРОГОН, а не только из `book.yaml`** — сегодня флага/ENV нет вовсе (проверено: `tmctl` таких флагов не имеет, значение приходит только через `Ceilings.BookUSD`, `stagerun.go:480,505`). Пока так, платформа для управляемого потолка (строка 126) вынуждена ПРАВИТЬ конфиг книги — то есть пользовательское число становится постоянной записью в данных движка, что смешивает зоны против D39.81/D39.85. Форма: аргумент прогона (флаг или ENV), потолок остаётся состоянием ПРОГОНА. Смежное: `Ceilings` в `BriefHash` не входит (`book.go:280-297`) ⇒ ни снапшот, ни ре-билл не двигаются — цена правки нулевая | бэкенд | скоро (денежным промтом, со строками 135–139) | малое касание CLI + проводка | D39.110, приёмка платформы D39.109 | | 49 | **Этапы Б+В спеки D15.2** (content-addressed resume / `guard_hash` — D39.31 сознательно не строил) ; этап В = tmctl export-контракт D29.1 (annot-v1 · цвет-мап+rollup · политика красных fail-closed) + операторский протокол-документ релиза гендер-твиста (D5.1): сам механизм УЖЕ построен — until_ch-правка → точечный re-edit со сметой и $0-пере-пином (`repin.go`/`rebill.go`, D39.42 п.5/D39.45) | бэкенд | скоро (ПОДТЯНУТА D39.81: annot-v1 = источник замечаний для фронта — критический путь подключения) | отдельное решение (annot-половина — по контракту 14, D39.99) | D39.34(4), D33 п.5, D39.81 | | 49а | **ALTER-шаги миграций v8–v14 не идемпотентны вопреки шапке `migrate.go:9-11`** (полу-применённая БД не сходится; счётчик версий скрывает) — находка критика полноты пака-19 | бэкенд | когда-нибудь | отдельное решение | D39.56, PACK19_BUILD §6.9 | | 50 | F3-остаток идемпотентности | бэкенд | когда-нибудь | отдельное решение | D39.34(4) | | 51 | `human_override` LOCK (D29 п.1г, в коде 0 вхождений) | бэкенд | когда-нибудь | отдельное решение | D39.34(4) | | 52 | **Ф2-гейты вне идеала**: морфо-гейты канцелярита + L1-лемматизация (python-сайдкар) · полный OpenCC · опциональный пре-перевод гейт ; состав явно: канцелярит + РОД (строка 82) + класс Ф2-гейтов карты 04-unhappy (обсцен-гейт/феминитивы/время сцены — состав решить паком) ; + класс идиоматики (свип-хвост, D39.73): сехоуюй-словарь · вэньянь-классификатор (zh) · васэй-эйго ложные друзья (к ja-паку 81) — данные пары или закрытие «банк книги покрывает» тем же паком | бэкенд | когда-нибудь | отдельное решение | D39.34(4) | | 54 | Масштаб целой книги: волны/каденс/потолки/ETA на сотнях глав (гоняли максимум 10; книга 7,78 млн симв., ~2284 раздела) | бэкенд | когда-нибудь (последним по курсу) | МАСШТАБ | D39.33, CURRENT-STATE | | **— ПОЛИГОН (кандидаты пакетов) —** | | | | | | | 55 | **`dialogue_dash` мерить только на невиданном тексте** (подогнан под 蛊真人; цифры мини-прогона аргументом не считаются) ; расширено до вне-претрейн чекпоинта целиком: r-коэффициенты exp01/08 · precision чекеров · частота эха · чистовик exp15-выводов ; + arity-полоса паспорта (D29.2г): решить — dialogue_dash покрывает диалоговую половину или мерить (D39.73). **Частично закрывает эксп-21 (D39.108):** невиданный срез + $0-довесок (dialogue_dash · частота эха · precision чекеров) заказаны промтом | полигон | скоро (довесок — эксп-21) | полигон-пакет / эксп-21 | D39.37(4), D39.40, D39.46, **D39.108** | | 56 | Ёфикатор/санитайзер-классы не размечены (§6.5 отчёта пакета-6) | полигон | когда-нибудь | полигон-пакет | D39.46, CURRENT-STATE | | 57 | Пере-замер «контексты — главный рычаг» на трудной выборке пакета-7 с боевой сборкой (до него kwic-веса/семантику не трогать; перф-опция AttachKWIC в фикс-паке 128 легитимна — семантика не меняется) — напряжение с D39.46 названо, не отменено | полигон | когда-нибудь | полигон-пакет | D39.50 | | 58 | **Не покрыто пакетом-8**: вторая книга/пара/модель · строка `drafts:` · ось `batch_runes` · разметчики-модели (не люди) · precision роли на «расширенном, но осмысленном» материале ; + контрастивный регрессионный сьют по каталогам режимов отказа (12-*) · чистовик exp15-выводов | полигон | когда-нибудь | полигон-пакет | POLYGON_PREMEASURE §1.8/§2.5/§3.5/§7.6 | | 59 | **Вендор-чек префикс-кэша ZAI/GLM** (на нём стоит вся кэш-экономика W1/Q2c) ; + GLM context-overflow гард (finish=model_context_window_exceeded — NOT-do пака-12 без решения) ; + Mistral-strip гейт message-builder (research/21 §1.1: extra_forbidden на reasoning-поля; ЛАТЕНТЕН при нашем single-shot wire — гейт перед прод-путём mistral в канале B / любым multi-turn; D39.74) | полигон | когда-нибудь (до МАСШТАБА) | полигон-пакет | D39.34(6) | | 60 | Scheduler-aware волны под peak-valley DeepSeek (прямой COGS-рычаг) | полигон/бэкенд | когда-нибудь (до МАСШТАБА) | отдельное решение | D39.34(6) | | 61 | **Прайс/wire-гигиена**: продление `prices_checked` без правки чисел · гейтнутые платные армы (edit-единица >3200 и др.) · wire-probe temperature в thinking-канале DeepSeek | полигон | когда-нибудь | полигон-пакет | D39.34(6) | | **— Ф2.5 / ПИЛОТ / ПРОД —** | | | | | | | 62 | Билингв-якорь (D25 п.9 Q1) | владелец | когда-нибудь | Ф2.5 | D25 п.9, CURRENT-STATE | | 63 | Контаминация корпуса (D27 п.4) | владелец/полигон | когда-нибудь | Ф2.5 | D27 п.4, CURRENT-STATE | | 64 | Судья-дублёр (D22.6) | бэкенд | когда-нибудь | Ф2.5 | D22.6, CURRENT-STATE | | 65 | **Планка запуска ≤2 не пройдена rerun2** — итерация №2 редакторского экспа отложена (dspro ИНТЕРИМ, glm-5 резерв) ; инструментарий слепого чтения = D39.8(3) + гигиена D39.20. **Довесок ЕДЕТ эксп-21 (D39.108):** бейк-офф несёт dspro-vs-glm и слепое чтение владельца на финалистах | владелец | гейт: эксп-21 | эксп-21 → решение | D39.20, D39.22, **D39.108** | | 66 | Пилотные D25-гейты: publishable/waiver (п.1) · FN-bound L3 (п.4) | владелец | когда-нибудь | Ф2.5 | D25, CURRENT-STATE | | 67 | **Прод-гигиена: юр-пакет · провенанс 12-*-доков · xAI-ключ off перед продом** (D27) ; + юрисдикционные annex-ре-чеки при новых рынках (D39.29) + поле «версия исходника» book.yaml на интейке (04-unhappy §5) | владелец | когда-нибудь | Ф2.5 | D27, CURRENT-STATE | | 68 | Residual-тачпойнты exp16, не влитые в сид-дельту: мини-голд алиасов (ОТЛОЖЕН до первого длинного прогона — D39.103) · precision@30 (`books/gu-zhenren/exp16/`) | полигон | когда-нибудь | Ф2.5 / полигон-пакет | CURRENT-STATE | | **— Ф3 / ПРОДУКТ —** | | | | | | | 69 | Gemini API «под-18» обязательство на конечный продукт (независимо от лейблов) | владелец | когда-нибудь | Ф3 / отдельное решение | D39.32, D39.34(7) | | 70 | Action-security gate перед выдачей tools/webfetch (D25 п.5) | бэкенд | когда-нибудь | Ф3 | D39.34(7) | | 71 | **Планы research/22**: epub-tag-rewrite · Q7-леджер ; + F3-brief из D29 п.3 (chat-edit · Not-useful-петля · cost-of-fix) + Ф3-скоуп 02-mvp-plan (TMX/TBX · Bertalign · дистилляция 7–14B); + V5: фронт ВЕБ-ПЕРВЫЙ, SEO/ранжирование (куки · страницы-сироты · актуальные алгоритмы Google) — определяет выбор фреймворка (SSR vs SPA), в Ф3-дизайн ДО выбора стека (ПТ-23) | бэкенд | когда-нибудь | Ф3 | D39.34(7), START_PROMT V5, D39.80 | | 94 | **Продукт-механика входа и прогона** (V2, ПТ-16..18): абьюз/misuse-прескрин дёшево и точно ДО трат токенов (H8) + UI-контракт отказа (проект-решение D39.80) · лимит размера входа настройкой (H7) · продукт-кнопки «стоп/продолжить» поверх построенных graceful stop и redrive, абьюзивный прогон НЕ продолжать (H10); API-форма — по контракту 14 (D39.99; статус отказа — открытый К-9) | бэкенд | к подключению фронта (ПОДТЯНУТА D39.81; лимит можно раньше, к пилоту) | отдельный пак при Ф3-препе (контракт 14 ратифицирован) | START_PROMT V2, H7/H8/H10, D39.80, D39.81 | | 96 | **→ переехала в `platform/BACKLOG.md` П-1** (зонные бэклоги, D39.84: HTTP/SSE-слой, обвязка, аутентификация, порядок деплоя); здесь остаётся ратифицированным сам ИНВАРИАНТ D39.81 — движок = процесс-на-прогон (EXCLUSIVE flock `store.go:43`), сервер в backend НЕ пишется | платформа | — | зонный бэклог | D39.81, D39.84 | | 97 | **→ переехала в `platform/BACKLOG.md` П-2** (глобальный брокер рейт-лимитов; гейт «до второго параллельного пользователя» зафиксирован там же) | платформа | — | зонный бэклог | D39.81, D39.84 | | 99 | **Пофазный прогресс `draft N/M ∥ edit N/M`**: unit = done только при всех draft-строках членов + edit-строке (`status.go:328-331/365`) — индикатор «готово N/M» стоит 0% ВСЮ черновую волну; данные уже есть (`chunk_status` — строка-на-стадию, `migrate.go:111-126`; status уже делит стадии по волнам `status.go:332-334`) — вывод пофазных счётчиков в StatusReport/JSON без миграции схемы | бэкенд | скоро (БЛОКЕР контракта API, D39.99) | малое касание read-model | релей фронта 02.08, D39.84 | | 100 | **Персист манифеста глав/чанков** (+ `chunker_version` из снапшота + хеш источника): каждый read-вызов заново ингестит и режет исходник (`status.go:177-195` bookChunks; redrive — дважды за вызов; замер фронта 1.42–1.51 с CPU на книге 23 МБ, умножается на число книг) — нужен под экран разбора и дерево глав; дизайн обязан пережить смену чанкера (`--resnapshot`) | бэкенд | скоро (БЛОКЕР контракта API — стабильный id главы, D39.99) | отдельное решение (дизайн по контракту 14, D39.99) | релей фронта 02.08, D39.84 | | 101 | **Машиночитаемая таблица подписи банка**: кап 20 — только stdout (`render.go:98`), полная таблица — текстовый сайдкар `.bank-stop.txt`, JSON/структурного выхода нет (mined-signature.yaml — сид-дельта без freq/spread/evidence); нужна фронту S5; помнить ловушку «подпись ≠ UPDATE» (банк пересобирается: `seeding.go:18/110`, `glossary.go:158-162` — контракт подписи пишет в файлы-источники) | бэкенд | скоро (БЛОКЕР контракта API — экран подписи, D39.99) | малое касание (форма — по контракту 14, D39.99) | релей фронта 02.08, D39.84 | | 102 | **Приём внешнего trace-контекста в tmctl**: TraceID минтится заново каждым вызовом (`main.go:67-70`; внутри вызова трасса цельная, `request_log.trace_id` есть) — прогон, запущенный платформой, должен быть одной трассой | бэкенд | когда-нибудь (Ф3, с 96) | малое касание | релей фронта 02.08, D39.84 | | 103 | **NDJSON-эмиттер прогонных событий со стабильным словарём** (машинный канал живого статуса для платформы, `research/23` §2): NDJSON-логи уже есть (`LOG_FORMAT=json`, авто-оси trace/book/chapter/stage/role — `obs/logging.go:15-54`), но сообщения прозой, version-хендшейка нет, а **событие потолка отсутствует вовсе** (деньги только в тексте ошибки `stagerun.go:472-494`); нужен словарь-enum + version-хендшейк первой строкой (образец terraform -json: минор = ignore-unknown, мажор = reject) + событие потолка; все границы — единичные call-sites в pipeline рядом с готовыми slog; человеческие логи уже на stderr — stdout-дисциплина соблюдена. **Форма ратифицирована D39.106 (research/25 §эмиттер):** `events.jsonl` каталога книги = outbox-проекция коммитов SQLite (та же транзакция, что чекпойнт) · fsync/seq/hello-версия · события денег и потолка · развилка формата (JSONL против пофайловых/CRC-фрейминга) — решить дизайном · `status --json` отдельным каналом (ремонт, тот же flock) | бэкенд | скоро (промт бэкенду — по команде владельца, D39.107 п.3) | стройка по D39.106 + research/25 | research/23, D39.85, **D39.106** | | 125 | **Артефакт экспорта БАНКА** (полный банк тремя статусами — канал чтения `/bank` контракта 14): строка 101 это таблица ПОДПИСИ (кап 20 stdout, `cmd/tmctl/render.go:98`), не экспорт; сам банк в приватном SQLite, платформе закрыт (D39.85) — нужен экспорт-артефакт движка на границе стадии/стопе | бэкенд | скоро (БЛОКЕР контракта API, D39.99) | дизайн + малое касание export | ревью контракта 04.08, D39.99 | | 126 | **Потолок прогона — УПРАВЛЯЕМЫЙ, решение владельца 07.08: настройка в интерфейсе фронта, шкала от минимума (ноль выбрать НЕЛЬЗЯ, подсвечен серым) до максимума баланса аккаунта.** Форма снимает конфликт с Р7 бесплатно: максимум = баланс ⇒ движок всегда получает положительное число и состояния «выключено» не существует, валидатор `book.go:250` не правится. **Три следствия, ратифицированы формой (D39.110):** (а) **единица — НЕ доллары**, а главы (или % баланса): тогда минимум объясняет себя сам («одна глава»), а D39.84 цел — читатель не видит структуру расходов; доллары на пользовательском экране = осознанный амендмент D39.84, не побочный эффект виджета; (б) это потолок ПРОГОНА ⇒ в `book.yaml` он не пишется, движку нужен приём потолка на прогон — строка 145; (в) **максимум шкалы = баланс МИНУС открытые холды**, иначе ползунок в упоре запирает весь баланс на одну книгу и вторую начать нельзя (холд берётся ДО спавна; `ReadAccount` уже возвращает `Balance` и `Reserved` раздельно). **НОСИТЕЛЬ ПЕРЕСЧЁТА НАЗВАН (добор после верификации 07.08):** «сколько глав влезает в доступный остаток» считает ПЛАТФОРМА (по оценке движка) и отдаёт фронту ГРАНИЦЫ шкалы и выбранное значение в главах; сама формула наружу не выходит. Ручки под это в контракте НЕТ — сегодняшний `GET /v0/usage` несёт только процент, поэтому поверхность объявляется при правке спеки вместе с созданием прогона (работа П-1 + S3), и до её объявления фронт максимум шкалы взять неоткуда. Прежнее тело строки (механизм поднятия потолка для resume после ceiling-стопа: движок продолжает «once the ceiling is raised», `stagerun.go:488-489`) — половина этой же работы. Продуктовое слово стопа — К-8 у владельца | платформа/фронт/бэкенд | скоро (форма решена, стройка — промтами) | дизайн-вход П-1 + правка спеки + строка 145 | ревью контракта 04.08, D39.99, **D39.110** | | 127 | **Устаревший DDL-коммент `glossary.source`** (`migrate.go:193`: «seed|ruby|auto», фактические пути записи — seed/ruby/mined, `auto` не пишет никто; фантом уже утёк во фронт-доки дважды) — поправить коммент | бэкенд | когда-нибудь (попутно любым паком store) | однострочная правка | ревью контракта 04.08, D39.99 | | 105 | **Роль `classifier` мис-вердиктится как эхо + честность двух новых строк наблюдаемости (D39.86).** (а) `classifyOutput` даёт поблажку `SourceEchoExpected` только `roleTerminologist` (`chunkrun.go:37`), а ответ классификатора по формату состоит из исходных ханьских термов ⇒ доля исходного письма 0.20–0.29 > порога 0.15 на каждом батче: живой артефакт пробы 6/6 несёт `verdict=cjk_artifact` при `bad_lines=0`. Ущерб узкий — `runBankRoleBatches` кладёт `run.texts[i] = att.text` без проверки диспозиции (`terminologist.go:603`), посчитанные эхо-ставки (`quality.go:313-321`) берутся из `chunk_status`, куда бэнк-путь не пишет ⇒ портятся только строки `tmctl report`/лога; **латентно** (`classify_types` выключен во всех шиппинг-конфигах). ⚠ Цена дисциплинированного фикса, которую надо знать заранее: бамп `classifierVersion` (литерал, сам не двигается) меняет payload снапшота → snapshot id → `RequestHash` ⇒ промах ВСЕХ чекпойнтов книги, то есть `--resnapshot` + пере-покупка. (б) тем же касанием — честность поверхностей: строка `VOICE` берёт `rules=` из конфига ВРЕМЕНИ ОТЧЁТА (`quality.go:436`), поэтому включение `gates.voice` после прогона печатает «измерено, чисто» для неизмеренной книги (воспроизведено); и она печатается при выключенном гейте, если `SpoilerLeaks>0` (дизъюнкция — поведение верное, формулировка отчёта/коммента неверна); знаменатель `BANKNOTE` = `len(states)` включая призрачные строки `retrieval_state`, тогда как соседний агрегатор их фильтрует (`quality.go:259-260`) ⇒ после пере-чанковки покрытие занижается | бэкенд | когда-нибудь (ближайшее касание банка/наблюдаемости; (б) — дешёвая часть, вердиктов не двигает) | малое касание + вердикт-двигающая половина (а) через СТОП-решение | D39.86 | | 106 | **Слой 3 НЕ достроен: контракт редактора = full-regen, а целевой — узкие мандаты + ДИФФЫ.** `09-target-architecture.md:121-126` дословно: «research/07 предписывает узкие мандаты + диффы, а не полную перегенерацию — сейчас ровно наоборот (4 мандата, full-regen), что и породило хвост инверсий»; целевой контракт — редактор правит anchored search/replace-спанами с детерминированным Go-apply (ограниченный blast-radius, дешевле, аудируемо, структурно omission-safe). Пак-16 построил петлю РЕМОНТА (починка флагнутого спана постфактум), а не diff-контракт роли ⇒ это разные вещи. **Строки не было ни одной** — дыра учёта, найденная сверкой 02.08 (грепы `diff`/`мандат`/`span` по бэклогу = 0). Смежное: арм Q4b «diff-fidelity+style редактор» (`exp15:108`) не прогонялся НИ РАЗУ, хотя трек B объявлен завершённым. **ЭМПИРИКА ПОЛУЧЕНА (D39.108, экспы 19/20):** дифф-контракт механически исправен (комплаенс 0.966 на боевой единице, аппликатор 15/15), но по замороженному гейту Q4b диффы ОТЛОЖЕНЫ (fidelity-trap 11/12; дороже full-regen на dspro×ru ×2.5–2.9 при невскрытой причине; D21.4/D21.10 закрыты явно). Дальше — эксп-21 (топология) → решение владельца | владелец → бэкенд | гейт: эксп-21 | решение владельца по бейк-оффу эксп-21 | 09 §Слой 3, D39.90, **D39.108** | | 113 | **Запас боевого гейта не зафиксирован тестом, а харнесс, давший число, УДАЛЁН (Д-хвост D39.90).** Числа «18 из 20 · 0 ложных на 1055 · запас 13× (0.0117 против 0.15)» и «санитайзер поймал бы английский черновик» получены ВРЕМЕННЫМ тестом в пакете pipeline (`splitBanknote`+`StripThink`+`sourceScriptShare`), который сессия удалила после снятия. Число ушло в контракт (строка 46), воспроизвести его нечем. **Делать:** корпус-фикстура в репо (~20 off-target + ~40 здоровых, с движковой предобработкой; снапшот НЕ двигает) + регресс-тест на реальный запас — это база, которую обязано побить любое предложение по 46. СТОП, если фикстура не воспроизводит 18/20 при 0 FP, или если запас меньше 3× | бэкенд | скоро (перед любой правкой по строке 46) | $0 фикстура + регресс-тест | D39.90, EFFORT_HANDLE §5.4 шаги 1–2, §7 | | 114 | **Конфиго-слой ручки эффорта: два дешёвых хвоста приёмки (вне снапшота, $0 прогонов).** (а) **Д4 отчёта:** `gates.terminology.target_script` НЕ сверяется с `book.target_lang` — `target_lang: ru` + `target_script: Latin` грузится чисто и **ИНВЕРТИРУЕТ** банковский экран (ловит целевой, пропускает чужой); сверка при загрузке против `lang.LangScripts(TargetLang)` — тот же дата-план, что у экрана строки 46, громкий отказ на несовпадении. (б) **Находка-2 приёмки:** стейл-доккоммент `capability.go:78` — у константы `ReasoningExtraBodyDisable` до сих пор «effort "" leaves the provider default», противореча проводу (`applyToBody` мержит disable на `""`, комментарий в теле arm это прямо объясняет) и починенному `ThinksOnWire`; однострочник тем же касанием | бэкенд | скоро (мелкий пак или попутно со строкой 46) | правка Go, снапшот не двигает | D39.91, EFFORT_HANDLE Д4 | | 115 | **`//go:embed` целевых данных — ЯВНЫЙ список файлов: новая ЦЕЛЬ требует правки Go (Д6 отчёта).** `internal/lang/embedded.go:22` перечисляет файлы поимённо, `CompileCheckers` паникует при неполном файле цели ⇒ на канон-вопрос «заработает ли пара, которой в репо НЕТ, без правки Go» ответ сегодня **НЕТ** — дыра в ратифицированной «ФАЗЕ 2 ОБЩНОСТИ ✅» (D39.64), и она не про язык, а про строку эмбеда. Решить форму: `embed data/*` (и как манифест фолдится в `EmbeddedVersion`, чтобы НЕ перекупать чужие пары) против явного списка как осознанного гейта полноты данных цели | оркестратор → бэкенд | когда-нибудь (триггер: первая новая целевая пара; учтён в реестре 108) | отдельное решение | D39.91, EFFORT_HANDLE Д6, D39.64 | | 116 | **Порог классификатора «6/6» ратифицирован для ОДНОГО вызова, не для выборки — и на рекомендованном `low` риг N=5 КРАСНЫЙ: 4/5 (Д8 отчёта).** Контракт обязан стать выборочным («≥4/5 при N=5» или иная форма — решение) ДО применения (б) к любому конфигу, иначе рекомендация `low` противоречит собственному приёмочному числу. Честная граница чисел (D39.86, подтверждена приёмкой по сырью): 2 из 6 термов (元石/灵泉) стоят дословно в промпте классификатора = припоминание; падение `low` — ровно по дискриминирующему подмножеству (1/4 против 4/4); единственный промах — вызов на 91 completion-токене (модель не подумала), уровень ни при чём **02.08 вечер: рекомендация подана владельцу — «≥4/5 прогонов N=5 достигают 6/6»** (альтернатива жёстче: 4/4 по дискриминирующему подмножеству без термов-припоминаний); ждёт слова | владелец → оркестратор | скоро (112 залендена (D39.97) — порог не должен отстать) | пере-ратификация порога, $0 | D39.91, EFFORT_HANDLE Д8, D39.86 | | 108 | **Реестр ЗАГЕЙЧЕННЫХ ТРИГГЕРОВ + норма закрытия «по нужности».** ⚠ Первый жилец реестра, найденный тем же лендингом: **сиблинг-угроза экрана целевого языка** — выход на языке, БЛИЗКОМ к целевому (украинский/болгарский для ru): ни одного события не наблюдалось, но если появится, дискриминатор — плотность РУССКО-ЭКСКЛЮЗИВНЫХ букв (ы/э/ё) НИЖЕ ожидания, а НЕ замыкание алфавита (`EFFORT_HANDLE §5.4` шаг 8). Шесть остальных реопенов живут только в телах D-нот и не имеют места, где их поднимут: **МАСШТАБ** (uniformity-пасс D12 · эмбеддинг A7/D2 «реопен = измеренный recall-разрыв, только batch-time лейн» · STITCH «бюджет ИЛИ измеренный эффект размера инъекции» · канон-пин серий) · **вторая пара живьём** (C-триггер softsign-decl · автономная Decl-эмиссия) · **вторая книга того же жанра** (жанровый shared-слой) · **первая traditional-книга** (probe-литералы 时辰/千万/数十万 цельным дата-батчем) · **появление Go-кода платформы** (`go.work` — ⚠ `platform/go.mod` УЖЕ заведён, триггер наступил) · **перед стройкой fix-8** (ёлочный экстрактор атрибуции + корпус-замер). **+Два жильца приёмки D39.91:** Д5 — enum эффорта провайдер-слеп (`medium` на DeepSeek не определён, `max`/`xhigh` недостижимы; пер-модельную таблицу решено НЕ строить — механизм без носителя качества/денег, misconfig ограничен бюджетами и назван в доккомменте `ValidReasoningEffort`; триггер: первый живой инцидент кривого поведения уровня на проводе) · Д9 — аддитивные провайдеры отказываются бэнк/repair-гейтам, блок не несёт `reasoning_max_tokens` (fail-closed в лоадере; триггер: первая потребность гейта в аддитивной модели). **+Вахта D39.92:** вендор анонсировал смену МАППИНГА эффорта `deepseek-v4-pro` «early August 2026» ⇒ квирк 3а («low→high, эффорт не настраивается») может устареть (триггер: аномалия редакторского арма ИЛИ дата > 05.08 ⇒ пере-проба маппинга + сверка changelog; абсорбция в `00-provider-quirks.md` — полигоном). Норма D39.66 «каждое отложено обязано ТЕМ ЖЕ лендингом получить строку или явное закрытие» нарушена ≥6 раз ПОСЛЕ собственной ратификации, и класс потерь узкий — теряются именно ЗАГЕЙЧЕННЫЕ РЕОПЕНЫ. Лечение: короткий реестр триггер→что вернётся→источник, сверяемый на каждом переходе горизонта (горизонт расписан до Ф3, точки сверки известны заранее) · **(D39.96)** тулчейн go1.27 переключит x/text на таблицы Unicode 17.0.0 МОЛЧА (`xTextVersion` пинит go.mod-строку, не таблицы) — триггер: любое движение тулчейна к 1.27 ⇒ строка 119 ПЕРВОЙ · **(D39.96)** CI-воркфлоу Forgejo (удалёнка 10.0.3, раннер не подтверждён; решение владельца 03.08 — не писать) — триггер: появление раннера ⇒ файл workflow; до того точка входа `make battery` | оркестратор | скоро ($0, гигиена трекера) | завести реестр + сверку в норму лендинга | D39.66, D39.90 | | 109 | **Продуктовые требования БЕЗ строки-носителя (сверка 02.08):** **ПТ-6** структурные традиции целевого языка (короткие zh-абзацы → читаемые ru-структуры) — держится только редакторскими мандатами в пар-промптах, поверхности измерения нет, в составе Ф2-гейтов (52) структуры абзацев нет · **ПТ-7** «слабый оригинал: подправлять художественно или быть верным» — вопрос владельца, не заведён даже в блоке «висит на владельце»; после ответа: режим параметром запуска (данные, не ветка Go) + мандат в промпте + гейт «улучшение vs отсебятина» · **ПТ-22** продуктовый ИНТЕЙК настроек (сегодня = рукописный `book.yaml`; частично покрыт 67 в части «версия исходника») · **ПТ-10** сам механизм веб-фетча (tool-calling, провенанс/кэш добытого, инжект под правилом «книга = недоверенные данные») — есть только гейт безопасности 70. Гигиена реестра тем же касанием: ПТ-24 не проставлена 101, ПТ-1/ПТ-11 не проставлена 105, ПТ-2 не проставлены 46 и 34а | оркестратор/владелец | скоро ($0 — расписать носители) | завести строки/вопросы → диспозиции | D39.90, product-requirements | | 110 | **Детектор повторов лемм / защита авторских рефренов** (`04-unhappy-paths.md:97,130 п.5`): $0-минимум исполнен промптом (editor.md, пакет-чекеров 02.08), механизм явно не строился — «нет размеченного класса; связка с alignment/Bertalign». Строки-носителя не было; предмет живой, потому что отличить дефектный повтор от авторского рефрена без выравнивания нельзя | бэкенд/полигон | когда-нибудь (с корпусом пилота, строка 85) | размеченный класс → решение | 04-unhappy §5, D39.90 | | 111 | **Дубль ключа пар-файла: фикс накрыл половину.** D39.82 закрыл строку 53 через `putUniqueDC` в `parseDCCheckers`, но генерик-парсер категорий `parseCategoryRows` (`internal/lang/langpack.go:806-826`, строка `cats[f[0]][f[1]] = val`) по-прежнему МОЛЧА last-wins — а якорь техдолга указывал именно на него. Пар-данные с опечаткой-дублем тихо теряют первую строку | бэкенд | когда-нибудь (малое касание, с любой правкой langpack) | fail-loud + тест | 13-tech-debt-anchors, D39.82, D39.90 | | 118 | **tools/go.mod — РЕШЕНИЕ ПРИНЯТО (D39.97 п.4): строить отдельным малым паком.** `cmd/tmvet`+`internal/archguard` → отдельный модуль (`backend/tools/`); `make battery` гоняет оба модуля; `tool`-директива Go 1.24 НЕ решает (MVS общий). Выигрыш: бамп инструментов физически не двигает x/net/x/text. Sqlite 1.55 остаётся (D39.97 п.4) | бэкенд | скоро (до следующего бампа зависимостей) | малый пак по D39.97 п.4 | D39.96 п.6, D39.97 | | 119 | **x/text-детерминизм: вердикт-несущие вызовы НЕ свёрнуты в версии (находки-5/6 приёмки).** `SanitizerVersion` не сворачивает ничего x/text-ного, а `detectCJKLeak` зависит от `width.Fold` (`sanitizer.go:211,687`) — смена x/text перевернула бы вердикт БЕЗ смены снапшота; `ExportNormalize` меняет экспортные байты вне хешей (`sanitizer.go:709`); `xTextVersion` пинит строку go.mod, НЕ скомпилированные таблицы — тулчейн go1.27 переключит x/text на Unicode 17.0.0 МОЛЧА (`tables17.0.0.go //go:build go1.27`; жилец реестра 108). Делать: явные версии-свёртки + механическую сверку «таблицы↔константа» вместо совпадения | бэкенд | скоро | правка версий-свёрток + тест | D39.96 п.6, отчёт §5 находки-5/6 | | 120 | **`buildCheckers` жёстко берёт `lang.Load(root,"zh","ru")`, бейзлайны ключуются по классу, не по паре (§7-8) — приезд ja-ru требует правки Go, против мандата общности §0.1.** Родня строки 115 (явный embed-список целей) — брать одним касанием | бэкенд | скоро | правка Go + тест на паре-которой-нет | D39.96 п.6, отчёт §7-8 | | 121 | **archguard v2 (посадки приёмки D39.96 + §7-12/13 + §7-9). ⚠ Пункты (0а)/(0б) — РЕГРЕССИЯ против снесённого байт-гарда; дофикс ИСПОЛНЕН и принят D39.97 — (0а)/(0б)/(а) ЗАКРЫТЫ, плюс блокер type-param, ось имени и ложное срабатывание сверх промта; остаток строки — (б)/(в)/(г)/(д).** (0а) egressseam пропускает пакетную `llm.Complete(...)`: nil-`Selections` → молчаливый выход (`archguard.go:240-242`; фикс — fallback на `Uses`); (0б) пропускает интерфейс с llm-типами внутри композита (`Complete(ctx, []llm.LLMRequest)…` — `touchesPkg` не рекурсивен, `:79-82`); старый регекс `.Complete(` ловил обе формы; комменты «cannot be hidden» (`:250-253` и фикстура) фальсифицированы — переписать честно; (а) `runRequestSeam` обходит ТОЛЬКО `*ast.CompositeLit` (`archguard.go:197`): `var r pipeline.Request`+присваивание и `new(pipeline.Request)` проходят МОЛЧА — подтверждено на реконструкции: дыра ОБЩАЯ со старым гардом (не регрессия); фикс ~10 строк: симметрия ValueSpec/CallExpr со stage-сеамом + негативная фикстура, документирующая осознанные пропуски; (б) класс «встраивание · make+присваивание · дженерик-ноль» закрывается не свитчем, а ТИПОМ (нулевое значение `config.Stage` непригодно вне пакета); (в) политика build-тегов vet (сегодня default+live; чужой тег невидим — других в репо нет); (г) кандидат 4-й анализатор границы импортов — `backend/README.md:3` заявляет «проверяет `go list -deps`», что не автоматизировано ничем; (д) семь осознанных пропусков после дофикса 03.08 (принят D39.97; фикстуры БЕЗ want — покраснеют, когда начнут ловиться): llm.Ask-класс · пара внутри named-обёртки · встраивание/make/generic-zero · `internal/llm` исключён целиком (второй провод внутри адаптеров ловится только ревью) · внешние тест-пакеты · рефлексия (статикой не закрывается) · файлы за третьим сборочным тегом — всё, что закрываемо, закрывается типовым швом (б), не свитчем | бэкенд | скоро (остаток: (б) тип вместо свитча · (в) build-теги · (г) 4-й анализатор · (д) семь пропусков) | правка анализатора + посадки | D39.96 п.2/п.6, отчёт §7-9/12/13 | | 122 | **Гигиена пака стандартов (не-блокеры приёмки).** `TestCheckerLabelsCandidates` — ни одного ассерта (дизайн-REPL в одежде теста) · сообщение `TestMemoryVersionPinsTheUnverifiedRenderRevision` не различает «изменился рендер»/«изменилась нормализация» · Makefile: regex GO_MIN_VERSION пропускает go1.26.0–1.26.3 (патч-уровень не проверяется) · включить `unconvert` (1) и `wastedassign` (2) — дешевле уже включённых по собственному правилу конфига · `.skips.log` не в gitignore (прерванная battery оставляет мусор в дереве) · Fprint-исключение errcheck скоупить на `cmd/` (сейчас весь модуль — будущий писатель файла экспорта получит молча съеденную ошибку) · `w\.Write`-исключение ключуется ИМЕНЕМ receiver-а вопреки собственному принципу конфига · miningstop-исключение глушит текстом весь файл — якорить на функцию · provenance-числа конфига дрейфуют от дерева (293/31/93 против 294/33/91; контрпример «все прод-Close — читатели»: `chunktest/epub.go:51`) · коммент c1 «echo mine unarmed» поправлен дофиксом 03.08 (снят) · инвариант-коммент `httpllm.go:77` «zero wire bytes» — верен для полей пинга, неверен для бампа x/net, который их привёз (находка-4 D39.96) — переписать честно | бэкенд | когда-нибудь | мелкие правки | D39.96 п.6, отчёт §7-6/7, §9 хвост | | 123 | **Полигон: `jieba==0.42.1` — build-time зависимость артефакта контраста `eval/exp16/data/jieba_dict_general_zh.txt`** (пере-собран бэкенд-сессией 03.08, полный sha256 сошёлся с пином `16-bank-mining.md`); дописать в манифест окружения полигона с пометкой «build-time, не runtime» | полигон | когда-нибудь | строка манифеста | D39.96 п.6, отчёт §7-4/§6 | | 124 | **Калибровка снапшота (вопрос владельца 04.08, разбор D39.97 п.5): нацеленность, не агрессивность.** Три оси одним дизайн-паком: (а) недо-чувствительность — вердикт-несущие вызовы x/text не свёрнуты (вход: строка 119); (б) пере-охват — `EmbeddedVersion` фолдит все пары разом → пер-парный хеш (родня 115/120); (в) дешёвая перекупка: `tmctl resnapshot --dry-run` — байт-сверка тел по чекпойнтам (`msgsContentHash`), идентичные юниты пере-привязываются без пере-вызова, платятся только изменившиеся. «Поведенческий отпечаток вместо строки версии» отложен (пол ≠ доказательство) | бэкенд | когда-нибудь (перед МАСШТАБОМ — когда перекупки станут реальными деньгами) | дизайн-пак по D39.97 п.5 | D39.97 | ## Оркестратор №13 — ЗАКРЫТИЕ СЕССИИ, передача №14 (D39.105), 04.08 Итог №13: приёмка банк-арбитража (D39.102, `271f8b0`) · решения владельца + доктрина инжекта, два промта выданы (D39.103/104, `d653aa1`) · полный док-свип закрытия (5 сканеров; хроника №9/№10 и закрытые бэкенд-записи срезаны в `archive/PROGRESS-2026-08-01-02.md`). Очередь №14 — шапка CURRENT-STATE (первым — приёмка P0 платформы). ## Оркестратор №13 — решения владельца + ДОКТРИНА ИНЖЕКТА, два промта выданы (D39.103/104), 04.08 Фикс-пак банка 128 санкционирован (промт выдан, $0) · проба редакторского провода санкционирована (промт выдан, ≤$0.30; фронтир-пасс ≤$0.50, «go» дан; отчёт будет `experiments/18-editor-wire-probe.md`) · алиасы §E-1 отложены до первого длинного прогона · **доктрина инжекта**: банк на проводе = ЗАКОН для всех ролей независимо от статуса строки, свобода — только оговоркой ОБЛАСТИ употребления; единый закон-блок редактора, маркер ⟨проверить⟩ с провода снимается (строка 134 — после пробы 18) · «Гуюэ» — не чинить, канал сида. Оба промта дважды аудированы до выдачи (факты по file:line + понятность холодным исполнителем). ## Оркестратор №13 — ПРИЁМКА БАНК-АРБИТРАЖА: research/24 ПРИНЯТ и заленден (D39.102), 04.08 Адверсариальная приёмка тремя контурами: 12-агентный воркфлоу пере-ранил все строки «заявление=команда» — 8/8 CONFIRMED без расхождения чисел, 23/23 адресов §A подтверждены по HEAD `7f6270a`; независимый пересчёт денег из сырья $0.107334 ≈ леджер (расхождение пинга = склейка инкрементов C+E — маркер в «Полигоне»); слепое ревью кода банка (author≠reviewer) + 12 опровергателей дали находки СВЕРХ отчёта → строки 128–132 (главные: банкнота-парсер теряет хвост многословного dst; emitRankCap×writeAutoBank молча стирает термы из авто-банка; кап инъекции не считает маркер/гендер-ноты). Корзина «закрыть по нужности» ратифицирована целиком; строка 5 пере-скоуплена (остаток — рецензент спорных кластеров при ре-пробе 74, роутинг кластерными юнитами). 4 вопроса владельцу — D39.102 п.4; оговорки приёмки — ревью-шапка research/24. ## Оркестратор №12 — ЗАКРЫТИЕ СЕССИИ, передача №13 (D39.101), 04.08 Доки актуализированы и подрезаны (CURRENT-STATE сжат, банк-промт заархивирован исполненным, README без стейла), голова D-лога D39.101. №13 начинает с приёмки банк-арбитража, дальше бэкенд-очередь (промт экрана 46 · tools/go.mod · блокеры контракта); вахта deepseek НАСТУПАЕТ >05.08. Грабли и нормы передачи — D39.101 п.4. ## Оркестратор №12 — решения владельца по контракту ратифицированы, платформа открыта промтом P0 (D39.100), 04.08 Четыре К закрыты владельцем (десять статусов · лимиты «как Claude Code» → ПТ-35/П-5/`paused` · ETA показывать · метка главы из данных — канон-урок: зашитого «Глава N» нет) + принцип К-6; правки спеки переданы S3 первым шагом. Платформа: полноценный промт P0 (`platform/docs/PLATFORM_SESSION_PROMPT.md`), зонный журнал заведён; норма name-PROGRESS вписана в CLAUDE.md/README. Confirm-хвосты D39.98 закрыты. Детали — D39.100. ## Оркестратор №12 — КОНТРАКТ API v0 РАТИФИЦИРОВАН: строка 95 закрыта, форма OpenAPI, три пасса приёмки (D39.99), 04.08 S3 упёрлась в замок (контракта нет) — по слову владельца написала вход Ф-14 + черновик; форма по решению владельца сменена на OpenAPI 3.1 (типы генерятся, спека линтуется — класс «фикстура выдумала форму», случившийся четырежды, закрыт механически). Приёмка: три воркфлоу-пасса (16+6 агентов), 19 подтверждённых находок (2 high: withheld ≠ «текст не выдан» — движок отгружает текст под флагом; чтения без канала шва), ноль опровергнутых; все вправлены двумя раундами дофикса, каждый раунд перепроверен. Пост-мортем процесса — в D39.99 п.4 (промт S3 велел пинговать в чужую зону — противоречие канона и зонного решения владельца закрыто правкой CLAUDE.md; чек-пункты в промт оркестратора). Детали — D39.99. ## Оркестратор №12 — фронт S2 + дофикс по ревью приняты и залендены `02872b6`, git-канон v2 по носителям (D39.98), 04.08 Приёмка S2 — адверсариальный воркфлоу (5 линз × скептики с ре-раном): батарея и виртуализация подтверждены исполнением, стек без дрифта, три дефекта (пар-слепой шрифтовой токен · выдуманный тип `org` с фабрикованной цитатой журнала · ключ рядов банка без учёта полисемии) вправлены дофиксом и залендены; три находки ревьюеров опровергнуты скептиками. Детали и остаточное — D39.98. ## Оркестратор №12 — приёмка дофикса archguard, лендинг всего пака семью коммитами, ответы владельцу (D39.97), 04.08 Дофикс archguard + проба приняты короткой приёмкой исполнением (⚠ «короткой» — об объёме дельты; норма 03.08: приёмка всегда адверсариальная, свои посадки вне карты отчёта были) (батарея EXIT=0 · деньги дельта $0.000000 · две СВОИ посадки вне карты отчёта, включая method expression — форма отсутствовала и в таблице, и в пропусках, поймана; негативный контроль чист). CONFIRM владельца по `@latest` записан входом приёмки. Весь пак заленден семью pathspec-коммитами (`e8d4ac0` конфиги · `5a97020` дефект-фиксы · `b155da3` механика · `cb368c0` бамп · `6356471` анализаторы · `5a81bff` линт-инфра · `0e64efe` live-проба); фронт коммитил параллельно (`ece94ef`) — pathspec исключил коллизию. Строки 107/112/117 закрыты; оба промта архивированы. Решения: tools/go.mod — строить (118, D39.97 п.4); вопрос владельца о снапшоте разобран — калибровка нацеленности вместо ослабления, три оси одним дизайн-паком (новая строка 124: недо-чувствительность 119 · пер-парный EmbeddedVersion · дешёвая перекупка байт-сверкой). Хвост `httpllm.go:77` → 122. ## Оркестратор №12 — приёмка пака «стандарты репо» ДВУМЯ пассами (D39.96), 03.08 Пасс-1 — шесть верификаторов по клеймам отчёта + 7 своих посадок (нашёл дыру requestseam). Владелец вскрыл метод-дефект пасса-1 («след отчёта»: проверялась истинность названных клеймов, не направление; два экспериментальных клейма приняты со слов; пять «решений владельца» ратифицированы со слов сессии) → пасс-2 из пяти АНТИ-СЛЕДОВЫХ линз: мнение-до-отчёта · поиск вне карты · реконструкция снесённых гардов из HEAD · аудит исключений линтера по коду · независимая репликация клеймов. Итог пасса-2: **регрессия egress-паритета против снесённого байт-гарда (две исполнимые формы — снос в текущем виде нарушает букву промта)** · мисхарактеризация «порядка HPACK-заголовков» в находке-4 (рандомен под обеими версиями; реальная дельта — только SETTINGS) · клейм x/text-эквивалентности реплицирован независимо · «не регрессия requestseam» подтверждена исполнением на реконструкции. Вердикт: пак принят по качеству кода, лендинг гейчен тремя решениями владельца (проба 117 · confirm пяти санкций · развилка этапа E) — D39.96 п.7. Урок закреплён нормой «анти-паттерны приёмки» в `ORCHESTRATOR_SESSION_PROMPT.md`. Отчёт с ревью-шапкой — `archive/reports/REPO_STANDARDS_2026-08-03.md`. ## Оркестратор №11 — ЗАКРЫТИЕ СЕССИИ И ПЕРЕДАЧА №12 (D39.94), 02.08 Итог сессии: приёмка пака ручки эффорта исполнением — принят, заленден `553f1a3`, строка 104 закрыта (D39.91); решения владельца ратифицированы: 46 → closed-set «не тот язык» изолированным пакетом с именованными причинами (D39.92 п.1 + D39.93), 107 → санкция целиком, промт `BACKEND_REPO_STANDARDS_SESSION_PROMPT.md` выдан, 112 → санкция (этап 0 промта); вендор-сверка DeepSeek: 0731 не деградация, а смена политики дефолта thinking=high; вахта на смену маппинга v4-pro (реестр 108). Преемнику: приёмка пака стандартов + выдача промта экрана 46. На владельце: 116 · строка 5 · мини-проба 44 · подпись шага 6 по 46. Очередь: 97 строк · «скоро» 15 · блокеров 0. Пост-скриптум закрытия: `0d1c08f` — коммит `START_PROMT.MD` ПО ЯВНОМУ СЛОВУ владельца (разовое исключение из гардрейла, прекоммит-гейт обойдён `--no-verify` осознанно; правило «не коммитить» в силе); V5-п.2 из диффа уже разобран как ПТ-23, невидимых требований нет. Второй речек владельца («перечитай онбординг») добил хвосты: строка 74 закрыта (её буква «закрывается приёмкой пака» исполнилась в D39.91), промт EFFORT_HANDLE заархивирован, карта README и буллеты Курс/Горизонт/Стек освежены — D39.95; очередь после закрытия 74 — 96 строк. ## Оркестратор №11 — РЕШЕНИЯ ВЛАДЕЛЬЦА ПО 46/107/112 РАТИФИЦИРОВАНЫ, ПРОМТ СТАНДАРТОВ ВЫДАН, ВЕНДОР-СВЕРКА DEEPSEEK (D39.92), 02.08 Владелец: 46 — пере-постановка closed-set («вернуло не тот язык, что просили», LID только запасной флаггер, проверку изолировать) — ресёрч бэкендеров ЗАПИСАН (§5.1–5.3 отчёта EFFORT_HANDLE) и отвечает постановке; два расхождения замером (гарантия FPR≤0.1% не покупается на n=114 — порог константой-контрактом; L2/L4 отвергнуты числами этой книги, реопен через реестр 108), слой-0 (полоса длин) — добавить замером на фикстуре 113. 107 — САНКЦИЯ целиком: CI+линтер+бамп x/net и библиотек, «осторожно, затем полностью», анти-хак-правило; выдан `BACKEND_REPO_STANDARDS_SESSION_PROMPT.md` (этап 0 = строка 112 · A замер · B состав · C Makefile/CI · D бамп с живой пробой ≤$0.50 · E гарды→analyzer, паритет 12 посадок, Д7). 112 — САНКЦИЯ (перекупка принята). Вендор-сверка по правилу 10.07: 0731 = офиц. релиз flash, бенчи вверх — «модель хуже» интернет НЕ подтверждает, наш отказ = смена ПОЛИТИКИ ДЕФОЛТА thinking=high на плотном хане; ⚠ анонс смены маппинга эффорта v4-pro «early August 2026» — вахта в реестре 108. Миграция черновика — замер по слову владельца, не решение. Открыто на владельце: 116 (рекомендация «≥4/5 при N=5» подана) · строка 5 (вытащить находки прерванного захода или пере-запуск $1.20) · подпись шага 6 по 46. ## Оркестратор №11 — ПРИЁМКА ПАКА РУЧКИ ЭФФОРТА: ПРИНЯТ И ЗАЛЕНДЕН (D39.91), 02.08 Задача №1 хендоффа исполнена целиком, всё исполнением: батарея с фрозен-числами пере-прогнана (5/5 совпали, голден без пере-захвата), деньги пере-выведены вторым путём из сырья (леджер $0.045095 ≡ независимый usage×цены ≡ Σ `request_log`, дельта $0.000000, decode/estimated 0), адверсариал — пять НЕЗАВИСИМЫХ посадок в гарды (алиас-литерал · `[]cfg.Stage{{…}}` · hoisted `Request` · `var` · `new()`) все CAUGHT, N=5 сверен с `classifier-6of6-{low,high}.json` побайтно (low 4/5 $0.001016 · high 5/5 $0.002335 · ×2.298 · промах = 91 ток., 1/4 дискриминирующих). Обе девиации строки 104 РАТИФИЦИРОВАНЫ (repair-ключ свой — подтверждён по пяти шиппинг-конфигам; `ThinksOnWire` — ровно случай «ключ отсутствует», провод не менялся). Две находки приёмки: метка «$0.031639 (flash)» врёт — это flash+pro черновой волны (flash-only $0.021289; суммы верны; скопировано и в D39.90 п.2) · стейл-доккоммент `capability.go:78`. Хеш-клейм «`8e4495006b978ed4` в обе стороны» невоспроизводим (старая форма удалена) — принят по эквивалентности. Код: **`553f1a3`** (13 файлов backend/, pathspec; чужое — фронт живой, `START_PROMT.MD` — не тронуто). Отложки Д4–Д9 → носители тем же лендингом: 114 · 115 · 116 · реестр 108 (+Д5/Д9) · 107 (+Д7); гейт строки 44 наступил — пере-диспозиционирована. Сверка §5.4 отчёта ПУНКТАМИ — потерь сжатия НЕТ (шаг 3 уже исполнен №10 в теле строки 46). Очередь скриптом: 97 строк · «скоро» 15 · блокеров 0. *(Хроника сессий №9/№10, 31.07–02.08 (D39.59–90: курс «общность вперёд» · свип полноты · качество банка · фикс-пак · coldrun-b · фронт/платформа открыты · шов движок↔платформа · промт арбитража банка) — в [archive/PROGRESS-2026-08-01-02.md](archive/PROGRESS-2026-08-01-02.md).)* *(Хроника 25.07–31.07 до курса D39.59 — эры №7/№8 и начало №9: паки 16–20, мини-прогон, полигон-пакеты 5–8, ToS-речеки, пак-19, холодный прогон (лендинги D39.26–58) — в [archive/PROGRESS-2026-07-25-31.md](archive/PROGRESS-2026-07-25-31.md).)* ## Бэкенд **⟶ Свежее состояние бэкенда: пак стандартов + дофикс приняты и залендены (D39.96/97, `e8d4ac0`…`0e64efe`; точка входа `make battery`); АКТИВНЫЙ промт бэкенда — `docs/BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md` (фикс-пак банка 128, санкция D39.103); ниже — хроника до №11.** **⟶ Приёмка №11 (D39.91, 02.08): пак ниже ПРИНЯТ, код заленден `553f1a3`; поправки приёмки (метка flash+pro · хеш по эквивалентности · `capability.go:78`) — в ревью-шапке отчёта и D39.91.** *(Закрытые бэкенд-записи 01–02.08 — общность фаза 2 · качество банка (оба этапа) · фикс-пак банка · finding-1 · пакет-чекеров · мелкая пачка · coldrun-b · ручка эффорта — в [archive/PROGRESS-2026-08-01-02.md](archive/PROGRESS-2026-08-01-02.md).)* *(Закрытая хроника пакетов №0–№4 (04–10.07) перенесена в [archive/PROGRESS-2026-07-04-10.md](archive/PROGRESS-2026-07-04-10.md) — ревизия D31.)* *(Хроника пакетов 11–12.07 (пакет-5, D15.2-этап-А, санитайзер-фикс D33) — в [archive/PROGRESS-2026-07-10-13.md](archive/PROGRESS-2026-07-10-13.md).)* *(Трек-A пак-1/1.5 (D39.2/D39.5) — см. записи оркестратора №6 выше.)* *(Хроника бэкенд-паков 11–16 (19–25.07, вкл. отчёт-запись пака-15) — в [archive/PROGRESS-2026-07-13-25.md](archive/PROGRESS-2026-07-13-25.md); отчёты паков — `archive/reports/`.)* *(Закрытые записи 25–31.07 — пак-18 · мини-прогон · фикс-пак · сквозная проверка · хендофф 26.07 · ресёрч общности фаза 1 — в [archive/PROGRESS-2026-07-25-31.md](archive/PROGRESS-2026-07-25-31.md).)* ## Полигон **⛔ ИНЦИДЕНТ 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](archive/PROGRESS-2026-07-25-31.md); пакеты Р6+P4 и ToS — журнал выше (D39.57/61).)* (секция параллельной сессии — записи добавлять сюда) ## Память (секция ресёрч-сессий памяти — записи добавлять сюда) *(Хроника валидации банка (04–05.07, research/13–14, вердикт GO) — в [archive/PROGRESS-2026-07-04-10.md](archive/PROGRESS-2026-07-04-10.md), D31.)* ## Голос и состояние (секция ресёрч-сессии — записи добавлять сюда) *(Хроника сессии «Голос и состояние» (09.07 → research/15, D21) — в [archive/PROGRESS-2026-07-04-10.md](archive/PROGRESS-2026-07-04-10.md), D31.)* ## Ридер-IDE (секция ресёрч/движковых записей Ридер-IDE; записи фронт-сессий с 04.08 — ТОЛЬКО в `frontend/docs/frontend-PROGRESS.md`, D39.100) **Фронт-сессия — исследование стека закрыто (02.08).** 15 агентов (7 направлений × независимый скептик-опровергатель + синтез), версии сверены с вебом 02.08; скептики дали 5 blocker/45 major — записаны исправленные варианты. Артефакты: `frontend/docs/STACK_DECISIONS.md` (пины точными версиями · ловушки «вся документация в сети описывает прошлые версии» · работы движка §8) + переписанный `frontend/docs/FRONTEND_SESSION_PROMPT.md` (фронт режется на этапы S0–S7; первая кодовая сессия кончается витриной токенов). — **ЛЕНД D39.84** (10-агентный refute-воркфлоу оркестратора: все несущие бэкенд-утверждения CONFIRMED, 8/8 веб-пинов подтверждены первоисточниками; работы движка = строки 99–102; ПТ-34/ПТ-21/ПТ-23 в реестре; вопрос коммит-прав фронт-сессий — у владельца; РЕШЁН дважды: D39.88 право дано → D39.98 отозвано, коммитит только оркестратор). *(Хроника сессии «Ридер-IDE» (11.07 → research/16, D29) — в [archive/PROGRESS-2026-07-04-10.md](archive/PROGRESS-2026-07-04-10.md), D31.)*