textmachine/docs/PROGRESS.md

219 KiB
Raw Blame History

Журнал прогресса

⟶ ТЕКУЩЕЕ СОСТОЯНИЕ (на 2026-08-04, голова D39.98).

  • ФРОНТ S2 + ДОФИКС ПО РЕВЬЮ ПРИНЯТЫ И ЗАЛЕНДЕНЫ (D39.98, 04.08: ece94ef сессией по старому канону + 02872b6 лендинг оркестратора). Git-канон v2 разнесён по носителям: коммитит ТОЛЬКО оркестратор (владелец 04.08, supersede D39.88 — запись в D39.98 п.3; ⚠ там же процедурная нота о подчистке тел D-лога). В дереве НЕТРЕКНУТЫЕ артефакты банк-арбитража (docs/research/24-bank-arbitration.md · eval/bank_arbitration/) — ждут отдельной приёмки (строка 5). Открыто на владельце (+D39.98 п.4): confirm двух «решений 04.08» из журнала фронта · авторство подчистки D-лога.
  • ПАК СТАНДАРТОВ + ДОФИКС ARCHGUARD ПРИНЯТЫ И ЗАЛЕНДЕНЫ (D39.96/97, 0304.08; семь pathspec-коммитов e8d4ac00e64efe). Строки 107/112/117 ЗАКРЫТЫ. Репо на стандартах: .golangci.yml 0 issues · make battery = единая точка входа · типовые анализаторы archguard (38 посадок, 9/9 мутаций, семь осознанных пропусков — 121(д)) · x/net 0.57 (живая проба PASS 3/3, reasoning_content подтверждён на проводе, $0.0053) · пять шиппинг-конфигов на low. Задачи №12: (1) выдать промт пака экрана 46 — D39.94 п.3 (фикстура 113 первой; денежный шаг ТОЛЬКО с подписью владельца); (2) малый пак tools/go.mod — решение принято D39.97 п.4 (строка 118). ОТКРЫТО НА ВЛАДЕЛЬЦЕ: 116 (порог «≥4/5 при N=5» подан) · строка 5 (находки прерванного банк-ресёрча или пере-запуск; промт подрезать до $1.20) · мини-проба 44 «low+16k» (~$0.05) · подпись денежного шага 46. Вахта: маппинг эффорта deepseek-v4-pro «early August 2026» (реестр 108, триггер >05.08 — БЛИЗКО). Источник истины по РЕШЕНИЯМ — architecture/05-decisions-log.md; этот файл — ЖУРНАЛ.
  • Сделано (сводно; детали — D-лог и архив-слайсы): Ф0 · Ф1-инфра · арх-ресет D39 (7 слоёв, паки 1116) · паки 17 «канал B» · 18 «долги» · 19 «голос/состояние» · 20 «банк+терминолог» (D39.2628/31/4156) · мини-прогон (D39.37) и ХОЛОДНЫЙ прогон (D39.58: recall банка 0.918/0.980, банк приходит переведённым) приняты · полигон-пакеты 58, ToS-речек (D39.57), Р6+P4 (D39.61) закрыты · карта языковой привязки движка (D39.60): 149 сайтов/45 файлов, книго-ось чиста (4), ja→ru безопасно без правки Go, en→ru — нет · Р1Р4 закрыты целиком (D39.63: Р2 = ЗНАЧЕНИЕ, Р4 = норма потолка recall) · ФАЗА 2 ОБЩНОСТИ (D39.64: П0 эмбед-хеш · П1 цель-шов · П2 скрипт-шов, ko-баг закрыт · П3 нарезка · П4 манифест-по-каналам; голден вердикт-нейтрален 0/172, майнер-парити EXACT) · жанровый словарь отменён как класс (D39.47) · петля ремонта построена и НЕ включена (D39.38).
  • Курс (D39.5978): ОБЩНОСТЬ → КАЧЕСТВО БАНКА (D39.69/75/77) → ПАКЕТ-ЧЕКЕРОВ (D39.78: строка 25 целиком; харнесс labels В GIT 12/12; K2 r0.85 · K4b r0.22 · K6 fp 14→6; Р2 hard/soft + Р4-потолки в контрактах). Текущее: МЕЛКАЯ ПАЧКА ПРИНЯТА И ЗАЛЕНДЕНА (D39.82: строки 89/53/83 закрыты · 93 сужена до остатков · F4-бэкап+pre-flight построен · register/жанр → книжный слой · DC7 пере-гейчен сид-покрытием → строка 98); решения §6 исполнены (D39.79/82); РЕ-ПРОБА + ОТЛАДОЧНЫЙ ХОЛОДНЫЙ ПРОГОН coldrun-b САНКЦИОНИРОВАНЫ (D39.83: промт выдан и холодно аудирован — 3 major вправлены; потолки $0.15 ре-проба / $5 прогон; ступени 2+8 глав, автобанк по D39.77); ре-проба flash (строка 74) — по слову владельца; finding-1 ЗАКРЫТ (D39.77); онбординг-оверхол доков исполнен (D39.80); ФРОНТ ОТКРЫТ владельцем (D39.81: продукт = SaaS; зоны frontend/ + platform/ живые, фронт работает на моках; движковая очередь НЕ пере-упорядочена — ранняя вставка одна: строка 95 «контракт API» $0; строки 96/97 и перевесы 49/94 заведены); СТЕК ФРОНТА/ПЛАТФОРМЫ ЗАПИНЕН, 8 решений владельца ратифицированы (D39.84: SEO Google-only · PWA-первый · денег в MVP-UI нет · стоп-на-банке = параметр запуска, --verify-bank готов · перевод НИКОГДА на индексируемый URL = ПТ-34 · якорь чтения = edit-unit, ПТ-21; работы движка под фронт = строки 99102; фронт/платформа ведут ЗОННЫЕ бэклоги — frontend/docs/BACKLOG.md · platform/BACKLOG.md, строки 96/97 → П-1/П-2; зоны залендены, фронт-промт S0S7 в frontend/docs/); ШОВ ДВИЖОК↔ПЛАТФОРМА РАТИФИЦИРОВАН ПО РЕСЁРЧУ (D39.85, research/23): NDJSON-поток событий → материализация в Postgres → SSE; артефакты границ стадий; анти-паттерны запрещены (живой SQLite не читать · HTTP в движок не тащить · read-пакет из ядра не выносить); строка 103 заведена, входы контракта 95 зафиксированы). coldrun-b ПРИНЯТ И ЗАЛЕНДЕН (D39.86): фазы A/B исполнены за $0.114378 из $0.15, фаза C заморожена чекпойнтом — легитимный исход по D39.83. Блокер 0731 воспроизведён на боевой форме (0 из 9 пригодных при max_tokens=8496); вариант (а) флор-16000 ФАЛЬСИФИЦИРОВАН (4/5 пустых при 16992, добавка уходит в размышление); (б) reasoning_effort:"low" оживляет волну, но требует правки Go (у бэнк-ролей ручки нет — НОВАЯ строка 104; посылка об амендменте гейта неверна только для СТАДИЙНОЙ ручки); (в′) thinking OFF замерен карантинно — эхо-мина ЖИВА на весах 0731 (4/20), флаг echoes_when_thinking_off сохраняет основание; (г) pro ≈×8.9, а не ×3.1, и на pro ручка эффорта не работает (вендор low→high, смена маппинга объявлена «early August 2026»). Порог классификатора 6/6 взят; две дыры наблюдаемости закрыты; live-риг не собирался с D39.64 — починен. НОВЫЕ строки 104 (ручки синтетических стадий) и 105 (мис-вердикт классификатора + честность поверхностей); 46 повышена до «скоро» с живым носителем; 16 НЕ закрыта. РАЗВИЛКА 74 РЕШЕНА ВЛАДЕЛЬЦЕМ (D39.87): вариант (б)reasoning_effort: "low" черновику ПЛЮС правка Go, дающая ручку эффорта ролям, у которых её нет (строка 104), ПЛЮС экран целевого языка (строка 46). Мандат владельца на исполнение — «элегантно встроить в текущее решение по коду, чтоб было чисто»: правка обязана быть использованием СУЩЕСТВУЮЩЕГО поля Stage.Reasoning, одним швом на все три рукописные config.Stage, так чтобы четвёртое такое место не могло появиться молча. Пак ИСПОЛНЕН И ПРИНЯТ (D39.91, код 553f1a3; промт заархивирован) — работы A+проба зелёные, работа B стала паком экрана 46 (дизайн заморожен D39.92 п.1+D39.93), прогон C не стартовал ⇒ строка 16 ЖИВА и оси голоса 13б по-прежнему без данных. Пак стандартов (BACKEND_REPO_STANDARDS_SESSION_PROMPT.md, D39.92) исполнен — приёмка и гейты лендинга в верхнем буллете (D39.96). Перекупок нет (D39.63).
  • Горизонт (D39.62/67, освежён D39.95): ре-проба flash ИСПОЛНЕНА и строка 74 закрыта (D39.86/91; порог 6/6 → пере-ратификация выборочным, строка 116; пробы 36б Q2/эмиссии Q7 — по слову) → ДОБОР ИДЕАЛА (первым прогоном: оси голоса 24 · авто-режим · итерация №2 редакторов 65 · цена 16 · веса K1K12 13а · вне-претрейн чекпоинт 55) → ВТОРАЯ ПАРА живьём (ja→ru; преп 81) → МАСШТАБ → пилот Ф2.5 (гейт резюме-строки 80; строки 6268, 85) → Ф3 ридер-IDE (6971). Стоячие: ToS-триггер 25.10 · Ш-2 до go1.27 (⚠ + x/text-таблицы Unicode 17 тем же тулчейном — строка 119/реестр 108) · проба провода исполнена и 117 закрыта (D39.97), конфиги 112 залендены — платные прогоны разблокированы.
  • Стек: draft deepseek-v4-flash thinking-ON (+банкнота) ⚠0731 → терминолог (та же модель, батчи, экран target_script) → editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (⚠ вендор АНОНСИРОВАЛ смену маппинга эффорта pro «early August 2026» — вахта в реестре 108; glm-5 резерв) → судья gemini (Ф2, полигон); канал B Mistral+grok; ~$0.85/ранобэ (D30.4) — 112 залендена (D39.97), пере-калибровка цены при следующем платном прогоне.
  • ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). СЧЁТ ОЧЕРЕДИ на 04.08 (D39.97, скриптом по таблице; обновлять при каждом лендинге): всего 101 строка · зона бэкенд 52 строго / 65 широко · блокеров очереди 0, платные прогоны разблокированы (117 закрыта) · «скоро» 17 (2·4·5·18·46·49·55·95·108·109·113·114·116·118·119·120·121); остальное «когда-нибудь». ⚠ Счёт — НИЖНЯЯ граница долга, а не потолок: трекер содержит только замеченное, и 02.08 дважды за $0 свежие глаза вытащили из кода дефекты, которых в нём не было (релей фронта → строки 99/100/102; приёмочное ревью → третий шов repair.go:384 в 104 и честность quality.go:436 в 105). Лента выше — про ЗАКРЫТЫЕ паки, читать её как «долга нет» неверно (разбор — вопрос владельца 02.08, D39.89).
  • Архивы хроники: archive/PROGRESS-2026-07-04-10.md (D31) · -10-13 (D39.6-гигиена) · -13-25 (стройка паков 1116, rerun2) · -25-31 (паки 1720 · мини-прогон · полигон-пакеты 58 · ToS · холодный прогон; D39.2658). Записи ниже — живой хвост (эра D39.59+).

Бэклог (ЕДИНЫЙ, собран 26.07, актуализация 02.08 D39.80; правки — только через оркестратора)

Закрытые строки здесь НЕ хранятся — они уходят в D-лог с номером решения. ID строки стабилен навсегда (не перенумеровывается и не переиспользуется — на «строку N» ссылаются доки и промты, D39.80). Вес: «блокер-очереди» = мешает текущему шагу · «скоро» = ближайшие 12 касания · «когда-нибудь» = записано, не потеряно. Длинная строка начинается жирным лидом — таблица сканируется по лидам. Зонные бэклоги (решение владельца 02.08, D39.84): фронт и платформа ведут СВОИ бэклоги (frontend/docs/BACKLOG.md · platform/BACKLOG.md) — их строки сюда НЕ заходят; здесь движок/полигон/доки, включая движковые стыки фронта (зона «бэкенд», как 99102); строки 96/97 переехали в платформенный (П-1/П-2), надгробия-указатели сохранены.

ID Хвост (одной фразой) Зона Вес Чем закрывается Источник
— ВИСИТ НА ВЛАДЕЛЬЦЕ —
2 Четыре вопроса границы «алгоритмического идеала» (Annotator · семантический судья · ja→ru §B5 · ru-target до/после) владелец скоро (гейт «добора идеала» перед МАСШТАБОМ) отдельное решение D39.33, D39.38
4 Ре-чек ToS по триггерам — первый ИСПОЛНЕН 31.07, дельт вердиктов нет (D39.57); предмет Google-мониторинга перевешен на цепочку договора (PUP · Additional ToS · Google APIs ToS); следующие: квартал 25.10.2026 · первая лейблованная книга · любая правка accepts_labels владелец/полигон скоро (следующий триггер 25.10.2026) отдельное решение (правило) D39.32, D39.57
5 Судья-с-декоем/36б «второе мнение» → РАСШИРЕНО ДО АРБИТРАЖА БАНКА (D39.89), ПРОМТ ВЫДАН. Бэкенд-стройка ЗАКРЫТА дизайном (D39.69): маршрут = полигон-ЗАМЕР нужности рецензента-другого-семейства ПОВЕРХ §1+§2 (Q2); переживёт замер → тонкая колонка наблюдаемости, не гейт. Вход владельца 02.08 добавил в тот же замер четыре вопроса, которых в Q2 не было: (i) калибровка САМООЦЕНКИ моделей как сигнала (числа против слов · устойчивость · сравнимость между моделями), (ii) взвешенный арбитраж против равноправного «консилиума без голоса», (iii) связность системы термов как ограничение — единица арбитража обязана быть КЛАСТЕРОМ (семья корня · серия · регистр · алиас-граф), а не строкой (по-терминный argmax возвращает классом дефект, вылеченный со-батчингом, D39.65 стр.21), (iv) инжект/фетч отдельной осью (мерить послушание и ВРЕД, не recall). Приоры против наивной формы уже есть: судья = катастроф-экран, не ранжировщик (D39.46) · канал отказа нестабилен, размах 0.375 (D39.50) · согласие прогонов слабое, Жаккар 0.0770.40 (D39.50). Гейт всего — голд-набор (ядро: сид v2 53 approved + BANK-FULL 150 + банк coldrun-a; мини-голд алиасов §E-1 research/20 ждёт владельца с 17.07). Промт BANK_ARBITRATION_RESEARCH_SESSION_PROMPT.md (потолок $2.00, суб-потолки, пре-регистрация; легитимный исход — «закрыть по нужности»). ⚠ ЗАХОД 02.08 ЗАПУЩЕН И ДОСРОЧНО ЗАКРЫТ ВЛАДЕЛЬЦЕМ — «требуются фиксы в бэкенд» (D39.90). Артефакта в дереве НЕТ: ни docs/research/24-*, ни eval/bank_arbitration/, ни свежих файлов в ~/booksнаходки того захода НЕ сохранены; если они ценны — их надо вынуть из истории сессии, иначе работа повторяется с нуля. Рекомендация оркестратора №10 к пере-запуску (ПОДРЕЗАТЬ, а не гонять целиком): держать §3-A (критика кода, $0 — она и вскрывает нужные бэкенд-фиксы), B1 голд (гейт всего) и B3 формы консилиума с контролем «одна модель N раз»; свернуть B2 (калибровка уверенности) до под-пробы внутри B3 — как отдельная работа она дорога, а приоры D39.46/D39.50 уже сильно против неё; отложить §5-C (инжект/фетч) до бэкенд-доработок, потому что мерить послушание инъекции без движка нечем. Потолок с $2.00 к $1.20 · 02.08 вечер (D39.92): владелец напомнил про заход — статус: промт жив, заход был ПРЕРВАН владельцем, находки только в истории той сессии (вопрос: вытащит ли их владелец), пере-запуск — по подрезке D39.90 п.5 ($1.20), промт подрежет оркестратор перед выдачей полигон/ресёрч скоро (пере-запуск подрезанным скоупом — по слову владельца) замер → дизайн → решение D39.50 п.6, D39.58, D39.69, D39.70 (Q2), D39.89, D39.90
6 Строка Gemini в accepts_labels — ждёт слова владельца о подписи интерпретации сужения как разрешения; ре-чек 31.07 понизил приоритет: подпись даёт ПРАВО, но не судью 18+ (фильтр неконфигурируем D22.6 + обход запрещён договором) — возвращаться при вопросе, требующем именно права владелец когда-нибудь отдельное решение D39.32, D39.57
7 Q2 «редактор под sexually-explicit» (grok-4.3 интерим · glm-5 после сверки ToS Z.AI · mistral вон) владелец когда-нибудь (перед первой explicit-книгой) отдельное решение D39.27 п.7
8 D22.7 пер-чанковый L3-скрин — несня­тое предусловие первой erotica-книги в проде, отдельный гейт владелец когда-нибудь отдельное решение D22.7, CURRENT-STATE (оркестратор)
9 Промпт-слой под лейблом: лейбл не доезжает до промпта — должны ли переводчик/редактор знать о свойстве контента владелец когда-нибудь отдельное решение CURRENT-STATE (владелец, из пака-17)
10 Дата создания аккаунта OpenAI (низкий приоритет, OpenAI вне цепочки) + применимость OpenAI Sharing & publication policy 2022 (quirks:128) владелец когда-нибудь отдельное решение D39.32
11 Флип coverage-гейта (enabled:false, D12-Q4) — за подписью владельца ; при флипе решить судьбу v1.1 quote-absorption (D12-Q1, Python-first лок-степ) владелец когда-нибудь отдельное решение D39.34(2)
12 postcheck_gate в hard-gate — требует пере-замера recall (recall чекеров измерен и низок); ⚠ «fn=0» демоции #10 класс-вакуумен на labels (ноль одно-Han-позитивов, D39.78) — пере-замер обязан добрать одно-Han-позитивы, на «fn=0» не опираться; одно-Han-класс при gate-on вне гейта (Unverified+Demoted); тем же решением строится HARD-value-детектор 成/万 (Q3 §6 — честный hard-gate требует value-чека; либо раньше при ненулевом потоке value-дефектов добора, D39.79) владелец когда-нибудь (после фазы 2) отдельное решение D39.34(2), D24.4+D28.1, D39.39, D39.78, D39.79
13 Включение платной петли ремонта + per-class исходы ремонта (схемное решение принимается вместе) — вернуться при расширении классов детекторов и ненулевом остатке; ⚠ при включении: репэйр-гард №5 после #10 слеп на одно-Han-дифференциал (демоция в обоих прогонах ⇒ 0>0 — репэйр, стёрший верно отрендеренный одно-Han-термин, не ветируется; D39.78-ревью) владелец когда-нибудь отдельное решение D39.38, D39.39(а), D39.78, CURRENT-STATE
13а Веса рубрики K1K12 не выбраны (Q1: «по данным фазы B»; фаза B прошла на BWS без весов — выбор нужен к агрегатной приёмке качества книги) владелец когда-нибудь (к пилоту) Ф2.5 / отдельное решение D39.44 Q1, D39.46
13б speech-cue.txt zh НЕ шипить до замера голос-флаггера на холодном прогоне (данные для недоказанного детектора = инерция; вывод обсуждения 31.07): оси пустые → файл не нужен, оси ловят → решение владельца о шипе (байты двигают LangpackVersion). ⚠ Замера ВСЁ ЕЩЁ НЕТ (D39.86): поверхность вывода построена (строка VOICE в tmctl report), и живое чтение coldrun-a даёт flags=0 over attributed=0 of replies=0 — но это НЕ «оси пустые»: флаггер живёт на ФИНАЛЬНОЙ волне (waverun.go:392,512), а редакторская волна там не гонялась ⇒ оси не считались НИ РАЗУ. ⚠ И поле rules= в новой строке говорит «гейт СКОНФИГУРИРОВАН» (читается из конфига ВРЕМЕНИ ОТЧЁТА, quality.go:436), а не «гейт отработал» — честный дискриминатор это ЗНАМЕНАТЕЛИ (replies=); читать так до фикса (строка 105) владелец отложено-до-замера первый прогон добора идеала С РЕДАКТОРСКОЙ ВОЛНОЙ (оси голоса, строка 24) → отдельное решение D39.56, PACK19_BUILD §7.2, чат 31.07, D39.86
14 Четыре data-инженерных флага фазы-2 общности, каждый с рекомендованным дизайном (§5 отчёта): ё-фолд → target-данные (char_fold; смена сигнатуры core-примитива через вердикт-несущий банк, сдвиг memory_version) · segmentation-фолбэк громким (ломает контракт corridor-фолбэка pipeline.go:839-848 + голден-фикстура на нём; лечение — объявить блок в голден-yaml) · Fertility per-script map (калибровка ждёт боевого токенизатора) · source-encoding.txt + Go-реестр декодеров владелец когда-нибудь (следующий пак общности) отдельное решение D39.64, GENERALITY_PHASE2 §5.15.4
86 Мелкие открытые решения одним списком (свип D39.66): echo-семантика дропнутого c-lite-члена (D39.18 — оставить pre-c-lite?) · magnitude-кап тяжёлой CJK-утечки (D38.3 п.4в; сейчас strip+flag) владелец когда-нибудь отдельные решения D39.66, D39.69(feed_cap закрыт §1)
— ХВОСТЫ ХОЛОДНОГО ПРОГОНА (исполнен достаточно, D39.58; Р7 владельца) —
16 Полная цена холодного старта: edit-волна не гонялась (Р7); измерено всё ДО редактуры (драфт+банкнота $0.0247/волна · терминолог $0.0060.013/проход). ⚠ Прогон НЕ НАЧАТ и закрыт владельцем как неуспешный на этом этапе (02.08, D39.90) — деньги фазы C не тронуты ($0). Свежие числа с пробы bank-low (10 глав, low на черновике И на бэнк-ролях): черновая волна 20/20 ok — $0.031639 flash + $0.010350 pro · терминолог $0.005750 · классификатор $0.004286 · весь заход $0.045095, леджер ≡ независимому пересчёту до нуля. Редакторская волна по-прежнему НЕ гонялась ⇒ строка жива, и она же держит оси голоса (13б/24) бэкенд когда-нибудь (первый прогон добора идеала — после решения по 46) добор идеала D39.58, D39.90
18 Эмиссия головы 蛊: сид-половина = чек-лист (определяющий терм книги сидится allow_short, D39.50); эмиссия-КАНАЛ демотирован до ИЗМЕР-ГЕЙТА (Q7): полигон-замер «меняет ли эмиссия головы рендер композитов» — строить ТОЛЬКО по эффекту и ПОСЛЕ #10 (однознаковый пост-чек чинится чекер-паком); перед стройкой резолвить K-гейт и KWIC-грязь одиночной головы полигон → бэкенд скоро (санкция Q7 D39.70 — после #10, очередью с ре-пробой) полигон-замер → решение D39.58, D39.60, D39.69
24 Остаток: авто-режим флага (проект Б не гонялся) · оси голоса AD (профили не подписаны; черновик готов — coldrun-a/SIGN-PACKAGE.md §3) ; + слот инъекции голоса и решение gates.voice при ненулевых осях (D39.55/D21 п.2) · слой-2 voice не строим до доказательства слоя-1 · сверить until_ch 白凝冰 при курации сида (D19.3в) бэкенд когда-нибудь (первый прогон добора идеала) добор идеала D39.40, D39.58
— ТЕКУЩАЯ ОЧЕРЕДЬ (D39.59) —
78 Леджер денег = НИЖНЯЯ граница: «2xx body decode failed (call IS billed)» — провайдер списал, исходная попытка в request_log НЕ попадает (≤$0.009/сессия); дизайн фикса ГОТОВ (GENERALITY_PHASE2 §5.6: BilledDecodeFails + per-billed-attempt settle с Estimated=true), но это money/ledger-путь — не $0-хастл. Живое число (D39.86): на ре-пробе 74 — 3 таких вызова на 14, неизвестность $0.015111 при леджере $0.114378 (13% захода); движок засеттлил оценку и честно напечатал estimated-cost rows: 3 ⇒ канал ВИДЕН, но decode_error при этом ещё и терминален (не retryable, не escalatable) — 3 из 7 терминальных флагов пробы A бэкенд когда-нибудь (money-паком) отдельное решение (дизайн §5.6) D39.61, D39.64, D39.86
79 Граница ПЛОТНОСТИ письма для серий: enabled через Go-константу cjkScriptNames — новый плотный скрипт требует правки Go (head-finality уже в данных script-series.txt; пре-существующая граница, D39.75). Первые два компонента строки (isCyrLetter→isTargetWordLetter · magnitude SourceScripts-гейт) исполнены пакетом-чекеров, D39.78 бэкенд когда-нибудь следующий пак общности / касание чекеров D39.64, D39.78
90 Ф2-кандидаты 02-mvp-плана без носителя (свип-хвост, D39.73): CometKiwi/T-index метрики судьи · Batch API судьи (экономия) · llama-server-интеграция локали · стриминг — взять/закрыть при пилот-препе; + H16 самоулучшение (V3-п.2, ПТ-26): дизайн петли по данным судьи — тем же препом полигон/бэкенд когда-нибудь (Ф2.5) пилот-преп-промт (с 85) 02-mvp-plan, D39.66, D39.73, D39.80
— НАХОДКИ СВИПА ПОЛНОТЫ (D39.66: 951 обязательство проверено, потери возвращены в трекер) —
80 Резюме-слой памяти — проза-суммарайзер ЗАКРЫТ (D39.69); строка = ГЕЙТ ПИЛОТА Ф2.5: первый деливерабл пилота — «допускает ли автономная нарратив-состояние-строка ДЕТЕРМИНИРОВАННЫЙ верификатор (source-anchored) — или это D1-компаундинг со схемой»; не-покрытые классы (source-anchored reveal · арк-колбэки без ключа) реальны, но не измерены как дефект Ф2.5 (Q3 подтверждён D39.70) когда-нибудь (пилот) Ф2.5 пре-рег D25 п.89, D39.66, D39.69
81 ja-преп B6-ja (сужено пост-сверкой D39.66): Поливанов-валидатор (translit_policy = «Phase 2»-заглушка, migrate.go:186/194) + kana-омограф POS/known-word гейтинг / B6-токенизатор (memory.go:1048); чек-лист kana-алиасов сида УЖЕ построен (backend/README §ja + AttachRubyAliasesToManual) — остаток в нём только дизамбигуация двойных чтений (тот же B6) бэкенд когда-нибудь (перед ja→ru) ja→ru-пак (рядом 35) D16.4, D17.1, D18, D39.66
82 Морфо-гейт РОДА (C3: русский глагол прош. вр. при gender=hidden = механический спойлер-канал; «жалоба №1 читателей MTL»; python-сайдкар/pymorphy, связка с морфопроходом Decl из 73) бэкенд когда-нибудь (Ф2-гейты) отдельный пак (с 52) 06-реестр C3, research/12, D39.66
85 Пилот-преп добор (к переупаковке PACKAGE4): Bertalign GOLD-пары + zh→ru spot-check (D29.2в; GPL-тулинг отдельно) · fidelity-каскад R2 shadow с корпус-подготовкой (D25.2) · exp08 v3 пере-съём COGS до фиксации budget_usd (D21.8) полигон когда-нибудь (Ф2.5) пилот-преп-промт D25, D29, D21.8, D39.66
— ПАК-21 «чекеры»: РАСТВОРЁН (D39.62); шестёрка исполнена 2/6 фазой 2 (D39.64: #11 · строка 26), остаток — ниже —
93 Остатки строки 93 после пачки (D39.82): строгий OffLanguage (36а, deferred D39.78) · 分之-разметка прежде стройки DC2 word↔word (полигон) · F4-хвост: redrive --dry-run обходит pre-flight, а store.Open мутирует SPOF-файл (миграции + recoverReservations; коммент «mutates nothing» неверен) — pre-flight и на dry-run при существующей БД либо read-only план; заодно stat-скип точной формой fs.ErrNotExist. ⚠ Остаток НЕ однороден по гейту (сверка 02.08): F4-хвост и строгий OffLanguage свободны, а 分之-часть ГЕЙЧЕНА полигон-разметкой среза («строить вслепую против мандата» — якорь техдолга) ⇒ не подавать строку как «малое касание без гейта» бэкенд/полигон когда-нибудь малое касание / полигон-слот D39.78, D39.82
98 DC7 грейд-консистентность — пере-гейчен по сид-покрытию (D39.82): замер пачки реален (25 юнитов/93 «разряд» ≠ канон «класс» на labels-финалах), НО финалы — прогоны до/вне сид-v2-канона, а грейды 甲/乙/丙/丁等 теперь approved-записи сида с decl-формами: mempostcheck флагнёт «разряд» промахом dst; строить DC7 только если ОСТАТОК девиаций переживёт сид-покрытие — замер на первом СИДОВОМ прогоне добора идеала; дом канона при стройке = book.yaml (как register_blocklist; ратифицировано D39.82 — НЕ dc-checkers.txt, посылка D39.79 исправлена) бэкенд когда-нибудь (гейт: первый сидовый прогон добора идеала) замер остатка → решение D39.79, D39.82, SMALLPACK §5-E1
28 Банк-линт латиницы в dst или строгая форма языкового предиката (7 строк утечки алфавита проходят экран) бэкенд когда-нибудь (добор идеала — носитель «свежий мини-прогон» растворён D39.67, актуализация D39.79) касание чекеров при данных добора (помнить оговорку 36а: «甲等 → класс Цзя» строгой формой не ловится) D39.52, D39.62, D39.64, D39.79
28а Prompt-injection-проба входного текста ($0): сепаратор ⟦TM-BANK-v1⟧ и якорь-подобные маркеры В ТЕКСТЕ КНИГИ — поведение среза/парсера/инъекции (книга = недоверенные данные; инструментов у моделей нет, но канал банкноты читает вывод по маркеру) бэкенд/полигон когда-нибудь малая проба сводка-ревью 26.07
— СВИП ГИПОТЕЗ —
30а Перерисовка puml-диаграмм под пост-пак-20 пайплайн (терминолог, банкнота отдельным файлом); дом диаграмм теперь backend/docs/ — правятся одним коммитом с кодом (D39.80); PUML НЕ рендерить (гардрейл) бэкенд когда-нибудь ближайший пак, касающийся pipeline аудит доков 26.07, D39.80
— ОТДЕЛЬНЫЕ ПАКИ/РЕШЕНИЯ (бэкенд, добор идеала) —
31 Слой-2: извлечение дискурс-норм/few-shot из ТЕЛ промтов (форсинг = ja→ru) бэкенд когда-нибудь отдельный пак (идеал D39.33) CURRENT-STATE, D39.33
33 native-Gemini судья (Ф2-механизм) ; до прод-заводки: $0.01-проба thinking⊆max_tokens на боевом слаге (D22.3) + включить sanitizer в pipeline-c2 при оживлении (D33.4б) бэкенд когда-нибудь отдельный пак (идеал) CURRENT-STATE, D39.33
34 Генеральность нарезкиОСТАТОК после фазы 2: сами per-script коэффициенты (est_out ja завышен ~1.7× МОЛЧА · EstimateTokens недосчитывает кириллицу); консолидация класса письма СДЕЛАНА (один дом DenseScript, D39.64) — лечение = Fertility-map (строка 14) + офлайн-калибровка при боевом токенизаторе бэкенд когда-нибудь строка 14 + отдельный пак (с ja→ru) D39.37(5), D39.64
34а Экран кодировки не видит <meta charset> без XML-объявления (епаб с gb18030-метой прочтётся как UTF-8) — до-паковая дыра, сознательно не тронута пачкой 14а (паритет со старым ридером) бэкенд когда-нибудь отдельное решение D39.54, SMALLPACK §8
35 Не-CJK майнер/банк: en-детектора не существует (hanRuns=0), ja с zh-таблицами активно неверен (0/10); нужен второй ДЕТЕКТОР (прототип mine_nonhan.py) + G1G10 требования generic-майнера (вкл. квадратичность G9 ≈4.6 ч) бэкенд когда-нибудь отдельный пак generic-майнера (с ja→ru) D39.37(8), D39.43, D39.50 п.8, POLYGON_PREMEASURE §6
36 Кластеризация майнера глотает родовые титулы (族长/学堂家老 в кластере 葛家) — закрыто на границе сборки входа, сама кластеризация не чинилась бэкенд когда-нибудь отдельное решение D39.43, D39.45
36б Второе мнение по банку: рецензент ДРУГОЙ моделью, несогласия — отдельной колонкой подписной таблицы (судья-с-декоем в роли рецензента; решает владелец, D39.46-ограничение не бьёт). ⚠ ДИСПОЗИЦИЯ ПРИВЕДЕНА В СООТВЕТСТВИЕ (D39.90): бэкенд-стройки НЕТ — D39.69 закрыл её по нужности, маршрут = полигон-ЗАМЕР (строка 5, промт выдан); переживёт замер → тонкая колонка наблюдаемости, не гейт. Прежняя форма «отдельный дизайн (Р4)» в зоне бэкенда была устаревшей и завышала счёт бэкенд-очереди полигон (замер) → бэкенд (только если переживёт) когда-нибудь (через строку 5) замер строки 5 → решение D39.58, D39.51 п.4, D39.69, D39.90
36г Проводной формат каналов пересказан прозой в каждом пар-промпте, парсер в Go, связи нет — формат в шаблон движка ({{banknote_format}}); линты держат класс, дублирование остаётся бэкенд когда-нибудь (со следующей правкой промптов) отдельное решение (Р5) D39.58
37 Квадратичности: AttachKWIC (16.8 с / 2000 кандидатов; фикс — многошаблонный поиск) + src-правило банкноты при промахе чанк-пути (строка × длина книги; на 10 главах не видна) бэкенд когда-нибудь отдельное решение D39.45, PACK20_BANK_BUILD §8.5.1, D39.58
38 Смета не видит пере-покупку прохода терминолога на каждой итерации подписи (роль не пишет chunk_status, не видна projectRebill) бэкенд когда-нибудь отдельное решение D39.45, PACK20_BANK_BUILD §8.5.2
39 S12 частичен: malformedSeparatorAt не ловит подмену слова разделителя и обрыв токена (комментарий обещает) бэкенд когда-нибудь отдельное решение D39.45, PACK20_BANK_BUILD §8.5.3
40 bankTokenBudget: worst-case зашит zh→ru (признанная утечка §0; CJK-цель недобирает вдвое) бэкенд когда-нибудь отдельное решение D39.45, PACK20_BANK_BUILD §8.5.4
41 golden: вторая фикстура С langpack (сейчас пинится только фолбэк-путь) ; + golden-счётчики голоса (хвост D39.58) бэкенд когда-нибудь отдельное решение D39.37(6)
42 prompt_override — легальный обход гарантии слоя-2, сформулировать честно бэкенд когда-нибудь отдельное решение D39.37(7)
43 request_log без скоупа/ретеншена + first_flag_reason = третье представление истории попыток (корень — неразведённые скоупы) бэкенд когда-нибудь отдельное решение D39.37(9)
44 Флор — калиброванная константа без модели «thinking в completion»: МОДЕЛЬ ПОЛУЧЕНА замером (D39.86), сама строка сужена до выбора числа. Замер боевой формы: при вендор-дефолте high размышление на плотном хане потолком НЕ ограничивается (8496 → 0/9 пригодных, 16992 → 1/5; вендорская норма вывода для high = 384K) ⇒ флор не является рычагом против неограниченного думания — рычаг это reasoning_effort; при low размышление 170313 ток. и флор 8000 избыточен. Остаток строки: какое число ставить ПОСЛЕ развилки 74 (и помнить, что у deepseek-v4-pro эффорт не настраивается — вендор-маппинг low→high, quirks п.3а). ⚠ РАСХОЖДЕНИЕ ТРЕКЕРА СНЯТО (D39.90): строка 74 объявляла 44 «закрытой этим замером» — это верно только для ПОЛОВИНЫ «поднять флор» (фальсифицирована). Живой остаток — обратный: опустить/пере-калибровать число по числам пробы bank-low, где стена на low не исчезла, а разредилась (упавший батч: content="", finish=length, completion=7999, reasoning=7999 — тот же тяжёлый хвост, 1/5 вместо 4/5, и это стохастика вызова: батч не самый большой по входу). ⚠ Флор при low НЕ варьировался ни разу — упавший батч умер ровно на потолке 8000, так что «сколько ставить» остаётся незамеренным вопросом, а не выводом бэкенд когда-нибудь (триггер «приёмка 104» НАСТУПИЛ — D39.91, ручка заленжена; «сколько ставить» остаётся НЕзамеренным — нужен вариационный замер флора при low) отдельное решение D39.37(10), D39.86, D39.90
45 max_tokens-упоры (две единицы) — вернутся на en-книге ; halve-chunk-on-retry (research/22 §2 №7) ОТКЛОНЁН D39.74 — вернуться сюда же при живых упорах бэкенд когда-нибудь отдельное решение (с en) D39.37(11)
46 Экран целевого языка на выходе НЕ-ПОСЛЕДНЕЙ стадии — ЖИВОЙ НОСИТЕЛЬ ПОЛУЧЕН, класс поднят (D39.86). Было: 38/40 дефектов латиницы живут в черновиках вне охвата гейтов (waverun.go:486). Стало: на ре-пробе 74 при effort:low 1 черновик из 18 пришёл ПОЛНЫМ связным переводом НА АНГЛИЙСКИЙ и прошёл как disposition=okclassify экранирует ИСХОДНУЮ письменность, пустоту, обрыв и отказ, а «не исходный и не целевой» не ловит ни один предикат (частично ловится лишь третий язык, ДЕЛЯЩИЙ письменность с источником, и ловится под ЛОЖНОЙ причиной cjk_artifact). ⚠ Последний рубеж УСЛОВЕН тройкой isFinal && Gates.Sanitizer.Enabled && checkers.TargetActive() (chunkrun.go:52), и дыра на оси ЦЕЛИ двусторонняя: (i) без данных цели слой 7 инертен ПО ОТСУТСТВИЮ (осознанный дизайн, disposition.go:302-305) ⇒ для не-русской цели рубежа нет вовсе; (ii) а с данными будущей ЛАТИНОПИСЬМЕННОЙ цели detectLatinInsertion (checks/sanitizer.go:228) сработает на ЧИСТОЙ целевой прозе и дропнет 100% чанков — внутри санитайзера он НЕ обусловлен TargetScriptNonLatin(), хотя доккоммент это объявляет (реальный гард только на репэйре — quality.go:215, repair.go:208), а частичный файл цели невозможен (CompileCheckers паникует). ⇒ ревью-вопрос «заработает ли пара, которой в репо нет, без правки Go?» для →en/→de отвечается НЕТ; кандидат фикса — тот же шов, что уже применён к репэйру. (Контрпример «pipeline-c2.yaml — легальная сборка без санитайзера» проверен и СНЯТ: c2 неисполняем CheckRunnable, его санитайзер забукован строкой 33.) Даже при включённом санитайзере худший исход — не потеря юнита, а ТИХО ОТГРУЖЕННЫЙ релейный перевод zh→en→ru, если билингв-редактор отрендерит русский с английского черновика. Область фикса — «выход любой НЕ-последней стадии», не «черновик» (isFinal позиционный, stagerun.go:145). ⚠ ДИЗАЙН ПОДАН, КОДА НЕТ — СТОИТ НА РЕШЕНИИ ВЛАДЕЛЬЦА (D39.90). Три поправки сессии к посылке, все замером: (1) боевой гейт уже ловит 18 из 20 off-target событий (sourceScriptShare > 0.15, disposition.go:224,275; 0 ложных на 1055 здоровых, запас 13×) ⇒ остаточная дыра 2 чанка из ~1100 = 0.18%, оба английские, японский ловится долей ханьцзы; (2) второй рубеж существует, но стоит не там — санитайзер поймал бы те самые байты («Latin insertion»), но chunkrun.go:52 требует isFinal, а в двухстадийной топологии черновик НИКОГДА не финальный; тот же isFinal глушит на черновике латинный линт, флаггер голоса и глоссарный пост-чек; (3) здоровый минимум на тексте, который РЕАЛЬНО видит гейт (после среза банкноты), = 0.9767 при n=1055. Развилка владельцу: (а) предикат внутри classify() + бамп classifierVersion — двигает снапшот у всех книг, голден пере-захват один раз, на свежем стенде $0; (б) отдельный опциональный гейт вне classify() — снапшот не двигает, но это второй способ сказать «ответ непригоден», и он выключен по умолчанию; (в) языковой детектор. Выбор сессии — (а). Носитель данных — lang.LangScripts(Book.TargetLang), НОВЫЙ go:embed-файл не заводить (EmbeddedVersion фолдится безусловно = перекупка всех книг всех пар); порог 0.50 не калиброван, а поставлен в середину пустого интервала. Три мины наивной реализации названы: новый флаг провалился бы мимо escalatable()/retryable() (⇒ переиспользовать FlagCJKArtifact), классификатор ложно флагался бы 16/16, экран слеп к ПОДМНОЖЕСТВАМ письменности (чисто китайский выход для →ja наберёт 1.000). Вторая половина дыры (detectLatinInsertion без TargetScriptNonLatin()) — чинить тем же диффом, для ru вердикты не двигаются. Константы и хвосты дизайна, без которых подпись неполна: порог abstain 200 букв (ниже экран воздерживается; самое короткое off-target событие 346 букв, ниже 200 падают лишь 5 из 1055 здоровых, все со счётом 1.0000) · ⚠ опубликованная база «~1.5% off-target» НЕВЕРНА по знаменателю — он пулит черновики с редакторскими выходами, а редактор такой отказ произвести не может; на ЧЕРНОВОЙ вызов база 3.02%, то есть вдвое хуже · ⚠ не проверено, что делает РЕДАКТОР с английским черновиком — вытащит обратно в русский или отредактирует как английский; именно этот неизвестный решает, чем является остаточные 0.18%: потерей юнита или тихо отгруженным релейным zh→en→ru · английских черновика найдено ДВА (fb51e135a395, 4080ee8287af), плюс японский в exp15 · cultivation чинить в СИДЕ, а не порогом: 86 из 1055 здоровых несут голое английское cultivation внутри беглого русского, и все 32 абзаца ниже 0.90 содержат именно его, ни один — ханьцзы; правка пар-данных двигает LangpackVersion с omitempty ⇒ перекупка ограничена книгами ЭТОЙ пары (чинить на плане, где перекупка уже) · Hunspell и GlotScript-эмбед — не строить · база замера = строка 113 · 02.08 вечер (D39.92): владелец пере-поставил задачу closed-set («вернуло НЕ тот язык, что просили»; полноценный LID — только запасной флаггер вне пути вердикта; проверку изолировать отдельным слоем) — ресёрч §5.15.3 отвечает постановке, форма (а)+изолированный модуль подтверждена, слой-0 владельца (полоса len(out)/len(in)) добавить замером на фикстуре 113 владелец → бэкенд скоро (порядок §5.4: сначала 113, шаг 6 — под подпись) правка Go по плану §5.4 D39.39(д), D39.86, D39.90
47 M2-кэш / доктрина Д2 — кандидат на отдельную ратификацию оркестратор/бэкенд когда-нибудь отдельное решение D39.42
48 Направленная банкнота — вернуться по замеру покрытия терминолога бэкенд когда-нибудь отдельное решение D39.42
48а Серийный шаринг банка — РЕАЛИЗАЦИЯ (экспорт подписанного глоссария как сид-YAML следующей книги серии; спойлер-окна плющатся в since_ch=0); контракт round-trip держится тестом, самой фичи нет бэкенд когда-нибудь (перед второй книгой серии) отдельное решение D39.42 задел (а), PACK20_BANK_BUILD З-а
48б Импорт «оригинал + чужой перевод» как режим данных терминолога (target-агностичный вход есть контрактом; сам режим + провенанс источника + юр-сторона в юр-пакете) бэкенд/владелец когда-нибудь отдельное решение + Ф2.5 (юр) D39.42 задел (б), PACK20_BANK_BUILD З-б
49 Этапы Б+В спеки D15.2 (content-addressed resume / guard_hash — D39.31 сознательно не строил) ; этап В = tmctl export-контракт D29.1 (annot-v1 · цвет-мап+rollup · политика красных fail-closed) + операторский протокол-документ релиза гендер-твиста (D5.1): сам механизм УЖЕ построен — until_ch-правка → точечный re-edit со сметой и $0-пере-пином (repin.go/rebill.go, D39.42 п.5/D39.45) бэкенд скоро (ПОДТЯНУТА D39.81: annot-v1 = источник замечаний для фронта — критический путь подключения) отдельное решение (annot-половина — можно с 95) D39.34(4), D33 п.5, D39.81
49а ALTER-шаги миграций v8v14 не идемпотентны вопреки шапке migrate.go:9-11 (полу-применённая БД не сходится; счётчик версий скрывает) — находка критика полноты пака-19 бэкенд когда-нибудь отдельное решение D39.56, PACK19_BUILD §6.9
50 F3-остаток идемпотентности бэкенд когда-нибудь отдельное решение D39.34(4)
51 human_override LOCK (D29 п.1г, в коде 0 вхождений) бэкенд когда-нибудь отдельное решение D39.34(4)
52 Ф2-гейты вне идеала: морфо-гейты канцелярита + L1-лемматизация (python-сайдкар) · полный OpenCC · опциональный пре-перевод гейт ; состав явно: канцелярит + РОД (строка 82) + класс Ф2-гейтов карты 04-unhappy (обсцен-гейт/феминитивы/время сцены — состав решить паком) ; + класс идиоматики (свип-хвост, D39.73): сехоуюй-словарь · вэньянь-классификатор (zh) · васэй-эйго ложные друзья (к ja-паку 81) — данные пары или закрытие «банк книги покрывает» тем же паком бэкенд когда-нибудь отдельное решение D39.34(4)
54 Масштаб целой книги: волны/каденс/потолки/ETA на сотнях глав (гоняли максимум 10; книга 7,78 млн симв., ~2284 раздела) бэкенд когда-нибудь (последним по курсу) МАСШТАБ D39.33, CURRENT-STATE
— ПОЛИГОН (кандидаты пакетов) —
55 dialogue_dash мерить только на невиданном тексте (подогнан под 蛊真人; цифры мини-прогона аргументом не считаются) ; расширено до вне-претрейн чекпоинта целиком: r-коэффициенты exp01/08 · precision чекеров · частота эха · чистовик exp15-выводов ; + arity-полоса паспорта (D29.2г): решить — dialogue_dash покрывает диалоговую половину или мерить (D39.73) полигон скоро полигон-пакет 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 роли на «расширенном, но осмысленном» материале ; + контрастивный регрессионный сьют по каталогам режимов отказа (12-*) · чистовик exp15-выводов полигон когда-нибудь полигон-пакет POLYGON_PREMEASURE §1.8/§2.5/§3.5/§7.6
59 Вендор-чек префикс-кэша ZAI/GLM (на нём стоит вся кэш-экономика W1/Q2c) ; + GLM context-overflow гард (finish=model_context_window_exceeded — NOT-do пака-12 без решения) ; + Mistral-strip гейт message-builder (research/21 §1.1: extra_forbidden на reasoning-поля; ЛАТЕНТЕН при нашем single-shot wire — гейт перед прод-путём mistral в канале B / любым multi-turn; D39.74) полигон когда-нибудь (до МАСШТАБА) полигон-пакет D39.34(6)
60 Scheduler-aware волны под peak-valley DeepSeek (прямой COGS-рычаг) полигон/бэкенд когда-нибудь (до МАСШТАБА) отдельное решение D39.34(6)
61 Прайс/wire-гигиена: продление prices_checked без правки чисел · гейтнутые платные армы (edit-единица >3200 и др.) · wire-probe temperature в thinking-канале DeepSeek полигон когда-нибудь полигон-пакет D39.34(6)
— Ф2.5 / ПИЛОТ / ПРОД —
62 Билингв-якорь (D25 п.9 Q1) владелец когда-нибудь Ф2.5 D25 п.9, CURRENT-STATE
63 Контаминация корпуса (D27 п.4) владелец/полигон когда-нибудь Ф2.5 D27 п.4, CURRENT-STATE
64 Судья-дублёр (D22.6) бэкенд когда-нибудь Ф2.5 D22.6, CURRENT-STATE
65 Планка запуска ≤2 не пройдена rerun2 — итерация №2 редакторского экспа отложена (dspro ИНТЕРИМ, glm-5 резерв) ; инструментарий слепого чтения = D39.8(3) + гигиена D39.20 владелец когда-нибудь (первый прогон добора идеала) добор идеала / отдельное решение 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) ; + юрисдикционные annex-ре-чеки при новых рынках (D39.29) + поле «версия исходника» book.yaml на интейке (04-unhappy §5) владелец когда-нибудь Ф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-леджер ; + F3-brief из D29 п.3 (chat-edit · Not-useful-петля · cost-of-fix) + Ф3-скоуп 02-mvp-plan (TMX/TBX · Bertalign · дистилляция 714B); + V5: фронт ВЕБ-ПЕРВЫЙ, SEO/ранжирование (куки · страницы-сироты · актуальные алгоритмы Google) — определяет выбор фреймворка (SSR vs SPA), в Ф3-дизайн ДО выбора стека (ПТ-23) бэкенд когда-нибудь Ф3 D39.34(7), START_PROMT V5, D39.80
94 Продукт-механика входа и прогона (V2, ПТ-16..18): абьюз/misuse-прескрин дёшево и точно ДО трат токенов (H8) + UI-контракт отказа (проект-решение D39.80) · лимит размера входа настройкой (H7) · продукт-кнопки «стоп/продолжить» поверх построенных graceful stop и redrive, абьюзивный прогон НЕ продолжать (H10); API-форма — через контракт 95 бэкенд к подключению фронта (ПОДТЯНУТА D39.81; лимит можно раньше, к пилоту) отдельный пак при Ф3-препе (после 95) START_PROMT V2, H7/H8/H10, D39.80, D39.81
95 Контракт API v0 + продуктовый словарь статусов ($0, ранняя вставка): зафиксировать артефактом ДО большого кода обеих сторон — фронт пишется на моках, без пришпиленного контракта моки и API разойдутся (класс «док↔код», 26/180 переписи); дом — docs/architecture/14-api-contract.md; продуктовые статусы «загрузка → разбор → перевод → подпись банка → финал → готово», слой перевода внутренних вердиктов в продуктовые (flag_reason/стадии/модели НЕ протекают — инвариант D39.81); двухфазный поток уже в движке (--verify-bank, банк-пауза) — ВЫВЕСТИ, не проектировать; резерв полей прогресс/ETA (54) и стоп/продолжить (94); ревью-вопрос контракта: «сменится стадия конвейера — придётся ли править фронт?»; входы D39.84: контракт подписи учитывает пересборку банка (подпись ≠ UPDATE — пишем в файлы-источники) · формы пофазного прогресса/манифеста/таблицы подписи = строки 99101; входы D39.85 (research/23): (i) NDJSON-поток событий (словарь-enum + version-хендшейк + событие потолка — строка 103), (ii) артефактный контракт (export-JSON · 101 · 100), (iii) правило ре-синка (идемпотентный апсерт run_id+seq; status --json = канал согласования); словарь событий и продуктовый словарь статусов (ПТ-33) проектируются вместе оркестратор/бэкенд/фронт скоро (единственная ранняя вставка Ф3) дизайн-промт по слову владельца релей фронта 02.08, D39.81, research/16
96 → переехала в platform/BACKLOG.md П-1 (зонные бэклоги, D39.84: HTTP/SSE-слой, обвязка, аутентификация, порядок деплоя); здесь остаётся ратифицированным сам ИНВАРИАНТ D39.81 — движок = процесс-на-прогон (EXCLUSIVE flock store.go:43), сервер в backend НЕ пишется платформа зонный бэклог D39.81, D39.84
97 → переехала в platform/BACKLOG.md П-2 (глобальный брокер рейт-лимитов; гейт «до второго параллельного пользователя» зафиксирован там же) платформа зонный бэклог D39.81, D39.84
99 Пофазный прогресс draft N/M ∥ edit N/M: unit = done только при всех draft-строках членов + edit-строке (status.go:328-331/365) — индикатор «готово N/M» стоит 0% ВСЮ черновую волну; данные уже есть (chunk_status — строка-на-стадию, migrate.go:111-126; status уже делит стадии по волнам status.go:332-334) — вывод пофазных счётчиков в StatusReport/JSON без миграции схемы бэкенд к подключению фронта (первая по критичности из четырёх D39.84) малое касание read-model релей фронта 02.08, D39.84
100 Персист манифеста глав/чанков (+ chunker_version из снапшота + хеш источника): каждый read-вызов заново ингестит и режет исходник (status.go:177-195 bookChunks; redrive — дважды за вызов; замер фронта 1.421.51 с CPU на книге 23 МБ, умножается на число книг) — нужен под экран разбора и дерево глав; дизайн обязан пережить смену чанкера (--resnapshot) бэкенд к подключению фронта отдельное решение (дизайн с 95) релей фронта 02.08, D39.84
101 Машиночитаемая таблица подписи банка: кап 20 — только stdout (render.go:98), полная таблица — текстовый сайдкар .bank-stop.txt, JSON/структурного выхода нет (mined-signature.yaml — сид-дельта без freq/spread/evidence); нужна фронту S5; помнить ловушку «подпись ≠ UPDATE» (банк пересобирается: seeding.go:18/110, glossary.go:158-162 — контракт подписи пишет в файлы-источники) бэкенд к подключению фронта малое касание (форма — с контрактом 95) релей фронта 02.08, D39.84
102 Приём внешнего trace-контекста в tmctl: TraceID минтится заново каждым вызовом (main.go:67-70; внутри вызова трасса цельная, request_log.trace_id есть) — прогон, запущенный платформой, должен быть одной трассой бэкенд когда-нибудь (Ф3, с 96) малое касание релей фронта 02.08, D39.84
103 NDJSON-эмиттер прогонных событий со стабильным словарём (машинный канал живого статуса для платформы, research/23 §2): NDJSON-логи уже есть (LOG_FORMAT=json, авто-оси trace/book/chapter/stage/role — obs/logging.go:15-54), но сообщения прозой, version-хендшейка нет, а событие потолка отсутствует вовсе (деньги только в тексте ошибки stagerun.go:472-494); нужен словарь-enum + version-хендшейк первой строкой (образец terraform -json: минор = ignore-unknown, мажор = reject) + событие потолка; все границы — единичные call-sites в pipeline рядом с готовыми slog; человеческие логи уже на stderr — stdout-дисциплина соблюдена бэкенд к подключению фронта (словарь — вместе с контрактом 95) малое касание research/23, D39.85
105 Роль classifier мис-вердиктится как эхо + честность двух новых строк наблюдаемости (D39.86). (а) classifyOutput даёт поблажку SourceEchoExpected только roleTerminologist (chunkrun.go:37), а ответ классификатора по формату состоит из исходных ханьских термов ⇒ доля исходного письма 0.200.29 > порога 0.15 на каждом батче: живой артефакт пробы 6/6 несёт verdict=cjk_artifact при bad_lines=0. Ущерб узкий — runBankRoleBatches кладёт run.texts[i] = att.text без проверки диспозиции (terminologist.go:603), посчитанные эхо-ставки (quality.go:313-321) берутся из chunk_status, куда бэнк-путь не пишет ⇒ портятся только строки tmctl report/лога; латентно (classify_types выключен во всех шиппинг-конфигах). ⚠ Цена дисциплинированного фикса, которую надо знать заранее: бамп classifierVersion (литерал, сам не двигается) меняет payload снапшота → snapshot id → RequestHash ⇒ промах ВСЕХ чекпойнтов книги, то есть --resnapshot + пере-покупка. (б) тем же касанием — честность поверхностей: строка VOICE берёт rules= из конфига ВРЕМЕНИ ОТЧЁТА (quality.go:436), поэтому включение gates.voice после прогона печатает «измерено, чисто» для неизмеренной книги (воспроизведено); и она печатается при выключенном гейте, если SpoilerLeaks>0 (дизъюнкция — поведение верное, формулировка отчёта/коммента неверна); знаменатель BANKNOTE = len(states) включая призрачные строки retrieval_state, тогда как соседний агрегатор их фильтрует (quality.go:259-260) ⇒ после пере-чанковки покрытие занижается бэкенд когда-нибудь (ближайшее касание банка/наблюдаемости; (б) — дешёвая часть, вердиктов не двигает) малое касание + вердикт-двигающая половина (а) через СТОП-решение D39.86
106 Слой 3 НЕ достроен: контракт редактора = full-regen, а целевой — узкие мандаты + ДИФФЫ. 09-target-architecture.md:121-126 дословно: «research/07 предписывает узкие мандаты + диффы, а не полную перегенерацию — сейчас ровно наоборот (4 мандата, full-regen), что и породило хвост инверсий»; целевой контракт — редактор правит anchored search/replace-спанами с детерминированным Go-apply (ограниченный blast-radius, дешевле, аудируемо, структурно omission-safe). Пак-16 построил петлю РЕМОНТА (починка флагнутого спана постфактум), а не diff-контракт роли ⇒ это разные вещи. Строки не было ни одной — дыра учёта, найденная сверкой 02.08 (грепы diff/мандат/span по бэклогу = 0). Смежное: арм Q4b «diff-fidelity+style редактор» (exp15:108) не прогонялся НИ РАЗУ, хотя трек B объявлен завершённым владелец → бэкенд когда-нибудь (смена контракта ролей = решение владельца) ресёрч-арм → дизайн → крупная стройка 09 §Слой 3, D39.90
113 Запас боевого гейта не зафиксирован тестом, а харнесс, давший число, УДАЛЁН (Д-хвост D39.90). Числа «18 из 20 · 0 ложных на 1055 · запас 13× (0.0117 против 0.15)» и «санитайзер поймал бы английский черновик» получены ВРЕМЕННЫМ тестом в пакете pipeline (splitBanknote+StripThink+sourceScriptShare), который сессия удалила после снятия. Число ушло в контракт (строка 46), воспроизвести его нечем. Делать: корпус-фикстура в репо (~20 off-target + ~40 здоровых, с движковой предобработкой; снапшот НЕ двигает) + регресс-тест на реальный запас — это база, которую обязано побить любое предложение по 46. СТОП, если фикстура не воспроизводит 18/20 при 0 FP, или если запас меньше 3× бэкенд скоро (перед любой правкой по строке 46) $0 фикстура + регресс-тест D39.90, EFFORT_HANDLE §5.4 шаги 12, §7
114 Конфиго-слой ручки эффорта: два дешёвых хвоста приёмки (вне снапшота, $0 прогонов). (а) Д4 отчёта: gates.terminology.target_script НЕ сверяется с book.target_langtarget_lang: ru + target_script: Latin грузится чисто и ИНВЕРТИРУЕТ банковский экран (ловит целевой, пропускает чужой); сверка при загрузке против lang.LangScripts(TargetLang) — тот же дата-план, что у экрана строки 46, громкий отказ на несовпадении. (б) Находка-2 приёмки: стейл-доккоммент capability.go:78у константы ReasoningExtraBodyDisable до сих пор «effort "" leaves the provider default», противореча проводу (applyToBody мержит disable на "", комментарий в теле arm это прямо объясняет) и починенному ThinksOnWire; однострочник тем же касанием бэкенд скоро (мелкий пак или попутно со строкой 46) правка Go, снапшот не двигает D39.91, EFFORT_HANDLE Д4
115 //go:embed целевых данных — ЯВНЫЙ список файлов: новая ЦЕЛЬ требует правки Go (Д6 отчёта). internal/lang/embedded.go:22 перечисляет файлы поимённо, CompileCheckers паникует при неполном файле цели ⇒ на канон-вопрос «заработает ли пара, которой в репо НЕТ, без правки Go» ответ сегодня НЕТ — дыра в ратифицированной «ФАЗЕ 2 ОБЩНОСТИ » (D39.64), и она не про язык, а про строку эмбеда. Решить форму: embed data/* (и как манифест фолдится в EmbeddedVersion, чтобы НЕ перекупать чужие пары) против явного списка как осознанного гейта полноты данных цели оркестратор → бэкенд когда-нибудь (триггер: первая новая целевая пара; учтён в реестре 108) отдельное решение D39.91, EFFORT_HANDLE Д6, D39.64
116 Порог классификатора «6/6» ратифицирован для ОДНОГО вызова, не для выборки — и на рекомендованном low риг N=5 КРАСНЫЙ: 4/5 (Д8 отчёта). Контракт обязан стать выборочным («≥4/5 при N=5» или иная форма — решение) ДО применения (б) к любому конфигу, иначе рекомендация low противоречит собственному приёмочному числу. Честная граница чисел (D39.86, подтверждена приёмкой по сырью): 2 из 6 термов (元石/灵泉) стоят дословно в промпте классификатора = припоминание; падение low — ровно по дискриминирующему подмножеству (1/4 против 4/4); единственный промах — вызов на 91 completion-токене (модель не подумала), уровень ни при чём 02.08 вечер: рекомендация подана владельцу — «≥4/5 прогонов N=5 достигают 6/6» (альтернатива жёстче: 4/4 по дискриминирующему подмножеству без термов-припоминаний); ждёт слова владелец → оркестратор скоро (112 уже санкционирована — порог не должен отстать) пере-ратификация порога, $0 D39.91, EFFORT_HANDLE Д8, D39.86
108 Реестр ЗАГЕЙЧЕННЫХ ТРИГГЕРОВ + норма закрытия «по нужности». ⚠ Первый жилец реестра, найденный тем же лендингом: сиблинг-угроза экрана целевого языка — выход на языке, БЛИЗКОМ к целевому (украинский/болгарский для ru): ни одного события не наблюдалось, но если появится, дискриминатор — плотность РУССКО-ЭКСКЛЮЗИВНЫХ букв (ы/э/ё) НИЖЕ ожидания, а НЕ замыкание алфавита (EFFORT_HANDLE §5.4 шаг 8). Шесть остальных реопенов живут только в телах D-нот и не имеют места, где их поднимут: МАСШТАБ (uniformity-пасс D12 · эмбеддинг A7/D2 «реопен = измеренный recall-разрыв, только batch-time лейн» · STITCH «бюджет ИЛИ измеренный эффект размера инъекции» · канон-пин серий) · вторая пара живьём (C-триггер softsign-decl · автономная Decl-эмиссия) · вторая книга того же жанра (жанровый shared-слой) · первая traditional-книга (probe-литералы 时辰/千万/数十万 цельным дата-батчем) · появление Go-кода платформы (go.work — ⚠ platform/go.mod УЖЕ заведён, триггер наступил) · перед стройкой fix-8 (ёлочный экстрактор атрибуции + корпус-замер). +Два жильца приёмки D39.91: Д5 — enum эффорта провайдер-слеп (medium на DeepSeek не определён, max/xhigh недостижимы; пер-модельную таблицу решено НЕ строить — механизм без носителя качества/денег, misconfig ограничен бюджетами и назван в доккомменте ValidReasoningEffort; триггер: первый живой инцидент кривого поведения уровня на проводе) · Д9 — аддитивные провайдеры отказываются бэнк/repair-гейтам, блок не несёт reasoning_max_tokens (fail-closed в лоадере; триггер: первая потребность гейта в аддитивной модели). +Вахта D39.92: вендор анонсировал смену МАППИНГА эффорта deepseek-v4-pro «early August 2026» ⇒ квирк 3а («low→high, эффорт не настраивается») может устареть (триггер: аномалия редакторского арма ИЛИ дата > 05.08 ⇒ пере-проба маппинга + сверка changelog; абсорбция в 00-provider-quirks.md — полигоном). Норма D39.66 «каждое отложено обязано ТЕМ ЖЕ лендингом получить строку или явное закрытие» нарушена ≥6 раз ПОСЛЕ собственной ратификации, и класс потерь узкий — теряются именно ЗАГЕЙЧЕННЫЕ РЕОПЕНЫ. Лечение: короткий реестр триггер→что вернётся→источник, сверяемый на каждом переходе горизонта (горизонт расписан до Ф3, точки сверки известны заранее) · (D39.96) тулчейн go1.27 переключит x/text на таблицы Unicode 17.0.0 МОЛЧА (xTextVersion пинит go.mod-строку, не таблицы) — триггер: любое движение тулчейна к 1.27 ⇒ строка 119 ПЕРВОЙ · (D39.96) CI-воркфлоу Forgejo (удалёнка 10.0.3, раннер не подтверждён; решение владельца 03.08 — не писать) — триггер: появление раннера ⇒ файл workflow; до того точка входа make battery оркестратор скоро ($0, гигиена трекера) завести реестр + сверку в норму лендинга D39.66, D39.90
109 Продуктовые требования БЕЗ строки-носителя (сверка 02.08): ПТ-6 структурные традиции целевого языка (короткие zh-абзацы → читаемые ru-структуры) — держится только редакторскими мандатами в пар-промптах, поверхности измерения нет, в составе Ф2-гейтов (52) структуры абзацев нет · ПТ-7 «слабый оригинал: подправлять художественно или быть верным» — вопрос владельца, не заведён даже в блоке «висит на владельце»; после ответа: режим параметром запуска (данные, не ветка Go) + мандат в промпте + гейт «улучшение vs отсебятина» · ПТ-22 продуктовый ИНТЕЙК настроек (сегодня = рукописный book.yaml; частично покрыт 67 в части «версия исходника») · ПТ-10 сам механизм веб-фетча (tool-calling, провенанс/кэш добытого, инжект под правилом «книга = недоверенные данные») — есть только гейт безопасности 70. Гигиена реестра тем же касанием: ПТ-24 не проставлена 101, ПТ-1/ПТ-11 не проставлена 105, ПТ-2 не проставлены 46 и 34а оркестратор/владелец скоро ($0 — расписать носители) завести строки/вопросы → диспозиции D39.90, product-requirements
110 Детектор повторов лемм / защита авторских рефренов (04-unhappy-paths.md:97,130 п.5): $0-минимум исполнен промптом (editor.md, пакет-чекеров 02.08), механизм явно не строился — «нет размеченного класса; связка с alignment/Bertalign». Строки-носителя не было; предмет живой, потому что отличить дефектный повтор от авторского рефрена без выравнивания нельзя бэкенд/полигон когда-нибудь (с корпусом пилота, строка 85) размеченный класс → решение 04-unhappy §5, D39.90
111 Дубль ключа пар-файла: фикс накрыл половину. D39.82 закрыл строку 53 через putUniqueDC в parseDCCheckers, но генерик-парсер категорий parseCategoryRows (internal/lang/langpack.go:806-826, строка cats[f[0]][f[1]] = val) по-прежнему МОЛЧА last-wins — а якорь техдолга указывал именно на него. Пар-данные с опечаткой-дублем тихо теряют первую строку бэкенд когда-нибудь (малое касание, с любой правкой langpack) fail-loud + тест 13-tech-debt-anchors, D39.82, D39.90
118 tools/go.mod — РЕШЕНИЕ ПРИНЯТО (D39.97 п.4): строить отдельным малым паком. cmd/tmvet+internal/archguard → отдельный модуль (backend/tools/); make battery гоняет оба модуля; tool-директива Go 1.24 НЕ решает (MVS общий). Выигрыш: бамп инструментов физически не двигает x/net/x/text. Sqlite 1.55 остаётся (D39.97 п.4) бэкенд скоро (до следующего бампа зависимостей) малый пак по D39.97 п.4 D39.96 п.6, D39.97
119 x/text-детерминизм: вердикт-несущие вызовы НЕ свёрнуты в версии (находки-5/6 приёмки). SanitizerVersion не сворачивает ничего x/text-ного, а detectCJKLeak зависит от width.Fold (sanitizer.go:211,687) — смена x/text перевернула бы вердикт БЕЗ смены снапшота; ExportNormalize меняет экспортные байты вне хешей (sanitizer.go:709); xTextVersion пинит строку go.mod, НЕ скомпилированные таблицы — тулчейн go1.27 переключит x/text на Unicode 17.0.0 МОЛЧА (tables17.0.0.go //go:build go1.27; жилец реестра 108). Делать: явные версии-свёртки + механическую сверку «таблицы↔константа» вместо совпадения бэкенд скоро правка версий-свёрток + тест D39.96 п.6, отчёт §5 находки-5/6
120 buildCheckers жёстко берёт lang.Load(root,"zh","ru"), бейзлайны ключуются по классу, не по паре (§7-8) — приезд ja-ru требует правки Go, против мандата общности §0.1. Родня строки 115 (явный embed-список целей) — брать одним касанием бэкенд скоро правка Go + тест на паре-которой-нет D39.96 п.6, отчёт §7-8
121 archguard v2 (посадки приёмки D39.96 + §7-12/13 + §7-9). ⚠ Пункты (0а)/(0б) — РЕГРЕССИЯ против снесённого байт-гарда; дофикс ИСПОЛНЕН и принят D39.97 — (0а)/(0б)/(а) ЗАКРЫТЫ, плюс блокер type-param, ось имени и ложное срабатывание сверх промта; остаток строки — (б)/(в)/(г)/(д). (0а) egressseam пропускает пакетную llm.Complete(...): nil-Selections → молчаливый выход (archguard.go:240-242; фикс — fallback на Uses); (0б) пропускает интерфейс с llm-типами внутри композита (Complete(ctx, []llm.LLMRequest)…touchesPkg не рекурсивен, :79-82); старый регекс .Complete( ловил обе формы; комменты «cannot be hidden» (:250-253 и фикстура) фальсифицированы — переписать честно; (а) runRequestSeam обходит ТОЛЬКО *ast.CompositeLit (archguard.go:197): var r pipeline.Request+присваивание и new(pipeline.Request) проходят МОЛЧА — подтверждено на реконструкции: дыра ОБЩАЯ со старым гардом (не регрессия); фикс ~10 строк: симметрия ValueSpec/CallExpr со stage-сеамом + негативная фикстура, документирующая осознанные пропуски; (б) класс «встраивание · make+присваивание · дженерик-ноль» закрывается не свитчем, а ТИПОМ (нулевое значение config.Stage непригодно вне пакета); (в) политика build-тегов vet (сегодня default+live; чужой тег невидим — других в репо нет); (г) кандидат 4-й анализатор границы импортов — backend/README.md:3 заявляет «проверяет go list -deps», что не автоматизировано ничем; (д) семь осознанных пропусков после дофикса 03.08 (принят D39.97; фикстуры БЕЗ want — покраснеют, когда начнут ловиться): llm.Ask-класс · пара внутри named-обёртки · встраивание/make/generic-zero · internal/llm исключён целиком (второй провод внутри адаптеров ловится только ревью) · внешние тест-пакеты · рефлексия (статикой не закрывается) · файлы за третьим сборочным тегом — всё, что закрываемо, закрывается типовым швом (б), не свитчем бэкенд скоро (дешёвая половина а) правка анализатора + посадки D39.96 п.2/п.6, отчёт §7-9/12/13
122 Гигиена пака стандартов (не-блокеры приёмки). TestCheckerLabelsCandidates — ни одного ассерта (дизайн-REPL в одежде теста) · сообщение TestMemoryVersionPinsTheUnverifiedRenderRevision не различает «изменился рендер»/«изменилась нормализация» · Makefile: regex GO_MIN_VERSION пропускает go1.26.01.26.3 (патч-уровень не проверяется) · включить unconvert (1) и wastedassign (2) — дешевле уже включённых по собственному правилу конфига · .skips.log не в gitignore (прерванная battery оставляет мусор в дереве) · Fprint-исключение errcheck скоупить на cmd/ (сейчас весь модуль — будущий писатель файла экспорта получит молча съеденную ошибку) · w\.Write-исключение ключуется ИМЕНЕМ receiver-а вопреки собственному принципу конфига · miningstop-исключение глушит текстом весь файл — якорить на функцию · provenance-числа конфига дрейфуют от дерева (293/31/93 против 294/33/91; контрпример «все прод-Close — читатели»: chunktest/epub.go:51) · коммент c1 «echo mine unarmed» поправлен дофиксом 03.08 (снят) · инвариант-коммент httpllm.go:77 «zero wire bytes» — верен для полей пинга, неверен для бампа x/net, который их привёз (находка-4 D39.96) — переписать честно бэкенд когда-нибудь мелкие правки D39.96 п.6, отчёт §7-6/7, §9 хвост
123 Полигон: jieba==0.42.1 — build-time зависимость артефакта контраста eval/exp16/data/jieba_dict_general_zh.txt (пере-собран бэкенд-сессией 03.08, полный sha256 сошёлся с пином 16-bank-mining.md); дописать в манифест окружения полигона с пометкой «build-time, не runtime» полигон когда-нибудь строка манифеста D39.96 п.6, отчёт §7-4/§6

| 124 | Калибровка снапшота (вопрос владельца 04.08, разбор D39.97 п.5): нацеленность, не агрессивность. Три оси одним дизайн-паком: (а) недо-чувствительность — вердикт-несущие вызовы x/text не свёрнуты (вход: строка 119); (б) пере-охват — EmbeddedVersion фолдит все пары разом → пер-парный хеш (родня 115/120); (в) дешёвая перекупка: tmctl resnapshot --dry-run — байт-сверка тел по чекпойнтам (msgsContentHash), идентичные юниты пере-привязываются без пере-вызова, платятся только изменившиеся. «Поведенческий отпечаток вместо строки версии» отложен (пол ≠ доказательство) | бэкенд | когда-нибудь (перед МАСШТАБОМ — когда перекупки станут реальными деньгами) | дизайн-пак по D39.97 п.5 | D39.97 |

Оркестратор №12 — ревью фронта S2, приёмка дофикса и лендинг 02872b6, git-канон v2 по носителям (D39.98), 04.08

Приёмка S2 — адверсариальный воркфлоу (5 линз × скептики с ре-раном): батарея и виртуализация подтверждены исполнением, стек без дрифта, три дефекта (пар-слепой шрифтовой токен · выдуманный тип org с фабрикованной цитатой журнала · ключ рядов банка без учёта полисемии) вправлены дофиксом и залендены; три находки ревьюеров опровергнуты скептиками. Детали и остаточное — D39.98.

Дофикс archguard + проба приняты короткой приёмкой исполнением (батарея EXIT=0 · деньги дельта $0.000000 · две СВОИ посадки вне карты отчёта, включая method expression — форма отсутствовала и в таблице, и в пропусках, поймана; негативный контроль чист). CONFIRM владельца по @latest записан входом приёмки. Весь пак заленден семью pathspec-коммитами (e8d4ac0 конфиги · 5a97020 дефект-фиксы · b155da3 механика · cb368c0 бамп · 6356471 анализаторы · 5a81bff линт-инфра · 0e64efe live-проба); фронт коммитил параллельно (ece94ef) — pathspec исключил коллизию. Строки 107/112/117 закрыты; оба промта архивированы. Решения: tools/go.mod — строить (118, D39.97 п.4); вопрос владельца о снапшоте разобран — калибровка нацеленности вместо ослабления, три оси одним дизайн-паком (новая строка 124: недо-чувствительность 119 · пер-парный EmbeddedVersion · дешёвая перекупка байт-сверкой). Хвост httpllm.go:77 → 122.

Оркестратор №12 — приёмка пака «стандарты репо» ДВУМЯ пассами (D39.96), 03.08

Пасс-1 — шесть верификаторов по клеймам отчёта + 7 своих посадок (нашёл дыру requestseam). Владелец вскрыл метод-дефект пасса-1 («след отчёта»: проверялась истинность названных клеймов, не направление; два экспериментальных клейма приняты со слов; пять «решений владельца» ратифицированы со слов сессии) → пасс-2 из пяти АНТИ-СЛЕДОВЫХ линз: мнение-до-отчёта · поиск вне карты · реконструкция снесённых гардов из HEAD · аудит исключений линтера по коду · независимая репликация клеймов. Итог пасса-2: регрессия egress-паритета против снесённого байт-гарда (две исполнимые формы — снос в текущем виде нарушает букву промта) · мисхарактеризация «порядка HPACK-заголовков» в находке-4 (рандомен под обеими версиями; реальная дельта — только SETTINGS) · клейм x/text-эквивалентности реплицирован независимо · «не регрессия requestseam» подтверждена исполнением на реконструкции. Вердикт: пак принят по качеству кода, лендинг гейчен тремя решениями владельца (проба 117 · confirm пяти санкций · развилка этапа E) — D39.96 п.7. Урок закреплён нормой «анти-паттерны приёмки» в ORCHESTRATOR_SESSION_PROMPT.md. Отчёт с ревью-шапкой — archive/reports/REPO_STANDARDS_2026-08-03.md.

Оркестратор №11 — ЗАКРЫТИЕ СЕССИИ И ПЕРЕДАЧА №12 (D39.94), 02.08

Итог сессии: приёмка пака ручки эффорта исполнением — принят, заленден 553f1a3, строка 104 закрыта (D39.91); решения владельца ратифицированы: 46 → closed-set «не тот язык» изолированным пакетом с именованными причинами (D39.92 п.1 + D39.93), 107 → санкция целиком, промт BACKEND_REPO_STANDARDS_SESSION_PROMPT.md выдан, 112 → санкция (этап 0 промта); вендор-сверка DeepSeek: 0731 не деградация, а смена политики дефолта thinking=high; вахта на смену маппинга v4-pro (реестр 108). Преемнику: приёмка пака стандартов + выдача промта экрана 46. На владельце: 116 · строка 5 · мини-проба 44 · подпись шага 6 по 46. Очередь: 97 строк · «скоро» 15 · блокеров 0. Пост-скриптум закрытия: 0d1c08f — коммит START_PROMT.MD ПО ЯВНОМУ СЛОВУ владельца (разовое исключение из гардрейла, прекоммит-гейт обойдён --no-verify осознанно; правило «не коммитить» в силе); V5-п.2 из диффа уже разобран как ПТ-23, невидимых требований нет. Второй речек владельца («перечитай онбординг») добил хвосты: строка 74 закрыта (её буква «закрывается приёмкой пака» исполнилась в D39.91), промт EFFORT_HANDLE заархивирован, карта README и буллеты Курс/Горизонт/Стек освежены — D39.95; очередь после закрытия 74 — 96 строк.

Оркестратор №11 — РЕШЕНИЯ ВЛАДЕЛЬЦА ПО 46/107/112 РАТИФИЦИРОВАНЫ, ПРОМТ СТАНДАРТОВ ВЫДАН, ВЕНДОР-СВЕРКА DEEPSEEK (D39.92), 02.08

Владелец: 46 — пере-постановка closed-set («вернуло не тот язык, что просили», LID только запасной флаггер, проверку изолировать) — ресёрч бэкендеров ЗАПИСАН (§5.15.3 отчёта EFFORT_HANDLE) и отвечает постановке; два расхождения замером (гарантия FPR≤0.1% не покупается на n=114 — порог константой-контрактом; L2/L4 отвергнуты числами этой книги, реопен через реестр 108), слой-0 (полоса длин) — добавить замером на фикстуре 113. 107 — САНКЦИЯ целиком: CI+линтер+бамп x/net и библиотек, «осторожно, затем полностью», анти-хак-правило; выдан BACKEND_REPO_STANDARDS_SESSION_PROMPT.md (этап 0 = строка 112 · A замер · B состав · C Makefile/CI · D бамп с живой пробой ≤$0.50 · E гарды→analyzer, паритет 12 посадок, Д7). 112 — САНКЦИЯ (перекупка принята). Вендор-сверка по правилу 10.07: 0731 = офиц. релиз flash, бенчи вверх — «модель хуже» интернет НЕ подтверждает, наш отказ = смена ПОЛИТИКИ ДЕФОЛТА thinking=high на плотном хане; ⚠ анонс смены маппинга эффорта v4-pro «early August 2026» — вахта в реестре 108. Миграция черновика — замер по слову владельца, не решение. Открыто на владельце: 116 (рекомендация «≥4/5 при N=5» подана) · строка 5 (вытащить находки прерванного захода или пере-запуск $1.20) · подпись шага 6 по 46.

Оркестратор №11 — ПРИЁМКА ПАКА РУЧКИ ЭФФОРТА: ПРИНЯТ И ЗАЛЕНДЕН (D39.91), 02.08

Задача №1 хендоффа исполнена целиком, всё исполнением: батарея с фрозен-числами пере-прогнана (5/5 совпали, голден без пере-захвата), деньги пере-выведены вторым путём из сырья (леджер $0.045095 ≡ независимый usage×цены ≡ Σ request_log, дельта $0.000000, decode/estimated 0), адверсариал — пять НЕЗАВИСИМЫХ посадок в гарды (алиас-литерал · []cfg.Stage{{…}} · hoisted Request · var · new()) все CAUGHT, N=5 сверен с classifier-6of6-{low,high}.json побайтно (low 4/5 $0.001016 · high 5/5 $0.002335 · ×2.298 · промах = 91 ток., 1/4 дискриминирующих). Обе девиации строки 104 РАТИФИЦИРОВАНЫ (repair-ключ свой — подтверждён по пяти шиппинг-конфигам; ThinksOnWire — ровно случай «ключ отсутствует», провод не менялся). Две находки приёмки: метка «$0.031639 (flash)» врёт — это flash+pro черновой волны (flash-only $0.021289; суммы верны; скопировано и в D39.90 п.2) · стейл-доккоммент capability.go:78. Хеш-клейм «8e4495006b978ed4 в обе стороны» невоспроизводим (старая форма удалена) — принят по эквивалентности. Код: 553f1a3 (13 файлов backend/, pathspec; чужое — фронт живой, START_PROMT.MD — не тронуто). Отложки Д4Д9 → носители тем же лендингом: 114 · 115 · 116 · реестр 108 (+Д5/Д9) · 107 (+Д7); гейт строки 44 наступил — пере-диспозиционирована. Сверка §5.4 отчёта ПУНКТАМИ — потерь сжатия НЕТ (шаг 3 уже исполнен №10 в теле строки 46). Очередь скриптом: 97 строк · «скоро» 15 · блокеров 0.

Оркестратор №10 — ЗАКРЫТИЕ СЕССИИ И ПЕРЕДАЧА №11 (D39.90), 02.08

Задача №1 преемника — приёмка бэкенд-пака 104/46/16 (отчёт закоммичен с баннером «коммит ≠ ратификация», код В ДЕРЕВЕ незакоммичен — не чистить). Главный технический результат дня: проба банка на low ЗЕЛЁНАЯ — терминолог 4/5 батчей stop, consolidated 72, против 1/5 и 1 терма из 81 на вендор-дефолте high; весь заход $0.045095 из $0.10, леджер ≡ независимому пересчёту ДО НУЛЯ; провод вскрыт (35 тел, reasoning_effort:"low" во всех, ключей thinking ноль) ⇒ гардрейл DeepSeek доказан проводом.low стену не убирает, а разрежает (упавший батч: completion=7999, reasoning=7999). Строка 46 переоценена в МЕНЬШУЮ сторону замером: боевой гейт уже ловит 18 из 20, остаточная дыра 0.18%, но второй рубеж (санитайзер) на черновике не стоит вовсе из-за позиционного isFinal — и тем же isFinal глушатся латинный линт, флаггер голоса и глоссарный пост-чек. Развилка (а)/(б)/(в) — на владельце. Строка 16 закрыта владельцем как неуспешная на этом этапе, редакторская волна снова не гонялась ⇒ оси голоса без данных. Банк-ресёрч запущен и досрочно закрыт владельцем, артефакта в дереве НЕТ — находки не сохранены; пере-запуск подрезанным скоупом (держать A/B1/B3, свернуть B2, отложить C; потолок $1.20). Дыры трекера заведены строками 106111, снято расхождение 74↔44, уточнён гейт 93; четыре ложных «долга» сняты как закрытые решениями (резолвер слоя 7 · чистый детектор · 36б · полярность). Владельцу подняты в решение форма архитектурных гардов и конвенции репо (строка 107): намерение synthetic_stage_seam_test.go верное и окупилось (7 пойманных обходов), дом неверный — analyzer на x/tools/go/analysis вместо самописного обхода; .golangci.yml/Makefile/CI в репо нет вовсе, первый шаг — $0-замер объёма находок.

Оркестратор №10 — АРБИТРАЖ БАНКА: гипотеза владельца о консилиуме принята к ПРОВЕРКЕ, промт выдан (D39.89), 02.08

Владелец поднял банк как центральную ценность и предложил для перевода термов «консилиум без голоса» со скорами уверенности от моделей, с оговоркой про слом стиля/системы соседних термов; отдельно потребовал в промте секцию рекомендованных дальнейших алгоритмов и критики текущего кода. Разобрано как гипотеза на проверку, не как ТЗ. Ключевое: трек НЕ новый — маршрут «второе мнение» ратифицирован (D39.69 закрыл стройку, D39.70 Q2 санкционировал полигон-замер, строка 5), поэтому Q2 РАСШИРЕН четырьмя новыми вопросами вместо дубля. Три наших замера уже бьют по наивной форме гипотезы и вписаны в промт приорами: судья = катастроф-экран, а не ранжировщик (D39.46) · канал отказа роли нестабилен (⟦TM-NO-DST⟧ размах 0.375, выдумывание dst 7782%, D39.50) · согласие прогонов слабое (Жаккар 0.0770.40, D39.50). Несущее возражение оркестратора: единица арбитража обязана быть КЛАСТЕРОМ, а не строкой — по-терминный argmax возвращает классом ровно тот дефект, который вылечен со-батчингом серий (D39.65 стр.21), а Neighbours (единственный межстрочный сигнал ScoreVariants) работает только при уже существующей подписи, которой у автономного банка нет. Экономическая рамка, вписанная числами: арбитраж платится раз на книгу и насыщается по числу различных термов ($0.0060.013/проход), инжект — на каждом чанке каждой волны каждой роли (memory.go:523) ⇒ расточительность законна в арбитраже и запрещена в инжекте. Промт BANK_ARBITRATION_RESEARCH_SESSION_PROMPT.md: работы A (критика кода, $0) · B (голд → калибровка уверенности → формы консилиума, ≤$1.40) · C (инжект/фетч, ≤$0.60) · D (рекомендации тремя корзинами, $0); потолок $2.00, пре-регистрация каждой пробы, легитимные исходы «закрыть по нужности» объявлены заранее. ⚠ Названы коллизии: backend/ живая, coldrun-a — эталон на чтение, coldrun-b — стенд живой сессии, валидный базлайн качества банка = coldrun-a (в coldrun-b терминолог сломан транспортом). Запуск — по слову владельца.

Оркестратор №10 — coldrun-b ПРИНЯТ: блокер 0731 вскрыт до корня, развилка 74 подана владельцу числами (D39.86), 02.08

Приёмка первой задачи хендоффа №9→№10. Пере-проверено исполнением, а не чтением: батарея независимо зелёная (build/vet/vet -tags live · -race -count=1 все пакеты ok · парити EXACT · labels 5/5 фрозен · голден PASS · 5 новых тестов PASS); деньги пере-выведены мной из сырья (sqlite3 read-only, пересчёт провайдерских usage по вендор-ценам мимо ledger.CostUSD): леджер $0.114378 ≡ Σ чекпойнтов во всех ЧЕТЫРЁХ проектах до 6-го знака, независимый путь $0.099267, разница $0.015111 = 3 декод-фейла (строка 78 живьём); все несущие счётчики пере-выведены из chunk_status/request_log и сошлись; строка BANKNOTE на боевой БД coldrun-a независимо воспроизвела lines=182 over 18/20 · parse-fail 3 при неизменном sha256 БД. Плюс 9-осевой refute-воркфлоу (скептик + независимый арбитр на каждую ось): 6 CONFIRMED, 2 PARTIALLY, 0 REFUTED. Отчёт принят; тело не переписано, все поправки — в ревю-шапке (10 пунктов). Несущие поправки: посылка об амендменте гейта неверна ТОЛЬКО для стадийной ручки, для бэнк-ролей ЖИВА ⇒ (б) = правка Go · «нет пути восстановления вообще» слишком сильно (ре-ген вылечил 1/5), НО вылечил не бюджет — победивший вызов уложился НИЖЕ базового потолка ⇒ лечит стохастика, а не потолок · волна (б) = $0.028195, не $0.0257 · вариант (г) ≈×8.9, не ×3.1 · Д1 недооценён (санитайзер условен тройкой, и TargetActive() только для ru ⇒ для не-русской цели рубежа нет вовсе; худший исход — тихо отгруженный релейный перевод zh→en→ru) · Д2 назван на 2/3 (третий шов repair.go:384 с доккомментом, декларирующим фальсифицированную посылку) · строка VOICE говорит «сконфигурирован», а не «отработал» ⇒ 13б без данных. Вендор-факты, которых в отчёте не было (пере-сняты мной, HTTP 200): дефолт эффорта = high; маппинг per-модельный — у pro low→high (рычага нет), и вендор объявил смену маппинга pro «early August 2026». experiments/00-provider-quirks.md обновлён (п.3а и п.10; отозван хвост «движок эту ручку слать не может» — может). Ратифицирована норма прецедента: ратифицированный гардрейл можно ПРОБОВАТЬ только карантином (копия конфига вне git, боевой файл и гейт не тронуты, вопрос релеем владельца), и результат = ЗАМЕР, не разрешение шипить. НА ВЛАДЕЛЬЦЕ: развилка строки 74 — платных прогонов до его слова нет. — РАЗВИЛКА РЕШЕНА тем же днём (D39.87): вариант (б); промт выдан после 4-линзового холодного аудита с независимым арбитражем (3 блокера + 15 major вправлены ДО выдачи).

ИНЦИДЕНТ КООРДИНАЦИИ ЗАКРЫТ (D39.88): git-протокол переведён в механику (pathspec-коммит, чужую зону не трогает никто) и вписан в CLAUDE.md, промт фронта и platform/README.md. Хроника: дважды коммиты фронт-сессии (e9a6bb2, b98afb5) унесли мою застейдженную работу под своим сообщением — общий индекс, ровно класс инцидента 77dd9b8: в e9a6bb2 уехал git mv архивации промта, в b98afb5 — все четыре дока лендинга D39.87. Содержимое цело и проверено (git show HEAD: по каждому файлу), потеряна только атрибуция коммитов; history-rewrite не делаю — запрещён при живых параллельных сессиях. Смягчение с моей стороны: стейдж и коммит одной атомарной командой.

Оркестратор №9 — ШОВ ДВИЖОК↔ПЛАТФОРМА: РЕСЁРЧ ЗАПИСАН, НАПРАВЛЕНИЕ РАТИФИЦИРОВАНО (D39.85), 02.08

По слову владельца («двигаемся в сторону стандарта индустрии, запиши что узнал аргументированно»). НОВЫЙ research/23-engine-platform-seam.md — 5-агентный воркфлоу по первоисточникам (BEP/buildx/terraform/CI-раннеры · Go-модули с ЖИВЫМИ сборками internal-правил · SQLite-граница · репо-инвентаризация, арбитраж 9/9 подтверждён). Форма шва: версионированный NDJSON-поток событий движка → материализация воркер-обёрткой в Postgres (Reporting Database, НЕ полный CQRS) → SSE и чтения только из Postgres; артефакты границ стадий; status --json = пост-фактум/ре-синк. Анти-паттерны запрещены: живой SQLite платформой не читать (локи+checkpoint starvation+схемная связка+единодушие индустрии) · HTTP в движок не тащить (движок эмитит — адаптер пушит) · read-пакет из ядра не выносить (NewReadOnlyRunner тянет 12/14 internal-пакетов — тонкого среза нет) · неверсионированный JSON не эмитить. Модули: sibling-структура подтверждена (честный аргумент — изоляция MVS-графа = детерминизм); ревью-гард: пути Go-модулей платформы/фронта не вкладывать под путь движка. НОВАЯ строка 103 (эмиттер со словарём; не хватает только словаря-enum, version-хендшейка и события потолка); входы контракта 95 дополнены тройкой поток/артефакты/ре-синк.

Оркестратор №9 — СТЕК ФРОНТА/ПЛАТФОРМЫ ПРИНЯТ И ЗАЛЕНДЕН, ВОСЕМЬ РЕШЕНИЙ ВЛАДЕЛЬЦА РАТИФИЦИРОВАНЫ (D39.84), 02.08

По релею отчёта фронт-сессии (стек-исследование закрыто: 15 агентов, артефакты frontend/docs/STACK_DECISIONS.md + FRONTEND_SESSION_PROMPT.md S0S7). Приёмка: 10-агентный refute-воркфлоу — все несущие бэкенд-утверждения записки CONFIRMED по коду, 8/8 веб-пинов подтверждены первоисточниками; 4 уточнения точности (гранулярность draft-only · кап 20 = stdout-only · «4276» не выводится из артефактов — принято как замер · якорь export.go = internal/pipeline). Ратифицированы 8 решений владельца (SEO Google-only · выравнивание по единицам экспорта, --pairs готов · подсветка блок/глава без спанов · стоп-на-банке = параметр запуска, --verify-bank готов · денег в MVP-UI нет · PWA-первый · вид = замеры референса · одна сессия кука/Bearer) + ПТ-34 (перевод НИКОГДА на индексируемом URL) + переформулировка ПТ-21 (якорь = edit-unit, не чанк). Работы движка = НОВЫЕ строки 99102 (пофазный прогресс · манифест глав/чанков · машиночитаемая таблица подписи · внешний trace-контекст), все проверены кодом. Противоречие «демон в backend» разрешено сессией верно — D39.81 удержан. Две ловушки подтверждены и заведены входами дизайна (строка 95 и П-1: подпись ≠ UPDATE; read-путь не мигрирует схему). Зоны frontend/+platform/ залендены. Зонные бэклоги (решение владельца при лендинге): фронт и платформа ведут свои — frontend/docs/BACKLOG.md (Ф-1..Ф-6) · platform/BACKLOG.md (П-1..П-4, туда переехали строки 96/97); единый бэклог фронт/платформа-строк больше не принимает.

Оркестратор №9 — РЕ-ПРОБА И ОТЛАДОЧНЫЙ ХОЛОДНЫЙ ПРОГОН САНКЦИОНИРОВАНЫ, ПРОМТ ВЫДАН (D39.83), 02.08

По слову владельца («надо идти и делать холодный прогон с контролем бэкенда; цель — отладка»). Промт BACKEND_COLDRUN_DEBUG_SESSION_PROMPT.md: фаза A — верификация готовности сессией ($0: батарея · сквозной fake-путь · чек-лист наблюдаемости с правом чинить дыры) → фаза B — ре-проба flash по строке 74 (≤$0.15, боевая форма через live-риг; пограничные числа = НЕ здоров → развилка владельцу; ручка #77 сама не включается) → фаза C — холодный прогон coldrun-b с автобанком (≤$5, ступени 2+8 глав в ОДНОЙ БД, банк-пауза как инспекция сессии по D39.77, намеренный стоп+резюм, наблюдения per-узел вкл. цену строки 16 и голос-оси для 13б). Дебаг-дисциплина: фикс только мультиязычный с батареей, архитектурная дыра = СТОП+пинг. Холодный аудит промта агентом: 3 major вправлены ДО выдачи (budget_usd не существует → ceilings.book_usd/day_usd с миной day_usd 0.25 эталона · у ре-пробы не было носителя боевой формы → live-риг + кандидаты терминолога из coldrun-a · механика смока/добора и легитимный re-pin/подпороговая перекупка — против ложного СТОПа) + 4 minor. Вне скоупа: Q2/Q7-полигон-слоты, судья Ф2, DC7-остаток (требует сидового прогона). Строка 74 → в работе.

Оркестратор №9 — ФРОНТ ОТКРЫТ: SaaS РАТИФИЦИРОВАН, БЭКЕНД-РАБОТЫ ПОЛУЧИЛИ СТРОКИ (D39.81), 02.08

По релею фронт-записки (все техутверждения сверены кодом: HTTP-слоя нет · рамка research/16:13 дословна · ratelimit.go:11 mistral ~48% · EXCLUSIVE flock store.go:43 · банк-пауза --verify-bank есть). Ратифицировано: продукт = SaaS (решение владельца) · инвариант непротекания конвейера в интерфейс (продуктовые статусы «загрузка→разбор→перевод→подпись банка→финал→готово»; ревью-вопрос «сменится стадия — придётся ли править фронт?») · процессная модель (движок = процесс-на-прогон, сервер в backend НЕ пишется — HTTP/SSE в platform/). Строки: НОВЫЕ 95 (контракт API v0 — единственная ранняя вставка, $0) · 96 (platform-обвязка) · 97 (глобальный брокер рейт-лимитов, гейт «до второго пользователя»); перевесы 49 (annot-v1 → критический путь фронта) и 94 (стоп/лимит — к подключению). Реестр: ПТ-33 (непротекание) + SaaS в ПТ-23. Поправки записке: реестр требований, который она «предлагает завести», построен вчера (D39.80), H7/H8/H10 уже несла строка 94, ETA — строка 54.

Оркестратор №9 — ОНБОРДИНГ-ОВЕРХОЛ ДОКОВ ПО ФИДБЕКУ НОВОЙ СЕССИИ (D39.80), 02.08

По санкции владельца («делаем максимально по красоте»). Триггер: две записки фронт-сессии — все проверяемые утверждения подтверждены исполнением, включая два моих (README не входил в процедуру лендинга — застрял на D39.77 с мёртвой ссылкой; статус-дубль в README разошёлся с CURRENT-STATE). Сделано: README = чистая карта без чисел головы и статуса (единственный носитель состояния — CURRENT-STATE здесь) · НОВЫЕ product-requirements.md (реестр ПТ-1..ПТ-32 (+25а) из START_PROMT V0V5 + H6H18, статусы сверены кодом; SEO/прескрин/лимит/стоп получили носителей — строка 94, дописки 71/90; строка 30в закрыта) и glossary.md · норма лендинга «двигаешь файлы — обнови README тем же коммитом» · бэклог: ID стабильны навсегда + жирные лиды · puml → backend/docs/ (зонный сдвиг: диаграмма правится с кодом; 30а перевешена на бэкенд) · починены ВСЕ битые относительные ссылки архива + норма глубины в archive/README · роль «Фронт» и глоссарий в онбординг-пути CLAUDE.md · счётчик ролей канонизирован. Тем же заходом смолпак-промт прошёл ВТОРОЙ холодный аудит (агент-симуляция, 16 якорей исполнением): 3 major вправлены (голден-ожидание при боевых Go-правках сформулировано честно · факт-состояние BANK-FULL.tsv/note-полей сида дописано против ложного СТОПа · дискриминатор боевого пути F4 получил констрейнт «без магических строк провайдеров в Go») + 6 миноров (границы скоупа 36а/分之, множество book.yaml, адрес секции отчёта и др.).

Оркестратор №9 + бэкенд — СТОПГЭП ЗАЛЕНДЕН, FINDING-1 ЗАКРЫТ (D39.77), 02.08

Мини-касание принято: мн. парадигма «Винного червя» в сиде (формы «Фан Юань» там уже были с 24.07 — честное уточнение сессии), гвоздь Линь/линий + позитив-тест «Фан Юаню» (2 тест-файла, ядро/голден не тронуты). Находка сессии: coldrun был СИДЛЕСС ⇒ прод-разрыв ещё меньше отчётного. Политика подписи уточнена (D39.77): банк — автономен без подписи (в силе); в сиде подпись владельца только за ВКУСОВЫМИ полями, детерминированная морфология — приёмкой оркестратора. Строка 91 закрыта.

Оркестратор №9 + бэкенд + владелец — SOFTSIGN-DECL: ЗАМЕР ПРИНЯТ, РЕШЕНИЯ ПРИНЯТЫ (D39.76), 02.08

Отчёт: archive/reports/SOFTSIGN_DECL_FINDING1_2026-08-02.md (ревью-шапка с решениями; харнесс eval/softsign-decl/ заленден). «Замер до стройки» отработал: наивное «ь» похоронено глобально, anchor-gated сломан адверсариалом самой сессии (перенос коллизии; чистота книги — транслит-везение), промах мал и локализован. Решено: стопгэп A (сид-формы «Винный червь»+«Фан Юань», формы пишет сессия, подпись владельца) + гвоздь Линь/линий + прямой тест «Фан Юаню»; finding-1 закрывается на A; движковый C — загейченный триггер до второй пары. В ядро — ничего.

Оркестратор №9 + бэкенд — ФИКС-ПАК БАНКА ПРИНЯТ И ЗАЛЕНДЕН (D39.75), 02.08

Отчёт: archive/reports/BANK_FIXPACK_2026-08-02.md (ревью-шапка). 9/9 пунктов отработаны: 6 сделано (head-finality в данных · правдивый Batch-коммент+WARN · classify fail-loud+тесты · мутационные neuter-тесты · фикстура 4-серий · TokenizeLetters-консолидация, побочно закрывшая combmark-щель), 2 «не делать» с контрактом (voice×стеммер; Q5 уже в промптах с D39.45), 1 ОТКАЧЕН правильно — «ь» ловил бы коллизию Синь/синий (мандат самопроверки сработал: адверсариальный ревьюер сессии поймал до лендинга). Верификация: батарея зелёная, голден маскированно ПУСТ, 14/15 CONFIRMED. Строка 87 закрыта; finding-1 → строка 91 (владелец); плотность-граница → дописка 79. Очередь: ПАКЕТ-ЧЕКЕРОВ можно запускать.

Оркестратор №9 — АУДИТ tmp-РЕСЁРЧЕЙ 21/22 (D39.74): утерянного нет, два хвоста моего триажа добиты, 02.08

По вопросу владельца о ресёрчах соседних харнессов (/home/ubuntu/projects/tmp, 15 клонов): research/21 транспорт — 9 пунктов построено паками 12/13, вердикт «транспорт не трогаем» ратифицирован, GLM-overflow/prefill-continuation уже несены (59/74), Q7-квирки — только после вендор-сверки (правило стоит); research/22 домен — Q6 gating+repair построен паком-16, Problem-классы в 25, planning в 71. Хвосты пучков моего триажа добиты: Mistral-strip гейт → дописка 59 (латентен при single-shot wire; жив для канала B/multi-turn); halve-chunk-on-retry №7 — ОТКЛОНЁН явно (волны+чекпойнты+флор делают малоценным; реопен при упорах — строка 45).

Оркестратор №9 — РЕКОНСИЛЯЦИЯ ТРИАЖА СВИПА ЦЕЛИКОМ (D39.73), 02.08

По требованию владельца («что ещё проебал?»): механическая сверка всех 77 находок свипа D39.66 + рекомендаций пост-чека + фикс-листов приёмок D39.6471 против фактических носителей. Итог: 7/8 греп-кандидатов — ложные (носители на месте), реально выпали НА МОЁМ ТРИАЖЕ 5 позиций: ведро D (исправлено D39.72, строка 89) · идиоматика-словари → дописка 52 · Ф2-хвосты mvp (CometKiwi/Batch-API/llama-server/стриминг) → строка 90 · arity-полоса → дописка 55 · платный порог 6/6 → дописка 74. Решения самих сессий (D-цепочка) целы — их держал 951-позиционный свип с доказательствами; провал локализован в триаже оркестратора (~5% рекомендаций уронено), теперь сверено машинно.

Оркестратор №9 — ОСТАТКИ КАРТЫ D39.60 ПОЛУЧИЛИ НОСИТЕЛЯ (D39.72), 02.08

Аудит по вопросу владельца: из карты общности взято почти всё (П0П4 построены · П5=строка 35 · П6 отклонён · флаги=14 · остаток C=79/34), но ведро D («удалить», 12 сайтов) осталось без строки — мой пропуск против нормы D39.66. Заведена строка 89 (чистка ведра D + сверка ведра B), чекер-промт дополнен пунктом.

Оркестратор №9 — ФИКС-ПАК БАНКА ВЫДАН (D39.71), 02.08

По слову владельца («передать записку тем же бэкендерам»): промт BACKEND_BANK_FIXPACK_SESSION_PROMPT.md — 9 пунктов (строка 87 + Q5-промпт-инструкция), с вердикт-тройками на спорные и явной очерёдностью: фикс-пак первым, чекер-пак после лендинга (общие файлы). Остальные ответы §9 без бэкенд-работ: Q6/Q8 закрыты, Q1/Q4 не строим, Q3 — гейт Ф2.5, Q2/Q7 — полигон при ре-пробе 74.

Оркестратор №9 — ОТВЕТЫ ПО §9 РАТИФИЦИРОВАНЫ + КАНОН ЦЕЛЕЙ В CLAUDE.md (D39.70), 02.08

Q8 (книжные примеры classifier.md) санкционирован с нормой «специфика — модулями/данными, встраиваемыми чисто»; Q1Q7 делегированы «как лучше по исследованию» — диспозиции по рекомендациям (Q2/Q7 = полигон-слоты при ре-пробе 74; Q5 = промпт-инструкция в 87; Q6 = морфоклип, прозвища алиасами). Оценка series.go по запросу владельца: ядро по канонам; head_final-константа → в 87 (перенос в lang-script данные). «Цели и мерило» (6 пунктов) вписаны в CLAUDE.md на поправку владельца. Строка 88 закрыта.

Оркестратор №9 + бэкенд — КАЧЕСТВО БАНКА ПРИНЯТО И ЗАЛЕНДЕНО ОБОИМИ ЭТАПАМИ (D39.69), 02.08

Отчёт: archive/reports/BANK_QUALITY_DESIGN_2026-08-01.md (ревью-шапка обоих этапов). Процесс: этап 1 ратифицирован владельцем напрямую; этап 2 до чекеров (не стартовали — коллизий нет); отдельного отчёта стройки нет — компенсировано приёмкой исполнением. Верификация: тесты/парити/голден зелёные; голден 172/172 hex-only независимой маскировкой; «4 серии на живом BANK-FULL» воспроизведено независимо; 4-агентное адверсариальное ревью. Закрыты строки 36а/36в/27/84/73 (+feed_cap из 86); строки 5/18/80 перевязаны на замер/гейт; новые 87 (фикс-лист, несущее «ь» в decl_suffix) и 88 (вопросы Q1Q8, вкл. ⚠книжные каноны в classifier.md). Отступление стройки от дизайна по оси neuter ПРИНЯТО как улучшение (scoped-фолд по §6.2).

Оркестратор №9 — ДВА БЭКЕНД-ПРОМТА ВЫДАНЫ (D39.68): банк-качество (дизайн у бэкендеров) ∥ пакет-чекеров, 01.08

Хендофф по слову владельца («дизайна от тебя не жду — передай бэкендерам; главное правильные промты»): BACKEND_BANK_QUALITY_SESSION_PROMPT.md (этап 1 ресёрч+дизайн $0 → СТОП на ратификацию; этап 2 стройка по релею, после лендинга чекеров) и BACKEND_CHECKER_PACKAGE_SESSION_PROMPT.md (стройка: строка 25 целиком + 79; харнесс labels в git; Р2/Р4-контракты; голден-протокол вердикт-двигов). Оба несут НОВЫЕ обязательные блоки: глобальный критерий владельца дословно + МАНДАТ РЕВИЗИИ ПОСЫЛОК (свип собрал долг по «забыли», не по «надо ли» — каждый пункт получает вердикт-тройку посылка/нужность/форма, допустимый исход «не строить»).

Оркестратор №9 — ПОСТ-СВЕРКА НАХОДОК + ПЕРЕИМЕНОВАНИЕ КУРСА И ХИРУРГИЯ ОЧЕРЕДИ (D39.66-пост-сверка, D39.67), 01.08

Пост-сверка свипа адверсариально против кода: 23 пункта — 20 CONFIRMED (потеряно реально), 0 «передумали», 3 RESCOPE вправлены (чек-лист kana-алиасов построен · инъективность dst построена warning-only · механизм релиза гендер-твиста построен repin/rebill — остался протокол-документ). Якоря — в НОВОМ справочнике architecture/13-tech-debt-anchors.md (вынесен из архива решением владельца; НЕ трекер). Решения владельца (D39.67): курс переименован «автономность» → «КАЧЕСТВО банка»; отдельный мини-прогон растворён в ДОБОР ИДЕАЛА; после дизайн-пака — стройка банка ∥ пакет-чекеров (строка 25 → «скоро», $0-код при стоящих платных прогонах).

Оркестратор №9 — СВИП ПОЛНОТЫ ИСПОЛНЕН (D39.66): 951 обязательство проверено, 77 находок, потери возвращены в трекер, 01.08

По вопросу владельца «не потеряли ли запланированное на виражах» — 10-агентный $0-аудит: D-лог целиком · генеалогия пака-21 · ресёрчи 0122 + START_PROMT · 04-unhappy/06-реестр/02-mvp · хвосты 40 архив-отчётов · обратная проверка бэклога. Владелец был прав: главная потеря — корзина II пака-21 целиком (D39.62 послал «в П1/П2/П3», промт фазы-2 не включил) — возвращена в строку 25 полным перечнем; плюс резюме-слой памяти (R9/Q6), ja-преп B6, морфо-гейт рода C3, F4-бэкап, «гу»-средний-род, пилот-преп добор, мелкие решения владельца → новые строки 8086; ~18 дописок носителей; 6 явных закрытий; строка 30 закрыта как исполненная этим свипом. Норма впредь: каждое «отложено» в D-ноте обязано в том же лендинге получить строку бэклога или явное закрытие.

Оркестратор №9 + полигон — СЫРЬЁ АРКИ БАНКА + ПРОБЫ ФИКСОВ ПРИНЯТЫ (D39.65), 01.08

Отчёты: archive/reports/POLYGON_BANK_RAWMATERIAL_2026-08-01.md ($0, часть 2 §12.7 корректно пропущена без слова) и archive/reports/POLYGON_BANK_PROBES_2026-08-01.md ($0.027831/31 вызовов, два пути до 1e-6; ⚠ куплены сверх буквы промта — оговорка в шапке). Приёмка по слову владельца без пере-прогона оркестратора; внутренняя верификация отчётов — пре-регистрация, двойные пути счёта, слепые грейдеры, критик. Итог: строки 21/22 ЗАКРЫТЫ (нестабильность 43.3%; §C2-3 точна, но на холодном решает терминолог по KWIC 50/75 — веса не тюнить) · 36а/36в переведены в «дизайн с проверенными фиксами» (классификатор чинит 6/6 harm; со-батчинг серии детерминированно унифицирует) · Decl 142/142 null · ⚠ cap 8000 бьёт и терминолога — внесено в строку 74. Харнесс eval/bank_autonomy/ заленден; промт → архив. Следующий шаг курса — дизайн-пак арки автономности банка (строка 73, вход собран).

Оркестратор №9 + бэкенд — ОБЩНОСТЬ ФАЗА 2 ПРИНЯТА И ЗАЛЕНДЕНА (D39.64), 01.08

Отчёт: archive/reports/GENERALITY_PHASE2_2026-08-01.md (ревью-шапка). Приёмка исполнением: -race 14/14 · майнер-парити EXACT воспроизведён байт-в-байт · 7 приёмочных тестов PASS свежим прогоном · Ш-1 сверен независимой классификацией диффа голдена (не их маской): 172 строки = ровно 5 осей, вердикт/wire/stage_text — ноль · адверсариальное 6-агентное ревью — ни одно несущее утверждение не опровергнуто; байт-идентичность манифест-less пака доказана пробой HEAD-vs-дерево (langpack-v2-a28ed743c99c). Закрыты строки 72 (обе фазы общности) · 75 (ko-баг) · 76 (эмбед-плоскость) · 77 (ре-ген-ручка, дефолт 0) · 26 (translitInterjections) · 32 (ru-target долг слоя 7). Новые: строка 14 (4 data-флага §5 на подпись) · строка 79 (остаточные Cyrillic-хардкоды DC-чекеров). Ниты отчёта: флагов 9, не «10»; дрейф 4 line-номеров; «ратифицированный тест» segmentation — частично мёртвая ветка (блокер настоящий — контракт держат pipeline.go:839-848 + голден-фикстура); корпус labels/ для дефектов пака-21 на стенде ЕСТЬ — барьер = утраченный в scratch харнесс. Промт фазы-2 → архив.

Оркестратор №9 — АКТУАЛИЗАЦИЯ ДОКОВ по санкции владельца: хроника 2531.07 в новый слайс, шапки переписаны под голову D39.63, пять промтов в архив, 01.08

Санкция: «спилить лишнее, архивировать, ничего живого не потерять». Сделано: (1) PROGRESS 331→~160 строк — 37 закрытых записей (эры №7/№8 + лендинги D39.5458 + СТОП-запись общности) → новый слайс archive/PROGRESS-2026-07-25-31.md, указатели на местах вырезов; CURRENT-STATE переписан под голову D39.63 (сделано/курс/горизонт/стек/стоячие); (2) бэклог: строка 1 закрыта (D39.63), строка 3 снята (перекупок нет — D39.63), носители 12/13б поправлены; (3) CLAUDE.md и docs/README: статус-блоки переписаны (01.08, D1D39.63), активные промты = 3 + PACKAGE4-трекер; в гардрейл добавлен урок «слаг живой ≠ модель та же»; (4) D-лог: титул D1D39.63 + навигационная строка «карта покрывает до D39.28, голова — с хвоста»; (5) шапка 09-target: слой 7 «П1 в работе», актуализация-строка (пак-19, карта D39.60, фаза 2); (6) в архив с баннерами-исходами: промты пака-19, холодного прогона, общности-фазы-1, ToS-речека, Р6+P4; PACKAGE4 остался residual-трекером с дельтой «P4-хвост закрыт D39.61». Самопроверка — счёт строк вырезов = слайсу, фантом-гард D-ссылок, живость всех ссылок README/CLAUDE/PROGRESS, состав активных промтов (см. коммит).

Оркестратор №9 — Р2=значение, Р4=норма, реснапшот-фигура растворена посылкой владельца (D39.63), 01.08

Строка 1 (Р1Р4) закрыта целиком; контракт единиц передан фазе-2. Владелец оспорил посылку «один общий resnapshot» — прав: стендовый корпус одноразовый, перекупать нечего, следующий замер = свежий мини-прогон на новом стеке; фигура выродилась в дисциплину «не покупать замеров до лендинга фазы-2». Развилка 74 — «(в) ждать» по умолчанию, ре-проба перед следующим платным прогоном. Само-ревью промтов по вопросу владельца: три дыры закрыты (Р2-контракт бэкенду · параллельность/заморозка бинаря обоим · карта чтения полигону); параллельный запуск двух сессий безопасен.

Оркестратор №9 — ответы владельца по общности ратифицированы (D39.62), горизонт достроен, два промта выданы, 01.08

Q1 = П1 цель-шов санкционирован («главное бэкенд писать по умному»; заморозка D39.24 амендирована, носитель П1) · Q5 = пак-21 растворён · Q2/Q3 = механика оркестратора (resnapshot одним батчем после развилки 74; расщепление хеша пар-данных не делаем) · Q4 (Р2/Р4) — раскрыт владельцу, ждёт ответа (строка 1). Норма самопроверки («ВСЕГДА на важных, меньше на мелких») вписана в промт-нормы вместе с уроком D39.61 «вывод на агрегате до вскрытия единиц запрещён». Горизонт очереди достроен до Ф3 (шапка CURRENT-STATE). Промты: BACKEND_GENERALITY_PHASE2_SESSION_PROMPT.md ($0-код: П0П4 + шестёрка + 77/78; resnapshot только отдельным словом) · POLYGON_BANK_RAWMATERIAL_SESSION_PROMPT.md ($0-сырьё: строки 21/22 + аудит типов 36а; проб-пакет §12.7 — по слову владельца).

Оркестратор №9 + полигон — Р6+P4 ПРИНЯТ (D39.61): Р6 отрицателен, гейт верности D21 п.6 пройден; ⚠ DeepSeek сменил веса под слагом — развилка у владельца, 01.08

Отчёт: archive/reports/POLYGON_PROMPTLANG_ANTIECHO_2026-07-31.mdдействующая редакция выводов = §12 (после 15-агентного адверсариального саморевью сессии и докупки судейского хвоста по прямой санкции владельца; три вывода первой редакции отозваны самой сессией). Деньги: $0.433 = $0.1475 в потолке + $0.2855 санкционированного хвоста; мой независимый ре-ран spend.py совпал до 2.9e-06. Итоги: (1) вендор-катовер V4-Flash-0731 — боевая черновая форма покупает пустые ответы; сместился ДЕФОЛТНЫЙ эффорт (вендорская норма потолка для high/max — 384K против нашего флора 8000); развилка (а) флор-16000 / (б) явный эффорт / (в) ждать — подпись владельца, строка 74, до неё платные прогоны СТОП; (2) Р6 закрыт отрицательно — en-промпт не даёт ничего ни по одной детерминированной оси, боевые промпты остаются русскими; (3) гейт верности петли D21 п.6 пройден в ослабленной форме («цены верности у митигаций не обнаружено»; «митигации вернее» НЕ установлено — псевдо-репликация поймана саморевью); wiring отложен до предмета, новый сильнейший кандидат — префилл; (4) эхо на 0731 стохастично по вызову ⇒ ре-ген перед эскалацией ≈7.6× дешевле (строка 77); (5) леджер = нижняя граница денег (строка 78). Квирки синхронизированы с §12. Залендено: отчёт · quirks · харнесс eval/promptlang/.

Оркестратор №9 — РЕСЁРЧ ОБЩНОСТИ ФАЗА 1 ПРИНЯТ (D39.60): долг 149 сайтов/45 файлов, книго-ось чиста, план П0П5; СТОП — пять вопросов владельцу, 31.07

Короткая приёмка по норме 30.07: отчёт (archive/reports/GENERALITY_RESEARCH_2026-07-31.md) прочитан целиком, восемь несущих утверждений пере-проверены исполнением — все сошлись (вкл. побайтный повтор хеша пака a28ed743c99c и счёт 27/12 живых CJK-строк); два нита некритичны (счёт сайтов ExportNormalize, атрибуция Ш-1). Ратифицировано как карта (D39.60): вёдра A27/B6/C104/D12/E106 · заморозки З1З9 · актуальные якоря пака-21 (§8 отчёта — ссылки D39.39 устарели) · правило условного фолда §6.2. Новые строки: 75 (живой баг ko/Hangul → П2) · 76 (эмбед-плоскость без хеша → П0 первым). Строка 32 исправлена фактом (боевых call-site 6 и 2), Decl-находка уехала в арку банка (73). На владельце пять вопросов §12 с моими рекомендациями (в D39.60): П1 в арку = ДА · один общий resnapshot = ДА (но после развилки DeepSeek — D39.61, строка 74) · П6 = не сейчас · Р1Р4 = сократить до Р2+Р4 · пак-21 = растворить. Фаза 2 не начинается до ответов.

Оркестратор №9 — КУРС АМЕНДИРОВАН ВЛАДЕЛЬЦЕМ (D39.59): общность вперёд, автономность банка, спаренный полигон-пакет, 31.07

Три решения владельца: (1) общность вперёд — бэкенду выдан ресёрч инвентаризации языковой привязки, пак-21 отложен до его карты; (2) банк — курс на автономность (подпись опциональна; веб-фетч-вопрос признан не отвеченным пакетом-7 — пере-замер в арке автономности); (3) полигону — Р6 «язык промптов» + fidelity-хвост P4 анти-эхо (петля D21 п.6 с 09.07). Эхо-причина сведена по первоисточникам в D39.59: класс reasoning-моделей на плотном CJK, промпт-положение решает (0/29), языковой констрейнт инвертирует, язык промпта не исследован. Промты: BACKEND_GENERALITY_RESEARCH_SESSION_PROMPT.md · POLYGON_PROMPTLANG_ANTIECHO_SESSION_PROMPT.md.

(Хроника 25.0731.07 до курса D39.59 — эры №7/№8 и начало №9: паки 1620, мини-прогон, полигон-пакеты 58, ToS-речеки, пак-19, холодный прогон (лендинги D39.2658) — в archive/PROGRESS-2026-07-25-31.md.)

Бэкенд

⟶ Приёмка №11 (D39.91, 02.08): пак ниже ПРИНЯТ, код заленден 553f1a3; поправки приёмки (метка flash+pro · хеш по эквивалентности · capability.go:78) — в ревью-шапке отчёта и D39.91.

Ручка эффорта (стр.104) ЗАКРЫТА · проба банка на low ЗЕЛЁНАЯ · экран целевого языка (стр.46) — ДИЗАЙН ПОДАН, КОДА НЕТ · холодный прогон (стр.16) НЕ НАЧАТ и закрыт владельцем как неуспешный на этом этапе (02.08, бэкенд-сессия по BACKEND_EFFORT_HANDLE_SESSION_PROMPT, D39.87; $0.045095 из $0.10; прогон C — $0; НЕ закоммичено). Отчёт: archive/reports/EFFORT_HANDLE_2026-08-02.md. Работа A — не три патча, а ДВА ШВА: config.InternalCall{…}.Stage() (новый internal/config/internal_call.go) — единственная деривация стадии для внутренних вызовов движка, и Runner.attemptRequest (stagerun.go:406) — единственная сборка кортежа идентичности запроса. Рукописных config.Stage{} в движке НЕ ОСТАЛОСЬ НИ ОДНОГО (все 4 места + live-риг через шов); все 4 сборки RequestHash(Request{…}) схлопнулись в одну. Приёмочный вопрос «появится ПЯТАЯ стадия — унаследует или забудут?» отвечен механикой, не обещанием: три гарда (единственность обоих швов + рефлексия по полям Stage, падающая на НОВОМ поле), каждый проверен исполнением. Ловушка хеш-оси закрыта в ОБЕ стороны и на ОБОИХ путях (bankCheckpointExists, repairCheckpointExists): ложно-false режет резюм бюджетным пред-чеком, ложно-true обходит ролевой суб-бюджет и покупает свежий вызов под одним лишь книжным потолком. Гранулярность решена ЗАМЕРОМ, а не заранее: одна ручка gates.terminology.reasoning на обе бэнк-роли — парная выборка N=5 через боевой путь дала low 4/5 против high 5/5 (неразличимо) при цене high ×2.30 ⇒ вторая ручка classify_reasoning была построена на n=1 и СНЯТА самой сессией, когда выборка её не подтвердила. Temperature зафиксирована нулём осознанно (ответ ролей — разбираемая структура, не проза). Repair получил СВОЙ ключ gates.repair.reasoning, наследование от чинимой стадии СНЯТО (правка против промта и D39.87, с аргументом): reasoning: "off" стоит на финальной стадии у ВСЕХ шиппинг-пайплайнов ⇒ наследование двигало хеш и перекупало все оплаченные repair-вызовы; и семантически «off» — значение, чей смысл зависит от control МОДЕЛИ, а gates.repair.model независим от стадийного (задокументированный no-op DeepSeek стал бы живым thinking:{type:disabled} на glm). §3.4 (проба банка, свой проект reprobe/bank-low/, эталон coldrun-a только на чтение): терминолог 4/5 батчей stop, consolidated=72, unanswered=18, bad_lines=0, off_language=0 (против 1/5 и 1 терма из 81 при вендор-дефолте high), классификатор 5/5 stop, reclassified=14, черновая волна 20/20 чанков ok. Оба молчащих пути ИСКЛЮЧЕНЫ предъявлением, а не словами: терминолог $0.005750 из $0.05 (11.5%), классификатор $0.004286 из $0.02, книга $0.045095 из $0.10 — и НОЛЬ строк budget would be exceeded/denied by a USD ceiling в логе. Провод вскрыт: 35 тел, ключи [max_tokens, messages, model, reasoning_effort, stream, temperature], reasoning_effort:"low" во всех 35, ключей thinking 0, reasoning_content непустой везде ⇒ гардрейл доказан проводом. Упавший батч вскрыт сырьём (content:"", reasoning_tokens=7999) — low стену не убирает, а разрежает с 4/5 до 1/5, и упавший батч не самый большой по входу ⇒ стохастика вызова (квирки п.6). Деньги двумя путями: леджер $0.045095 ≡ независимый пересчёт $0.045095, дельта $0.000000, строк decode_error 0. Работа B — вердикт-двигающая ⇒ дизайн и пинг ДО кода, решения владельца нет ⇒ кода нет (легитимный исход по букве промта). Живая улика ДОБЫТА В ЭТОМ ЗАХОДЕ: гл.8/чанк 1 — полный связный черновик НА АНГЛИЙСКОМ, finish=stop, disposition=ok, хеш fb51e135a395 стоит в final_hash. ⚠ ДВЕ ПОПРАВКИ К СОБСТВЕННЫМ ЧИСЛАМ СЕССИИ, обе пере-проверены её же кодом: (i) подавалось «здоровый русский 0.9510, n=1306» — это СЫРОЙ текст чекпойнта, а движок классифицирует ПОСЛЕ среза банкноты (stagerun.go:632 режет, :636 классифицирует; срез безусловен, banknote.go:320); на тексте, который видит гейт, минимум 0.9767 при n=1055 (1306 двоил бэкап-копии БД); (ii) боевой гейт уже ловит 18 из 20 off-target событий при 0 ложных из 1055 и запасе 13× (худший здоровый source-share 0.0117 против порога 0.15) — этого не мерил никто, включая прошлые сессии. Остаточная дыра — ровно 2 английских чанка = 0.18% выходов; японский черновик (exp15/anchors/oracle_30.db) ловится по общей с китайским письменности (доля ханьцзы 0.332). Носитель экрана — lang.LangScripts(Book.TargetLang), БЕЗ нового файла в go:embed (EmbeddedVersion фолдится безусловно ⇒ новый эмбед перекупает все книги всех пар); gates.terminology.target_script отвергнут причиной сильнее промтовой — он ДУБЛИРУЕТ то, что данные уже знают. Работа C НЕ НАЧАТА: стенд coldrun-b стоит нетронутым, черновик по-прежнему на reasoning: "off"; строка 16 не закрыта, строка 13б снова без данных (редакторская волна не гонялась ни разу). ПОЧИНЕНО с тестами (9): шов+гарды · обе хеш-пары · ThinksOnWire врал про ПУСТОЙ эффорт на extra_body_disable (возвращал «думает», а applyToBody в этом же случае мержит disable ⇒ бэнк-роль на glm уезжала в thinking-off МОЛЧА; предсуществующая дыра, но пак первым на предикат оперся) · sourceEchoExposure расширен на внутренние вызовы · fail-open неизвестной роли · дубль plan.model · дефолт рига N=1→5. АДВЕРСАРИАЛЬНОЕ РЕВЬЮ (author≠reviewer) НАШЛО 10 ДЕФЕКТОВ В МОИХ ЖЕ ПРАВКАХ, из них 1 blocker и 3 major; топ-2 пере-проверены сессией по коду до принятия. Отдельным ресерчем вскрыто, что первая версия гардов пробивалась 7 способами (5 байтовых + алиас импорта cfg "…/internal/config" + []config.Stage{{…}} с опущенным типом элемента) — причина: сравнивалось ИМЯ пакета вместо ПУТИ импорта; переписано на AST с резолвом пути, разворотом []T/map[K]T/*T, исключениями полными путями и полом на число разобранных файлов (обход, не распарсивший ничего, выглядел как чистое дерево); все 7 посадок пере-проверены на живом дереве. НАЙДЕНО и НЕ ПОЧИНЕНО (с носителями): Д2 detectLatinInsertion не обусловлен TargetScriptNonLatin() ⇒ первая латинописьменная цель дропнет 100% чанков (одним диффом с работой B) · Д3 SourceEchoExpected не покрывает roleClassifier16/16 вызовов классификатора логируются ok=0 degraded=cjk_artifact (данные не теряются — reclassified=14 доказывает, но отравлен ровно тот сигнал, который говорит «провайдер плохеет») · Д4 gates.terminology.target_script не сверяется с book.target_lang: target_lang: ru + target_script: Latin грузится чисто и ИНВЕРТИРУЕТ банковский экран · Д5 наш enum эффорта провайдер-слеп (medium на DeepSeek не определён, max/xhigh недостижимы) — пер-модельная таблица = новый механизм, сознательный отказ · Д6 //go:embed в internal/lang/embedded.go:22 — ЯВНЫЙ список файлов, новая цель требует правки Go, а CompileCheckers паникует при неполном файле цели ⇒ на ревью-вопрос «заработает ли пара, которой нет в репо» ответ сегодня НЕТ, и это не про язык, а про строку эмбеда · Д7 два гарда шва разной формы (мой AST против давнего байтового TestProviderEgressSeamIsSingle) — свести в один обход · Д8 ратифицированный порог классификатора «6/6» определён для ОДНОГО вызова, не для выборки, и на рекомендованном low риг красный (заявлено в тексте падения, не смягчено) · Д9 аддитивные провайдеры отказываются бэнк/repair-гейтам именно потому, что блок не несёт reasoning_max_tokens — новая ручка эту дыру НЕ закрывает. РЕСЕРЧ-ЗАДЕЛ (два холодных исследования со скептиками, §5 отчёта — оставлен, чтобы следующие сессии шли по шагам): у отказа есть имя и метрика (off-target translation, Zhang et al. ACL 2020; language confusion LPR/WPR, Marchisio et al. EMNLP 2024), рецепт поля — ровно наш, более умного serving-time метода не упущено; английский — доминирующий аттрактор (подтверждено дважды независимо и нашими 2/20); четыре режима отказа требуют РАЗНЫХ детекторов, гнать всё через один LID — ошибка проектирования. Обещанной гарантии FPR ≤ 0.1% на этом корпусе НЕ КУПИТЬ: правило трёх при n_eff=114 позиций даёт ≤2.594% (в 26× слабее), процедура двоит данные, а на сиблингах мощность ≈0.1% (болгарский алфавит — собственное подмножество русского, распределения совпадают) ⇒ ставить руками консервативную константу в широком пустом интервале и версионировать как контракт. НЕ СТРОИТЬ (проверено запуском, не по README): ни одну статистическую LID-библиотеку в путь вердикта (lingua-go недетерминистична 6/23 на 20k повторов + 126 МиБ эмбеда + 1012 мс/чанк; langid-go даёт P(ru)<0.5 на 22.2% реальных русских сегментов 2040 рун и FMA-зависим от GOARCH; whatlanggo принимает 46 из 9 русских образцов за болгарский; gocld3/fastText — CGo, вердикт становится функцией тулчейна ВНЕ снапшот-хеша) · посегментный worst-of (умножает FPR на число сегментов и имеет НОЛЬ положительных примеров) · замыкание алфавита · функционально-словный экран · новый файл в go:embed. План на 8 шагов с единственным необратимым (бамп classifierVersion) последним; ключевой перенос — cultivation чинить в СИДЕ, а не порогом (86 из 1055 здоровых выходов содержат его; все 32 просевших абзаца содержат, ни один не содержит ханьцзы; правка пар-данных двигает LangpackVersion, который фолдится с omitempty ⇒ перекупка ограничена книгами ЭТОЙ пары — самый переносимый вывод цепочки: чинить на том плане, где перекупка уже). ⚠ Качество прозы не судил никто ни в одной пробе. Батарея после всех правок зелёная (build/vet/vet -tags live/-race -count=1/gofmt чисты · голден PASS · парити EXACT · labels-фриз 5/5). СТОП — приёмка оркестратора.

coldrun-b: фаза A , фаза B — БЛОКЕР СТРОКИ 74 ВОСПРОИЗВЕДЁН НА БОЕВОЙ ФОРМЕ, фаза C ЗАМОРОЖЕНА развилкой владельца (02.08, бэкенд-сессия по BACKEND_COLDRUN_DEBUG_SESSION_PROMPT, D39.83; фаза B $0.114378 из $0.15; НЕ закоммичено). Отчёт: archive/reports/COLDRUN_B_DEBUG_2026-08-02.md. Фаза A: батарея воспроизведена числами (парити EXACT · labels 5/5 фрозен · голден PASS · -race -count=1 зелёный); сквозняк = голден-тест; CLI-читаемость проверена read-only на БОЕВОЙ БД coldrun-a (sha256 БД до/после идентичен) — сильнее локальной модели; 2 дыры наблюдаемости починены $0 (счётчики банкноты и голос-флаггера считались, но не имели НИ ОДНОЙ поверхности вывода → строки BANKNOTE/VOICE в report + 5 тестов, включая тесты молчания и различение «не измерено»↔«измерено, чисто»; голден/CheapGateVersion не тронуты; новая строка независимо воспроизвела руками добытые числа coldrun-a 182/18-из-20/parse-fail 3). Стенд coldrun-b собран (пустой сид, ceilings 5.00/5.00, pipeline.yaml побайтно = эталону), ключи $0-проверены. Фаза B (носитель — САМ боевой путь tmctl translate --verify-bank на отдельных проектах с потолком, принуждаемым движком; девиация от «расширить live-риг» аргументирована §2 отчёта): при боевом max_tokens=8496 (флор 8000 + bankTokenBudget 496) 0 из 9 вызовов пригодны (8 empty, 1 length); вариант (а) флор-16000 ФАЛЬСИФИЦИРОВАН — 4/5 пустых при 16992, сырьё показывает 1521 тыс. симв. reasoning_content (модель переводит главу ВНУТРИ размышления и не доходит до ответа), удвоение потолка добавляет ~2 тыс. симв. думания и не сходится. Вендор-сверка сделана ДО диагноза: changelog без записей после 31.07; guides/thinking_mode«default effort being high» и маппинг flash low→low ⇒ запись квирков 04.07 («low/medium→high») УСТАРЕЛА (правка 00-provider-quirks.md — оркестратору, зона). Вариант (б) reasoning_effort:"low" РАБОТАЕТ и достижим ПРАВКОЙ ОДНОЙ СТРОКИ ран-конфига — амендмент echoMineViolation НЕ НУЖЕН (посылка строки 74 неверна: гейт инспектирует МЕХАНИЗМ control, у deepseek ReasoningNone, где low уходит на провод, а off/"" — no-op; thinking не выключается, вендорский тумблер — другой параметр; проверено исполнением): 18 из 20 чанков отгружено, 20 из 22 свежих вызовов finish=stop, волна ≈$0.0257 против $0.02474 у coldrun-a, латентность 944 с. Цена (б) названа честно: эхо 3/20 (15% против 10% у coldrun-a; на таких N неразличимо) · 1 черновик из 18 пришёл ЦЕЛИКОМ НА АНГЛИЙСКОМ и прошёл гейт как ok · терминолог (б) НЕ лечит — 4/5 батчей length с completion=8000 ровно (на coldrun-a до смены весов было 21/21 stop), банк консолидировал 1 терм из 81, корень: бэнк-роли строят config.Stage без Reasoning (terminologist.go:515,568) и у gates.terminology ключа нет ⇒ они ВСЕГДА едут вендор-дефолтом high, что бы владелец ни выбрал для черновой стадии. Порог классификатора 6/6 ВЗЯТ ($0.000390, finish=stop; честная оговорка — 元石/灵泉 стоят дословно в classifier.md, дискриминирующее подмножество 4/4). Попутно доказано живыми деньгами: нарезка · волна на 4 воркерах · classify (поймал 3/3 эха и все length/empty) · эскалация одним хопом с ре-гейтом · банкнота (129 строк на 14/20 чанков) · майнер+банк (76 кандидатов, 100% dst в кириллице, 0 утечек письма) · банк-пауза exit 3 + сайдкары · деньги committed ≡ Σ checkpoints двумя путями (независимый пересчёт провайдерского usage по вендор-ценам сошёлся до 6-го знака на optB; расхождение $0.015110 на первой пробе = строка 78 в живом виде, 3 билленных 2xx с нечитаемым телом) · потолок физически выстрелил на 98.7% и отказал в хопах · F4-бэкап на каждом платном старте (первый боевой клиент) · graceful SIGINT посреди волны · $0-резюм (20 юнитов из chunk_status + 5 чекпойнтов, 0 вызовов, леджер байт-в-байт). Найдено и НЕ починено (вердикт-двигающее → СТОП+пинг): Д1 гейт черновой стадии не ловит выход на ТРЕТЬЕМ языке (последний рубеж есть — санитайзер даёт Latin insertion, но стоит только на ФИНАЛЬНОЙ стадии ⇒ не тихая порча, а потеря юнита + оплаченный впустую редактор; живой носитель к строке 46) · Д2 у бэнк-ролей нет ручки reasoning (шов назван, форма предложена, строить — после выбора владельца) · Д4 роль classifier мис-вердиктится как cjk_artifact (поблажка SourceEchoExpected дана только терминологу; ущерб телеметрийный — текст парсится, но каждый батч светится ok=0; латентно, classify_types выключен). Починено: обе дыры наблюдаемости + live-риг не собирался с D39.64 (undefined: cjkShare после переезда на sourceScriptShare ⇒ per-adapter live conformance физически не запускался). Проба C — thinking ВЫКЛЮЧЕН (по вопросу владельца «а выключить ризонинг нельзя?»; пере-замер клейма echoes_when_thinking_off на весах 0731, потому что вся эмпирика по нему снята на несуществующих весах Preview; пробная копия models.yaml ВНЕ git, боевой файл и гейт не тронуты): выключатель в OpenAI-транспорте ЕСТЬ и документирован вендором (extra_body {"thinking":{"type":"disabled"}}; reasoning_effort:"none" в OpenAI-формате НЕ существует — none живёт только в Responses-API-колонке). Результат на тех же 20 чанках: 0 пустых из 22 вызовов · терминолог 5/5 stop (единственная конфигурация, где стадия банка жива БЕЗ правки Go) · выход не на целевом языке 0/18 · весь заход $0.014932 — в 2.6× дешевле (б); НО эхо-мина ЖИВА на 0731: 4/20, гейт поймал 4 из 4, эскалация вылечила 2 по $0.0024, ещё 2 не вылечены только пробным потолком $0.03 (escalation hop denied by a USD ceiling — деградация, не падение). ⚠ Качество прозы не судилось НИ В ОДНОЙ из трёх проб — канон D19.1/D21.9 стоит не только на эхе, поэтому C = ИЗМЕРЕННАЯ опция, не рекомендация: её принятие = разворот ратифицированного гардрейла и требует читки качества. Развилка владельцу: (а) фальсифицирована · (б) работает, но требует Д2 (правка Go) и делает Д1 условием безопасности · (в) вендор молчит · (г) сменить модель черновика на deepseek-v4-pro (вендором не тронут обновлением 0731; один хоп на боевом рендере отработал stop за $0.008706) — 0 правок Go и гейта, ценой ~×3.1 COGS черновика; не замерен волной, замер ~$0.03. Ручка #77 не включалась. Батарея после всех правок зелёная. СТОП — решение владельца по строке 74, затем приёмка оркестратора.ЛЕНД D39.86 (приёмка оркестратора №10: батарея и все несущие счётчики пере-выведены независимо, деньги — из сырья двумя путями [$0.114378 леджер ≡ Σ чекпойнтов во всех 4 проектах · $0.099267 независимый пересчёт · $0.015111 неизвестности]; 9-осевой refute-воркфлоу со скептиком и арбитром на каждую ось — 6 CONFIRMED / 2 PARTIALLY / 0 REFUTED. Поправки в ревю-шапке отчёта: §3.3 верно только для СТАДИЙНОЙ ручки [для бэнк-ролей посылка об амендменте жива ⇒ (б) = правка Go] · §3.1 «нет пути вообще» слишком сильно, НО «бюджет не лечит» усилено [победивший вызов уложился НИЖЕ базового потолка ⇒ лечит стохастика] · волна (б) = $0.028195, не $0.0257 · (г) ≈×8.9, не ×3.1 · Д1 недооценён и дыра цели ДВУСТОРОННЯЯ · Д2 назван на 2/3 [третий шов repair.go:384] · строка VOICE говорит «сконфигурирован», не «отработал». Новые вендор-факты: дефолт эффорта high, у pro low→high и объявленная смена маппинга — в quirks п.3а/п.10. Новые строки 104/105; 46 повышена; 44 сужена; 78 и 13б уточнены; 16 НЕ закрыта).

Мелкая пачка хвостов (строки 93·89·53·83 + решения D39.79) исполнена (02.08, бэкенд-сессия по BACKEND_SMALLPACK_TAILS_SESSION_PROMPT, D39.79, $0 — только фейк-провайдер в тестах, НЕ закоммичено; D-номер лендинга проставит оркестратор). Отчёт: archive/reports/SMALLPACK_TAILS_2026-08-02.md. A (стр.93): 8 хвостов — whole-word inner-marker вето isSpokenChevronLine+гвоздь · recall-потолок speechAttribution в контракт · негатив-ассерт Demoted=false (мутант убит) · stale LatinResidueCount коммент · CAND k4_inverse → боевое правило + REJECTED-контраст · «..»/thin-space комменты↔код · честная кана-оговорка · target-алиас NB. B (стр.89): ведро D — isHeaderSeparator!isHeaderContentRune (консолидация), мёртвый freqStratum удалён, minerPackVersion/⟨проверить⟩-глиф честные комменты (парити EXACT); ведро B (6) сверено на носители (строки 35/81), бездомных нет → пинга нет. C (стр.53): gofmt чист (4 файла) · editor-mono.md DORMANT-маркер (<!-- --> strip'ается, hash-нейтрален, боевого SHA не двигает) · внутрифайловый дубль-ключ parseDCCheckers → fail-loud (putUniqueDC+тест; register_neg-список терпим) · D39.4/D23.4/D28.3(б) архео (парк/moot/уже-сделано). D (стр.83, F4): tmctl backup верб + боевой pre-flight (integrity_check + VACUUM INTO ~/books/<книга>/backups/); дискриминатор боевого пути = размещение в run()-диспетчере (тесты зовут translate()/Runner напрямую) — ноль магических строк провайдеров в Go; гвоздь «фейк-путь бэкапов не создаёт». E (D39.79): Q1 — канон «класс X» подтверждён (0 «разряд» в живом носителе → пинга нет); DC7-замер = 25 юнитов/93 девиации «разряд»≠канон → построй, НО двойной стоп (книго-канон-дом vs пар-пак + >50 строк) → СТОП+ПИНГ с дизайном, DC7 не построен (грейд-канон = book.yaml, оркестратору). Q2 — 兩 в shichen_re (probe-литералы/cheng_re не тронуты) + NB-граница. Q4 — register_neg+жанр-msg → книжный слой (book.yaml register_blocklistCheapGateConfig→DC6-union; omitempty в BriefHash → golden brief_hash c2021b1b… неизменен; пар-register_neg/dc6_register опциональны; терем-список → coldrun-a+example book.yaml; DC6-семантика та же; «вторая книга другого жанра — 0 ложных DC6, 0 правок Go» = ДА). Приёмка: build/vet/-race ./... зелёные · майнер-парити EXACT · голден НЕ двинулся (CheapGateVersion не бампнут) · labels-фрозен (k4b 10/1/36/99·k4_inverse 3/0/1/71·k2 34/1/6/51·K6 1/6/0/251·k4a 0/0/0/348, assertBaseline хард) · gofmt чист · греп-общность чист. Плюс адверсариальный author≠reviewer (6-агентный refute-воркфлоу по своим правкам): 0 блокеров, 0 major; 2 CONFIRMED low-sev (диагностика/коммент) исправлены ДО отчёта (source-neutral DC6-detail; isTargetWordLetter-атрибуция коммента), пост-фикс перепрогон зелёный. СТОП — приёмка оркестратора.ЛЕНД D39.82 (батарея пере-прогнана оркестратором независимо, все числа совпали; 5-осевой refute-воркфлоу: 0 блокеров/0 major против пакета — omitempty доказан пере-выводом hash, комплементарность рун — полным перебором; DC7-стоп ПОДТВЕРЖДЁН, но рекомендация пере-гейчена сид-покрытием mempostcheck → строка 98; F4-хвост dry-run-redrive → строка 93; строки 89/53/83 закрыты).

Пакет-чекеров (строка 25 + 79) исполнен (02.08, бэкенд-сессия по BACKEND_CHECKER_PACKAGE_SESSION_PROMPT, D39.67/68, $0 — только фейк-провайдер в тестах, НЕ закоммичено). Отчёт: archive/reports/CHECKER_PACKAGE_2026-08-02.md. Харнесс labels пересобран В GIT (env-гейт TM_CHECKER_LABELS=1, internal/checks/labelharness_test.go + internal/membank/labelharness_test.go + candidates); metrics.json пакета-6 воспроизведён ПОБАЙТНО (12 ключей после постфикса — k4a маркер-онли; 2 независимых пути счёта совпали); k5c-конвенция названа (codeconv=фиделити кода / unit=цель Р2); две пост-банк-пак дельты объяснены (K6 стеммер 14→12; K3 combmark 0). Построено: #10 (пост-чек однознак. Han-ключ → Unverified observability, K6 fp 14→6, fn=0 сохранён) · #3 (атрибуция ёлочки +5 tp, K4b r0.11→0.22, Р4-потолок в контракт) · #6 (заглавная латиница +allowlist, K2 r0.75→0.85) · k4_inverse (inner_marker-на-тире, +3 tp, p1.0) · #8 (两/兩 данные, 0 эффекта = generality) · Р2 hard/soft split (UnitScaleHard/Soft, Total не тронут) · строка 79 (isCyrLetter→wordScript · DC1-трим · magnitude SourceScripts-гейт — закрыла и ведро C-2 register-boundary) · рефрен editor.md/mono · чистка ведра D (6 указателей checkers_zh_ru.go + ложная шапка checkers.go). Закрыто с обоснованием: #5 (единственный дефект DC2-покрыт) · #7 (порог=0-эффект; гомоглиф=tk.mixed, приёмка пройдена) · DC2 word↔word (нет размеченного дефекта) · research/22 (не на labels) · omission-бэкстоп (уже стеммером) · строгий OffLanguage (36а). На владельца (§6 отчёта): DC7 grade/role (коллизия канона класс/разряд) · 兩-traditional · Р2 value-детектор vs soft · register_neg в пар-паке. Приёмка: build/vet/-race ./... зелёные · майнер-парити EXACT · голден пере-захвачен РАЗ, маскированный дифф ПУСТ (двинулся только style_check_version v6→v7 + хеш-каскад; content_hash/disp/flag/memory_version/prompt_sha256/вердикты байт-идентичны) · греп-общность чист (нет новых пар/книго-ветвлений) · мут.тесты на новые классы. Якоря 13-tech-debt-anchors.md актуализированы (#10 помечен исполненным). Плюс адверсариальное агентское ревью (3 refute-biased агента, по вопросу владельца ПОСЛЕ лендинга): 2 корректностных FP найдено и ИСПРАВЛЕНО ДО приёмки (k4_inverse маркер по всей строке → скоуп на атрибуцию; #3 плоская цитата «X» — → отвергается, принимаются только «X», —/«X!/?/…» —; оба observability, гвозди добавлены, labels не двинулись 10/1/36/99 · 3/0/1/71) + honesty-правка (K2 precision честно 0.971, не «1.0 с allowlist» — конфиг бренд не заносит) + Р2 NumberMagnitude→HARD + DRY lang.IsDenseScript + подрезка комментариев (норма 26.07). Харнесс подтверждён честным (byte-for-byte, «before» из git; манифактуренной сходимости нет). — ПОСТ-ФИКС D39.78 (приёмка оркестратора: 0 блокеров, 5 major + minors, $0, CheapGateVersion НЕ бампнут): все закрыты, §8 отчёта. (1) speechAttribution режет сегмент атрибуции с ДВУХ сторон + lineHasInnerMarker по границе слова (4 контрпримера гвоздём); (2) latinResidueCandidates синхронизирован с #6-lint (caps-утечки адресуемы, гвоздь TestLatinResidueCandidateCapsSynced); (3) chevronSpeechShapeCommaOnly заморожен → «ДО» 5/1/41/99 из дерева, отвергнутый Ext снесён; (4) Р4-потолки inline (minLatinResidueLen, chevronSpeechShape); (5) пост-чек контракт/комменты честны (B6=строка 81; multi-rune «статистически сильнее», не «word span») + PostcheckMiss.Demoted (omitempty, голден-нейтр.) + негатив-гвоздь одно-руновый-не-Han→Confirmed. k4a воспроизведён маркер-онли (12/12 ключей, 0/0/0/348); отчёт §2/§5 — реальные tp вместо 2 ложных, «fn=0 класс-вакуумен» оговорено. Опц. Fix-8 (скоуп isSpokenChevronLine) ОТЛОЖЕН вердикт-тройкой (0 инстансов FP-класса в корпусе, загейчен нотой). Приёмка: labels фрозен (k4b 10/1/36/99 · k4_inverse 3/0/1/71 · k2 34/1/6/51 · K6 1/6/0/251 · k4a 0/0/0/348) · build/vet/-race ./... · майнер-парити EXACT · голден пере-захват РАЗ = байт-идентичный no-op, маскированный дифф ПУСТ · author≠reviewer (3 refute-агента, 0 подтверждённых багов, мутант-килл негатив-гвоздя исполнен). — ЛЕНД D39.78 (двухраундовая приёмка оркестратора: 10-агентный адверсариал → 5 CONFIRMED major → постфикс §8 → 3-агентный дельта-раунд: 0 major; голден-маска независимо ПУСТА дважды; остаточные минорки → строка 93, вопросы §6 → строка 92; строка 25 закрыта, 79/89 сужены).

finding-1 (строка 91, Decl мягкознаковых имён) — ЗАМЕР ПРОВЕДЁН (02.08, бэкенд-сессия по указанию владельца в eval-конвенции, $0); РЕШЕНИЕ — владелец+оркестратор. Отчёт: archive/reports/SOFTSIGN_DECL_FINDING1_2026-08-02.md; харнесс eval/softsign-decl/ (пин-модуль, боевой стеммер), сырьё+2 адверсариал-прогона durable в ~/books/gu-zhenren/softsign-decl/. ИТОГ: разрыв реален но МАЛ (~47 ложных промахов/25 глав на реальном размере чанка, почти весь — ОДИН термин «Винный червь»; «Фан Юань»→0 per-chunk; occurrence-level 259 — код-верифицирован). Вариант (б) anchor-gated НЕ закрывает коллизию «Синь/Линь» — ПЕРЕНОСИТ на форму [титул]+[ь-фамилия] + не защищает числовой класс («пятого/шестого ранга» ×23); чистота на gu-zhenren = транслит-везение, доказательство пара-зависимо, safety НЕ измерена (M4=3 пары/1 книга). Рекомендация: (а) сид-перечень 12 ВИДИМЫХ мягких канон-имён — данные decl.forms, матч generic containsWholeWord, вне ядра Go, ноль коллизии (честно: ручной труд — майнер морфологию НЕ майнит, declForms руко-писаны); движок (б) — только на КРОСС-ПАРНОМ гейт-замере (≥2 пары), не на одном. Строку 91 и CURRENT-STATE НЕ трогал. Открытые решения — в §«Что решить» отчёта. — ЛЕНД D39.76 (стопгэп A, $0, ядро Go не тронуто): в подписанный стенд-сид ~/books/gu-zhenren/guzhenren-seed-v2.yaml (вне git) дописана МН. парадигма «Винный червь» (ед. обликы «Винный червь» + все 4 «Фан Юань» УЖЕ стояли с 24.07 — нетто-новьё = только мн.); stemmer_test.go гвоздь Линь/линию→Линь/линий (эмпир-проба: Stem(линий)=лин дискриминирует, Stem(линию)=лини был ИНЕРТЕН); позитив-гвоздь memdecl_test.go «Фан Юаню» принят через forms[] (закрыл PARTIAL D39.75). Приёмка зелёная: build · lang+membank · tmctl seed-lint OK (0 fail-loud/0 collision) · голден нетронут (git backend = только 2 тест-файла). ⚠ Уточнение к цифрам замера: coldrun-a — СИДЛЕСС (coldrun-a/book.yaml: сид не грузится), потому харнесс мерил ТОЛЬКО стеммер-путь; в сид-прогоне «Фан Юань» обликы уже ловились forms[] → прод-разрыв ещё меньше замеренного. Ждёт подписи владельца на сид-формы (+2 доп. мн. падежа сверх списка владельца: Винным червям / Винных червях — полная парадигма).

Фикс-пак банка (строка 87 + Q5) исполнен (02.08, бэкенд-сессия по BACKEND_BANK_FIXPACK_SESSION_PROMPT, D39.71, $0 — только фейк-провайдер в тестах, НЕ закоммичено). Отчёт: archive/reports/BANK_FIXPACK_2026-08-02.md. СДЕЛАНО: (б) head_final → данные (script-series.txt+SeriesHeadFinal, zh/ja/ko байт-идентичны, тест «плотный не-head-final заводится данными») · (в) лживый коммент Batch переписан (ChunkIdx фолдится в request-hash) + BatchRunes-WARN на оверсайз-серию (не резать — убьёт со-батч §1) · (г) classify_types при выкл.гейте = fail-loud + 5 config-тестов · (д) мутационный neuter-фолд (mined-scope) · (ж) дистилл-фикстура BANK-FULL пинит ровно 4 серии (转/等/等资质/阶) · (и) lang.TokenizeWordstext.TokenizeLetters (общий шов, чинит combmark-щель). НЕ ДЕЛАТЬ с обоснованием: (е) стеммер НЕ в voice (accept-bias не единонаправлен; контракт в код) · (з) Q5-реалии УЖЕ в terminologist.md/classifier.md (пинг: PromptSHA256 не двинулся). (а) ОТКАЧЕНО — предложенный «ь» ФЛАВЕД: адверсариальное ревью (author≠reviewer, подтверждено white-box) поймало коллизию «Синь/Линь»→«син/лин»=«синий/линия» → ложный SpoilerLeaks (шум); «юань»→«юан» неотличим по форме — min-stem не разделяет. Откат + регресс-гвоздь; finding 1 (палладий) открыт в safe-направлении, нужен сид-decl-перечень или anchor-gated матч — РЕШЕНИЕ владельца (пинг §а). Приёмка: build/vet/test -race ./... зелёные · майнер-парити EXACT · голден пере-захвачен, маскированный дифф ПУСТ (двинулся только embedded_version; memory_version/prompt_sha256/content_hash/вердикты — на месте) · греп-общность чист. СТОП — приёмка оркестратора.

Качество банка — этап 1 (дизайн) исполнен (01.08, бэкенд-сессия по BACKEND_BANK_QUALITY_SESSION_PROMPT, $0, read-only, НЕ закоммичено). Отчёт: archive/reports/BANK_QUALITY_DESIGN_2026-08-01.md. 6 пунктов свипа сведены в 3 переиспользуемых примитива (A head-aware кластер-по-морфеме: §1 серия-батчинг + §6 голова 蛊 · B ре-порядок terminology.Batch: §1 + feed_cap · C стеммер целевого письма: §3 Decl-шов + omission-бэкстоп чекеров) + дата-правки (тип — ОТДЕЛЬНЫМ классификатором первичным; род neuter enum+seed-lint, ось RenderFormatVersion). Самопроверка — 3 рубежа (грунтинг + анкор-верификация всех 8 tech-debt-якорей CONFIRMED + 5-агентная адверсариальная дизайн-критика): §1 серия-дефиниция «равная длина/1 позиция» и §2 инлайн-тип были BROKEN — переработаны (§1 → head-aware, пере-верифицировано на BANK-FULL.tsv: наивное = 19 кластеров вкл. блоб с §2-harm+протагонист, head-aware = 4 годных серии; §2 → классификатор первичным, DO-роль ДО RenderBatch; $0-экран честно пере-скоупнут — провабельно пропускал юаньши/Юаньхай); §5/§6/§7-эмбеддинг WEAKENED вправлены. §4 (36б второе мнение) и §7-эмбеддинг ЗАКРЫТЫ по нужности; §5 (резюме-слой 80) → пилот-Ф2.5-гейт (проза-суммарайзер закрыт; «дата-состояние свободно от D1» опровергнуто — source-anchored reveal без верификатора); §6-эмиссия головы → полигон-замер + после #10 (seed-половина строится). First-occurrence-тест ИСПОЛНЕН ($0, eval/bank_autonomy/m_firstocc.py): гипотеза первенства ОПРОВЕРГНУТА (финал==первое 7 == финал==частота 7, большинство — ни то ни другое) ⇒ роль = контекстный ре-решатель, усиливает §1 (со-батч — единственный рычаг). 7 вопросов владельцу (§9: канон-пин между прогонами · замер 36б · диспозиция резюме · hard-инъективность · вкус авто-транслита реалий юаньци/цзин-ци-шэнь · короткая форма 27 · замер эмиссии головы). СТОП — ратификация оркестратора/владельца; этап 2 (стройка) — по релею после лендинга пакета-чекеров.РАТИФИЦИРОВАНО ВЛАДЕЛЬЦЕМ, ЭТАП 2 (СТРОЙКА) ИСПОЛНЕН (01.08, та же сессия, $0 — только фейк-провайдер в тестах, НЕ закоммичено, resnapshot НЕ запускался).

Качество банка — этап 2 (стройка) исполнен. Построены 3 примитива дизайна: §1 серия-батчинг (terminology/series.go DetectSeries head-aware + Batch серия-целиком + value-порядок feed_cap; пар-данные lang.SeriesMorphology из CJK-письма — инертно для алфавита; пере-верифицировано на живом BANK-FULL.tsv: ровно 4 годных серии, ноль блоба). §2 тип-классификатор первичным (новая фаза перед рендером на общем runBankRoleBatches — денежный цикл терминолога зарефакторен в общий, чекпойнт-хеш идентичен; корректный тип роутит conform + праймит RenderBatch + банкуется через attachClassifiedType БЕЗ смены эмиссии=без реоткрытия D39.50; своя роль/бюджет/промт classifier.md; честный $0 label-экран). §3 Decl-шов (lang.TargetStemmer примитив C + ru decl_suffix данные → dstFormPresent принимает косвенные падежи без перечисления форм; neuter enum→injection.txt/genderConstraintNote; SeedLint валидирует род громко; ось — scoped hasNeuter-фолд в memory_version по образцу editor-unverified-section-v1, НЕ бланкетный RenderFormatVersion). Верификация (5 независимых сигналов): go test ./... зелёно · -race чисто на затронутых пакетах · греп-общность: ноль пар/книго-литералов в Go-логике (новая пара — без правки Go) · голден Ш-1 пере-захвачен, 172/172 hex-only = вердикт-нейтрально (EmbeddedDataVersion сдвинулся от данных injection/target-ru) · адверсариальное ревью author≠reviewer (4 измерения × refute-verify): 0 подтверждённых дефектов. Короткая форма (27) — уже работает через decl.forms[], кода не требует (§9-Q6 владельцу открыт). §4/§5/§6-эмиссия/§7-эмбеддинг — как в дизайне (не строятся/гейтнуты).

Общность фаза 2 исполнена (01.08, бэкенд-сессия по BACKEND_GENERALITY_PHASE2_SESSION_PROMPT, $0, НЕ закоммичено, resnapshot НЕ запускался). Отчёт: archive/reports/GENERALITY_PHASE2_2026-08-01.md. Построено+верифицировано исполнением: П0 байты-есть-версия (lang.EmbeddedVersion()→снапшот, мут.тест) · П1 цель-шов слоя 7 (isRuTarget×6→TargetActive/TargetScriptNonLatin по данным · токенизатор цели с алфавитом из данных + U+0301 = ЕДИНЫЙ шов, репэйнут долг repair.go:182-189 + закрыт #11 · ExportNormalize-гейт · ruSanitizer→per-run поле Checkers · реестр целей из эмбед-данных) · П2 скрипт-шов источника (cjkSharesourceScriptShare по ОБЪЯВЛЕННОМУ письму + новый lang-script.txt/IsCJKScriptLang · Hangul в CJK-leak — живой баг ko/строка 75 ЗАКРЫТ) · П3 話-глава в данные · sourceAbbrevs по языку книги · generic-детект глав (Chapter 12, opt units) · консолидация класса письма (5 сайтов, вторая копия арифметики на шов) · П4 табличный опц-файл + манифест-по-каналам (обратно-совместим, БЕЗ бампа packAlgoVersion — снят самый жёсткий блокер слоя данных) · шестёрка: translitInterjections→данные + #11 · малая пачка: #77 ре-ген-эхо-ручка (дефолт=текущее). Верификация: go test -race ./... 14/14 · голден Ш-1 0 verdict/wire / 172 version-only (вердикт-нейтрально по всему пакету) · майнер-парити EXACT (n=13618, катастрофы точны, recall 0.9655) · мут.тесты П0-байт/П1-инертность-en/П2-Hangul PASS · сухой-прогон 2-й пары PASS. Сдвинуто 5 снапшот-осей (embedded_version нов + CheapGate/Sanitizer/classifier/chunker бампы) — перекупок НЕТ (D39.63). 10 позиций флагнуто на владельца (ё-фолд · segmentation-громкая ⚠расходится с рат.тестом prompt_pack_test.go:193 · EstimateTokens-N-коэфф · encoding-аллоулист · 4 дефекта пака-21 нужен ВНЕ-git размеченный корпус · #78 money/ledger-путь) — §5 отчёта, каждый с причиной+дизайном. СТОП — приёмка оркестратора.ПРИНЯТО И ЗАЛЕНДЕНО (D39.64, ревью-шапка в отчёте; журнал выше).

(Закрытая хроника пакетов №0№4 (0410.07) перенесена в archive/PROGRESS-2026-07-04-10.md — ревизия D31.)

(Хроника пакетов 1112.07 (пакет-5, D15.2-этап-А, санитайзер-фикс D33) — в archive/PROGRESS-2026-07-10-13.md.) (Трек-A пак-1/1.5 (D39.2/D39.5) — см. записи оркестратора №6 выше.)

(Хроника бэкенд-паков 1116 (1925.07, вкл. отчёт-запись пака-15) — в archive/PROGRESS-2026-07-13-25.md; отчёты паков — archive/reports/.)

(Закрытые записи 2531.07 — пак-18 · мини-прогон · фикс-пак · сквозная проверка · хендофф 26.07 · ресёрч общности фаза 1 — в archive/PROGRESS-2026-07-25-31.md.)

Полигон

Арбитраж банка (строка 5, пере-запуск промта D39.89 по слову владельца, потолок $1.00) — ИСПОЛНЕН, отчёт docs/research/24-bank-arbitration.md, потрачено $0.0896 (04.08). Главное: (1) голд 53 approved сида → 45 в BANK-FULL, из них у 27 промахов прод-банка верный dst лежал в вариантах черновиков лишь у 5 ⇒ потолок любого «выбора из вариантов» = 17/45, селекционный арбитраж закрыт классом; (2) свежий терминолог-соло (flash-low) бьёт бесплатный базис §C2-3 +8/0, а равноправный консилиум НЕ окупается: +3 к само-согласованности = одна конвенция 古月; лучший одиночка glm-5 25/45 > лучший совет 23/45; добавление grok РОНЯЕТ совет 23→20; C3conf(взвешенный уверенностью) ≡ C3; ⟦TM-NO-DST⟧ = 0 на 35 вызовах трёх семейств; (3) вербализованная ЧИСЛОВАЯ уверенность разделяет внутри модели (AUC 0.770.85, слова хуже 0.63) при тотальной overconfidence (~88 при точности ~50%) — жить ей ordinal-очередью ревью, не арбитром; (4) химера семьи 古月 воспроизведена причинно на границе батча (свежий deepseek: «Гу Юэ» ровно в батче 2, «Гуюэ» ровно в батче 0), а по-терминная МАРШРУТИЗАЦИЯ (улики-первым) сама создала химеру 转-серии ⇒ единица арбитража/роутинга — кластер; DetectSeries разнодлинные семьи (古月×15, 蛊×14) не видит; (5) проба инжекта: инъекция поднимает следование канону 43%→95%, НЕВЕРНАЯ строка законом принимается 6/6, с маркером ⟨проверить⟩ — тоже 6/6 (Δ=0 п.п.): пометка на транслятор-проводе поведенчески пуста, цена неверной строки банка = ~100% заражение; (6) индустриальный обзор: стандарта арбитража термов не существует, наш дизайн впереди ближайшего аналога (DelTA first-wins); пропущенных стандартов нет. Рекомендации тремя корзинами в §D (строить: кластер-канал семей · intra-run CanonConflicts · наблюдаемость Signals/invented/conf · нормализованный голос foldVariants; закрыть: равноправный совет · кросс-модельные веса · self-consistency · селекция · отказ-сигнал). 4 вопроса владельцу в отчёте (мини-голд алиасов · конвенция составных фамилий · проба редакторского провода · фикс-пак корзины 1). Два адверсариальных раунда author≠reviewer пройдены. Сырьё durable ~/books/gu-zhenren/bank-arbitration/ (59 json), харнесс eval/bank_arbitration/. НЕ закоммичено — лендит оркестратор.

Сырьё арки банка + пробы фиксов (01.08) — приняты и залендены, детали в журнале выше (D39.65).

(Закрытые записи 26.07 — пакет-6 «размеченный набор» (D39.39) и пакет-8 «три пре-замера» (D39.4346/50/52) — в archive/PROGRESS-2026-07-25-31.md; пакеты Р6+P4 и ToS — журнал выше (D39.57/61).) (секция параллельной сессии — записи добавлять сюда)

Память

(секция ресёрч-сессий памяти — записи добавлять сюда)

(Хроника валидации банка (0405.07, research/1314, вердикт GO) — в archive/PROGRESS-2026-07-04-10.md, D31.)

Голос и состояние

(секция ресёрч-сессии — записи добавлять сюда)

(Хроника сессии «Голос и состояние» (09.07 → research/15, D21) — в archive/PROGRESS-2026-07-04-10.md, D31.)

Ридер-IDE

(секция ресёрч-сессии и фронт-сессий — записи добавлять сюда)

Фронт-сессия — исследование стека закрыто (02.08). 15 агентов (7 направлений × независимый скептик-опровергатель + синтез), версии сверены с вебом 02.08; скептики дали 5 blocker/45 major — записаны исправленные варианты. Артефакты: frontend/docs/STACK_DECISIONS.md (пины точными версиями · ловушки «вся документация в сети описывает прошлые версии» · работы движка §8) + переписанный frontend/docs/FRONTEND_SESSION_PROMPT.md (фронт режется на этапы S0S7; первая кодовая сессия кончается витриной токенов). — ЛЕНД D39.84 (10-агентный refute-воркфлоу оркестратора: все несущие бэкенд-утверждения CONFIRMED, 8/8 веб-пинов подтверждены первоисточниками; работы движка = строки 99102; ПТ-34/ПТ-21/ПТ-23 в реестре; вопрос коммит-прав фронт-сессий — у владельца).

(Хроника сессии «Ридер-IDE» (11.07 → research/16, D29) — в archive/PROGRESS-2026-07-04-10.md, D31.)