143 KiB
Журнал прогресса
⟶ ТЕКУЩЕЕ СОСТОЯНИЕ (на 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 · дельтаallowD39.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, всё до неё исполнено): пак-19 «голос/состояние» → ХОЛОДНЫЙ мини-прогон (пустой сид, отдельная БД) → пак-21 «чекеры» → свип гипотез → добор идеала (4 вопроса границы D39.33 у владельца) → МАСШТАБ целой книги (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 (гипербола 千万 · дефект в 成 форма/значение · сокращённая форма терма · неразрешимая офлайн речь/мысль) | владелец | блокер-очереди (без них не пишется дизайн пака-21) | пак-21 | D39.39(г), D39.40, D39.44 Q4 |
| 2 | Четыре вопроса границы «алгоритмического идеала» (Annotator · семантический судья · ja→ru §B5 · ru-target до/после) | владелец | скоро (гейт «добора идеала» перед МАСШТАБОМ) | отдельное решение | D39.33, D39.38 |
| 3 | Одноразовый --resnapshot стендовых книг с auto-строками |
владелец | скоро | отдельное решение | D39.45(4) |
| 4 | Ре-чек ToS-политик по триггерам (Google ToS 30.07.2026 · квартал 25.10.2026 · любая правка accepts_labels) |
владелец/полигон | скоро (первый триггер 30.07.2026) | отдельное решение (правило) | D39.32 |
| 5 | Судья-с-декоем как катастроф-экран банкноты — отложен, вернуться после холодного старта и пере-замера P1 | владелец | скоро (после холодного мини-прогона) | отдельное решение | D39.50 п.6, D39.51 п.4, PACK20_BANKNOTE_BUILD §6 |
| 6 | Строка Gemini в accepts_labels — ждёт слова владельца о подписи интерпретации сужения как разрешения |
владелец | когда-нибудь | отдельное решение | D39.32 |
| 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 |
| — ПАК-19 (текущий шаг очереди) — | |||||
| 14 | Пак-19 «голос/состояние» (D21, урезанный скоуп) — выдан, первый в очереди D39.53; малая пачка 14а+14б ЗАКРЫТА D39.54 | бэкенд | блокер-очереди | пак-19 | D39.38, D39.40, D39.53 |
| 15 | Нарративная гендер-аннотация (since_ch-смены + перспектива, не булево поле) — вход пака-19 | бэкенд | блокер-очереди | пак-19 | D39.34(8) |
| — ХОЛОДНЫЙ МИНИ-ПРОГОН (после пака-19) — | |||||
| 16 | Холодный старт с пустым банком — единственная неизмеренная цифра цены/покрытия | бэкенд/полигон | блокер-очереди | холодный мини-прогон | D39.50 п.7, D39.51, POLYGON_PREMEASURE §5 |
| 17 | Совместный recall майнер∪банкнота против сида живьём (замер 1 пакета-8 оказался неизмерим — цензура черновиков) | полигон | блокер-очереди | холодный мини-прогон | D39.48, D39.51, POLYGON_PREMEASURE §1.2 |
| 18 | allow_short: true для подписанных 蛊/转 — не доезжают до модели ни одним каналом (правка данных сида) |
бэкенд | блокер-очереди | холодный мини-прогон | D39.50 п.5, D39.51, POLYGON_PREMEASURE §1.5 |
| 19 | Фикс парсера банкноты hasBankSrcHan (канал мёртв для не-CJK; пар-слепое правило «непуста и встречается в книге») + ветка dispositionFor/S7 той же оси |
бэкенд | блокер-очереди | холодный мини-прогон | D39.53, PACK20_BANKNOTE_BUILD §5, PACK20_BANK_BUILD §8.5.5 |
| 20 | Остальные вопросы D39.51: банкнота без цензуры · язык при пустом якоре (OffLanguage как прибор) · второй сэмпл для агрегации | бэкенд/полигон | блокер-очереди | холодный мини-прогон | D39.51, D39.53 |
| 21 | Пере-замер P1 consistency на популяции без цензуры ($0 из чекпойнтов) — первый замер провален вырожденностью | полигон | блокер-очереди | холодный мини-прогон | D39.52 |
| 22 | Пере-мер весов формулы консолидации §C2-3 (сейчас n=1, часть отличий — шум модели) | полигон | блокер-очереди | холодный мини-прогон | D39.45, D39.53, PACK20_BANK_BUILD §8.5.7 |
| 23 | Счёт «утечки алфавита» (категория A: 甲等→«категория A») живьём | полигон | блокер-очереди | холодный мини-прогон | D39.52, D39.53 |
| 24 | Именованные вопросы D39.40: покрытие WHAT→WHICH при непустом пересечении · оба режима флага · срабатывания голос-флаггера · эхо-метрика на живом эхо | бэкенд | блокер-очереди | холодный мини-прогон | D39.40, D39.37 |
| — ПАК-21 «чекеры» — | |||||
| 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; ЯЗЫК промпт-запросов по паре: для zh→en русский не должен участвовать) → в свип; V5 (фронт веб-первый, SEO/ранжирование, куки, страницы-сироты) → Ф3 | оркестратор/владелец | скоро (п.4–5 в свип) | свип гипотез + Ф3 | START_PROMT.MD V4/V5 |
| — ОТДЕЛЬНЫЕ ПАКИ/РЕШЕНИЯ (бэкенд, добор идеала) — | |||||
| 31 | Слой-2: извлечение дискурс-норм/few-shot из ТЕЛ промтов (форсинг = ja→ru) | бэкенд | когда-нибудь | отдельный пак (идеал D39.33) | CURRENT-STATE, D39.33 |
| 32 | ru-target долг слоя 7 (isRuTarget×11 · TokenizeCyrillic×6 · ключ «ru» в санитайзере) — ждёт своего дизайн-пака |
бэкенд | когда-нибудь | отдельный пак (идеал) | CURRENT-STATE, D39.34 |
| 33 | native-Gemini судья (Ф2-механизм) | бэкенд | когда-нибудь | отдельный пак (идеал) | CURRENT-STATE, D39.33 |
| 34 | Генеральность нарезки: кана/ханьцзи один класс (est_out ja завышен ~1.7× МОЛЧА) + EstimateTokens недосчитывает кириллицу (резервации занижены) |
бэкенд | когда-нибудь | отдельный пак (с ja→ru) | D39.37(5) |
| 34а | Экран кодировки не видит <meta charset> без 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 |
| 37 | AttachKWIC квадратичен (16.8 с / 2000 кандидатов; фикс — многошаблонный поиск за проход) |
бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.1 |
| 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 |
| 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 + бэкенд — МАЛАЯ ПАЧКА 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а (<meta charset>-дыра, до-паковая). Пак-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=<hex>; воспроизведя куку, получили 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, слайс 25.07.)
Бэкенд
(Закрытая хроника пакетов №0–№4 (04–10.07) перенесена в archive/PROGRESS-2026-07-04-10.md — ревизия D31.)
(Хроника пакетов 11–12.07 (пакет-5, D15.2-этап-А, санитайзер-фикс D33) — в 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/reports/.)
Пак-18 «долги контракта» ОТРАБОТАН и ПРИНЯТ (D39.31, приёмка оркестратора №8), 25.07
Отчёт: 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 — пре-регистрация первым разделом (написана ДО первой траты, критерии провала названы заранее). ШАГ 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. Починено: Д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. Содержит то, чего нет в отчёте прогона: вес каждого числа (в частности — «остаток дефектов = 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. Пре-регистрация §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 написана до трат и до счёта. (а) Пример формата в промпте роли — критерий ВЫПОЛНЕН: три строки Пример строки ответа: 师父<TAB>наставник дают 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; набор — на стенде (вне git), ре-ран детерминирован.
(Закрытая хроника сессий 1–3, 18+ пакетов и exp10/11 (04–10.07) — в archive/PROGRESS-2026-07-04-10.md, D31.)
(Хроника exp12/exp13 (11–12.07) — в archive/PROGRESS-2026-07-10-13.md.)
Память
(секция ресёрч-сессий памяти — записи добавлять сюда)
(Хроника валидации банка (04–05.07, research/13–14, вердикт GO) — в archive/PROGRESS-2026-07-04-10.md, D31.)
Голос и состояние
(секция ресёрч-сессии — записи добавлять сюда)
(Хроника сессии «Голос и состояние» (09.07 → research/15, D21) — в archive/PROGRESS-2026-07-04-10.md, D31.)
Ридер-IDE
(секция ресёрч-сессии — записи добавлять сюда)
(Хроника сессии «Ридер-IDE» (11.07 → research/16, D29) — в archive/PROGRESS-2026-07-04-10.md, D31.)