72 KiB
Журнал прогресса
⟶ ТЕКУЩЕЕ СОСТОЯНИЕ (на 2026-07-25, пак-17 закрыт, право по ToS подписано, пак-18 принят — долгов контракта нет, D39.26–D39.31). Источник истины по РЕШЕНИЯМ —
architecture/05-decisions-log.md(D1–D39.35); этот файл — ЖУРНАЛ.
- Фазы/курс: Ф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.35): $0-резюм драфта на стенде УЖЕ МЁРТВ (снапшот разошёлся по трём осям — cheapgate v3→v4, renderfmt v2→v3, langpack 09974d6→a7d4be2), поэтому срочности «гнать, пока жив» НЕТ, а ниты перестали быть условными: (1) микро-пак «предпрогонная гигиена» ($0-код): два нита общности + ОБЯЗАТЕЛЬНЫЙ флипGates.RegressionGuard.Enabled(невыполненное обязательство D38.4 п.5) + опц. проекция пере-оплаты вtmctl status· (2) мини-прогон-замер ~10 глав (драфт ≈$0.02, редактура ≈$0.08–0.15/арм, судья НЕ зовётся ⇒ один арм ≈$0.10–0.17, два ≈$0.20–0.32; перед прогоном бэкапrerun2/*.db, БД на схеме v9 против v10 бинаря) · (3) параллельно $0 — сид/банк-дельта (元 · 赤城 · 学堂家老 · 春秋蝉; два терма ждут подписи владельца) · (4) пак-19 в урезанном скоупе · (4) далее слой-2 извлечение из тел промтов · ru-target · native-Gemini судья. Затем — сид-дельта (元 · 赤城 · 学堂家老 · 春秋蝉), МАСШТАБ целой книги (7,78 млн символов, ~2284 раздела) и пилот Ф2.5. Хроника треков A/B, exp15/16 и стройки паков — архивы ниже + D-лог.- Стек: draft deepseek-v4-flash (thinking ON) → editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (D39.22; glm-5 резерв, mistral вон D39.20), промпт v3-discourse (P1a+чэнъюй+few_shot-тумблер) → судья gemini-3.1-pro-preview; канал B Mistral+grok; 7 ключей; ~$0.85/ранобэ (D30.4).
- ОТКРЫТЫЕ ПЕТЛИ (норма 25.07, перепись 180 инцидентов: класс NEVER_CLOSED больше не копим — каждая петля обязана получить диспозицию решено/отложено-с-записью/отклонено; ведёт оркестратор). Владелец:
вокабуляр content-лейбловРЕШЕНО 25.07: ПАРАviolence/sexually-explicit(D39.27 п.5 — сохраняет D14 п.1 и dspro-редактора на violence) ⇒ следствие в работе: assert-onlyaction(дельта пака-17) ·Q2 редактор под лейбломОТЛОЖЕН С ЗАПИСЬЮ (D39.27 п.7: при паре связывает толькоsexually-explicit-книги, которых нет; возвращается вместе с предусловием D22.7 перед первой explicit-книгой; кандидаты — grok-4.3 интерим, glm-5 только после сверки ToS Z.AI по первоисточнику, mistral отвергнут D39.20) ·ToS-факты + три решения по нимЗАКРЫТЫ 25.07 (D39.29 факты + D39.30 подписи владельца): лейблviolenceНЕ заводится, интерпретация «нейтральное изображение ≠ пропаганда» зафиксирована письменно · риск Z.AI (плоский запрет «violent content»; экспозиция состоялась в rerun2 через glm-арм) ПРИНЯТ сознательно с условиями пересмотра · две строкиaccepts_labels: [sexually-explicit](xai,mistral) ПОДПИСАНЫ и ПРИМЕНЕНЫ вmodels.yaml. Остаток ToS-вопросов ЗАКРЫТ владельцем 25.07 (D39.32): local = «политик нет, переводим всё» ⇒ строка применена · Gemini-оговорка читается СУЖЕНИЕМ ⇒ вердиктFORBIDDEN→UNCLEAR, но по доктрине это НЕ разрешение: строку Gemini не получает, ждёт одного слова, если владелец хочет подписать интерпретацию как разрешение · причину пустоты в конфиг НЕ выносим (живёт в quirks-доке) · ре-чек политик стал ПРАВИЛОМ (триггеры: Google ToS 30.07.2026 · квартал 25.10.2026 · любая правкаaccepts_labels) · дата аккаунта OpenAI — открыта, приоритет низкий (OpenAI вне цепочки). Продуктовое (Ф3): Gemini API Additional ToS запрещает клиентов, «likely to be accessed by individuals under 18» — обязательство на конечный продукт, независимо от лейблов · промпт-слой под лейблом (НОВОЕ, вскрыто вопросом владельца): лейбл сегодня НЕ доезжает до промпта (чистые данные маршрутизации + load-time гарантия); нужно ли, чтобы переводчик/редактор ЗНАЛИ о свойстве контента — отдельное решение промпт-слоя · мини-каноны сид-дельты — 元-корень (предложение «изначальн-») и 春秋蝉 (подписано «Весенне-осенняя цикада», ждёт подтверждения) · включение платной петли ремонта — по замеру остатка на пост-профилактическом прогоне (D39.24; заменил mini-live гейт D6) · ja→ru-реплика §B5 (тайминг) · старые Ф2.5-блокеры (билингв-якорь — D25 п.9 Q1 · контаминация корпуса — D27 п.4 · судья-дублёр D22.6 · планка запуска · publishable/waiver — D25 п.1 · FN-bound L3 — D25 п.4 · юр-пакет · провенанс 12-*-доков · xAI-ключ off перед продом D27 · residual-тачпойнты exp16, не влитые в сид-дельту: мини-голд алиасов · precision@30,books/gu-zhenren/exp16/). Оркестратор:ратификация дизайна пака-16РЕШЕНО D39.24 (25.07) · фантом-гард D-ссылок в чек-листе лендинга (действует) ·doc-sync passИСПОЛНЕН 25.07 (запись ниже: оба puml перерисованы под пост-пак-16 · баннеры на 01/02/03/04/06/07/08/09 · ресёрч-свип 18/18c/19/20/21/22 · README/POLYGON_PACKAGE4 освежены; residual — пинги полигону в его зоне) ·приёмка пака-17 фаза 1РЕШЕНО D39.26 (25.07: принято в редакции §14, три добора приёмки, фаза 2 размечена) ·escalation_model= ОТВЕТИВШАЯ модель (НОВОЕ, вынесено из пака-17): вердикт-изменение — golden пинитesc_modelна ОТКАЗАВШЕМ хопе, маскировка не скрывает ⇒ отдельная ратификация с санкционированным пере-капчером ·--accept-rebill[=usd]с порогомmin($0.50, 5%×ProjectedBookUSD)РАТИФИЦИРОВАН D20.2-Q2, но в коде/CLI ОТСУТСТВУЕТ (НОВОЕ) — живёт только в спекеbackend/docs/D15.2-*.md;--resnapshotпере-пиннит без суммы · D22.7 (пер-чанковый L3-скрин) — предусловие первой erotica-книги в проде НЕ снято паком-17 (НОВОЕ, держать отдельным гейтом) · фантом-гард D-ссылок в чек-листе лендинга (действует). Бэкенд:пак-17 (фазы 1–2 + дельта)ЗАКРЫТ ЦЕЛИКОМ 25.07 (D39.26/27/28) ·ПАК-18 «долги контракта»ПРИНЯТ И ЗАЛЕНДЕН 25.07 (D39.31) — долгов контракта не осталось; выдавался (BACKEND_PACK18_DEBTS_SESSION_PROMPT.md:--accept-rebillна снапшотной гранулярности —guard_hashв коде нет и не строим ·escalation_model= авторитетная модель с САНКЦИОНИРОВАННЫМ пере-капчером golden под этот дифф · два нита общности условно-байт-нейтрально) · ru-target долг (слой 7,isRuTarget×11 прод-сайтов ·TokenizeCyrillic×6 · ключ «ru» в санитайзере) — ЖДЁТ СВОЕГО ДИЗАЙН-ПАКА (связывает только не-русский таргет, по текущей карте zh/ja/en→ru не срочен) · ПАК-19 «голос и состояние» ВЫДАН 25.07 (BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md, двухфазный; ниты общности едут ЕГО лендингом — D39.31 п.5) · проекция пере-оплаты вtmctl status(НОВОЕ, из отчёта пака-18): спека §9 предлагает заменить булевConfigDriftчислом «N чанков, ~$X» — дёшево,omitempty, не сделано сознательно · не-долги, следующие несущие: масштаб целой книги (волны/каденс/потолки/ETA на сотнях глав — гоняли максимум 5) · Ф2-механизмы (голос/состояние D21 · native-Gemini судья) · извлечение дискурс-норм/few-shot из ТЕЛ промтов (слой 2, форсинг = ja→ru) ·пак-16 ф.2ЗАЛЕНДЕНА 25.07 · per-class исходы ремонта — схемное решение (класс не durable), принимается ВМЕСТЕ с включением петли · ниты общности (владелец 25.07) — ОТЛОЖЕНЫ ПО ЗАМЕРУ (D39.31 п.5): едут на ближайший ПОЛНЫЙ--resnapshot; для Detail-строк байт-нейтральной формы не существует определительно (дефолт шаблона обязан рендерить текущую строку). Прежняя формулировка: только в байт-нейтральной форме с доказательством исполнением (иначеCheapGateVersion/pack.Version()двигают снапшот стендовых книг и убивают $0-резюм драфта под замер остатка пака-16): Detail-строки чекеров → шаблоны/цитаты из данных (статический 时辰-текст в generic-файле соврёт второй паре) · множитель ×2lintTimeUnits(checkers.go:174) → ключ данных. Полигон:пакет 5 (факты ToS + 8 пингов)ОТРАБОТАН ЦЕЛИКОМ И ПРИНЯТ 25.07 (D39.29); все восемь пингов закрыты; полигон-очереди НЕТ. Исторический список закрытых пингов: (1)00-provider-quirks.md:13,73— катовер deepseek-chat 24.07 ПРОШЁЛ, пост-катовер факт (жив ли алиас, цены) не внесён — live-проба/models+ вендор-дока; (2)00-provider-quirks.md:69— оговорка «mistral-editor-арм до guard» superseded D39.20 (mistral вон из редакторов; rate-limit-цифры оставить — нужны переводчику канала B пака-17); (3)09-pilot-protocol.md:3— ⚠-указатель застрял на D31/glm-5: продлить до пост-D39.22 (dspro-интерим · планка ≤2 не пройдена rerun2 · авто-QA слепыми метками D39.20 · стайл-каноны D39.21), тело не трогать; (4)15-segmentation-empirics.md:6-7— шапка до сих пор «НИ ОДНОГО платного вызова», а эксп залендён REV.2 (D39.7/D39.8, $12.79) — перевернуть статус-блок; (5)16-bank-mining.md:3— дописать финал «ИСПОЛНЕН И ЗАЛЕНДЁН (D39.10); gender-тачпойнт §7 закрыт (D39.19); продолжение — Go-майнер парити EXACT»; (6)experiments/README.md— индекс без строк exp15/16 (сверка застряла на D38.2); (7)eval/README.md— не тронут с 19.07 (пре-rerun2): освежить статус под пост-D39.22 (эксп закрыт · судейский риг-стандарт D39.7 · экстракция толькоtmctl export).- НАЙДЕНО СПЛОШНЫМ АУДИТОМ 25.07 (D39.34) — 23 позиции, что были ратифицированы, но не попали в трекер; каждая с диспозицией. (1) Обязательство, НЕ исполненное: флип
Gates.RegressionGuard.Enabled(D38.4 п.5 «ОБЯЗАН включить» при сборке resnapshot) — ключа нет ни в одном шиппинг-конфиге ⇒ гейт false; rerun2 прошёл без построенной наблюдаемости → едет обязательной строкой в пак, вызывающий ближайший resnapshot. (2) Флипы гейтов за подписью владельца (остаются открытыми-с-записью): coverageenabled:false(D12-Q4) ·postcheck_gateв hard-gate требует пере-замера recall (D24.4+D28.1). (3) Поглощено курсом: заморозка «этапа B ~300 глав» (D26 п.1) — снята D39.33 (масштаб последним), отдельной петлёй не считается. (4) Открыто, вне «идеала»: этапы Б+В спеки D15.2 (D33 п.5 «промт выдам после пере-прогона» — прогон был 23.07) — они про content-addressed resume/guard_hash, который D39.31 сознательно не строил · F3-остаток идемпотентности ·human_overrideLOCK (D29 п.1г, в коде 0 вхождений) · морфо-гейты канцелярита и L1-лемматизация (Ф2, python-сайдкар) · полный OpenCC (0 вхождений) · опциональный пре-перевод гейт. (5) Мелкие хвосты качества (собрать одним паком когда-нибудь): ledger-очередь LOW/NOTE из D39.4 · остаток фикс-листа D23 п.4 и D28 п.3(б) ·editor-mono.mdDORMANT (ни в одном конфиге). (6) Деньги/провайдеры (полигон): вендор-чек префикс-кэша ZAI/GLM (на нём стоит вся кэш-экономика W1/Q2c) · продлениеprices_checkedбез правки чисел · scheduler-aware волны под peak-valley DeepSeek (прямой COGS-рычаг) · гейтнутые платные армы (edit-единица >3200 и др.) · wire-probe temperature в thinking-канале DeepSeek. (7) Продукт/Ф3: action-security gate перед выдачей tools/webfetch (D25 п.5) · планы research/22 (epub-tag-rewrite, Q7-леджер) · Gemini под-18 обязательство на конечный продукт. (8) Вход в пак-19: требование НАРРАТИВНОЙ гендер-аннотации (since_ch-смены + перспектива), а не булева поля — вписано в промт.- Архивы хроники:
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). Записи ниже — живой хвост.
Оркестратор №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 «распарсено, но не проведено в раннер»).
Полигон
(секция параллельной сессии — записи добавлять сюда)
(Закрытая хроника сессий 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.)