textmachine/docs/PROGRESS.md

212 KiB
Raw Blame History

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

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

  • ПРИЁМКА бэкенд-пака строк 104/46/16 ИСПОЛНЕНА (оркестратор №11, D39.91): пак ПРИНЯТ, код заленден 553f1a3 (13 файлов backend/, pathspec-форма), строка 104 ЗАКРЫТА. Батарея пере-прогнана — 5/5 фрозен-чисел совпали; деньги пере-выведены вторым путём ($0.045095 ≡ usage×цены ≡ Σ request_log, дельта $0.000000); пять НЕЗАВИСИМЫХ посадок в гарды — все CAUGHT; N=5 сверен с сырьём. Обе девиации пака РАТИФИЦИРОВАНЫ (repair-ключ свой · ThinksOnWire). Поправки приёмки (метка «$0.031639 (flash)» = на деле flash+pro · хеш-клейм принят по эквивалентности · стейл-доккоммент capability.go:78) — в D39.91 и ревью-шапке отчёта; отложки Д4Д9 получили носителей: НОВЫЕ строки 114 (Д4+доккоммент) · 115 (Д6 go:embed-общность) · 116 (Д8 порог 6/6) · реестр 108 (+Д5/Д9) · строка 107 (+Д7). Решения владельца 02.08 вечер (D39.92): 46 — пере-поставлена closed-set («вернуло не тот язык»), форма (а)+изолированный модуль, порядок §5.4 в силе, ⚠ денежный шаг 6 всё ещё под отдельную подпись · 107 — САНКЦИЯ целиком (CI+линтер+бампы, «стандарты не должны толкать к хакам»), промт выдан: BACKEND_REPO_STANDARDS_SESSION_PROMPT.md · 112 — САНКЦИЯ, исполнение = этап 0 того же промта. ОТКРЫТО НА ВЛАДЕЛЬЦЕ: 116 (порог: рекомендация «≥4/5 при N=5» подана) · строка 5 (вытащить ли находки прерванного банк-ресёрча из истории той сессии, иначе пере-запуск по подрезанному скоупу $1.20) · подпись на шаг 6 строки 46 (бамп classifierVersion, когда дойдём). Источник истины по РЕШЕНИЯМ — 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, так чтобы четвёртое такое место не могло появиться молча. Промт выданBACKEND_EFFORT_HANDLE_SESSION_PROMPT.md (работы A/B $0 + проба банка ≤$0.10 + добивка прогона ≤$5, закрывающая строку 16 и впервые дающая данные по осям голоса для 13б). Перекупок нет (D39.63).
  • Горизонт (D39.62/67): ре-проба flash (74; + платный порог 6/6 классификатора + пробы 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 · строка 74 перед любым платным прогоном.
  • Стек: draft deepseek-v4-flash thinking-ON (+банкнота) ⚠0731 → терминолог (та же модель, батчи, экран target_script) → editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (вендором НЕ тронут; glm-5 резерв) → судья gemini (Ф2, полигон); канал B Mistral+grok; ~$0.85/ранобэ (D30.4) — пере-калибровка после развилки 74.
  • ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). СЧЁТ ОЧЕРЕДИ на 02.08 (D39.90, обновлять при каждом лендинге; считать скриптом по таблице, не на глаз): всего 95 строк · зона бэкенд 46 строго / 61 широко · блокеров очереди 0 (104 → «на приёмке») · «скоро» 13 (2·4·5·18·46·49·55·95·107·108·109·112·113); остальное «когда-нибудь». ⚠ Счёт — НИЖНЯЯ граница долга, а не потолок: трекер содержит только замеченное, и 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) —
74 DeepSeek-V4-Flash-0731: боевая черновая форма покупает пустые ответы. РЕ-ПРОБА ИСПОЛНЕНА (D39.86, $0.114378 из $0.15): блокер ВОСПРОИЗВЕДЁН на боевой форме — 0 из 9 вызовов пригодны при max_tokens=8496. РАЗВИЛКА — НА ВЛАДЕЛЬЦЕ; платных прогонов до его слова нет. Числа пере-выведены приёмкой из сырья. (а) флор 16000 — ФАЛЬСИФИЦИРОВАН (4/5 пустых при 16992; reasoning_content 1521 тыс. симв. — модель переводит главу ВНУТРИ размышления; вендорская норма вывода для high = 384K, ×45 к флору) ⇒ строка 44 закрыта этим замером. (б) reasoning_effort:"low" — волна оживает (20/22 stop, 18/20 чанков, латентность 944 с); стадийная ручка проходит echoMineViolation БЕЗ амендмента (гейт инспектирует МЕХАНИЗМ control, не значение; у deepseek ReasoningNonelow уходит на провод, thinking не выключается) — но для БЭНК-РОЛЕЙ посылка об амендменте ЖИВА (ручки нет вовсе, единственный дата-путь extra_body гейт банит) ⇒ (б) = правка Go (строка 104), НЕ строка конфига; цена: эхо 3/20 · 1/18 выход на английском (строка 46) · волна $0.028195 all-in / $0.019489 flash-only · доккомменты гейта (models.go:440-448, capability.go:52-58) обязаны быть приведены в соответствие тем же решением, иначе защита читается как полная, а боевой конфиг её обходит по неохраняемому каналу. (в) ждать — вендор молчит (changelog новее 31.07 нет, сверено 02.08). (в′) thinking OFF — ЗАМЕРЕНО (карантинная копия конфига вне git, боевой гейт цел): 0 пустых из 22 · терминолог 5/5 · волна $0.012287 · но эхо-мина ЖИВА 4/20 и качество прозы не судилось никем ⇒ разворот ратифицированного гардрейла, требует читки качества, не рекомендация. (г) черновик на deepseek-v4-pro — 0 правок Go, но ≈×8.9 к (б) (≈$0.174 на волну 20 чанков из единственного хопа; «×3.1» = только отношение цен за токен, pro выдал 9059 выходных токенов против медианы 2330 у flash-low) и ⚠ на pro ручка эффорта НЕ работает (вендор-маппинг low→high), а смена маппинга pro объявлена вендором на «early August 2026» — то есть сейчас. Ручка #77 (ре-ген эха перед эскалацией, D39.64, дефолт 0) — тем же решением; при включении помнить общий счётчик attempt с length-ре-геном + рост maxTokensForAttempt. ⚠ НЕ замерено: regenerate_before_escalate: 2 (×4 бюджета — конфиг-ручка, ноль правок Go); ×2 дал отдачу 1/5 и это ЕДИНСТВЕННЫЙ живой автоматический путь (эскалация закрыта КЛАССОМ флага, доказано escalated=0 при профинансированном хопе). Остаток §12.7 (8 несудимых fidelity-пар ≈$0.10 · ja-вход ≈$0.005 · prefill-continuation research/21 §1.17) — при предмете wiring; полигон-слоты Q2 (36б-замер) и Q7 (эмиссия головы, после #10) — прежней очередью. Порог классификатора 6/6 ВЗЯТ ($0.000390, finish=stop; дискриминирующая часть 4/4 — 元石/灵泉 стоят в промпте дословно) — эта половина строки ЗАКРЫТА. РАЗВИЛКА РЕШЕНА ВЛАДЕЛЬЦЕМ 02.08 (D39.87): вариант (б)low для черновика ПЛЮС правка Go, дающая ручку ролям без неё (строка 104), ПЛЮС экран целевого языка (строка 46) как условие безопасности; (в′) отклонён (разворот гардрейла без читки качества), (г) отклонён по цене и по неуправляемости эффорта у pro. Промт выдан — BACKEND_EFFORT_HANDLE_SESSION_PROMPT.md; строка закрывается приёмкой этого пака владелец → бэкенд в работе (промт выдан D39.87) правка по строкам 104 и 46 + добивка прогона (строка 16) D39.61, D39.63, D39.64, POLYGON_PROMPTLANG_ANTIECHO §12.4, D39.83, D39.86, D39.87
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
107 Конвенции Go-репозитория: самописные AST-гарды → x/tools/go/analysis, линтер и CI (вопрос владельца 02.08). Предмет: backend/internal/pipeline/synthetic_stage_seam_test.go (395 строк) — архитектурный гард, запрещающий рукописные config.Stage{} мимо шва; ходит по ДЕРЕВУ через go/parser из обычного _test.go пакета pipeline, резолвит пакет по ПУТИ импорта (не по имени), несёт пол на число разобранных файлов. Механика правильная по НАМЕРЕНИЮ и уже поймала 7 обходов (байтовая версия пробивалась 5 способами, AST-версия — ещё 2: алиас импорта и []config.Stage{{…}}), и слабое место одно: нет типовой информации (go/packages+types.Info вместо резолва по путям импорта), плюс каждый следующий инвариант породит ещё один такой обход. ⚠ ТЕСТОВЫЙ ДОМ — СЛЕДСТВИЕ ЗАМЕРА, А НЕ НЕБРЕЖНОСТИ (отчёт §5.5, проверено запуском; моя формулировка «дом неверный» СНЯТА как над-клейм): форма «архитектурное правило обычным тестом» — стандарт stdlib (go/build/deps_test.go держит так граф зависимостей, go/types/errorcalls_test.goast.Inspect по своим исходникам; аналог в Java — ArchUnit), а альтернатива не проходит наше ограничение «падать на обычной батарее»: go test -vet=<свой анализатор> → «-vet argument must be a supported analyzer», GOFLAGS=-vettool при go test игнорируется. Цена перехода на x/tools/go/analysis названа: он тянет x/net 0.26.0 → 0.54.0, а x/net/http2 — наш транспорт к провайдерам. golangci-lint = 38.7 МБ бинарь и первый в проекте .golangci.yml; exhaustruct (инструмент ровно под исходный класс бага) даёт 16 находок, 15 из них в тестах. Настоящая развилка: принять ли бамп x/net ради типовой информации · заводить ли CI · остаётся ли гард тестом. Индустриальная форма — analyzer на golang.org/x/tools/go/analysis (+multichecker, запуск go vet -vettool= и в CI), где алиас/дот-импорт закрываются ПО ПОСТРОЕНИЮ. Отдельная половина вопроса: в репозитории нет ни .golangci.yml, ни Makefile, ни CI-воркфлоу (проверено) — батарея гоняется руками каждой сессией. ⚠ Владелец прав в опасении: включение стандартного набора на ~200 файлах даст большой хвост находок ⇒ первый шаг работы — $0-ЗАМЕР (прогнать набор в report-only и посчитать находки по правилам), и только потом решать состав + режим внедрения (baseline «только новый код» против big-bang) · +Д7 (приёмка D39.91): давний БАЙТОВЫЙ гард TestProviderEgressSeamIsSingle (свой корень обхода, свой словарь исключений) свести с AST-обходом в ОДИН тем же решением формы 02.08 вечер (D39.92): САНКЦИЯ ЦЕЛИКОМ («по стандартам индустрии»; анти-хак-правило в промте) — промт выдан: BACKEND_REPO_STANDARDS_SESSION_PROMPT.md (этапы 0/AE, три СТОП-пинга) бэкенд скоро (промт выдан, ждёт сессии) пак по промту → приёмка оркестратора D39.90, отчёт EFFORT_HANDLE §1.3
112 ПЯТЬ ШИППИНГ-КОНФИГОВ РЕПО ВСЁ ЕЩЁ НЕСУТ no-op reasoning: "off" НА ЧЕРНОВОЙ СТАДИИ — решение владельца (б) до них НЕ доехало (Д10 отчёта, D39.90). Адреса проверены: configs/pipeline-c1.yaml:49 · pipeline-c2.yaml:26,39 · pipeline-arm-mistral.yaml:30 · pipeline-arm-glm.yaml:34 · pipeline-arm-deepseek-pro.yaml:34. Это ровно тот no-op, который отправил прогон в стену 0/9: на deepseek off = «не слать ничего» ⇒ вендор-дефолт high. Сессия сознательно их не трогала, потому что правка двигает снапшот всем, кто этими конфигами пользуется (перекупка), и вынесла вопрос наверх. ⚠ Не путать со стендом: правился только coldrun-b/reprobe/bank-low/pipeline.yaml, боевой coldrun-b/pipeline.yaml тоже НЕ тронут. Решить: применять ли (б) к шиппинг-конфигам, каким именно, и когда платить перекупку (на свежей книге — $0). ⚠ В arm-glm:43 и arm-deepseek-pro:43/c1:77 off стоит на РЕДАКТОРЕ осознанно — это другой случай, не трогать без отдельного разбора 02.08 вечер (D39.92): САНКЦИЯ — править все пять, перекупка старых книг при следующем прогоне принята бэкенд скоро (этап 0 промта BACKEND_REPO_STANDARDS_SESSION_PROMPT.md) правка данных + батарея D39.87, D39.90, EFFORT_HANDLE Д10
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, точки сверки известны заранее) оркестратор скоро ($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

Оркестратор №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. ⚠ Фронт-сессия ЖИВАЯ — правило доедет только РЕЛЕЕМ владельца. Хроника: Фронт-сессия ЖИВАЯ и коммитит в main сама, хотя по D39.84 п.8 право коммита фронту ещё НЕ выдано («до слова владельца действует «сессии не коммитят»»). Дважды её коммиты (e9a6bb2, b98afb5) унесли мою застейдженную работу под своим сообщением — общий индекс, ровно класс инцидента 77dd9b8: в e9a6bb2 уехал git mv архивации промта, в b98afb5 — все четыре дока лендинга D39.87. Содержимое цело и проверено (git show HEAD: по каждому файлу), потеряна только атрибуция коммитов; history-rewrite не делаю — запрещён при живых параллельных сессиях. Смягчение с моей стороны: стейдж и коммит одной атомарной командой. Владельцу: решить вопрос коммит-прав фронта (D39.84 п.8) — либо выдать право с пост-хок ревью, либо потребовать «не коммитить», иначе инцидент повторится; альтернатива — развести сессии по веткам.

Оркестратор №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); единый бэклог фронт/платформа-строк больше не принимает. ⚠ Норма-вопрос владельцу: промт S0 велит фронт-сессии коммитить самой — против «сессии не коммитят»; рекомендация — право коммита фронту В СВОЕЙ зоне, пост-хок ревью; до слова владельца действует старая норма.

Оркестратор №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.)

Полигон

Сырьё арки банка + пробы фиксов (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.)