# Журнал прогресса
> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-07-26: пак-20 закрыт ЦЕЛИКОМ D39.41–53 — терминолог · флаговый стоп · двухсекционная инъекция · точечная ре-редактура · языковой экран; жанровый словарь отменён D39.47; полигон-пакеты 6/7/8 закрыты). **Источник истины по РЕШЕНИЯМ — `architecture/05-decisions-log.md` (D1–D39.53); этот файл — ЖУРНАЛ.**
> - **Фазы/курс:** Ф0 ✅ · Ф1-инфра ✅ (D20–D28; golden = инвариант №8) · арка «качество-первым» D26→D38.5 закрыта · **арх-ресет D39 исполнен ЦЕЛИКОМ** (7 слоёв → программа D39.1–D39.10 → паки 11–16, D39.13–D39.24; статус слоёв — шапка-таблица `architecture/09-target-architecture.md`) · пере-прогон rerun2 прочитан (D39.20: операционка живьём, $0-резюм ×3 арма, $6.63<$15; планка ≤2 НЕ пройдена; анти-корреляция гладкость↔верность ×3 → mistral-редактор вон) · эксп ЗАКРЫТ (D39.22), итерация №2 отложена · **курс = разработка бэкенда: пак-17 «канал B вживую» ЗАКРЫТ ЦЕЛИКОМ (дизайн D39.26 · стройка D39.27 · дельта `allow` D39.28, 25.07); вокабуляр = ПАРА `violence`/`sexually-explicit`, остаток — ФАКТЫ ToS в зоне полигона (fail-closed до них)** (D39.25: в движке НЕТ понятия «18+» — generic content-labels × provider-capabilities; лейблы вне хешей · резолв до валидации · один хоп `chain[0]` · гранулярность = книга) → **КУРС АМЕНДИРОВАН ВЛАДЕЛЬЦЕМ 25.07 (D39.33): МАСШТАБ — ПОСЛЕДНИМ, после достройки алгоритмического идеала; доказательство эффективности крупных изменений — МИНИ-ПРОГОНЫ ~10 глав (детерминированные чекеры и скан остатка первыми, судья — только когда от него зависит решение).** **ОЧЕРЕДЬ (D39.40/51/53, актуализация 31.07):** пак-19 «голос/состояние» ЗАКРЫТ ЦЕЛИКОМ (D39.54–56, вкл. малую пачку 14а+14б) → ХОЛОДНЫЙ мини-прогон ИСПОЛНЕН ДОСТАТОЧНО (D39.58, Р7 владельца: recall банка 0.918/0.980, банк приходит переведённым; хвосты 16/21/22/24/13б — со следующим живым прогоном или полигон-пакетом) → **ПАРАЛЛЕЛЬ D39.59: бэкенд-ресёрч общности фаза 1 ПРИНЯТ (D39.60 — долг 149 сайтов/45 файлов, книго-ось чиста: 4 сайта; ja→ru безопасно без Go, en→ru нет; план П0–П5; СТОП — 5 вопросов §12 у владельца, строка 72) ∥ полигон Р6+P4 — отчёт пришёл, приёмка D39.61** → фаза 2 общности по ответам ($0-части П1 → общий resnapshot-батч П0+П1+П2+П3+П4+дешёвая шестёрка пака-21 → П5 гейтится второй книгой) → арка АВТОНОМНОСТИ банка (веб-фетч пере-замер + 36а/36б/36в; премиса «решение = подпись» амендирована D39.59) → rewrite-пакеты общности → свип гипотез → добор идеала → МАСШТАБ целой книги (7,78 млн симв., ~2284 раздела) → пилот Ф2.5. Хроника треков A/B, exp15/16 и стройки паков — архивы ниже + D-лог.
> - **Стек:** draft deepseek-v4-flash (thinking ON, +банкнота `translator-banknote.md`) → **терминолог** (роль пар-пака, deepseek-v4-flash, батчи, языковой экран `target_script` — D39.42/45/51/53) → **editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (D39.22; glm-5 резерв)**, промпт v3-discourse, инъекция двухсекционная (D39.45) → судья gemini-3.1-pro-preview (Ф2, полигон); канал B Mistral+grok; 7 ключей; ~$0.85/ранобэ (D30.4).
> - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже (введён 26.07 по решению владельца: одна таблица вместо наслоений; ревью-пасс оркестратора сверил её с коммитами и обсуждённым, добавил 7 строк). Норма прежняя: каждая петля обязана иметь диспозицию (решено / отложено-с-записью / отклонено); ведёт оркестратор. Историческая развёртка петель до 26.07 — в git-истории этого файла и в D-логе.**
> - Архивы хроники: `archive/PROGRESS-2026-07-04-10.md` (D31) · `archive/PROGRESS-2026-07-10-13.md` (D39.6-гигиена) · `archive/PROGRESS-2026-07-13-25.md` (слайс 25.07: стройка паков 11–16, rerun2). Записи ниже — живой хвост.
## Бэклог (ЕДИНЫЙ, собран и сверен 26.07; правки — только через оркестратора)
Закрытые строки здесь НЕ хранятся — они уходят в D-лог с номером решения. Вес: «блокер-очереди» = мешает текущему шагу · «скоро» = ближайшие 1–2 касания · «когда-нибудь» = записано, не потеряно.
| ID | Хвост (одной фразой) | Зона | Вес | Чем закрывается | Источник |
|---|---|---|---|---|---|
| **— ВИСИТ НА ВЛАДЕЛЬЦЕ —** | | | | | |
| 1 | Ответы на вопросы разметки Р1–Р4 — пере-оценка D39.60 (Q4): на владельце остаются ДВА — **Р2-расширенный** («детекторы единиц/шкал судят ЗНАЧЕНИЕ рендера или ФОРМУ?» — один ответ на семейство) + **Р4-норма** (потолок recall by construction пишется в контракт правила); Р3 закрыт D39.44 Q4 (остаток-работа → строка 73), Р1 расщеплён (данные→пар-пак · политика→Р2 · книжный остаток снят) | владелец | ждёт подтверждения Q4 | ответ владельца | D39.39(г), D39.44 Q4, D39.60 |
| 2 | Четыре вопроса границы «алгоритмического идеала» (Annotator · семантический судья · ja→ru §B5 · ru-target до/после) | владелец | скоро (гейт «добора идеала» перед МАСШТАБОМ) | отдельное решение | D39.33, D39.38 |
| 3 | Одноразовый `--resnapshot` стендовых книг с auto-строками | владелец | скоро | отдельное решение | D39.45(4) |
| 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 | Судья-с-декоем — условие «после холодного старта» НАСТУПИЛО (D39.58); форма возврата = рецензент второго мнения по банку, несогласия колонкой подписной таблицы (строка 36б) | владелец | скоро | дизайн 36б | D39.50 п.6, D39.51 п.4, D39.58 |
| 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 вне цепочки) | владелец | когда-нибудь | отдельное решение | D39.32 |
| 11 | Флип coverage-гейта (`enabled:false`, D12-Q4) — за подписью владельца | владелец | когда-нибудь | отдельное решение | D39.34(2) |
| 12 | `postcheck_gate` в hard-gate — требует пере-замера recall (recall чекеров теперь измерен и низок) | владелец | когда-нибудь (после пака-21) | отдельное решение | D39.34(2), D24.4+D28.1, D39.39 |
| 13 | Включение платной петли ремонта + per-class исходы ремонта (схемное решение принимается вместе) — вернуться при расширении классов детекторов и ненулевом остатке | владелец | когда-нибудь | отдельное решение | D39.38, D39.39(а), 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.56, PACK19_BUILD §7.2, чат 31.07 |
| **— ХВОСТЫ ХОЛОДНОГО ПРОГОНА (исполнен достаточно, D39.58; Р7 владельца) —** | | | | | |
| 16 | Полная цена холодного старта: edit-волна не гонялась (Р7); измерено всё ДО редактуры (драфт+банкнота $0.0247/волна · терминолог $0.006–0.013/проход) | бэкенд | когда-нибудь (следующий живой прогон) | следующий прогон | D39.58 |
| 18 | `蛊` не приходит НИ ОДНИМ каналом (модель объявляет составные, майнер режет по длине) — структурная дыра эмиссии на голове частотного понятия; доставка подписанной короткой строки проверена $0-пином; третий сайт того же порога — алиас-канал `miner_alias.go:44,93` (D39.60) | бэкенд | когда-нибудь | отдельное решение (рядом с 36а) | D39.58, D39.60 |
| 21 | Пере-замер P1 consistency — сырьё снято холодным прогоном (4 сэмпла, 150 термов, без цензуры), метод полигонский | полигон | скоро | полигон-пакет | D39.52, D39.58 |
| 22 | Пере-мер весов консолидации §C2-3 при n≥2 — сырьё то же | полигон | скоро | полигон-пакет | D39.45, D39.58 |
| 24 | Остаток: авто-режим флага (проект Б не гонялся) · оси голоса A–D (профили не подписаны; черновик готов — `coldrun-a/SIGN-PACKAGE.md` §3) | бэкенд | когда-нибудь (следующий живой прогон) | следующий прогон | D39.40, D39.58 |
| **— ТЕКУЩАЯ ОЧЕРЕДЬ (D39.59) —** | | | | | |
| 72 | Ресёрч общности: фаза 1 ИСПОЛНЕНА и ПРИНЯТА (D39.60; карта = рабочая истина: 149 сайтов/45 файлов, книго-ось чиста, план П0–П5) — **СТОП: 5 вопросов §12 у владельца** (П1-санкция · resnapshot-фигура · П6 · Р1–Р4 · судьба пака-21); фаза 2 по ответам | владелец → бэкенд | блокер-очереди | ответы → фаза-2 директива | D39.59, D39.60 |
| 73 | Арка АВТОНОМНОСТИ банка (курс владельца: подпись опциональна): пере-замер веб-фетча под АВТОНОМНЫМ критерием (пакет-7 мерил не то — аддитив к KWIC против подписи) + механизмы 36а/36б/36в + Decl-шов (майненая сторона не пишет склонённых форм — пост-чек не примет 149 авто-строк; D39.60, бывший дефект #9 пака-21) + Р3-остаток; дизайн после ответов по общности | бэкенд/полигон | скоро | дизайн-арка → ратификация | D39.59, D39.60 |
| 75 | Живой баг: `isCJKLang` числит ko, а `cjkShare`/CJK-leak/гард ремонта Hangul не содержат — движок считает ko-нарезку как CJK, печатает эхо-предупреждение и при этом эхо УВИДЕТЬ НЕ МОЖЕТ | бэкенд | скоро (носитель П2) | П2 скрипт-шов | D39.60, GENERALITY_RESEARCH §3.3 |
| 76 | Эмбед-плоскость `internal/lang/data/*.txt` НЕ хешируется (а `injection.txt` едет на провод, `target-ru.txt` даёт вердикты санитайзера) = канал тихой пере-оплаты вне контура Р6 — П0 «байты есть версия» ПЕРВЫМ в любой фазе 2 | бэкенд | скоро (П0, предусловие) | П0 | D39.60, GENERALITY_RESEARCH §6.1 |
| **— ПАК-21 «чекеры» (карта готова; предложение D39.60/Q5: РАСТВОРИТЬ — дешёвая шестёрка батчем в общий resnapshot, 6 дефектов в П1/П2/П3, #9 → строка 73, #12/K4a снять; якоря D39.39 устарели — актуальные в GENERALITY_RESEARCH §8) —** | | | | | |
| 25 | 12 дефектов чекеров с file:line (супрессор K5c · атрибуция K4b · inner_marker на тире · предохранитель K5a · заглавные/гомоглифы K2 · 两 в cheng_re · U+0301 в TokenizeCyrillic · мн.число в сид-тулинге · однознаковые ключи пост-чека) — приёмка против набора пакета-6 за $0 | бэкенд | скоро | пак-21 | D39.39(в), D39.40 |
| 26 | Переезд `translitInterjections` из Go в данные (`cheapgates.go:367`, улов владельца) | бэкенд | скоро | пак-21 | D39.40 |
| 27 | Пост-чек обязан принимать сокращённую форму терма как поле записи (Р3/Q4) | бэкенд | скоро | пак-21 | D39.44 Q4 |
| 28 | Банк-линт латиницы в dst или строгая форма языкового предиката (7 строк утечки алфавита проходят экран) | бэкенд | скоро | пак-21 | D39.52 |
| 28а | Prompt-injection-проба входного текста ($0): сепаратор ⟦TM-BANK-v1⟧ и якорь-подобные маркеры В ТЕКСТЕ КНИГИ — поведение среза/парсера/инъекции (книга = недоверенные данные; инструментов у моделей нет, но канал банкноты читает вывод по маркеру) | бэкенд/полигон | когда-нибудь | пак-21 / малая проба | сводка-ревью 26.07 |
| **— СВИП ГИПОТЕЗ —** | | | | | |
| 30 | Свип «стартовый промт + гипотезы ресёрчей 01–22 против построенного» ($0, аудит-воркфлоу класса D39.34) | оркестратор | скоро | свип гипотез | D39.38 |
| 30а | Перерисовка puml-диаграмм под пост-пак-20 пайплайн (терминолог, банкнота отдельным файлом); PUML НЕ рендерить (гардрейл) | оркестратор | когда-нибудь | док-пасс | аудит доков 26.07 |
| 30б | Снять «ИНТЕРИМ»-шапку промпта терминолога (фаза B закрыта: узкое правило + строка примера = текущий текст) | бэкенд | когда-нибудь | ближайшее касание | D39.44 п.6, D39.52/53 |
| 30в | Идеи START_PROMT не разобраны: V4 п.4–5 (сборка глоссария — частично закрыта паком-20; ЯЗЫК промпт-запросов по паре) → в свип; V5 (фронт веб-первый, SEO) → Ф3; эксперимент «язык промптов» ОФОРМЛЕН (D39.58 §6.4: армы ru/en при неизменных инъекциях, детерминированные счётчики формата, ≈$0.02–0.05) — к выдаче полигону по слову владельца | оркестратор/владелец | скоро | свип гипотез + полигон-пакет + Ф3 | START_PROMT.MD V4/V5, D39.58 |
| **— ОТДЕЛЬНЫЕ ПАКИ/РЕШЕНИЯ (бэкенд, добор идеала) —** | | | | | |
| 31 | Слой-2: извлечение дискурс-норм/few-shot из ТЕЛ промтов (форсинг = ja→ru) | бэкенд | когда-нибудь | отдельный пак (идеал D39.33) | CURRENT-STATE, D39.33 |
| 32 | ru-target долг слоя 7 — факт D39.60: боевых call-site `isRuTarget` **6** и `TokenizeCyrillic` **2** (счёт «×11/×6» был грепом по комментариям); класс ~18 сайтов, гейты молчат-а-не-лгут (исключение: `isCyrLetter` checkers.go:393 — ложные срабатывания на не-кириллице) | бэкенд | скоро (носитель П1) | П1 цель-шов (ждёт санкции Q1 D39.60 — амендмент заморозки D39.24) | D39.34, D39.60 |
| 33 | native-Gemini судья (Ф2-механизм) | бэкенд | когда-нибудь | отдельный пак (идеал) | CURRENT-STATE, D39.33 |
| 34 | Генеральность нарезки: кана/ханьцзи один класс (`est_out` ja завышен ~1.7× МОЛЧА) + `EstimateTokens` недосчитывает кириллицу (резервации занижены) | бэкенд | когда-нибудь | отдельный пак (с ja→ru) | D39.37(5) |
| 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а | Валидация поля `type` терма — НЕПРОВЕРЕННАЯ третья колонка черновой модели решает ветку транскрипции (`元石`=name ⇒ «юаньши»; механизм «слишком китаизированно»); дешёвые экраны: сверка с классификатором майнера · экран «name с многословным строчным dst» · требование обоснования от роли | бэкенд | скоро (перед следующим банком) | малый дизайн (Р3, приоритет сессии) | D39.58 |
| 36б | Второе мнение по банку: рецензент ДРУГОЙ моделью, несогласия — отдельной колонкой подписной таблицы (судья-с-декоем в роли рецензента; решает владелец, D39.46-ограничение не бьёт) | бэкенд/полигон | когда-нибудь | отдельный дизайн (Р4) | D39.58, D39.51 п.4 |
| 36в | Консистентность СЕРИЙ термов не обеспечена (甲等→«класс Цзя» при 乙等→«ранг И» — роль не видит серии, батчи режут) | бэкенд | когда-нибудь | с дизайном 36а/36б | D39.58 |
| 36г | Проводной формат каналов пересказан прозой в каждом пар-промпте, парсер в Go, связи нет — формат в шаблон движка (`{{banknote_format}}`); линты держат класс, дублирование остаётся | бэкенд | когда-нибудь (со следующей правкой промптов) | отдельное решение (Р5) | D39.58 |
| 37 | Квадратичности: `AttachKWIC` (16.8 с / 2000 кандидатов; фикс — многошаблонный поиск) + src-правило банкноты при промахе чанк-пути (строка × длина книги; на 10 главах не видна) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.1, D39.58 |
| 38 | Смета не видит пере-покупку прохода терминолога на каждой итерации подписи (роль не пишет `chunk_status`, не видна `projectRebill`) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.2 |
| 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 (сейчас пинится только фолбэк-путь) | бэкенд | когда-нибудь | отдельное решение | D39.37(6) |
| 42 | `prompt_override` — легальный обход гарантии слоя-2, сформулировать честно | бэкенд | когда-нибудь | отдельное решение | D39.37(7) |
| 43 | `request_log` без скоупа/ретеншена + `first_flag_reason` = третье представление истории попыток (корень — неразведённые скоупы) | бэкенд | когда-нибудь | отдельное решение | D39.37(9) |
| 44 | Флор-16000 — калиброванная константа без модели «thinking в completion» | бэкенд | когда-нибудь | отдельное решение | D39.37(10) |
| 45 | `max_tokens`-упоры (две единицы) — вернутся на en-книге | бэкенд | когда-нибудь | отдельное решение (с en) | D39.37(11) |
| 46 | Гейт черновика: 38/40 дефектов латиницы живут в черновиках вне охвата гейтов (`waverun.go:486`) — отдельный и не срочный вопрос | бэкенд | когда-нибудь | отдельное решение | D39.39(д) |
| 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 З-б |
| 49 | Этапы Б+В спеки D15.2 (content-addressed resume / `guard_hash` — D39.31 сознательно не строил) | бэкенд | когда-нибудь | отдельное решение | D39.34(4), D33 п.5 |
| 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 · опциональный пре-перевод гейт | бэкенд | когда-нибудь | отдельное решение | D39.34(4) |
| 53 | Мелкие хвосты качества одним паком: ledger-очередь LOW/NOTE (D39.4) · остаток фикс-листов D23 п.4 / D28 п.3(б) · `editor-mono.md` DORMANT · gofmt-нит `llm.go` | бэкенд | когда-нибудь | отдельный пак | D39.34(5), D39.45 |
| 54 | Масштаб целой книги: волны/каденс/потолки/ETA на сотнях глав (гоняли максимум 10; книга 7,78 млн симв., ~2284 раздела) | бэкенд | когда-нибудь (последним по курсу) | МАСШТАБ | D39.33, CURRENT-STATE |
| **— ПОЛИГОН (кандидаты пакетов) —** | | | | | |
| 55 | `dialogue_dash` мерить только на невиданном тексте (подогнан под 蛊真人; цифры мини-прогона аргументом не считаются) | полигон | скоро | полигон-пакет | D39.37(4), D39.40, D39.46 |
| 56 | Ёфикатор/санитайзер-классы не размечены (§6.5 отчёта пакета-6) | полигон | когда-нибудь | полигон-пакет | D39.46, CURRENT-STATE |
| 57 | Пере-замер «контексты — главный рычаг» на трудной выборке пакета-7 с боевой сборкой (до него kwic не трогать) — напряжение с D39.46 названо, не отменено | полигон | когда-нибудь | полигон-пакет | D39.50 |
| 58 | Не покрыто пакетом-8: вторая книга/пара/модель · строка `drafts:` · ось `batch_runes` · разметчики-модели (не люди) · precision роли на «расширенном, но осмысленном» материале | полигон | когда-нибудь | полигон-пакет | POLYGON_PREMEASURE §1.8/§2.5/§3.5/§7.6 |
| 59 | Вендор-чек префикс-кэша ZAI/GLM (на нём стоит вся кэш-экономика W1/Q2c) | полигон | когда-нибудь (до МАСШТАБА) | полигон-пакет | 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 резерв) | владелец | когда-нибудь | Ф2.5 / отдельное решение | D39.20, D39.22, CURRENT-STATE |
| 66 | Пилотные D25-гейты: publishable/waiver (п.1) · FN-bound L3 (п.4) | владелец | когда-нибудь | Ф2.5 | D25, CURRENT-STATE |
| 67 | Прод-гигиена: юр-пакет · провенанс 12-*-доков · xAI-ключ off перед продом (D27) | владелец | когда-нибудь | Ф2.5 | D27, CURRENT-STATE |
| 68 | Residual-тачпойнты exp16, не влитые в сид-дельту: мини-голд алиасов · 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-леджер | бэкенд | когда-нибудь | Ф3 | D39.34(7) |
## Оркестратор №9 — РЕСЁРЧ ОБЩНОСТИ ФАЗА 1 ПРИНЯТ (D39.60): долг 149 сайтов/45 файлов, книго-ось чиста, план П0–П5; СТОП — пять вопросов владельцу, 31.07
Короткая приёмка по норме 30.07: отчёт (запись сессии — ниже, `### РЕСЁРЧ ОБЩНОСТИ фаза 1 ИСПОЛНЕН`) прочитан целиком, восемь несущих утверждений пере-проверены исполнением — все сошлись (вкл. побайтный повтор хеша пака `a28ed743c99c` и счёт 27/12 живых CJK-строк); два нита некритичны (счёт сайтов `ExportNormalize`, атрибуция Ш-1). Ратифицировано как карта (D39.60): вёдра A27/B6/C104/D12/E106 · заморозки З1–З9 · актуальные якоря пака-21 (§8 отчёта — ссылки D39.39 устарели) · правило условного фолда §6.2. Новые строки: 75 (живой баг ko/Hangul → П2) · 76 (эмбед-плоскость без хеша → П0 первым). Строка 32 исправлена фактом (боевых call-site 6 и 2), Decl-находка уехала в арку банка (73). **На владельце пять вопросов §12 с моими рекомендациями (в D39.60): П1 в арку = ДА · один общий resnapshot = ДА (но после развилки DeepSeek, D39.61) · П6 = не сейчас · Р1–Р4 = сократить до Р2+Р4 · пак-21 = растворить.** Фаза 2 не начинается до ответов.
## Полигон — РЕ-ЧЕК ToS ПО КАЛЕНДАРНОМУ ТРИГГЕРУ ИСПОЛНЕН ($0): дельт вердиктов НЕТ, но триггер стоит не на том документе, 31.07
Отчёт: `archive/reports/TOS_RECHECK_2026-07-31.md`; факты — секция «Право по ToS/AUP» в `experiments/00-provider-quirks.md` (помечена датой ре-чека). **Триггер сработал буквально** — головной Google ToS сменил ревизию `May 22, 2024` → **`Effective July 30, 2026`**, — **но по нашей оси он пуст:** свой байтовый диф архивной и живой US-версий даёт 72 строки, все потребительско-правовые (сетевые расходы, дисклеймеры, калифорнийское право), а счётчики `violen*` = 0 и `sexual*` = 0 в ОБЕИХ ревизиях. Единственная контентная вставка — `Some content may not be suitable for everyone.` в разделе о генерируемом контенте: дисклеймер о ВЫХОДЕ Google, по D39.29 права не даёт, и специально помечена, чтобы её не приняли за сдвиг. **Пере-сняты пять вендоров цепочки — `gemini` · `mistral` · `xai` · `deepseek` · `zai`, все на ПРЕЖНИХ объявленных ревизиях, 34 цитаты подтверждены счётом = 1, дельт вердиктов ноль.** `kimi`/`openai` (403 Cloudflare, JS-шелл) вне названного промтом фокуса — помечены непере-проверенными. **Три находки сверх задачи.** (1) **Триггер поставлен на косвенно привязанный документ:** договор Gemini API — это `Google APIs ToS` (*Last modified: November 9, 2021*, прежде в записи ОТСУТСТВОВАЛ) + `Additional ToS` (*March 23, 2026*) → PUP; потребительский ToS цепляется лишь через API ToS §b `You will not violate any other terms of service with Google`. Предложение: мониторить три документа цепочки, а не `policies.google.com/terms`. (2) **Метод верификации цитат дефектен:** `grep -c -F` по стриппнутому тексту дал ЛОЖНЫЕ НУЛИ на трёх верных цитатах DeepSeek (жёсткие переносы + кавычки в отдельных тегах) — без поправки ре-чек показал бы фантомную дельту вендора; рабочая форма (сверка по копии без пробелов) вписана в quirks. Там же: **`r.jina.ai` как второй путь МЁРТВ (403)**, заменён двумя независимыми снимками Wayback с честной оговоркой «оба в прошлом»; **`ai.google.dev` больше не требует Wayback** — петля была на cookie `signin=autosignin`, лечится cookie-jar. (3) **Рассинхрон:** клетка `gemini` × `sexually-explicit` в quirks стояла `FORBIDDEN` против ратифицированного D39.32 п.2 `UNCLEAR` — помечена ссылкой на амендмент, молча не переписана. **Рекомендация по строке 6 (Gemini в `accepts_labels`): не подписывать сейчас** — ре-чек не дал новой фактуры ни за, ни против, а главное: подпись даст ПРАВО, но не даст судью 18+, потому что по оси ПОВЕДЕНИЯ Gemini fail-closed на графичной эротике (D22.6, 8× wire-verified, фильтр неконфигурируем), а Additional ToS теперь ещё и прямо запрещает обход фильтра (`You may not attempt to bypass these protective measures`). Строка стоит дешевле, чем выглядит: ничего не блокирует и почти ничего не открывает. Следующий триггер — квартальный **25.10.2026**, без изменений. Сессия не коммитила; `accepts_labels` не трогала; бэклог не правила (зона оркестратора).
## Оркестратор №9 — КУРС АМЕНДИРОВАН ВЛАДЕЛЬЦЕМ (D39.59): общность вперёд, автономность банка, спаренный полигон-пакет, 31.07
Три решения владельца: (1) общность вперёд — бэкенду выдан ресёрч инвентаризации языковой привязки, пак-21 отложен до его карты; (2) банк — курс на автономность (подпись опциональна; веб-фетч-вопрос признан не отвеченным пакетом-7 — пере-замер в арке автономности); (3) полигону — Р6 «язык промптов» + fidelity-хвост P4 анти-эхо (петля D21 п.6 с 09.07). Эхо-причина сведена по первоисточникам в D39.59: класс reasoning-моделей на плотном CJK, промпт-положение решает (0/29), языковой констрейнт инвертирует, язык промпта не исследован. Промты: `BACKEND_GENERALITY_RESEARCH_SESSION_PROMPT.md` · `POLYGON_PROMPTLANG_ANTIECHO_SESSION_PROMPT.md`.
## Оркестратор №9 + бэкенд — ХОЛОДНЫЙ МИНИ-ПРОГОН ПРИНЯТ И ЗАЛЕНДЕН (D39.58): recall холодного банка 0.918/0.980, эхо-мина жива при thinking-ON, 31.07
Прогон закрыт владельцем после банк-стопа (Р7: замер достаточен, ~$0.12 сэкономлено). Главное: банк с нуля восстанавливает 45+3 из 49 подписанных термов и приходит владельцу ПЕРЕВЕДЁННЫМ (149/150) — против recall 0.069–0.103 у майнера соло. Построено до трат: пар-слепой парсер банкноты (строка 19), разделение версий канала (Р2, амендмент инварианта №2), S7 по провенансу (путь ii, экспозиция 0 на 1119 парах), линты промптов. П3 пре-регистрации сработал: эхо 2/20 при thinking-ON — гейт поймал, эскалация вылечила, факт в quirks. Деньги $0.126068, spend ≡ Σ checkpoints; брак+переработка $0.056 названы, из них норма «промпты итерировать на пробе 1–2 глав». Бэклог: 17/19/20/23 закрыты, 18 переформулирована (蛊 — структурная дыра эмиссии), +36а–36г (валидация type — приоритет · рецензент банка · серии · формат в шаблон). Отчёты: `COLDRUN_REPORT_2026-07-31.md` + `COLDRUN_HANDOFF_2026-07-31.md`.
## Оркестратор №9 + полигон — ToS-РЕ-ЧЕК ПО ТРИГГЕРУ ИСПОЛНЕН (D39.57): дельт вердиктов нет, 31.07
Головной Google ToS сменил ревизию (30.07.2026), но по оси лейблов пуст; пять вендоров пере-сняты — вердикты не двигаются. Находки метода: триггер висел не на том документе — перевешен на цепочку договора (PUP · Additional ToS · Google APIs ToS, последний добавлен в запись); рассинхрон quirks-клетки gemini×SE с D39.32 закрыт; правило «двух путей» амендировано (jina мёртв). Строка 6 понижена в приоритете (подпись ≠ судья 18+). Параллельно бежит холодный мини-прогон (бэкенд). Отчёт: `archive/reports/TOS_RECHECK_2026-07-31.md`.
## Оркестратор №9 — СТРОЙКА ПАКА-19 ПРИНЯТА И ЗАЛЕНДЕНА (D39.56), ПАК-19 ЗАКРЫТ ЦЕЛИКОМ, 31.07
Фаза 2 сдана и принята короткой приёмкой (норма 30.07): сьют `-race` перегнан — зелёный; `repin.go`/`snapshot.go`/golden не тронуты (запреты (д)/(и) держатся); мутации сессии 23/23. Построено: таблицы v13/v14 + условный фолд (ни байта при выключенной инъекции) · ты/вы-флаггер A–C + D-индикатор · флаггер спойлер-утечки · данные V5 (5 категорий `target-ru` + опциональный `speech-cue`). Инъекция голоса — на бумаге до полигон-эксперимента (D21 п.2). Ратифицированное отклонение: атрибуция целевая, не исходная. Бэклог: 14/15 закрыты; +13б (`speech-cue.txt` — владельцу, к холодному прогону), +49а (миграции неидемпотентны). Очередь: ХОЛОДНЫЙ мини-прогон — теперь несёт и первое измерение осей голоса (`gates.voice` ON, строка 24). Отчёт: `archive/reports/PACK19_BUILD_2026-07-30.md` (ревью-шапка).
## Оркестратор №9 — ДИЗАЙН ПАКА-19 РАТИФИЦИРОВАН (D39.55), стройка ждёт «идём» владельца, 30.07
Фаза 1 принята: 82 клейма — 71 CONFIRMED / 9 PARTIAL / 2 REFUTED (полнота, не факты). Ратифицировано: типы записей банка + условный фолд в `memory_version` · CONFIRMED-only голос/обращения · свой гейт `gates.voice` без фолда · reveal сокращён до флаггера утечки (амендмент D21 п.3) · слот инъекции не выбран (амендмент D21 п.1г, решит полигон) · D21 п.8 model-bound. Девять новых «ровно так» фазы 2 — в D39.55. Отчёт: `archive/reports/PACK19_DESIGN_2026-07-30.md`.
## Оркестратор №9 + бэкенд — МАЛАЯ ПАЧКА 14а+14б ПРИНЯТА И ЗАЛЕНДЕНА (D39.54), 30.07
Бэкенд-сессия (та же, что несёт пак-19) закрыла обе строки до дизайна: ingest грязных епабов на `x/net/html` (4 класса жёстких падений импортируются; ТРИ регрессии — CDATA, self-closed raw-text, несбалансированный ruby — пойманы адверсариальным ревью сессии до лендинга и запинены байт-эталоном старого ридера, мутации 17/17) + вырезание промпт-комментариев с провода (SHA по канонической форме; 9/10 файлов байт-неподвижны; снапшоты книг не двигаются, терминолог перекупает батчи один раз — центы). Приёмка исполнением оркестратора: независимый дампер old-vs-new — 205 документов трёх епабов стенда, дифф глав и ruby ПУСТ; сьют `-race` 14/14; 4/4 спот-мутации красные; посылки записки перемерены (126 itemref, не 958 · 8/8 книг стенда txt · 2/252 сущности — независимым стеком). chunkerVersion НЕ поднят — ратифицировано D39.54 (экспозиция — пустое множество; строгая буква — одна строка за подписью владельца). Отчёт с ревью-шапкой: `archive/reports/SMALLPACK_INGEST_PROMPTS_2026-07-30.md`. Бэклог: 14а/14б сняты, добавлена 34а (``-дыра, до-паковая). Пак-19 фаза 1 (дизайн) — следующий шаг той же сессии; жду `PACK19_DESIGN_*` и эхо-блок релеем.
## Полигон — ПАКЕТ-7 Z4-ДОБОР + ФАЗА B ИСПОЛНЕНЫ ($0.31030 из потолка $2.60): БКРС взят, промпт-правка найдена, слепая оценка ОТБРАКОВАНА своим же контролем, 26.07
Отчёт: `archive/reports/POLYGON_TERM_RESEARCH_B_2026-07-26.md`. Код: `eval/pkg7/` (+`bkrs_lookup` · `build_termset` · `terminologist_arms` · `blind_judge` · `repair_judge` · `score_bws`). **Добор ($0):** (1) **БКРС ВЗЯТ** — страница не JS-рендерится, а ставит куки-челлендж `ca=`; воспроизведя куку, получили **84 словарные статьи** и закрыли **17 из 20 UNCLEAR-строк** словаря (сильнейший класс улики, ноль поисковой квоты); ключевое: словарь «культивации» не знает (`修炼` = «совершенствовать и закалять себя»), `修士` = «**христ. монах**» ⇒ строка `修士→культиватор` в `genre-glossary.txt` спорна, `筑基` = «закладывание фундамента» ⇒ строка ПОДТВЕРЖДЕНА; (2) **Ngram перевёл спор в измерение**: корреляция «культивация»×«культиватор» = **0.9715** на 120-летнем ряду (сельхоз-омонимия доказана), «совершенствование» частотнее в 119.6×, биграмма «мир совершенствующихся» — 0 вхождений; (3) **конкуренты по ЛОКАЛЬНЫМ клонам** (подсказка владельца, `/home/ubuntu/projects/tmp`): три независимые команды сошлись на форме `src→dst+примечание` с фильтрацией по текущему чанку; у GalTransl — трёхслойный словарь с **условной пост-заменой** (`pre_src/post_dst`, `!отрицание`) и ситуационными ключами `mono`/`diag`; у AiNiee — блок «не переводить»; у **TransAgents терминологии нет вовсе (0 файлов .py)**, а Эндрю Ын прямо называет нашу задачу открытой; (4) `Silversaint` → «**Серебряный Святой / среброносец**» (АСТ, Абдуллин) — первый живой человеческий эталон; (5) **search-inside закрыт ОТРИЦАТЕЛЬНО**: всех трёх ISBN в Google Books нет ⇒ **развилка Z2 по `修炼` НЕ снята**. **Фаза B (310 вызовов, 480 консолидаций, 0 ошибок):** объективный слой — контексты решают всё (совпадение с подписью владельца на S1: `P0b` 10/15 против `P1`/`P2`/`P0` **15/15**), а различия между армами с контекстами = один-два терма из девятнадцати; **глоссарный контраст не измерился по построению — 0 из 80 термов покрыты жанровым словарём** (WHICH-канал даёт книжный канон, словарь — жанровые понятия; множества не пересекаются, это прямое следствие recall `term`=0.040 фазы A). **Главная промпт-находка:** правило «имя собственное → транскрипция» систематически уводит от решения владельца и живого переводчика — `春秋蝉`→«Чуньцючань» вместо «Весенне-осенняя цикада» у ВСЕХ армов с правилом, `Silversaint`→«Сильверсейнт» у `P2`/`P3` против изданного «Серебряный Святой», прокси-мера на ловушке 0.50 против 0.25 ⇒ **рекомендация сузить правило до антропонимов и топонимов**. **Веб-фетч в v2 роли — НЕТ**: агрегатного выигрыша нет, единственный случай пользы (`时辰`, где справка дословно содержит «был равен 2 часам») даёт СЛОВАРЬ, а словарь — это данные, они живут офлайн и не ломают инвариант №8. **Слепая оценка ОТБРАКОВАНА собственным контролем пре-регистрации:** BWS-счета плоские (весь разброс ±0.09 при шкале ±1), F1/F1b/F3/F4 сработали, leave-one-out по судье МЕНЯЕТ победителя, эффект позиционного свопа (до 0.107) БОЛЬШЕ разброса между армами, а **`gpt-5-mini` назвал подписанный владельцем перевод катастрофой 6 раз из 19** ⇒ по §A2.4 п.4 вердикты судей не выдаются, выводы стоят на объективном слое. Урок: пре-регистрация окупилась — без `GOLD` в слепой выборке мы выдали бы «P4 победил» и не узнали бы, что измеритель негоден. **На владельце:** 17 строк словаря на подпись · `修炼` остаётся V0 · правка промпта §B3.2 · вердикт по веб-фетчу · нужен ли повторный замер ДРУГИМ инструментом. ⚠ **РЕВИЗИЯ ИСПОЛНЕНИЕМ (та же сессия, после сдачи; §B6 отчёта + `eval/pkg7/audit_phaseB.py`) — четыре вывода выше ИСПРАВЛЕНЫ, читать только вместе с §B6:** (а) **отбраковка судей СНЯТА** — контроль §A2.4 п.4 был структурно неизмерим: строка `GOLD` не была уникальной ни на одном из 19 термов, а все 6 «катастроф на подписи» судья проставил РОВНО на буквах с тем же текстом, то есть вёл себя согласованно и спорил с каноном по существу; (б) **вывод «судьи не имеют разрешающей способности» ОПРОВЕРГНУТ их же данными** — 35 термов из 80 вырождены (все семь кандидатов = одна строка), а на 45 невырожденных тем же скорером F1 переворачивается 0.044→**0.122** и F1b 0.056→**0.189**, причём `P0b` встаёт ПОСЛЕДНИМ, согласно объективному слою ⇒ негоден был НАБОР, а не измеритель; (в) **у правила транскрипции НЕ БЫЛО контрольного арма** — оно лежит в общей части промпта и присутствует во всех шести армах (канон выдал `P0`, у которого правил больше всех), поэтому рекомендация §B3.2 понижена до гипотезы (проверка — арм без правила, ≈$0.02); (г) **«три независимые улики» оказались одной** — весь разрыв прокси на S5 даёт единственный терм `春秋蝉`, а `Silversaint` держится на сводке веб-поиска, не сверенной с телом издания (в сводке — «угодник-среброносец» и «AST/EKSMO») ⇒ человеческого эталона для en у нас НЕТ. **Перепроверку прошли без правок:** §B1.1 до строки · покрытие 0/80 (и 0/80 даже на ПОЛНОМ словаре §Z4-Т) ⇒ Z-B6 устоял · деньги $0.31030 из сырья · весь Ngram до знака · якоря фазы A по пину `996bade`. **РАЗВЯЗКА — фаза B′ (санкция владельца, отчёт `archive/reports/POLYGON_TERM_RESEARCH_B2_2026-07-26.md`, $0.14013 из порога $0.30, 136 вызовов, 0 ошибок; пре-регистрация записана ДО трат):** три замера по порогам, названным заранее. **T — правило транскрипции:** арм `P5` = `P2` минус ОДНА строка (проверено diff-ом: 18641 против 18556 симв.) вернул `春秋蝉` в **точный канон владельца** и дал `Silversaint`→«Серебросвят», но агрегатный прокси-сдвиг `P2−P5 = +0.013` при пороге 0.05 ⇒ по решающему правилу **широкая формулировка §B3.2 ОПРОВЕРГНУТА, узкая ПОДДЕРЖАНА**: снятие правила помогает на предметах/приёмах (`Ashdrinker`→«Пепелитель») и ВРЕДИТ на антропонимах (`王婆`→«Старуха Ван», `月光蛊` теряет вершину `蛊`), а `提刑` без правила наоборот транслитерируется; T3 пройден (`P5` 18/19, на ловушке 4/4). **J — слепая оценка на ПОЧИНЕННОМ наборе** (45 расходящихся термов, дедуп кандидатов, подложен ДЕКОЙ): оба судьи проходят контроли с запасом — декой назван лучшим **0/45**, помечен катастрофой **43 и 45 из 45**, подпись владельца — **НИ РАЗУ**, а `grok-4.3` ставит её выше всех армов (+0.625) ⇒ **отбраковка фазы B неправомерна, находка «6 катастроф на подписи» НЕ ВОСПРОИЗВОДИТСЯ**; но ранговое согласие с объективным слоем ничтожно (ρ = +0.429 / −0.107) ⇒ **ранжировать армы слепой оценкой нельзя, её роль — катастроф-экран** (H7: разрыв до декоя 1.27–1.42 против межарменного 0.20). **R — разброс прогона:** три повтора дали `P0b` 11/12/12 против `P1` 19/18/18 ⇒ **разрыв 6 термов при размахе 1 — «контексты главный рычаг» УСТАНОВЛЕНО**, заодно объяснилась аномалия «случайный глоссарий 19/19» (лежит внутри шума прогона). H6 частично: вырожденность предсказывает не подписанность, а КЛАСС терма (S2 0.13 против S1/S4 0.53). Итого по пакету-7: $0.45043 из коридора $1.20–2.60. **На владельце теперь:** Z-B3 — принять узкую формулировку как редакторское решение · Z-B5 — менять не инструмент, а сборку набора · Z-B8 (новое) — «контексты решают» можно ратифицировать как измеренное. ⚠ **РЕШЕНИЕ ВЛАДЕЛЬЦА 26.07 — ЖАНРОВЫЙ СЛОВАРЬ ОТМЕНЁН КАК КЛАСС** (амендмент к D39.42 п.1, ратификация за оркестратором; записка полигона №10): решение о переводе принадлежит подписи владельца на банк памяти, а пар-словарь навязывал бы одно видение всем книгам пары («культивация» против «совершенствования» — законно разный выбор). **Полигон согласен, и обосновали отмену наши же улики:** V0 на центральной строке `修炼` (выбор регистра, а не факт) · ложная сходимость русских глоссариев сянься (один английский первоисточник + один блогер) · покрытие **0/80** · четыре строки из шести **вообще не встречаются** в книге стенда. **Снято:** Z-B2 (17 строк на подпись) · вторая половина Z-B4 (офлайн-словарь как пар-данные — снял сам полигон: польза 1 случай из 80) · подписной статус §A4.3/§Z4-Т (переведены в справочную фактуру) · §B3.1 п.4 из рекомендации в наблюдение. **Перепрогонов НЕ требуется** — ни один вывод на словарь не опирался (`P0b`↔`P1` без словаря вовсе; `P5`↔`P2` с одинаковыми инертными строками); обесценен один арм `P0`, **$0.01362 из $0.45043** (3%). **Разматывать в паке-20 (чужая зона, список read-only):** фактор `GenreDst` в формуле консолидации `terminology.go:357-359,432-436` · `genreGlossaryMap` в `terminologist.go:130,163-166,322` · загрузчик и `GenreGlossaryFor` в `langpack.go:73-80,255-262,590-635` · тесты `langpack_test.go:394` и `terminology_test.go:230` · файл `configs/langpacks/zh-ru/genre-glossary.txt`. **ГЛАВНОЕ СЛЕДСТВИЕ:** связывающим ограничением становится recall эмиссии на классе `term` = 0.040 — `修行` встречается в книге **326 раз** и не получит соответствия НИОТКУДА (`emissionEligible` пропускает только `name|place|title`); раньше дыру теоретически прикрывал словарь. Вопрос расширения эмиссии — основной, и он согласуется с принципом владельца: даёт больше строк НА ПОДПИСЬ, ничего не решая за него. **Процессный урок:** деливерабл промта не отменяет права сессии сказать «этого делать не надо» — мы измерили основание для отмены и всё равно принесли таблицу на подпись, вместо того чтобы поднять архитектурное возражение через канал вопросов.
## Полигон — ПАКЕТ-7 ФАЗА A ИСПОЛНЕНА ($0), СТОП на ратификацию: recall WHICH-канала измерен и он 0.07–0.10, посылка «культивация» уликами не подтверждена, 26.07
Отчёт: `archive/reports/POLYGON_TERM_RESEARCH_A_2026-07-26.md`. Код: `eval/pkg7/` (нарезка книг · replace-харнесс боевого майнера с пином на 996bade · майнер каналов en/ja · KWIC · seed-recall · проба измеримости рубрики). Платных вызовов ноль. **Пять измерений на пяти книгах стенда:** (1) recall боевого WHICH-канала против ПОДПИСАННОГО банка 蛊真人 = **0.069–0.103**, по классам name 0.231 / title 0.077–0.154 / place 0.000 / **term 0.040**; 蛊 (8700 вхождений, заглавное понятие) не предлагается никогда — механизм в `emissionEligible` (тип обязан быть name|place|title, длина ≥2 рун); (2) **абляция даёт атрибуцию**: снятие потолка top-200 → 0.429, снятие фильтра типа → 0.875, снятие длины → 0.911, ценой эмиссии 17→15 418 строк при precision спот-чека ≈0.15 ⇒ покрытие ограничивает СЛОЙ ЭМИССИИ, а не детектор, и это количественное основание под D39.42; (3) покрытие не растёт с длиной книги (10гл 15 → 50гл 12), и подписанный на мини-прогоне `学堂家老` исчезает, проглоченный алиас-кластером фамилии `葛家` вместе с родовым `族长` — точечный дефект кластеризации; (4) генеральность: `lang.Load` для ja/en падает громко (D39.15 работает), но под zh-паком en даёт 0 термов и стоп МОЛЧА авто-продолжает, а ja — 8 термов с precision 0 и ключами, которых в книге нет (trad→simp: 範囲→范囲); (5) масштаб квадратичен, `t ≈ chars^2.013`, экстраполяция на приёмочную книгу ≈4.6 ч. Собрано 10 требований к generic-майнеру (хвост №8 D39.37). **Ресёрч:** 6 углов × адверсариальная верификация (84 проверки: 62 CONFIRMED / 14 PARTIAL / 7 MISQUOTED / 1 OVER_ATTRIBUTED / 0 фабрикаций) + критик полноты. Посылка D39.42 п.1 («индустрия — „культивация“») уликами НЕ подтверждена, но и обратное не доказано: издательская сторона стоит на маркетинговых аннотациях, тела изданий не читаны ⇒ владельцу предложен **V0 — не подписывать до одного $0-захода**. Вскрыта ложная сходимость: русские глоссарии сянься = один английский первоисточник + один блогер. **На владельце:** рубрика K1–K12 + Q1–Q6 · строка 修炼 · смета фазы B $1.20–2.60 · нужен ли добор улик перед B.
## Оркестратор №8 — СЕССИЯ ЗАКРЫТА владельцем (26.07, вечер): пак-20 закрыт целиком, доки и бэклог актуализированы, хендофф №9 записан
Итог сессии №8 (25–26.07): приёмки паков 17/18/20 (все фазы) и полигон-пакетов 5/6/7/8 · ратификации D39.26–D39.53 · мини-прогон · единый бэклог введён · доки актуализированы под D39.53 · промт пака-19 освежён. Хендофф №9 — шапка `ORCHESTRATOR_SESSION_PROMPT.md` (позиция, первые задачи, дельта норм, норма «дисциплина ответа» для Opus-класса). Незакоммичен только `START_PROMT.MD` владельца (его файл).
## Оркестратор №8 — ПАК-20: фаза 1 принята (D39.41), архитектура фазы 2 решена владельцем (D39.42 — терминолог), 26.07
Фаза-1 сессии закончилась спроектированным СТОПом: синк вскрыл 18 расхождений «доктрина↔код» (4 структурных тупика), корпус доков дал непостроенные ратифицированные ответы (двухрежимная эмиссия §C2-7 · M2 · журнал ревизий), а свои же пять P-решений сессия завалила адверсариальным ревью (9 блокеров). Приёмка воркфлоу (7 верификаторов, 46 клеймов): 39 CONFIRMED / 7 PARTIAL / 0 REFUTED; новая находка приёмки — `bankTokenBudget=144` впритык/отрицателен. Дальше владелец СИНКОМ выправил курс: моя ошибка — его давнее «кто переводит термины, возможно вебфетч, возможно новая роль» я отгородил констрейнтом вместо развилки; его архитектура (терминолог переводит весь смердженный банк по полным контекстам) ратифицирована D39.42 и легла в директиву фазы 2 (промт пака переписан). Направленная банкнота и ось `lane` НЕ строятся; инвариант №2 НЕ трогается (все строки банка фолдятся в версию); поздняя подпись = точечная ре-редактура по ключу со сметой. Полигону добавлен ресёрч-кандидат «веб-фетч терминолога». Урок в копилку: реплика владельца с идеей архитектуры — это вход в развилку, а не шум; «не ратифицировано» — повод принести ратификацию, а не отгородиться.
## Оркестратор №8 — САНКЦИИ ВЛАДЕЛЬЦА (D39.38): выданы пак-20 «банк» и полигон-пакет-6 «размеченный набор»; очередь ратифицирована, 26.07
Владелец разобрал повестку: (1) петля ремонта — НЕ включается (замер 0 в её классах; вернуться при ненулевом остатке); (2) флаговый стоп — СТРОИМ, «ляжет в конечную архитектуру: отключение верификации и полное доверие бэкенду»; его вопросы об алгоритме банка (кто переводит кандидатов, сохраняется ли контекст, хватает ли рассуждающей модели) получили grounded-ответ: дизайн ратифицирован research/20→D39.6, расщеплён exp16→D39.10 — dst доставляет САМ переводчик черновика в контексте главы (рассуждающая модель, контекст бесплатен), верификация = подпись+trust-gate+пост-чек; недоделано ровно покрытие каналов (0/2, 1/2) — оно и есть ядро пака-20; (3) мандат «сессии синкуют имплементацию об документацию и код вокруг» — вшит шагом 0 пака-20 (таблица «источник ↔ код ↔ вердикт», расхождение = пинг) и переносится во все кодинг-промты; (4) полигону — пакет-6. Очередь: пак-20 → пак-19 → свип гипотез стартового промта/ресёрчей (владельцу был дан честный ответ «не уверен, что прошлись по всем») → добор идеала → масштаб → пилот. Выданы: `BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md` · `POLYGON_PACKAGE6_CHECKER_LABELS_SESSION_PROMPT.md`; пак-19 получает пометку «после пака-20».
## Оркестратор №8 — МИНИ-ПРОГОН ПРИНЯТ ПО СЫРЬЮ (D39.37): операционка живьём до цента, шов замкнут, но не запинён (моя мутация выжила), остаток = 0 в трёх классах петли, 26.07
Приёмка по леджерам и БД, не по отчёту. Всё пере-ранено (build/vet · `-race` 13/13 · ценз 475→492/0 · golden: маскированный дифф пуст вне трёх заявленных осей · парити EXACT); **деньги до цента** ($0.234583, включая честно отчитанный брак $0.046668; проекция rebill-гейта совпала со списанием ТОЧНО — первое живое исполнение механизма пака-18); спот-чеки по сырым БД: банкнота 71/9из20, v11, dst «学堂家老 → старейшина школы» в `banknote_detail`, **`RegressionGuard` первое живое срабатывание подтверждено моим ре-раном**. **Находка рубежа-2: моя независимая мутация — отключение джойна WHAT в колл-сайте — ВЫЖИЛА по всей сьюте** ⇒ несущий фикс доказан прогоном, но не запинён; фикс-лист №1. **Открылось решение владельца:** замер для петли ремонта ЕСТЬ — остаток 0 в трёх классах петли (оговорка сессии: узость набора, не чистота текста); моя рекомендация — НЕ включать. Хвосты §5 хендоффа — в трекер (топ: размеченный набор для чекеров · генеральность нарезки кана/ханьцзи с est_out ~1.7× на ja · покрытие WHAT↔WHICH + флаговый стоп). Хендофф-дисциплина «чего числа НЕ доказывают» ратифицирована нормой отчётов; в промты идёт формула «пере-мерь свой вывод ДРУГИМ способом, чем получил».
## Оркестратор №8 — АКТУАЛИЗАЦИЯ ПО ЗАПРОСУ ВЛАДЕЛЬЦА: закрытые промты 17/18/полигон-5 забаннерены и в архиве, курс в CLAUDE.md переписан под голову D39.36, 25.07
Финальный синк перед мини-прогоном. Карта: **паки 17 и 18 — ЗАКРЫТЫ И ЗАЛЕНДЕНЫ** (не впереди); впереди — мини-прогон → пак-19 «голос/состояние» (урезанный скоуп, D39.34) → развилка по шву банкноты ПОСЛЕ пробы (D39.36 записан фактом; решение о починке — по данным пробы, не раньше). Актуализировано: `BACKEND_PACK17_*` (был забаннерен, но лежал в docs/) · `BACKEND_PACK18_*` (баннер-исход D39.31 добавлен) · `POLYGON_PACKAGE5_*` (баннер-исход D39.29/30 добавлен) — все три `git mv` → `archive/prompts/`, ссылки README перенацелены; шапка PROGRESS дотянута до D39.36 (отставала на один); курс-буллет CLAUDE.md переписан с эры «пост-пак-17» на фактическую очередь D39.33–36. Активные промты теперь ровно три: `BACKEND_MINIRUN_SESSION_PROMPT.md` (текущий) · `BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md` (после мини-прогона) · `POLYGON_PACKAGE4_SESSION_PROMPT.md` (residual-трекер).
## Оркестратор №8 — МИНИ-ПРОГОН САНКЦИОНИРОВАН: один промт, одна сессия, два прохода (главный + проба банкноты), 25.07
Владелец санкционировал запуск и потребовал ОДИН промт на ОДНУ сессию. **Моя рекомендация была гнать** — всё, что прогон проверяет, от разомкнутого шва банкноты не зависит; цифра остатка дефектов — вход в решение о платной петле (D39.24); гейт согласия на пере-оплату ни разу не стрелял вживую. **Возражение владельца принято и оказалось правым:** раз мы доказываем работоспособность бэкенда, канал, который ни разу не стрелял, надо проверить тоже. **Решение — не смешивать, а разложить на два прохода в одной сессии:** (1) главный, шиппинг-форма, банкнота ВЫКЛЮЧЕНА — с него снимается чистая цифра остатка; (2) проба банкноты ≈$0.02 — отдельный проект, ТОЛЬКО волна черновика (проверено: `CheckRunnable` гейтит лишь `core` и `fanout`, стадия редактора не обязательна), копия промпта с блоком `⟦TM-BANK-v1⟧`, `gates.banknote.enabled: true`, `LOG_LLM_BODIES` (записи парсера код выбрасывает — сырые тела единственный способ увидеть сами предложения). Итог ~$0.12–0.19 за арм, проверено включая то, что не проверялось никогда. **Цена «одной сессии» названа в промте честно:** author≠reviewer снят, самоотчёт — доминирующий канал ошибок проекта (62/180), поэтому три компенсации обязательны — пре-рег ДО трат с заранее названным критерием ПРОВАЛА, заявление=команда, и приёмка оркестратора по СЫРЬЮ с ре-раном манифеста. Отдельный полигонный промт я написал и по требованию владельца слил обратно — верификация стала ШАГОМ 4 того же промта.
## Оркестратор №8 — ПРОМТ МИНИ-ПРОГОНА ВЫДАН (одна сессия: гигиена → прогон → верификация), 25.07
Решение владельца: всё делает ОДНА сессия — «тест на 10 глав, что все изменения работают и работают как надо». Принцип author≠reviewer снят владельцем ради простоты; **компенсация вписана в промт явно**: пре-регистрация ДО денег (пороги и критерий успеха фиксируются первым разделом отчёта и не переписываются), самопроверка исполнением по каждому узлу, и мой рубеж-2 по СЫРЬЮ (логи/БД/экспорт), а не по выводам сессии. **Шаг 0 — гигиена ($0-код) внутри той же сессии:** обязательный флип `Gates.RegressionGuard.Enabled` (невыполненное обязательство D38.4 п.5, D39.34) + два нита общности (условность снята D39.35 — терять нечего) + опц. проекция пере-оплаты в `status`. **Прогон:** новый проект, главы 1–10 из исходного GB18030, сквозная цепочка ingest→чанкер→драфт→майнинг-стоп(подпись владельца)→редактура→чекеры→экспорт; судья НЕ зовётся; петля ремонта остаётся выключенной, но read-only скан остатка — ГЛАВНОЕ измерение (цифра для решения о включении петли, D39.24). **Семь доказуемых утверждений** (каждое — с сырьём): живое срабатывание rebill-гейта (снапшот разошёлся ⇒ гейт обязан выстрелить — первое исполнение механизма пака-18) · майнинг-стоп с подписью · чекеры и остаток · наблюдаемость после флипа · лейбл-путь как no-op · деньги durable и факт против оценки $0.10–0.35 · семантика `escalation_model`. Второй арм (glm-5, итерация №2) — только по отдельному слову владельца (ещё ~$0.1 и принятый риск Z.AI). **Сид-дельта проверена мной по факту:** `春秋蝉` и `资质` уже в сиде; `学堂家老` отсутствует; `赤城` только внутри `古月赤城`; **семейство `元` расщеплено** (море истинной ци / истинная ци / первобытный камень) — единый корень ждёт слова владельца, иначе прогон идёт с ИЗВЕСТНЫМ разрывом канона, зафиксированным явно.
## Оркестратор №8 — КУРС АМЕНДИРОВАН ВЛАДЕЛЬЦЕМ (D39.33): масштаб последним, мини-прогоны ~10 глав как инструмент; пак-19 распаркован, 25.07
Владелец: «масштаб гонял бы уже при полностью построенном бэкенде — достроили весь идеал алгоритмический, и только тогда масштаб; мини-прогоны на глав 10 — чтобы доказать эффективность крупных изменений». Это правка ратифицированного курса D39.22, где масштаб стоял ПЕРВЫМ. Оформлено D39.33. **Усилил фактурой:** приёмочная книга — 7,78 млн символов, ~2284 раздела (`第N节`), то есть масштаб-прогон дорог не деньгами (по модели ~$1/ранобэ), а временем и необратимостью решений, снятых на форме, которую мы всё равно собирались менять; мерить эффект на 5–10 главах мы уже умеем (в rerun2 вся генерация стоила центы, дорогой была только судейская часть). **Мини-прогон закреплён как НОРМА:** ~10 глав · детерминированные чекеры и read-only скан остатка первыми · судья только когда от его вердикта зависит решение · каждый мини-прогон отвечает на НАЗВАННЫЙ вопрос. **Определение «алгоритмического идеала» сведено в 6 пунктов** (D21 · петля ремонта · слой-2 извлечение из тел промтов · ru-target · два нита · native-Gemini судья) — чтобы «достроено» было проверяемым; границу уточняют 4 вопроса владельцу (Annotator · семантический судья, по D38.4 от него отказались · ja→ru §B5 · ru-target до или после). **Пак-19 распаркован** — под новым курсом он законно первый. **Честная запись:** позицию пака-19 я накануне предложил сам, подав ре-ордеринг как исполнение плана; владелец усомнился, дословные цитаты (D39.22 + CURRENT-STATE) сомнение подтвердили, промт был запаркован. Директива сделала ту позицию верной по существу, но метод она не оправдывает: вывод, совпавший с репликой собеседника, обязан проверяться против документов ДО выдачи. Сплошной аудит корпуса (6 читателей + критик) на момент записи ещё идёт; его находки лягут отдельной записью.
## Оркестратор №8 — СВОДКА ПЛАНОВ (по запросу владельца) + ПАК-19 «голос и состояние» ВЫДАН, 25.07
Прошёл по коммитам, трекеру, шапке-таблице слоёв, D-логу и резидуалам отчётов — сверял, не полагаясь на память. **Свод:** долгов контракта у бэкенда НЕТ (пак-18 их закрыл); полигон-очереди НЕТ (пакет-5 закрыл всё); ToS-ось закрыта, кроме одного слова по Gemini и низкоприоритетной даты аккаунта OpenAI. **Непостроенное, по убыванию веса:** (1) механизмы D21 «голос и состояние» — самый крупный рычаг качества, ратифицирован 09.07, в коде только комментарии будущих таблиц в миграциях; (2) масштаб целой книги (волны/каденс/потолки/ETA на сотнях глав — гоняли максимум 5); (3) native-Gemini судья (Ф2); (4) извлечение дискурс-норм/few-shot из ТЕЛ промтов (слой 2, форсинг = ja→ru); (5) ru-target долг (слой 7, свой дизайн-пак, не срочен по текущей карте); (6) два нита общности — привязаны к ближайшему resnapshot. **Новая мелкая петля, вытащенная из отчёта пака-18:** проекция пере-оплаты в `tmctl status` сознательно не добавлена (спека §9 предлагает заменить булев `ConfigDrift` числом «N чанков, ~$X»; на снапшотной гранулярности дёшево и `omitempty`) — записываю, чтобы не потерялась.
**Решение по последовательности (моё, аргумент — деньги):** пак-19 берёт D21, и ниты общности едут ЕГО лендингом. Причина: ниты требуют `--resnapshot`, а D21 двигает провод сам по себе (инъекция голоса/обращений меняет сборку контекста ⇒ снапшот), то есть отдельный resnapshot ради нитов = вторая оплата за то же. По той же причине платный прогон отложен ЗА пак-19: мерить остаток и итерацию №2 на стеке, который мы прямо сейчас собираемся менять, — значит купить ответ про вчерашнюю форму. **Промт выдан:** `BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md` — двухфазный (дизайн V1–V6 → ратификация → стройка); несущее в нём: реестр обращений как МАТЕРИАЛИЗАЦИЯ журнала ты/вы (не второе хранилище) · voice-профиль заморожен per-job до доказанного обратного · только CONFIRMED в инъекцию · **ты/вы = данные пары, не Go** (первый пак, где §0 проверяется по-настоящему — T/V есть не во всех языках) · Annotator и слой-2 детектора вынесены · ниты общности взяты ровно так · пере-капчер golden только с пустым маскированным диффом вне названных осей.
## Оркестратор №8 — ПАК-18 ПРИНЯТ (D39.31): согласие на пере-оплату построено, `escalation_model` исправлен под машинно-проверенный пере-капчер, ниты отложены ПО ЗАМЕРУ, 25.07
Приёмка execute-first. Пере-ранил всё: build/vet чисты · `gofmt` только `internal/llm/llm.go` (воспроизводится на HEAD — оговорка сессии честная) · `-race` 12/12 · shuffle зелёный · парити EXACT · **ценз диффом ИМЁН 455→475, удалено 0**. **Главное — санкционированный пере-капчер golden проверен МАШИННО, а не глазами:** замаскировал `esc_model="…"` в HEAD-версии и рабочей — файлы БАЙТ-ИДЕНТИЧНЫ; `brief_hash`, оба `snapshot_*_payload`, `memory_version` совпадают построчно ⇒ вердикт-изменение не утащило ни одной другой оси, пере-оплаты нет. Сдвинулись ровно 4 строки, все `ch3/0 draft` (кейс «хоп тоже отказал»). Новый baseline — `211c9013…089045d6`. **Мои независимые мутации:** формула порога `min`→`max` → 6 красных (включая оба CLI-провода); проекция считает строки, резюмящиеся за $0 → 3 красных. **Развилка сессии «`--resnapshot` не есть согласие» принята и оказалась даже не девиацией** — спека прямо говорит «отдельный от `--resnapshot`-алиаса» (`D15.2-*.md:590`), а её собственный аргумент сильнее: при алиас-прочтении ратифицированный порог превращается в гейт, который не может выстрелить. **Отсрочка нитов принята как ИЗМЕРЕННАЯ** (`pack.Version()` `a7d4be2c0465`→`133d71e8d132`; стендовая книга объявляет `langpack_root` на репозиторный каталог — проверил), плюс определительный аргумент по Detail-строкам (дефолт шаблона обязан рендерить сегодняшнюю строку ⇒ 时辰-литерал остаётся в Go при любой форме данных). **Своя ошибка, фиксирую:** запись бэкенд-сессии в PROGRESS уехала в мой прошлый коммит `3bc9eb4` — собрал общий файл целиком, пока её текст лежал в дереве; правило уточнено в D39.31 (для ОБЩИХ файлов смотреть `git diff --cached` по СОДЕРЖИМОМУ, а не по списку имён).
## Оркестратор №8 — РЕШЕНИЯ ВЛАДЕЛЬЦА ПО ФАКТАМ ToS (D39.30): `violence` не заводим + интерпретация подписана, риск Z.AI принят, две строки применены, 25.07
Владелец разобрал три развилки. **(1) `violence`** — лейбл механически не заводить, а подписанное чтение «нейтральное художественное изображение ≠ promoting/inciting/glorifying» зафиксировать письменно в контракте: аудит-след есть, книга едет, обратимость одной правкой данных сохранена. **(2) Z.AI** — риск принят сознательно (прогон исследовательский, на своей книге, без публикации), с записанными условиями пересмотра: публикация/клиентские книги · чужой контент · смена политики Z.AI (пере-проверка 25.10.2026); уточнение по коду: `glm-5.1` в `chains.default` недостижим (single-hop + `budget_usd: 0`), вектор был именно арм-конфиг. **(3) Подпись дана** — `xai` и `mistral` получили `accepts_labels: [sexually-explicit]` в `backend/configs/models.yaml` моими руками (зона бэкенда, но применение подписанных строк — процедура оркестратора, ратифицирована промтом пакета-5). Проверил исполнением: `go test ./internal/config/` зелёный, ни одна книга лейблов не несёт ⇒ применение ничего не запускает и не двигает (строки — данные провайдера, вне хешей и снапшотов). Механизм перестал быть пустым; для первой explicit-книги по-прежнему обязательны D22.7 и выбор редактора под лейблом.
## Оркестратор №8 — ПАКЕТ-5 ПОЛИГОНА ПРИНЯТ (D39.29): право по ToS добыто первоисточниками; по `violence` права нет ни у кого; две строки ждут подписи владельца, 25.07
Приёмка фактического пакета — своими копиями первоисточников, а не чтением отчёта. Проверил три клетки с наибольшей ставкой, все подтвердились: **mistral/sexually-explicit ALLOWED** (HTTP 200 на `legal.mistral.ai`, дата ревизии совпала, названы CSAM/NCII/sexual services, взрослая художественная эротика не названа, контентного катч-олла нет) · **xai** (прямой `x.ai` дал 403 и у меня — Cloudflare воспроизвёлся; Wayback `id_` 200, дата совпала, **`grep -c -i violen` = 0 по МОЕЙ копии** ⇒ сессия правильно перевернула собственный ALLOWED в UNCLEAR) · **zai FORBIDDEN оба** (п. f) «obscene, pornographic, **violent**…» плоско, п. g) «sexually explicit») — **чем закрыт открытый вопрос D39.27 п.7: glm-5 под лейблом недоступен**. Метод сессии (три контура: добыча → независимая перечитка «сломай» → собственный третий проход; 15 цитат с `grep -c -F`=1) сработал по целевому дефект-классу: адверсариальный контур снёс её же ALLOWED по xai/violence, подпёртый уликой ДРУГОГО лейбла. Доктрину принял целиком, включая решение ПРОТИВ собственного независимого контура (openai/violence → UNCLEAR из-за инкорпорированного катч-олла): последовательность правила дороже одной выигранной клетки. **Errata D14 п.1** (§3.4(5) верен дословно, но живёт в Terms of Use, а не в Open Platform ToS) записана в D39.29, тело исторического блока не переписано. **Мой добор (формулировку уточнил после проверки — первая была мягче правды):** `zai` запрещает «violent content» ПЛОСКО, а экспозиция УЖЕ состоялась — glm-арм (editor `glm-5`) гонялся живьём на 蛊真人 в rerun2 (D39.20); `glm-5.1` в `chains.default` при этом недостижим (single-hop + `budget_usd: 0`) ⇒ вектор — арм-конфиг, не цепочка. **Рекомендация по §5.1:** лейбл `violence` механически не заводить (статус-кво, под которым уже прошли exp10/rerun2), интерпретацию зафиксировать письменно за подписью — аудит-след без блокировки. Восемь пингов блока B закрыты; пинг-1: катовер `deepseek-chat` исполнен (404 и на пер-слаговом retrieve), цены не изменились.
## Оркестратор №8 — БЭКЕНДУ ВЫДАН ПАК-18 «долги контракта»; граница `--accept-rebill` ратифицирована по факту отсутствия `guard_hash`, 25.07
Вопрос владельца «а в бэкенде ничего не осталось?» — проверил по коду, не по памяти: осталось. Пак-18 берёт три ратифицированных-но-не-построенных долга, и он ЕДИНСТВЕННАЯ работа, не ждущая никого (полигон параллельно добывает ToS-факты, подписи владельца не нужно, платных вызовов ноль). **Несущее решение при выдаче:** проверил `grep guard_hash` — пер-чанковой проекции §7 спеки D15.2 в коде НЕТ ВООБЩЕ (дрейф булев: `ConfigDrift`/`SnapshotDrift`), поэтому **ратифицировал границу: согласие на пере-оплату строим на ТОЙ гранулярности, на которой движок реально пере-оплачивает — снапшотной** (проекция = Σ хранимых `chunk_status.cost_usd` единиц, промахивающих новый снапшот; `EstimateUSD` для единиц без цены), `guard_hash` НЕ строим, а ратифицированная оговорка спеки «каскад §7.1-бис ложится перед семантикой флага» на этой гранулярности ВЫРОЖДЕНА (пере-оплачивается всё) — не нарушение порядка, а неприменимость; сессии предписано зафиксировать это строкой, а при расхождении с кодом принести развилку с цифрами, а не строить мини-`guard_hash`. **Пункт 2** (`escalation_model` = авторитетная модель): пере-капчер golden САНКЦИОНИРОВАН ровно под этот дифф с дисциплиной «маскированный структурный дифф показывает ТОЛЬКО колонки `esc_model`, любая другая сдвинутая строка = стоп»; ни одна ось `RequestHash`/снапшота не двигается (доказать исполнением); миграции нет. **Пункт 3** — два нита общности, условные и байт-нейтральные, с правом отложить явно. **Явно вынесено:** ru-target долг (слой 7) получит СВОЙ дизайн-пак — в долговой не тащить.
## Оркестратор №8 — ПОЛИГОНУ ВЫДАН ПАКЕТ 5: факты ToS под `accepts_labels` + семь док-синк пингов одним промтом (решение владельца «отдать полигону всё»), 25.07
`POLYGON_PACKAGE5_SESSION_PROMPT.md`. **Блок A (ради него пакет):** после закрытия пака-17 между рабочим механизмом лейблов и первой помеченной книгой стоит ровно одна вещь — ФАКТЫ ToS/AUP, которых у нас нет. Несущее в промте: `accepts_labels` = ПРАВО отправлять по договору, а НЕ предсказание отказа (две оси эмпирически расходятся в обе стороны: Gemini fail-closed на эротике при отсутствии запрета — D22.6; DeepSeek переводил explicit ПРОТИВ своего ToS — exp11) · вердикт ПЕР-ЛЕЙБЛУ, потому что вся выгода ратифицированной пары держится на расхождении `violence`/`sexually-explicit` у одного вендора (D14 п.1) · три вердикта, где **UNCLEAR легитимен** и оставляет fail-closed · каждый вердикт несёт URL + дату ревизии + ДОСЛОВНУЮ цитату + дату проверки, гадать запрещено (правило двух направлений) · фиксируем факты, юридическое заключение не выдаём — подпись под строками ставит владелец · `backend/` read-only, строки данных ПРЕДЛАГАЮТСЯ в отчёте · ноль live-вызовов, это чтение документов. Мандат самопроверки заточен под типовой провал класса — **овер-атрибуцию** (верная цитата не тому вендору/пункту/ревизии): после написания таблицы перечитать каждую цитату в источнике и сверить тройку «вендор — документ+дата — вердикт». **Блок B (лёгкий хвост, без церемоний):** 7 накопленных док-синк пингов зоны полигона + восьмое следствие пака-17 (флаг `permissive` в quirks-доке больше не существует). Все петли трекера по полигону закрыты выдачей; на владельце осталась одна — ПОДПИСЬ под итоговыми строками.
## Оркестратор №8 — ДЕЛЬТА ПАКА-17 ПРИНЯТА и залендена: действие `allow` (assert-only) — ратифицированная ПАРА лейблов выразима ДАННЫМИ; ПАК-17 ЗАКРЫТ ЦЕЛИКОМ (D39.28), 25.07
Дельта закрыла работу, которую открыл ответ владельца по вокабуляру. Итог: тройка `route | allow | terminal`, где ВСЕ ТРИ несут ОДИН инвариант (каждая достижимая модель принимает все лейблы книги) и различаются остальным; `allow` не двигает маршрут и ЗАПРЕЩАЕТ `chain`/`label_models`/бюджет как бессмысленные (дисциплина «громко, а не игнор»). `checkContentRouting` править не пришлось — предсказание D39.27 п.6 подтвердилось. **Моя приёмка исполнением:** build/vet/gofmt чисты (единственная жалоба `internal/llm/llm.go` воспроизводится на HEAD — сессия файл не трогала, оговорка честная) · `-race` 12/12 · **golden `f7641993…0020f8` = HEAD байт-в-байт**, `testdata/` чист · парити EXACT `n=13618 … 0.9655` · **ценз диффом ИМЁН 451→455, удалено 0**. **Моя независимая мутация:** инвариант проверяет только ПЕРВЫЙ лейбл вместо объединения → красный `TestRatifiedLabelPairIsDataOnly` — союзная семантика, на которой стоит ПАРА, запинена тестом, кодирующим форму ответа владельца. Сквозняк `TestAssertOnlyLabelRunsWithoutMovingAnything` прочитан и НЕ вакуумен: число вызовов + каждое тело запроса + стоимость + оба волновых снапшота, всё при `budget_usd = 0`. **Данные:** `accepts_labels` осознанно пусты — ратифицировал как ВЕРНОЕ fail-closed состояние; в диффах данных ни одного ToS-утверждения от сессии (значения = факты по первоисточникам, ПЕР-ЛЕЙБЛУ, фиксирует полигон). Фикс-лист D39.27 закрыт. **Пак-17 отработан целиком (D39.26 · D39.27 · D39.28); промт переведён в архивный статус.**
## Оркестратор №8 — ПАК-17 ФАЗА 2 ПРИНЯТА (execute-first) и ЗАЛЕНДЕНА: механизм лейблов живой, вокабуляр владельца = ПАРА, дельта = assert-only action (D39.27), 25.07
Приёмка гоняла, а не читала. **Мой ре-ран манифеста:** build/vet чисты · `-race` 12 пакетов ok, 0 FAIL · **golden `f7641993…4f0020f8` байт-в-байт равен HEAD-версии фикстуры** (`git show HEAD:… | sha256sum`), `testdata/` чист ⇒ пере-капчера не было · **парити EXACT `n=13618 catastrophe{方源:0 蛊:1 蛊师:2 古月:22} recall 0.9655 (56/58)`** тождественно пакам 15/16 · **ценз проверен ДИФФОМ ИМЁН (не счётчиком): 433→451**, удалены ровно 8 объявленных (6 failover + `TestCheckAdultChannel` + `TestRunnerChannelBRequiresPermissive`) · `-shuffle=on` зелёный · шов на провод один. **Рубеж-2 — три МОИХ мутации в копии дерева (не из списка сессии), все пойманы именованными тестами:** лейблы обратно в канон `BriefHash` → `TestEditorOnlyLabelLeavesTheDraftWaveUntouched` красный (приятная находка: инвариант D39.26 п.1 запинён СЛЕДСТВИЕМ — снапшотом драфт-волны — что сильнее ассерта равенства хешей, моя гипотеза «инвариант не запинён» опровергнута исполнением) · отключение лейбл-проверки в `clientFor` → два красных · безусловный отказ маршрутизации → `TestLabelledReadPathStaysAlive` красный. **По коду подтверждено:** достижимость лейбл-зависима, `r.client(` больше нет, порядок `GetCheckpoint→clientFor→Reserve`, добор C закрыт именованным тестом рейт-гардов, отчётность вся `omitempty`, **шиппинг-конфиги без единой поведенческой правки**, **стенд чист** (0 файлов с `permissive:`/`channel:` вне git; все 5 книг ссылаются на репозиторный `models.yaml`) ⇒ отставки операционку не ломают. Сессия сама нашла и починила 8 дефектов ДО сдачи (CRIT: лейбл-фикстура была тождественным отображением ⇒ несущая половина пака не покрывалась) — ровно та самопроверка исполнением, которой мандат 12.07 и добивался. **Диспозиции:** форма добора B = **форма 2** (гейт независимо от `off`; форма 1 валит `models.yaml` через `echoMineViolation`×`control: effort` — проверено) + generic-предупреждение `sourceEchoExposure` · семантика хопа = следствие D39.26 п.1, не девиация · `labelsFor()` подписью — сильнее рантайм-ассерта · хвосты общности — отложено-с-записью. **Ответ владельца: вокабуляр = ПАРА `violence`/`sexually-explicit`** ⇒ **дельта: третье значение `action` (assert-only)** — без него пара невыразима данными (`route` требует chain+бюджет+`label_models`, `terminal` не обрабатывает). **Q2 редактор отложен с записью** (связывает только explicit-книги, которых нет; на violence остаётся dspro). **Новая петля, вскрытая вопросом владельца:** лейбл НЕ доезжает до промпта — это чистые данные маршрутизации; «промпт знает о свойстве контента» = отдельное решение промпт-слоя.
## Оркестратор №8 — ПАК-17 ФАЗА 1 (дизайн канала B) ПРИНЯТА и ратифицирована в редакции §14 (D39.26); три добора приёмки; фаза 2 размечена, 25.07
Приёмка **пропорциональная** (поправка 25.07: инлайн-пасс исполнением, без воркфлоу — как и в паке-16 тяжёлая ратификация не понадобилась). Эхо-блок отчёта сверен с промтом — сошёлся (7 инвариантов + мысленный тест генеральности + не-делать + канал вопросов; xAI-ключевая петля осознанно не эхнута — она «в пак не тащить»). **Метод сессии — образец пака-16:** 11 адверсариальных агентов, §14 отдельным слоем, тело не переписано; сессия сама отменила ТРИ своих решения и перевернула ДВЕ рекомендации — это ровно то поведение, которое нормы 5/10 поощряют. **Мой рубеж-2: ноль опровержений §14, три добора.** Пере-вывел сам: **M1 ре-деривирован независимо** (питон-канон по `book.go:214-228`) — все пять дайджестов посимвольно, `c2021b1b…cab0df` = `capture.golden:6`, omitempty-хвост при пустых лейблах байт-в-байт тот же ⇒ денежный кейстоун (защита $0-резюма драфта под замер остатка пака-16) стоит; **фантом-гард D-ссылок чист** (18 блоков/подпунктов, включая `:245` D20.2-Q1/Q2, `:247` D20.4, `:276` D22.7, `:310` D25 п.4); спот-чеки подтвердили §14.1 (`BriefHash` book-global в общем билдере обеих волн при пер-стадийном `stageSnap` + `waveStages`), §14.2 (сырое `reachableModels`; `chains.default[0]` = `escalate_to` драфта ⇒ неограниченный дедуп упал бы на шиппинге), §14.3 (`escMu`-пин «перерасход ≤ 1 хоп», `Waves.Workers` дефолт 1 ⇒ лок-на-итерацию правильно отменён), §14.5.6 (`GetCheckpoint:337`→`Reserve:379`→`client:410`→`Complete:442`), §14.6.1/2 (golden пинит `esc_model` на отказавшем хопе; `style_check_version` фолдится безусловно), 13 файлов вне git с `adult:`. Неточности, выводов не меняющие: «`accept-rebill` грепом пусто» — 9 попаданий, все в спеке `backend/docs/D15.2-*.md` (в коде действительно нет); «23 сайта `LoadPipeline`» включает строку определения. **Три добора (в D39.26):** (A) единый лейбл «adult» схлопывает ратифицированную violence-развязку D14 п.1 ⇒ вокабуляр лейблов — владельцу (механизм держит обе формы данными, стройку не блокирует); (B) `reasoning:"off"` — тихий выход из аддитивного гейта (внешнее условие `pipeline.go:541`) И из эхо-гейта (`echoes_when_thinking_off` только у deepseek — обобщение D19.1 п.2 «оба grok-слага» в данные не доехало) ⇒ закрытие обязательно; (C) рейт-гард молча деградирует в «неограниченно» при лейблованном переводчике mistral `max_concurrency: 2`. **Мои решения поверх §14:** `failover.go` УДАЛИТЬ (а не давать конструктору лейблы — least mechanism при нуле вызывающих), гард-тест шва `\.Complete(` с именованным аллоулистом `live_conformance_test.go`. **Q3/Q4/Q5/Q6 закрыл сам** (D12 pinned · B3-A′ один хоп · `chains.default` остаётся мёртвым · механизм `terminal` строим, значение не заводим); **Q1 = книга** по аргументу гарантии; **владельцу — вокабуляр лейблов + Q2 редактор** (деньги/продукт/18+). Выносы: `escalation_model`=ответившая · `--accept-rebill` · D22.7-предусловие — все три легли в трекер петель.
## Оркестратор №7 — DOC-ДИЕТА ИСПОЛНЕНА (санкция владельца 25.07, блоки A+B+C): онбординг-путь разгружен, `abdfbff`, 25.07
Мотив владельца: часть доков морально устарела/перегружена и мешает моделям погружаться. **A:** хроника 13–25.07 (стройка паков 11–16, rerun2) → третий слайс `archive/PROGRESS-2026-07-13-25.md`; PROGRESS 268→54 строк (CURRENT-STATE сжат: фазы/курс · стек · петли); «Текущее состояние» CLAUDE.md: параграф-монстр → 6 буллетов (детали паков живут в D-логе/отчётах). **B:** исполненные арх-доки 07-strategic-review · 08-sync-audit-ledger · 11-implementation-plan → `archive/architecture/` (`git mv`, история сохранена); 07 вычеркнут из «источников истины №2»; живые ссылки обновлены (README · ORCHESTRATOR_SESSION_PROMPT · шапка 09); тела D-лога не тронуты (D23.3 — его исторические относительные ссылки на 07/11 осознанно оставлены). **C:** правило чтения D-лога при онбординге: «целиком» → «карта актуальности + живая голова D39.x; корпус D1–D38 — справочник по ссылкам/grep» — снимает ~100k токенов (375 КБ) с каждого онбординга; физический сплит D-лога ОТВЕРГНУТ (ломает file:line-ссылки из десятков доков). Не тронуты: 04-unhappy-paths (живая матрица) · 03 (контракты) · 09/10/12 (карта слоёв/реестр/нормы) · research/* (вне онбординг-пути, баннеры стоят). Заодно: стейл-шапка CLAUDE.md «кандидат glm-5» → dspro-интерим D39.22. **Дорезка по вопросу владельца:** ORCHESTRATOR_SESSION_PROMPT переписан хендоффом №6 (91→67 строк: мёртвая миссия эры «план→стройка» срезана, снапшот v5 → `archive/prompts/`; живое — роль/методология/уроки/нормы §1–11 — дословно; состояние больше НЕ дублируется, только указатели в PROGRESS/D-лог); D-лог решено НЕ резать (после правила чтения корпус не налог; физический сплит ломает file:line-ссылки ради нуля); +пинг №7 полигону (eval/README от 19.07).
## Оркестратор №7 — DOC-SYNC PASS ИСПОЛНЕН (аудит владельца 25.07): puml перерисованы, 14 доков синканы с D1–D39.25, 6 пингов полигону, 25.07
Метод: 6-агентный аудит-воркфлоу (код-реальность для диаграмм + сверка каждого стейл-дока с D-логом/кодом, всё file:line) → мои спот-чеки несущих клеймов исполнением (6/6 сошлись: «F1 CLOSED» `snapshot.go:177` · `Escal.Chains` без потребителей в раннере · repair отсутствует в c1 = disabled · STM-кнобы удалены · tmctl-команды · `RepairCandidates` `checks/repair.go:71`) → правки моими руками. **Диаграммы:** `components.puml`/`pipeline.puml` перерисованы с нуля под пост-пак-16 реальность (волновой исполнитель · сплит пакетов пака-15 · снапшоты per-wave/BASE-ENRICHED · майнинг-стоп exit 3 · repair-петля [FLAG] · конфиг-слои данными · generic-лейблы D39.25 как план пака-17; НЕ рендерились — смотреть расширением). **Статус-баннеры (тела НЕ переписаны, дисциплина D23.3):** 01-decisions (dspro-интерим, xAI-концентрация распалась, Р4→D39.25) · 02-mvp-plan (дорожка v3.2 исполнена через арх-ресет) · 03-implementation-notes (география §3 перечёркнута сплитом; техдолг §6: clients-гонка/F4/F3 закрыты) · 04-unhappy-paths (чекеры/ремонт построены, карта сработала как ТЗ — дефект-классы rerun2 легли в её клетки) · 06-memory-risk-registry (банк ПОСТРОЕН, G1 закрыта иначе — майнер+банкнота без LLM-споттера; F1-остаток закрыт inline) · 07-strategic-review (курс исполнен) · 08-sync-audit-ledger (аудит отработан, диспозиции закрыты стройкой) · 09-target-architecture (таблица «слой → статус → пак/D»; врезка слоя 2 продлена до паков 14/15). **Ресёрч-свип «→ построено»:** 18/18-chatgpt (editor v3, арка закрыта) · 19 (чанкер/волны/exp15) · 20 (майнер/банкнота, гейт §D снят) · 21 (DEFER снят паком-12; Q7-абсорбция по-прежнему за вендор-сверкой) · 22 (Q6 gating+repair закрыт паком-16); research/15 честен — не тронут. **Освежены:** docs/README (D-диапазон D39.25, exp12–16 в карте, archive/reports описан, статус 25.07, пак-17 ЗАПУЩЕН) · POLYGON_PACKAGE4-баннер (пост-D39.22 рамка, quirks-ссылка :74). Зона полигона не тронута — 6 пингов в трекере петель. Верификация: все баннер-клеймы грунтованы file:line аудиторами + мои спот-чеки; спорных inline-правок тел — две (F1-строка в 06, врезка слоя 2 в 09), обе high-confidence по коду.
## Оркестратор №7 — промт пака-17 «канал B вживую» ВЫДАН (двухфазный: дизайн B1–B6 → ратификация → стройка), 25.07
Последний несущий кусок бэкенда перед следующим платным прогоном (прогон разом даст: итерация №2 dspro-vs-glm · замер остатка дефектов → решение о петле ремонта · живой канал B). Дизайн-вопросы: гранулярность adult-маркировки (приор: ручная, книга/главы, данные книги) · **редактор канала B** (dspro НЕЛЬЗЯ — DeepSeek вне 18+ по ToS; выбор интерим до замера) · refusal-каскад в лестнице эскалации · механическая гарантия «adult → только permissive» (флаг провайдера = данные models.yaml) · снапшот/резюм · отчётность. Инварианты: L3 — жёсткая линия (классификатор НЕ строится, спека D22.7 ждёт владельца) · live 18+ только по санкции · синтетические фикстуры · байт-точность канала A. Хвостом фазы 2 — ниты общности из петель.
## Оркестратор №7 — ПАК-16 фаза 2 ПРИНЯТА (execute-first: 5 линз + инлайн-дельта) и залендена; слой 3 ПОСТРОЕН, платный путь ждёт замера, 25.07
Приёмка по новой норме — гоняли, не читали: все три §9-блокер-сценария отклонены сквозными репродукциями через настоящий драйвер; шести MAJOR-фиксам без in-tree тестов построен overlay-харнесс; ценз `^func Test` воспроизведён исполнением (399→433, удалено 0). Мой двойной MAJOR (hourWordRE: «тотчас» отгружал удаление длительности + ru-парадигма в Go) закрыт дельтой: `hour_word_re` → пар-данные с обеими границами + fail-loud пары без пробы. **Решения:** §9.2 = (а), both-wave re-pin принят ($0-резюм — внутри-снапшотный инвариант, resnapshot = переоплата ОДНА; пер-волновой суб-хеш — записанная опция эры масштаба); §16.2 ратифицирована (дефолт-актуаторы = broken_word+latin_residue, dc1 — детекторы). **В очередь:** per-class исходы ремонта = схемное решение, вместе с включением петли. **Нормы:** правило 11 «сэндбокс-репродукции через драйвер» (девять дефектов прошли чтение — поймало исполнение); ценз-норма впервые сработала ДО отчёта (снос 7 тестов при механической правке пойман и восстановлен сессией). Инварианты: golden `f7641993…` байт-в-байт · парити EXACT · 12 пакетов `-race` · версия пака → `a7d4be2c0465` (только ратифицированные правки данных). Очередь: **пак-17 = канал B вживую** (батч со следующим платным прогоном: вопросы итерации №2 + замер остатка ремонта → решение владельца о включении петли).
*(Хроника 13–25.07 — стройка паков 11–16, rerun2, лендинги D39.12–D39.24 — перенесена в [archive/PROGRESS-2026-07-13-25.md](archive/PROGRESS-2026-07-13-25.md), слайс 25.07.)*
## Бэкенд
*(Закрытая хроника пакетов №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/`.)*
### РЕСЁРЧ ОБЩНОСТИ фаза 1 ИСПОЛНЕН ($0, read-only, кода не тронуто) — СТОП на ратификацию, 31.07
Отчёт: [`archive/reports/GENERALITY_RESEARCH_2026-07-31.md`](archive/reports/GENERALITY_RESEARCH_2026-07-31.md). Промт D39.59 отработан целиком: полный скан → пять вёдер → пересборка пака-21 → план пакетов с ценами → счёт масштаба → критик полноты. Метод: 8 срезов кода, каждый адверсариально перепроверен вторым проходом с прогоном чужих grep; 5 сквозных разборов (цены снапшота · синк с D-логом · пересборка пака-21 · сухой прогон второй пары · алгоритмы), каждый кросс-чекнут; несущие числа пере-мерены сессией лично. **Долг = 149 сайтов в 45 файлах** (133 в `.go`), 111 из них НЕ забуканы; вёдра A=27 · B=6 · C=104 · D=12 · легитимно E=106. **Ось: источник/пара 63% · ЦЕЛЬ (ru) 30% · КНИГА 3% (4 сайта поимённо)** — по книжной оси движок практически чист. **Долг меньше бэклога:** строка 32 пишет «isRuTarget×11 · TokenizeCyrillic×6» — это счёт грепа, боевых call-site **6 и 2**; живых CJK-литералов в исполняемом Go — 27 строк в 12 файлах из 201 (87% — комментарии). **Вторая пара:** golden-фикстура уже ja→ru (скелет доказан), но через `prompt_override`, без langpack и пар-конфига; ja→ru проходит безопасно без правки Go, **en→ru — небезопасно** (молча спят детектор эха `cjkShare`=0 и майнер `hanRuns`=0). Данными лечится 11 позиций, Go требуют 5 (+2 латентных), ни одна не блокирует запуск. **Цены:** сдвиг любой из 20 осей снапшота = перепокупка книги, ре-пинуема ровно одна (`memory_version`); вынос в `configs/langpacks/` двигает `LangpackVersion` включая КОММЕНТАРИИ (хеш над сырыми байтами), вынос в `internal/lang/data/` — $0; новая пара — $0 для существующих книг. Рецепт воспроизведения хеша пака без запуска Go проверен: даёт `a28ed743c99c`. **Две находки сверх задачи.** (1) `internal/lang/data/*.txt` (6 файлов, из них `injection.txt` едет на провод, `target-ru.txt` определяет вердикты санитайзера) **не хешируются ничем** — механизма «байты ЕСТЬ версия» на эмбед-плоскости НЕТ, правка байта без ручного бампа константы = тихая пере-оплата вне контура Р6 (`rebill.go:137-139`). (2) **Живой баг:** `isCJKLang` числит `ko`, а `cjkShare`/CJK-leak/гард ремонта Hangul не содержат — корейское эхо невидимо и не эскалируется. **Пак-21 пересобран:** все якоря D39.39 устарели (пак-19 их сдвинул) — даны актуальные; из 12 дефектов собственно zh-привязок ТРИ, остальное — ось ЦЕЛИ; Р3 закрыт D39.44 Q4, Р1 расщепляется ⇒ на владельце остаются ДВА вопроса вместо четырёх. **План — 6 пакетов** (П0 «байты есть версия» предусловием → П1 цель-шов → П2 скрипт-шов источника → П3 нарезка/оценка → П4 пак как механизм → П5 майнер, гейт на реальную вторую пару), приёмочный критерий каждого — «пара, которой нет в репо, проходит слой без правки Go». **Несущая рекомендация: один общий `--resnapshot` сейчас** — оплаченный корпус = два мини-прогона по $0.13–0.23, после МАСШТАБА тот же дифф стоит порядки. **Пять вопросов владельцу в §12 отчёта**, главный бьёт по посылке: больший и замороженный (D39.24 «НЕ чинить») кусок долга лежит на оси ЦЕЛИ, а директива названа по оси ПАРЫ. Сессия не коммитила; `backend/` не тронут ни строкой.
### Пак-18 «долги контракта» ОТРАБОТАН и ПРИНЯТ (D39.31, приёмка оркестратора №8), 25.07
Отчёт: [`archive/reports/PACK18_DEBTS_REPORT_2026-07-25.md`](archive/reports/PACK18_DEBTS_REPORT_2026-07-25.md). **П.1 `--accept-rebill[=usd]` ПОСТРОЕН** на снапшотной гранулярности (`internal/pipeline/rebill.go`): проекция = Σ хранимых `cost_usd` оплаченных строк под устаревшим снапшотом ЕГО ВОЛНЫ, порог `min($0.50, 5%×ProjectedBookUSD)` + флор $0.50 + переопределение книгой `rebill_consent_usd`; гейт стоит ДО денег в `TranslateBook` и ДО деструктивного сброса в `Redrive`; read-only пути ($0-контракт D20.4) не тронуты. `ProjectedBookUSD` вынесен в общий `projectBookUSD` — порог и `status` считают ОДНО число. **Развилка на ратификацию:** оговорка спеки «`--resnapshot` = алиас-синоним согласия» СОЗНАТЕЛЬНО не перенесена — флаги ортогональны (иначе ратифицированный порог = мёртвый код); 4 существующих теста получили строку согласия. Каскад §7.1-бис зафиксирован как ВЫРОЖДЕННЫЙ, ветка `EstimateUSD` — без предмета на этой гранулярности; `guard_hash` не строился. **П.2 `escalation_model` = АВТОРИТЕТНАЯ модель ПОСТРОЕН**; пере-капчер golden `f7641993…` → `211c9013…` проверен машинно: сдвинулись ровно 4 строки `ch3/0 draft`, дельта ТОЛЬКО в колонке `esc_model`, оба волновых снапшота/`brief_hash`/`memory_version` байт-идентичны ⇒ пере-оплаты нет; миграции нет, смешанная семантика записана в доккоммент `store.ChunkStatus`. **П.3 (два нита общности) ОТЛОЖЕН с замером:** одна новая строка в `configs/langpacks/zh-ru/dc-checkers.txt` двигает `pack.Version()` `a7d4be2c0465`→`133d71e8d132` и ОБА волновых снапшота (проба исполнением), а стендовые книги ссылаются ровно на этот каталог (`rerun2/book*.yaml:22-23`) ⇒ байт-нейтральной формы нет; для Detail-строк она нереализуема определительно. Готовый план на ближайший полный `--resnapshot` — в отчёте. **Приёмка:** build/vet чисты · `-race` 12/12 · `-shuffle=on` зелёный · парити EXACT `n=13618 … 0.9655 (56/58)` · ценз диффом ИМЁН 455→475, удалено 0 · **19 мутаций, 19 красных** (две сначала выжили и вскрыли дыры в тестах — обе закрыты, в т.ч. регресс-класс D20.4 «распарсено, но не проведено в раннер»).
### Мини-прогон ~10 глав ИСПОЛНЕН одной сессией (гигиена → главный проход → проба банкноты → верификация), 25.07
Отчёт: [`archive/reports/MINIRUN_REPORT_2026-07-25.md`](archive/reports/MINIRUN_REPORT_2026-07-25.md) — пре-регистрация первым разделом (написана ДО первой траты, критерии провала названы заранее). **ШАГ 0 (гигиена, $0-код, НЕ закоммичен):** обязательный флип `Gates.RegressionGuard.Enabled` во всех 5 шиппинг-конфигах (D38.4 п.5, невыполненное обязательство D39.34) + 3 теста, что гейт РЕАЛЬНО стреляет через настоящий драйвер; два нита общности взяты в fail-loud форме БЕЗ Go-дефолта (множитель `dc1_unit_in_hours` и Detail-шаблоны `msg` → пар-данные; возражение D39.31 п.5 снято тем, что дефолта просто нет); проекция пере-оплаты в `tmctl status` (спека D15.2 §9, тем же `projectRebill`, что и гейт). Приёмка: build/vet чисты, `-race` 15/15, **golden `211c9013…089045d6` байт-в-байт равен HEAD**, ценз ИМЁН 475→483 (удалено 0), **5 мутаций — 5 красных**. Сдвинутая версионная ось ровно одна: `langpack_version` `a7d4be2c0465`→`a28ed743c99c`; флип гарда снапшот НЕ двигает (проверено исполнением). **Прогон:** новый проект `guzhenren-minirun` (главы 1–10, 20 драфт-чанков → 14 edit-единиц), **$0.114291** при оценке $0.10–0.19, 14/14 ok. **Семь утверждений подтверждены сырьём:** rebill-гейт отработал ЖИВЬЁМ впервые (проекция `34 единицы ~$0.114291` = списанному ТОЧНО; 3 отказа, деньги/строки побайтно не тронуты; пас-лег на микро-проекте за $0.003) · майнинг-стоп остановил и очистился, термы БЕЗ dst (D39.36 подтверждён живьём) · `escalation_model` = ОТВЕТИВШАЯ модель · лейбл-путь no-op (0 расхождений requested↔actual, полей маршрутизации в read-model НЕТ) · деньги durable (`committed == SUM(checkpoints)` точно, `finish=stop` 35/37) · `RegressionGuard` даёт честный ноль (перепроверен независимо: ratio 0.90–1.06, потеряно 0 чисел). **ГЛАВНОЕ ИЗМЕРЕНИЕ: `repair_candidates` = 0** — на этих 10 главах платная петля не нашла бы НИ ОДНОЙ работы; из 11 стилевых сигналов **11 — ложняки** (8 `dialogue_dash` бьют по законной русской типографике «мысль в «…» против речи в «—»», 2 `percent_scale` называют верный масштаб ошибкой масштаба, 1 `dc2` — гипербола, о которой предупреждает его же комментарий). **Проба банкноты ($0.021688): канал ФИЗИЧЕСКИ РАБОТАЕТ** — 71 строка на 9 из 20 чанков, `truncated` 0, сепаратор из чистого черновика срезан; предложения годятся как основа канона (~40–45% полезных: 智慧蛊 «гу Мудрости» и 古月陈博 «Гуюэ Чэньбо» дословно совпали с подписями rerun2). **Поправка к D39.36: предложенный dst НЕ теряется** — сырой блок лежит в `checkpoints.response_text` первичной попытки (9 строк), выбрасывается только распарсенная структура ⇒ починка шва не требует пере-прогона. **Сработали два пре-регистрационных критерия провала, не переопределяю:** П3 (эхо `cjk_artifact` 1/20 = 5% при thinking-ON; эскалация вылечила) и П8 (`parse_fail` 1 — модель выдала строку без ханьца в src, парсер отработал по контракту). **Найденные дефекты:** Д1 эхо-метрика слепа к эху, вылеченному эскалацией (отчёт говорит 0.0% там, где живьём 5%) · Д2 редакторский `max_tokens` всегда равен флору модели 8000, две единицы не поместились — **15.5% денег прогона ушло в брак** · Д3 `LOG_LLM_BODIES` режет тела на 4096 байт, банкноту в логах не увидеть · Д5 майнинг-стоп очищается РАУНДАМИ (подпись 学堂 расчехлила 学堂家老 — владелец подписывал дважды) · Д6 в сиде нет форм мн. ч. (4 из 9 промахов пост-чека — данные, не перевод) · реальный дрейф канона ровно один: 族长 → «глава рода» вместо «глава клана». Подписи владельца: 学堂 → «школа» (рассмотрел «академию», отклонил по фактуре), 学堂家老 → «старейшина школы». Сессия НЕ коммитила.
### Фикс-пак по итогам мини-прогона: 4 дефекта починены, 2 кандидата ОТКЛОНЕНЫ исследованием, 25.07
Санкция владельца «исследование → правки → ревью». Детали — §14 [`archive/reports/MINIRUN_REPORT_2026-07-25.md`](archive/reports/MINIRUN_REPORT_2026-07-25.md). **Починено:** Д1 эхо-метрика (миграция **v11** `chunk_status.first_flag_reason`; `echo_draft` теперь считает эхо, ВЫЛЕЧЕННОЕ эскалацией, + `echo_draft_recovered` держит число честным в обе стороны) · **Д4 шов банкноты замкнут** (та же v11, `retrieval_state.banknote_detail`; майнинг-стоп джойнит предложения в подписную карту: `dst` = самое частое, альтернативы с весами в note, **`status: auto` не трогается** — trust-gate D39.2 по-прежнему не пускает неподписанное в инъекцию; развилки D39.36 п.2/п.3 НЕ трогались, это продуктовое решение владельца) · Д7a `dialogue_dash` перестал считать смешением стилей внутреннюю речь (данные таргета `inner_speech`, `CheapGateVersion` v4→v5) · Д3 `LOG_LLM_BODIES` кап 4096→32768 и обрезка СЕРЕДИНЫ (блок банкноты живёт в хвосте) · Д2 флор `deepseek-v4-pro` 8000→16000 по замеру (перебор бюджета бесплатен — списание по факту; недобор стоит целой генерации, на прогоне это 15.5% счёта). **Находка, удешевившая Д4:** сырой текст банкноты УЖЕ durable в чекпоинте, resume его пере-парсит ⇒ новой таблицы не понадобилось, хватило четвёртой `*_detail`-колонки. **ОТКЛОНЕНО после написания и прогона (обе правки откачены):** `percent_scale` — «стрелять только на цифровой форме» роняет ратифицированную фикстуру «шесть и шесть десятых»=6.6 (настоящая 100× ошибка тоже прописана словами), нужен разбор числительных таргета в данные · `dc2` 千万 — живой ложняк ШЕЙПОМ ТОЖДЕСТВЕНЕН ратифицированному ИСТИННОМУ (千万生灵), offline неразделим ⇒ это принятая неоднозначность класса, а не баг реализации (правит мой же §6.2 отчёта). **Ревью:** build/vet/gofmt чисты · `-race` 15/15 · **golden пере-капчер санкционирован и ДОКАЗАН — маскированный структурный дифф ПУСТ** (`211c9013…089045d6`→`1165e3a9…2132ea82`; двигались только версии и производные от них хеши, ни один вердикт/текст/стоимость) · ценз ИМЁН 483→491, удалено 0 · **6 мутаций — 6 красных** · **живая проверка на данных прогона**: 9 реальных блоков банкноты прогнаны через новый шов → 71 строка, 67 ключей, 2 терма с конкурирующими вариантами, среди них 学堂家老 — под фиксом подписная карта пришла бы с «старейшина школы», ровно тем вариантом, который владелец выбрал вслепую. **Цена:** две оси снапшота сдвинуты (`style_check_version`, `max_tokens` через флор) ⇒ следующий прогон стендовой книги требует `--resnapshot --accept-rebill`; сегодня это бесплатно (снапшот стенда и так разошёлся, D39.35), а экономия Д2 окупает пере-пин на первом же прогоне. **Моя ошибка в ходе ревью, фиксирую:** проверка миграции v9→v11 собрала конфиг «копия rerun2-БД + источник мини-прогона», движок увидел НОВУЮ книгу и реально перевёл — **$0.046668 (31 вызов) потрачено зря**; оригинал rerun2 и бэкап целы (v9, spend не изменился), трата осталась на выбрасываемой копии. Итог денег сессии: $0.139060 + $0.046668 брака = **$0.185728**. Сессия НЕ коммитила.
### Сквозная проверка бэкенда после фикс-пака (вопрос владельца «а ты протестировал?»), 26.07
Честный ответ был «нет»: после правок гонялись ТЕСТЫ, а не бэкенд. Прогнал два проверочных прогона ($0.049, главы 1–2 и 4–5, банкнота ВКЛЮЧЕНА) — §15 отчёта. **Все узлы отработали:** миграция v11 на свежей БД · ingest/чанкер · драфт с банкнотой (`banknote_detail` пишется живьём) · майнинг-стоп + подпись + резюм за $0 · edit-волна 3/3 · санитайзер поймал РЕАЛЬНЫЙ дефект (гомоглиф «лицó») · **`RegressionGuard` дал ПЕРВОЕ ЖИВОЕ срабатывание** (`number_drift [66]` — «66%» → «шестьдесят шесть процентов»: ровно тот ложняк, что предсказан его же докой) · банк 56+12 · экспорт чист (сепаратор 0 раз) · деньги durable. **Найдено ТОЛЬКО сквозным прогоном:** (1) **поправка к моему вчерашнему утверждению** — банкнота НИКОГДА не предлагала `学堂` отдельно, только `学堂家老`, значит первая подпись всё равно пришла бы голой, фикс помог бы во ВТОРОМ раунде; (2) **структурный разрыв**: на verify2 стоп дал `terms_with_proposed_dst=0` — майнер предложил 花海/陈博, банкнота 古月方源/学堂家老/开窍大典/力量蛊/智慧蛊/灵泉, пересечение НУЛЕВОЕ (механизм исправен, но каналы выбирают разные популяции: майнер — частотные name/place/title, банкнота — новую терминологию) ⇒ следующая работа не «замкнуть шов» (замкнут), а заставить WHAT покрывать кандидатов WHICH; (3) **полярность дискриминатора чекера была неверной** — список глаголов МЫСЛИ безграничен (живьём тут же выдало «понимал», «размышлял»), перевернул на закрытый список глаголов РЕЧИ + вето «про себя»: замер по реальным экспортам по чанкам **8→0** и **1→0**, настоящее смешение речи по-прежнему флагается; (4) **дыра в моих тестах**: мутация «снять nil/no-data гард» ВЫЖИЛА (ветка книги без данных таргета не покрыта, там nil-разыменование) — закрыто тестом, пере-мутация красная с паникой. **Ревью:** `-race` 15/15 · golden пере-капчен второй раз, маскированный дифф снова ПУСТ (`281d7025…`) · ценз 475→492, удалено 0 · **9 мутаций — 9 красных**. Деньги сессии суммарно: $0.139060 прогон + $0.046668 мой брак + $0.048855 проверка = **$0.234583**. Сессия НЕ коммитила.
### ХЕНДОФФ ОРКЕСТРАТОРУ: сессия бэкенда 25–26.07 закрыта владельцем, 26.07
Сводка для выдачи следующего промта (точечная зачистка + повторный прогон): [`archive/reports/MINIRUN_HANDOFF_2026-07-26.md`](archive/reports/MINIRUN_HANDOFF_2026-07-26.md). Содержит то, чего нет в отчёте прогона: **вес каждого числа** (в частности — «остаток дефектов = 0» означает «ноль в ТРЁХ классах, которые петля умеет чинить», а не «текст чистый»; по ней корректно решать «не включать петлю», но некорректно читать её как оценку качества) · **самооценка честности пяти фиксов** (один чистый, два обхода, два подогнанных под корпус; `dialogue_dash` — 29 глаголов, выведенных из отказов ОДНОЙ книги и проверенных НА НЕЙ ЖЕ, «8→0» = замер на обучающей выборке) · **мои методические ошибки** ($0.046668 брака от конфига, собранного sed-ом по чужому book.yaml; рекомендация владельцу раньше фактуры; утверждение о пользе фикса без проверки — банкнота НИКОГДА не предлагала `学堂` отдельно, значит первая подпись всё равно пришла бы голой; пре-рег П8 сформулирован мимо диагноза) · **8 хвостов, увиденных но не чиненных** (главный: генерик-фолбэк нарезки — китайские числа, а `TokenClassCounts` кладёт кану и ханьцзи в один класс: замер по книгам на диске — в японской кана 70% класса ⇒ est_out завышен ~1.7×, вдвое больше вызовов, и всё это МОЛЧА; плюс `EstimateTokens` недосчитывает кириллицу на резервациях, golden покрывает только фолбэк-путь без langpack, `prompt_override` — легальная дыра в гарантии слоя 2) · **что обязан измерить следующий прогон** (эхо-метрика на живом эхо; джойн WHAT↔WHICH при НЕПУСТОМ пересечении; `dialogue_dash` на тексте, которого сессия не видела — любой замер на 蛊真人 теперь загрязнён подгонкой). **Проверено исполнением, $0:** обе не-китайские книги с диска (`Kristoff_Jay_-_Empire_of_the_Vampire_3`, `isekai_majutsushi_jp`) падают ГРОМКО до единого цента, называя ожидаемый путь промпт-пакета; с обойдённым гейтом обе проходят ingest/чанкер/read-model без единой правки Go (EN 352 единицы, JA 138) — норматив общности §0 держится на уровне КОДА, но данные и фолбэки везде китайские. **Рекомендация сессии, если брать один хвост:** размеченный набор для чекеров — без него следующий прогон произведёт ещё один набор чисел, держащихся на глазомере. Дерево НЕ закоммичено (35 позиций, миграция v11, три сдвинутые оси снапшота).
## Полигон
(секция параллельной сессии — записи добавлять сюда)
### Пакет-8 «три пре-замера перед расширением эмиссии» ИСПОЛНЕН, СТОП на ратификацию ($0.11313 из $0.14), 26.07
Отчёт: [archive/reports/POLYGON_PREMEASURE_2026-07-26.md](archive/reports/POLYGON_PREMEASURE_2026-07-26.md). Пре-регистрация §0 написана до единого платного вызова; критик полноты — на каждую фазу; майнер и сборка запроса роли — из пин-копии `0a7fa5b` (эмиссия побайтно равна пину пакета-7 `996bade`, проверено `cmp`).
**Главный итог — вопрос расширения переставлен.** Расширять эмиссию майнера незачем и недостаточно: 66 из 74 поверхностей банкноты лежат ВНЕ варианта C (потолок и фильтр типа сняты), потому что не входят в кандидатный алфавит по ЧАСТОТЕ, а не из-за снимаемых констант. Каналы почти не пересекаются — 2 общие поверхности из 78, и 5/6 объёма даёт банкнота, которая одна умеет класс `term` вместе с dst.
**Замер 1 ($0) — пре-зарегистрированный стоп сработал.** Совместный recall против подписанного сида НЕИЗМЕРИМ на существующих артефактах: банкнота гонялась с непустым банком, 49 из 51 терма сида были инъектированы, а промт просит «новые, которых НЕТ в глоссарии»; свободных пар (терм × глава) 21 из 217, и все три их поверхности короткие. Цифру не подгонял — назвал цену измерения (холодный прогон с пустым банком). Страховочный выход дал главный результат выше. Побочно: банкнота невоспроизводима (Жаккар двух прогонов одних глав 0.077, после снятия `《》` 0.40), 48% её предложений разовые, `《咏梅》` и `咏梅` едут как две строки. Подписанные `蛊`/`转` не доезжают до модели НИ ОДНИМ каналом (`allow_short:false` при `SignificantLen=1`) — правка данных, не кода. Нашёл и дефект нарезки пакета-7: `--max-chapters` фильтрует по НОМЕРУ, а нумерация 节 перезапускается в каждом из 6 томов, поэтому «gu 25гл» был рассеянной выборкой; абсолютные recall занижены втрое (0.089 → 0.255 на непрерывном срезе), структурный вывод про класс `term` устоял.
**Замер 2 ($0.0168, 3 повтора) — ВЕРДИКТ ПРОВАЛ по пре-зарегистрированному порогу.** На хвосте ранга варианта C роль выдумывает dst для 77 · 80 · 78 кандидатов из 100. Сентинел ⟦TM-NO-DST⟧ различает «переводимо/непереводимо», а не «терм/не терм» (огрызки отклоняет 7/7, `一天` переводит «один день»), и на своей же задаче нестабилен (размах 0.375). Контроль на подписанных термах: 8 из 9 ответов совпали с подписью — роль умеет отвечать верно и не умеет отказываться. Условие применения ратифицированного фолбэка (D39.46, судья-с-декоем) наступило; строить его не моё дело.
**Замер 3 ($0.0963, 6 точек × 3 повтора + арм без якоря) — дефолт 3×40 достаточен, сетка неразличима.** Средние 0.533–0.633 при внутриточечном размахе 0.175; на расходящихся позициях то же (0.289–0.445 при размахе 0.273). Развилка владельца «широкая подача × узкий контекст vs узкая × широкий» НЕРАЗЛИЧИМА (8×40 = 0.533 против 3×120 = 0.567). 8×120 стоит в 4.9 раза дороже 0×0 и не точнее. **Напряжение с ратифицированным D39.46 («контексты — главный рычаг») называю прямо и за отмену не выдаю:** три различия постановки (лёгкая выборка по частоте вместо трудной S1, боевой якорь ⟦TM-CANON⟧, отсутствие строки `drafts:`), ни одно не устранял; закрывает вопрос пере-замер выборки пакета-7 на боевой сборке.
**Самая тяжёлая находка — §3.4: якорь ⟦TM-CANON⟧ держит ЯЗЫК ответа.** Арм без якоря в одном прогоне из трёх вернул 22 строки из 40 по-английски («Rank 1», «Grade C», «cultivation», «Primordial Sea»); в 8×120 — 3 и 2 латинских ответа. Ни `ParseReply`, ни эхо-гейт этого не ловят, строка уезжает в карту подписи как `status:draft`. Пустой/короткий якорь — это ровно состояние книги сразу после расширения эмиссии.
**Снял собственную рекомендацию замером (§5.1).** Предлагал дисциплинировать банкноту частотным порогом; посчитал частоты по всей книге и обнаружил, что разделяющего порога не существует: `少年` («юность») 1149 против `光阴之河` («Река времени») 15. Отбор здесь семантический — либо вызов модели, либо владелец.
**Вопросов владельцу нет; в `backend/` не писал, не коммитил.** Открытым остаётся холодный старт с пустым банком — единственная цифра, на которой стоит цена расширения, и она стоит денег.
**Добор §7 по D39.51 — два замера, $0.00960 (пакет-8 нарастающим итогом $0.12273).** Пре-регистрация §7.1–7.2 написана до трат и до счёта. **(а) Пример формата в промпте роли — критерий ВЫПОЛНЕН:** три строки `Пример строки ответа: 师父наставник` дают **0 не-целевых строк из 120** против **22 у контроля** (тот же арм 3×40 без якоря; фактор ровно один — доказано диффом собранных запросов, ключи и user-часть побайтно те же; пример-терм в срезе не встречается ни разу, эталон подсказать не может). Мощность названа ДО прогона и ограничивает вывод: срыв в контроле шёл 2 батча из 9, значит при нулевом эффекте шанс чистого прохода (7/9)⁹ = 0.104 — «согласуется с починкой», не доказательство; удвоение повторов уронило бы до ~0.011 за ≈$0.010. **Побочно (§7.4): пример НЕ чинит утечку алфавита и языковой экран её не поймает** — `甲等 → «категория A»` с ЛАТИНСКОЙ A против подписанного «класс А» с кириллической (то же на `乙等`/`丙等`, 7 строк в арме с примером, 3 в контроле; сравнение причинным считать нельзя — в контроле те же термы уехали целиком в английский). Ни один из 53 подписанных dst сида латиницы не содержит, то есть правило проверяемо. **(б) P1 consistency — НЕ разделяет, $0.** Разметка 74 поверхностей — **три независимых слепых разметчика** (согласие 0.973/0.986/0.986, единогласно 72 из 74, метка 37 TERM · 37 JUNK), им не давали ни частот, ни глав, ни самой метрики. Сработал заранее названный стоп: вырожденных (встречаются в ≤1 главе → P1 = 1.0 по построению) **54 из 73 = 0.740**, и среди них ровно **27 TERM и 27 JUNK** — максимум получают обе метки. Критерий ≥80%/≥60% не выполнен ни на полном наборе, ни на 19 невырожденных; AUC **P1 = 0.438** (ниже монетки) при **частоте 0.500** — арм-без-фактора провалился ровно как обязан, независимо подтвердив §5.1 на другом наборе и другой разметке. Отклонение «глава вместо чанка» (тексты боевых чанков не сохранены) названо заранее и его цена измерена: вырожденность 0.740 по главам против 0.730 по чанкам — мелкая единица не спасает. **Права на порядок подачи P1 не заработал.** Мерить его по-настоящему стоит на том же полном прогоне, что и холодный старт, отдельных денег не требуя.
**Добор §6 по вопросу владельца «хватает ли одной книги, движок ведь универсальный» ($0, после СТОПа).** Прогнал боевой майнер с того же пина по стенду. `en→ru` сегодня не запускается вовсе: пары `en`/`en-ru` в `configs/langpacks/` нет, загрузчик отказывает ЛОУДНО (D39.15 работает как задумано — недостающее это данные). Когда загрузчик удовлетворён зеркалом zh-пака, канал WHICH на латинице даёт **0 кандидатов на 814k знаков** обеих английских книг (Кристофф и Fifty Shades) — механизм в `hanRuns` (`miner_substrate.go:46-48`): кандидатный алфавит есть пробеги ханьских иероглифов, в латинице их нет. На японском (`異世界魔術師`, 134k) канал не молчит, а **ошибается: 10 строк, все типа `name`, все ложные** (`何故` «почему» 44×, `王国` «королевство» 35×, `马鹿` «дурак» 21× — китайские фамильные паттерны на японских composites); настоящий ja-пак ложняки уберёт и не добавит ничего, потому что имена этой книги в катакане, а `hanRuns` её не видит. **Вывод: второй КНИГИ мало — для латиницы нужен второй ДЕТЕКТОР** (прототип и замеры есть: `eval/pkg7/mine_nonhan.py`, каналы ORTHO/DISP/CONTRAST, достаёт `Ashdrinker`/`San Michon`/`Forever King`). Попутно найден дефект общности: **`kwic_width` меряется в РУНАХ** (`terminology.go:332-349`), дефолт 40 живёт в Go одной константой на все пары и означает 43–84 морфемы на zh против 13 слов с обрубленной фразой на en — место такой константы в пар-данных, а мой вердикт «3×40 достаточен» читается только как «43–84 морфемы достаточно». Ничего не строил и не запускал платного: §6.4 — предложение, санкции на него не было.
### Пакет-6 «размеченный набор для чекеров» ОТРАБОТАН И ПРИНЯТ (D39.39), 26.07
Сессия полигона собрала набор из 91 юнита шести реальных прогонов (~149k знаков исходника, 3015 размеченных позиций, 70 дефектов, 21 спорная; синтетики ноль), разметила ДО просмотра вердиктов и прогнала НАСТОЯЩИЕ чекеры replace-харнессом. Первый честный замер линеек: где линейка стреляет — почти не врёт (K1/K2/K3/K5b precision 1.000), но recall почти везде низкий (K4b 0.109 · K3 0.100 · K5a 0.000), K5c ИНВЕРТИРОВАН на реальном материале (супрессор «процент» погасил единственный юнит с 10×-ошибками шкалы), K6 шумит 14:1 (мн.число вне `decl.forms` + однознаковый ключ 转). 12 дефектов чекеров с file:line, 4 вопроса владельцу (Р1–Р4). Приёмка оркестратора: `metrics.json` побайтно ре-раном, независимый пересчёт разметки, живой репро U+0301, сверка K5c по сырому корпусу. Отчёт: [archive/reports/POLYGON_CHECKER_LABELS_2026-07-26.md](archive/reports/POLYGON_CHECKER_LABELS_2026-07-26.md); набор — на стенде (вне git), ре-ран детерминирован.
*(Закрытая хроника сессий 1–3, 18+ пакетов и exp10/11 (04–10.07) — в [archive/PROGRESS-2026-07-04-10.md](archive/PROGRESS-2026-07-04-10.md), D31.)*
*(Хроника exp12/exp13 (11–12.07) — в [archive/PROGRESS-2026-07-10-13.md](archive/PROGRESS-2026-07-10-13.md).)*
## Память
(секция ресёрч-сессий памяти — записи добавлять сюда)
*(Хроника валидации банка (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» (11.07 → research/16, D29) — в [archive/PROGRESS-2026-07-04-10.md](archive/PROGRESS-2026-07-04-10.md), D31.)*