diff --git a/docs/ORCHESTRATOR_SESSION_PROMPT.md b/docs/ORCHESTRATOR_SESSION_PROMPT.md index 20f327d0..df9aa7d2 100644 --- a/docs/ORCHESTRATOR_SESSION_PROMPT.md +++ b/docs/ORCHESTRATOR_SESSION_PROMPT.md @@ -1,8 +1,6 @@ -# Промт: сессия-ОРКЕСТРАТОР TextMachine (передача роли №6, 2026-07-25, пост-D39.25 — эра «механизация выпускного качества») +# Промт: роль ОРКЕСТРАТОР TextMachine (канонический счётчик №N — в первой строке ниже) -## ХЕНДОФФ №8 → №9 (26.07.2026, вечер) - -> **Счётчик ролей — канонический ОДИН:** «оркестратор №N» (сейчас №13 — хендофф 04.08.2026, №12 закрыт после D39.101; состояние передачи — D39.101 + PROGRESS CURRENT-STATE + записка, переданная владельцем). «Передача роли №6» в заголовке файла и «ХЕНДОФФ №8→№9» — исторические номера эстафеты документа, текущим счётчиком НЕ являются (фидбек новой сессии 02.08). +> **Счётчик ролей — канонический ОДИН:** «оркестратор №N» (сейчас №14 — хендофф 04.08.2026, №13 закрыт после D39.105; состояние передачи — D39.105 + PROGRESS CURRENT-STATE; первая задача №14 — приёмка P0 платформы, перешла от №13). **Позиция и первые задачи хендоффа №8→№9 (26.07) — ИСТОРИЧНЫ И ИСПОЛНЕНЫ** (малая пачка 14а+14б → D39.54 · пак-19 → D39.55/56 · холодный мини-прогон → D39.58 · пак-21 «чекеры» → растворён D39.62, исполнен пакетом D39.78) — здесь не пересказываются (историзировано D39.80: файл нёс протухшую очередь как второй носитель состояния). **ЕДИНЫЙ БЭКЛОГ = секция «Бэклог» в PROGRESS.md — единственный трекер.** Текущее состояние и очередь — ТОЛЬКО PROGRESS CURRENT-STATE; онбординг стандартный (CLAUDE.md → README → CURRENT-STATE → голова D-лога). @@ -12,6 +10,8 @@ **Норма «дисциплина ответа» (владелец 26.07, для Opus-класса моделей — вставлять в каждый сессионный промт):** эрудиция ≠ улика (грунт `file:line`/замер или пометка «мнение») · не пересказывать промт · плотность, не объём · без шаблонных оговорок и советов вне скоупа · комментарии 1–2 строки, улики — в отчёт. +**Норма «без саги» (владелец 04.08):** в доках и промтах — без саги обсуждений и воды, только решения (D-номером, не пересказом диалога) и несущие детали; дословные цитаты владельца — только как носитель ратификации; отчёты владельцу — итог и решения, механика проверок — в журнал; перед выдачей промта — двойной аудит: факты по file:line + понятность холодным исполнителем. + **Норма приёмки и усилий (владелец 30.07; ⚠ часть «короткая приёмка чтением отчёта» АМЕНДИРОВАНА владельцем 03.08 — приёмка ВСЕГДА адверсариальная, блок «Анти-паттерны приёмки» ниже; экономия остаётся для промтов/планирования):** тяжёлый агентный аппарат (воркфлоу-верификаторы, панели) — ТОЛЬКО поверх серьёзных перестроек и дизайнов; в остальном сессиям доверяем. Значительные изменения → промт сессии несёт цикл «план → синк по вопросам → чтение доков полигона/оркестратора → исполнение → самоверификация ТОЙ ЖЕ сессией». Оркестратор: КОРОТКАЯ приёмка чтением отчёта · общее планирование над репо · досинхронизация команды (полигону — инструкции смотреть на бэкенд, бэкенду — на полигон-экспы) · правка недосинхронизированных мест. Токены беречь: болтливость сессий подрезать промтами, свои усилия — тоже. **Норма самопроверки сессий (владелец 01.08, «ВСЕГДА. НА ВАЖНЫХ»):** промт ЛЮБОЙ важной сессии (бэкенд-паки, ресёрчи, платные полигон-пакеты) ОБЯЗАН нести явный мандат самопроверки исполнением; на мелких задачах — самопроверка меньше, без тяжёлого аппарата. В мандат включать урок D39.61: «вывод на агрегате до вскрытия единиц запрещён — перед сравнительным выводом открыть хотя бы одну единицу с каждой стороны»; для денег — два независимых пути счёта; помнить «леджер = нижняя граница» (строка 78). **Триаж находок (урок 02.08):** триаж многоисточниковых свипов/ревью завершать МАШИННОЙ сверкой «каждая рекомендация → живой носитель (строка/дописка/D-закрытие)», не глазами — глазной триаж уронил 5 из ~95 рекомендаций (ведро D и др., D39.72/73). diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index 95e1713c..ef0b9449 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -1,14 +1,14 @@ # Журнал прогресса -> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-08-04, голова D39.101; сессия оркестратора №12 ЗАКРЫТА — передача №13). -> - **ПЕРЕДАЧА №12 → №13 (D39.101, 04.08) — задача (i) ИСПОЛНЕНА: приёмка банк-арбитража ЗАВЕРШЕНА (D39.102, 04.08).** research/24 + харнесс + черновик ПРИНЯТЫ и залендены; все числа чисты пере-раном (12-агентный воркфлоу 8/8 CONFIRMED · 23/23 адресов §A по HEAD · деньги из сырья $0.107334 ≈ леджер; расхождение пинга = склейка инкрементов C+E — маркер в «Полигоне»); строки 128–132 заведены (фикс-пак банка 128 — ГЕЙТ подписи владельца), строка 5 пере-скоуплена (консилиум закрыт классом; остаток — рецензент спорных кластеров при ре-пробе 74); **4 вопроса владельцу — D39.102 п.4**. Дальше бэкенд-очередь: промт пака экрана 46 (D39.94 п.3: фикстура 113 ПЕРВОЙ, денежный шаг ТОЛЬКО с подписью владельца) · малый пак tools/go.mod (строка 118, D39.97 п.4) · блокеры контракта 99/100/101/103/125. **Вахта deepseek-v4-pro: триггер «>05.08» НАСТУПАЕТ** — при аномалии редакторского арма пере-проба + вендор-changelog (реестр 108; `medium` на DeepSeek не ставить). Открыто на владельце: 116 (порог подан) · мини-проба 44 «low+16k» (~$0.05) · подпись денежного шага 46 · лист В-3+К-6 (фразы замечаний) · запуск S3 (первым шагом правки спеки D39.100) · **вопросы банка ЗАКРЫТЫ ВСЕ (D39.103/104): (i) алиасы отложены до длинного прогона · (ii) «Гуюэ» = не чинить, канал сида (фикс-пак 128 обязателен) · (iii)/(iv) промты ВЫДАНЫ · фронтир-«go» дан (§C пробы, ≤$0.50) · ДОКТРИНА ИНЖЕКТА ратифицирована (D39.104: закон везде по статусу + оговорка области; дата-правка заголовков = строка 134 после пробы)**. **P0 ОТРАБОТАЛА к моменту передачи**: отчёт + дизайн-ответы К-4/К-7/К-12/П-5 предложениями — `platform/docs/platform-PROGRESS.md` (батарея зелёная, healthz/readyz против живого Postgres 18.4 — со слов журнала, НЕ перепроверено); живое дерево `platform/*` целиком, включая модифицированный `go.mod`, ждёт **ПРИЁМКИ №13** — не трогать и не заметать коммитом; там же ТРИ открытых вопроса, один — ВЛАДЕЛЬЦУ (авто-резюме `paused` после сброса лимитов). Вопросы владельцу из отчёта банка ПОДНЯТЫ приёмкой (D39.102 п.4). -> - **Сессия №12 (03–04.08) — закрыта, всё принято и заленжено:** пак стандартов + дофикс archguard (D39.96/97: `.golangci.yml` 0 issues · `make battery` = единая точка входа · tmvet/archguard 38 посадок, 9/9 мутаций · x/net 0.57 живой пробой PASS 3/3 · конфиги 112 → **платные прогоны разблокированы**) · фронт S2 + дофикс по ревью (D39.98) · **контракт API v0, форма OpenAPI 3.1, строка 95 закрыта** (D39.99: три пасса приёмки, 19/19 находок вправлено, типы фронта ГЕНЕРЯТСЯ из спеки) · решения владельца К-1/К-8(→ПТ-35/П-5)/К-5/К-6/К-3 + **платформа открыта промтом P0** (D39.100) · git-канон v2 «коммитит только оркестратор» разнесён по носителям (D39.98). Лендинги: `e8d4ac0`…`0e64efe` (бэкенд, 7 коммитов) · `02872b6`…`94a24b7` (фронт/контракт/платформа/доки, 9). +> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-08-04, голова D39.105; сессия оркестратора №13 ЗАКРЫТА — передача №14). +> - **ПЕРЕДАЧА №13 → №14 (D39.105, 04.08).** №14 ПЕРВЫМ: **приёмка P0 платформы** (в №13 НЕ исполнена — переходит; клеймы журнала платформы — СО СЛОВ, перепроверять исполнением; дерево `platform/*` ЖИВОЕ целиком, включая `go.mod`, — не трогать и не заметать коммитом; там 3 открытых вопроса, один — владельцу: авто-резюме `paused`) · **приёмки по готовности отчётов**: фикс-пак банка 128 (промт `BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md`, санкция D39.103 п.1) и проба редакторского провода (промт `POLYGON_EDITOR_WIRE_PROBE_SESSION_PROMPT.md`, ≤$0.30 + фронтир ≤$0.50 «go» дан; отчёт будет `docs/experiments/18-editor-wire-probe.md`) — обе сессии готовы к запуску, порядок любой; приёмка всегда адверсариальная, клеймы с репликацией · **строка 134** (дата-правка инжект-заголовков под доктрину D39.104) — ПОСЛЕ отчёта пробы 18 · дальше бэкенд-очередь: промт пака экрана 46 (D39.94 п.3: фикстура 113 ПЕРВОЙ, денежный шаг ТОЛЬКО с подписью владельца) · малый пак tools/go.mod (строка 118, D39.97 п.4) · блокеры контракта 99/100/101/103/125 · лендинг S3 при её запуске. **Вахта deepseek-v4-pro: дата-триггер >05.08** (реестр 108; при аномалии редакторского арма — пере-проба + вендор-changelog; `medium` на DeepSeek не ставить). Открыто на владельце: 116 (порог подан) · мини-проба 44 «low+16k» (~$0.05) · подпись денежного шага 46 · лист В-3+К-6 (фразы замечаний) · запуск S3 (первым шагом правки спеки D39.100) · вопрос платформы (авто-резюме `paused` после сброса лимитов). +> - **Сессия №13 (04.08) — закрыта:** приёмка банк-арбитража — research/24 ПРИНЯТ и заленден, все числа чисты пере-раном, строки 128–132 заведены (D39.102, `271f8b0`) · решения владельца: фикс-пак 128 и проба редакторского провода санкционированы, промты выданы с двойным аудитом, фронтир-«go» дан, алиасы §E-1 отложены до первого длинного прогона (D39.103) · **ДОКТРИНА ИНЖЕКТА ратифицирована** (D39.104: банк на проводе = закон для всех ролей независимо от статуса строки, свобода — только оговоркой области употребления; «Гуюэ» — не чинить, канал сида; дата-правка = строка 134) · полный док-свип закрытия (D39.105). Лендинги: `271f8b0` · `d653aa1` + закрывающий. > - **Сделано (сводно; детали — D-лог и архив-слайсы):** Ф0 ✅ · Ф1-инфра ✅ · арх-ресет D39 (7 слоёв, паки 11–16) ✅ · паки 17 «канал B» · 18 «долги» · 19 «голос/состояние» · 20 «банк+терминолог» ✅ (D39.26–28/31/41–56) · мини-прогон (D39.37) и ХОЛОДНЫЙ прогон (D39.58: recall банка 0.918/0.980, банк приходит переведённым) приняты · полигон-пакеты 5–8, 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.59–78) → **ФРОНТ-ЭРА открыта** (D39.81–100: зоны `frontend/`+`platform/` живые, контракт API ратифицирован). Развилка блокера 0731 решена вариантом (б) и ИСПОЛНЕНА (D39.87/91: `reasoning_effort:"low"` черновику + ручка эффорта бэнк-ролям, код `553f1a3`); отладочный прогон C не стартовал ⇒ **строка 16 жива и оси голоса 13б без данных**; пак экрана 46 — дизайн заморожен (D39.92 п.1 + D39.93), промт ждёт выдачи; coldrun-b фаза C заморожена чекпойнтом — легитимный исход (D39.86); эталон денег/поведения — coldrun-a (read-only). Числа и хроника закрытых паков — D-лог D39.79–97, сюда НЕ дублируются. -> - **Горизонт (D39.62/67, освежён D39.95):** ре-проба flash ИСПОЛНЕНА и строка 74 закрыта (D39.86/91; порог 6/6 → пере-ратификация выборочным, строка 116; пробы 36б Q2/эмиссии Q7 — по слову) → **ДОБОР ИДЕАЛА** (первым прогоном: оси голоса 24 · авто-режим · итерация №2 редакторов 65 · цена 16 · веса K1–K12 13а · вне-претрейн чекпоинт 55) → ВТОРАЯ ПАРА живьём (ja→ru; преп 81) → МАСШТАБ → пилот Ф2.5 (гейт резюме-строки 80; строки 62–68, 85) → Ф3 ридер-IDE (69–71). **Стоячие:** ToS-триггер 25.10 · Ш-2 до go1.27 (⚠ + x/text-таблицы Unicode 17 тем же тулчейном — строка 119/реестр 108) · проба провода исполнена и 117 закрыта (D39.97), конфиги 112 залендены — платные прогоны разблокированы. +> - **Горизонт (D39.62/67, освежён D39.95):** ре-проба flash ИСПОЛНЕНА и строка 74 закрыта (D39.86/91; порог 6/6 → пере-ратификация выборочным, строка 116; проба Q2 ИСПОЛНЕНА — research/24, D39.102: семейства не окупаются, остаток = рецензент спорных кластеров при ре-пробе 74; эмиссия Q7 — по слову) → **ДОБОР ИДЕАЛА** (первым прогоном: оси голоса 24 · авто-режим · итерация №2 редакторов 65 · цена 16 · веса K1–K12 13а · вне-претрейн чекпоинт 55) → ВТОРАЯ ПАРА живьём (ja→ru; преп 81) → МАСШТАБ → пилот Ф2.5 (гейт резюме-строки 80; строки 62–68, 85) → Ф3 ридер-IDE (69–71). **Стоячие:** ToS-триггер 25.10 · Ш-2 до go1.27 (⚠ + x/text-таблицы Unicode 17 тем же тулчейном — строка 119/реестр 108) · проба провода исполнена и 117 закрыта (D39.97), конфиги 112 залендены — платные прогоны разблокированы. > - **Стек:** draft deepseek-v4-flash thinking-ON (+банкнота) **⚠0731** → терминолог (та же модель, батчи, экран `target_script`) → editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (⚠ вендор АНОНСИРОВАЛ смену маппинга эффорта pro «early August 2026» — вахта в реестре 108; glm-5 резерв) → судья gemini (Ф2, полигон); канал B Mistral+grok; ~$0.85/ранобэ (D30.4) — 112 залендена (D39.97), пере-калибровка цены при следующем платном прогоне. -> - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже** (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). **СЧЁТ ОЧЕРЕДИ на 04.08 (D39.99, скриптом по таблице; обновлять при каждом лендинге):** всего **103** строки · зона бэкенд **54** строго (ячейка ровно «бэкенд») / **67** широко (ячейка содержит «бэкенд»; прежние 58/66 считались префиксом — определения зафиксированы) · **блокеров очереди 0**, платные прогоны разблокированы (117 закрыта) · «скоро» **20** (2·4·18·46·49·55·99·100·101·103·108·109·113·114·116·118·119·120·121·125); строка 5 — НА ПРИЁМКЕ; остальное «когда-нибудь». ⚠ **Счёт — НИЖНЯЯ граница долга, а не потолок:** трекер содержит только замеченное, и 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` (стройка паков 11–16, rerun2) · **`-25-31` (паки 17–20 · мини-прогон · полигон-пакеты 5–8 · ToS · холодный прогон; D39.26–58)**. Записи ниже — живой хвост (эра D39.59+). +> - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже** (одна таблица, единственный трекер; каждая петля обязана иметь диспозицию: решено / отложено-с-записью / отклонено; ведёт оркестратор). **СЧЁТ ОЧЕРЕДИ на 04.08 (D39.105, скриптом по таблице; обновлять при каждом лендинге):** всего **109** строк · зона бэкенд **60** строго (ячейка ровно «бэкенд») / **72** широко (ячейка содержит «бэкенд») · **блокеров очереди 0**, платные прогоны разблокированы · «скоро» **24** (2·4·18·46·49·55·99·100·101·103·108·109·113·114·116·118·119·120·121·125·**128·129·130·134**); строка 5 — остаток гейчен ре-пробой 74 (D39.102 п.2); остальное «когда-нибудь». ⚠ **Счёт — НИЖНЯЯ граница долга, а не потолок:** трекер содержит только замеченное, и 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` (стройка паков 11–16, rerun2) · **`-25-31` (паки 17–20 · мини-прогон · полигон-пакеты 5–8 · ToS · холодный прогон; D39.26–58)** · **`-08-01-02` (сессии №9/№10: общность · качество банка · coldrun-b · открытие фронта/платформы; D39.59–90, срез D39.105)**. Записи ниже — живой хвост (№11+, эра D39.91+). ## Бэклог (ЕДИНЫЙ, собран 26.07, актуализация 04.08 D39.99/D39.101; правки — только через оркестратора) @@ -19,7 +19,7 @@ | **— ВИСИТ НА ВЛАДЕЛЬЦЕ —** | | | | | | | 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.077–0.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), промт подрежет оркестратор перед выдачей** → **04.08 ПЕРЕ-ЗАПУСК ИСПОЛНЕН, промт заархивирован (`archive/prompts/`, D39.101)** (скоуп резался релеем, тело промта не правилось): артефакты в дереве, пинг — секция «Полигон»; предыдущий ⚠ «артефакта в дереве НЕТ» относится к прерванному заходу 02.08 и ЗАКРЫТ → **04.08 ПРИЁМКА №13 ИСПОЛНЕНА (D39.102): ПРИНЯТ и заленден; Q2 отвечен — семейства не окупаются (C3−SC=+3 и все три = один кластер 古月; glm-соло 25/45 > совет 23/45); равноправный совет · кросс-модельные веса · self-consistency · селекция · отказ-сигнал ЗАКРЫТЫ классом; фикс-пак банка = строка 128 (гейт подписи)** | полигон/ресёрч | **ОСТАТОК ГЕЙЧЕН ре-пробой 74** (рецензент спорных КЛАСТЕРОВ, роутинг family/series-юнитами — G4, D39.102 п.2) | замер (остаток) → решение | D39.50 п.6, D39.58, D39.69, D39.70 (Q2), D39.89, **D39.90** | +| 5 | **Арбитраж банка: замер ИСПОЛНЕН и ПРИНЯТ (research/24, D39.102).** Закрыто классом: равноправный совет · кросс-модельные веса уверенности · self-consistency · селекция из вариантов · отказ-сигнал ⟦TM-NO-DST⟧; Q2 отвечен — семейства не окупаются (C3−SC=+3 и все три добычи = один кластер; glm-соло 25/45 > совет 23/45). **ОСТАТОК СТРОКИ:** рецензент-другого-семейства ТОЛЬКО на спорных КЛАСТЕРАХ (слот при ре-пробе 74), роутинг целыми family/series-юнитами (G4), эмиссия рецензента — та же draft/⟨проверить⟩. История захода — D39.89/90/101/102 | полигон/ресёрч | **ОСТАТОК ГЕЙЧЕН ре-пробой 74** (D39.102 п.2) | замер (остаток) → решение | D39.89, **D39.102** | | 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 (оркестратор) | @@ -59,9 +59,9 @@ | 34а | **Экран кодировки не видит `` без XML-объявления** (епаб с gb18030-метой прочтётся как UTF-8) — до-паковая дыра, сознательно не тронута пачкой 14а (паритет со старым ридером) | бэкенд | когда-нибудь | отдельное решение | D39.54, SMALLPACK §8 | | 35 | **Не-CJK майнер/банк**: en-детектора не существует (hanRuns=0), ja с zh-таблицами активно неверен (0/10); нужен второй ДЕТЕКТОР (прототип `mine_nonhan.py`) + G1–G10 требования generic-майнера (вкл. квадратичность G9 ≈4.6 ч) | бэкенд | когда-нибудь | отдельный пак generic-майнера (с ja→ru) | D39.37(8), D39.43, D39.50 п.8, POLYGON_PREMEASURE §6 | | 36 | Кластеризация майнера глотает родовые титулы (族长/学堂家老 в кластере 葛家) — закрыто на границе сборки входа, сама кластеризация не чинилась | бэкенд | когда-нибудь | отдельное решение | D39.43, D39.45 | -| 36б | **Второе мнение по банку**: рецензент ДРУГОЙ моделью, несогласия — отдельной колонкой подписной таблицы (судья-с-декоем в роли рецензента; решает владелец, D39.46-ограничение не бьёт). ⚠ **ДИСПОЗИЦИЯ ПРИВЕДЕНА В СООТВЕТСТВИЕ (D39.90): бэкенд-стройки НЕТ** — D39.69 закрыл её по нужности, маршрут = полигон-ЗАМЕР (строка **5**, промт выдан); переживёт замер → тонкая колонка наблюдаемости, не гейт. Прежняя форма «отдельный дизайн (Р4)» в зоне бэкенда была устаревшей и завышала счёт бэкенд-очереди | полигон (замер) → бэкенд (только если переживёт) | когда-нибудь (через строку 5) | замер строки 5 → решение | D39.58, D39.51 п.4, D39.69, **D39.90** | +| 36б | **Второе мнение по банку**: рецензент ДРУГОЙ моделью, несогласия — отдельной колонкой подписной таблицы (судья-с-декоем в роли рецензента; решает владелец, D39.46-ограничение не бьёт). ⚠ **Бэкенд-стройки НЕТ** (D39.69 закрыл по нужности); замер ИСПОЛНЕН (research/24, D39.102) — остаток = строка 5: рецензент спорных КЛАСТЕРОВ при ре-пробе 74, роутинг family/series-юнитами; переживёт замер → тонкая колонка наблюдаемости, не гейт | полигон (замер) → бэкенд (только если переживёт) | когда-нибудь (слот при ре-пробе 74, остаток строки 5) | замер остатка → решение | D39.69, D39.90, **D39.102** | | 36г | **Проводной формат каналов пересказан прозой в каждом пар-промпте, парсер в Go, связи нет** — формат в шаблон движка (`{{banknote_format}}`); линты держат класс, дублирование остаётся | бэкенд | когда-нибудь (со следующей правкой промптов) | отдельное решение (Р5) | D39.58 | -| 37 | **Квадратичности: `AttachKWIC`** (16.8 с / 2000 кандидатов; фикс — многошаблонный поиск) + src-правило банкноты при промахе чанк-пути (строка × длина книги; на 10 главах не видна) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.1, D39.58 | +| 37 | **Квадратичности: `AttachKWIC`** (16.8 с / 2000 кандидатов; фикс — многошаблонный поиск; кандидат-носитель — опция фикс-пака 128, Aho-Corasick в membank готов) + src-правило банкноты при промахе чанк-пути (строка × длина книги; на 10 главах не видна) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.1, D39.58 | | 38 | Смета не видит пере-покупку прохода терминолога на каждой итерации подписи (роль не пишет `chunk_status`, не видна `projectRebill`) · хвост приёмки №13 (СО СЛОВ слепого ревью, НЕ верифицировано): адрес чекпойнта батча = ординал при частотной сортировке растущего набора кандидатов ⇒ реюз чекпойнтов прохода ~0 на инкрементальной книге (`terminology.go:925-931`) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.2, D39.102 | | 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 | @@ -77,8 +77,8 @@ | 48б | **Импорт «оригинал + чужой перевод» как режим данных терминолога** (target-агностичный вход есть контрактом; сам режим + провенанс источника + юр-сторона в юр-пакете) | бэкенд/владелец | когда-нибудь | отдельное решение + Ф2.5 (юр) | D39.42 задел (б), PACK20_BANK_BUILD З-б | | 128 | **Фикс-пак банка (вход §G research/24, класс D39.71):** G1 семейный со-батч из ПАР-ДАННЫХ (имя=префикс/реалия=суффикс, без транзитивности, серия сильнее семьи; + многорунные модификаторы серий — 十一转 рвёт со-батч равнодлинности на ранге 11; + майнерские containment-пары в один юнит) · G2 intra-run `ConsolidationConflicts` ($0; 18/149 на живом банке) · G3 наблюдаемость (Signals/Invented/Conf в стоп-таблицу · ловушка числового хвоста ParseReply · alias-джойн подписной карты `miner_emit.go:242` — владелец подписывает, не видя alias-рендерингов · имена эвиктнутых при NEvicted · per-batch спросили/ответили + WARN на пустой ответ батча/классификатора) · G5 счёт голосов по нормализованной форме + Via-провенанс фолда (первый-выигрывает врёт на wire) · опции: перф 37 (Aho-Corasick в membank готов) · гигиена (мёртвая колонка `BanknoteTruncated` + стейл-комменты · NoDst-префикс-матч для латиница-target). Цена фолда: перекупка бэнк-батчей один раз (центы), волны/снапшоты не двигаются; вне снапшота — G2 и печать (G5 двигает wire, аудит промта) | бэкенд | **скоро — САНКЦИОНИРОВАН владельцем 04.08 (D39.103 п.1), ПРОМТ ВЫДАН** (`docs/BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md`) | фикс-пак одним промтом | D39.102, D39.103, research/24 §G | | 129 | **Банкнота-парсер теряет хвост многословного dst** (находка приёмки №13 против клейма A10): `banknote.go:236` берёт `parts[1]` голым при 3-польном формате — «Фан Юань» с двойным пробелом банкует полу-имя «Фан», хвост уезжает в колонку типа и падает в `"term"`; ре-джойн терминолога (`terminology.go:880-885`) ровно этот класс чинит с комментарием. Фикс = ре-джойн середины при последнем поле ∈ закрытому словарю типов; двигает observed → авто-банк (memory_version там, где случай реален) — цену назвать при выдаче | бэкенд | скоро (хвостом 128 либо отдельно) | малое касание | D39.102 п.3 | -| 130 | **emitRankCap × writeAutoBank: терм, выпавший из топ-200, МОЛЧА стирается из авто-банка посреди книги** — `miner_emit.go:119-123` кап ДО эмиссионных фильтров (seed/rejects слотов НЕ освобождают — исключаются после капа), `mining.go:448-460` перезапись файла целиком без мерджа против «накопительного» замысла пака-20; оплаченная консолидация теряется, редактор теряет ⟨проверить⟩-constraint без сигнала; FL-3 ратифицирован ДО авто-провода D39.42 — взаимодействие не ратифицировалось. Минимум $0 = дифф старого/нового авто-файла + WARN с именами; накопительный мердж/освобождение слотов — СТОП-решение (двигает банк → memory_version) | бэкенд | скоро | $0-минимум + СТОП-решение | D39.102 п.3 | -| 131 | **Кап инъекции не считает маркер и гендер-ноты**: `glossaryLineTokens` бюджетирует только «src → dst» (`memory.go:512-515` против рендера `:698-708`) — авто-книга (все строки Ambiguous с ⟨проверить⟩) превышает `glossary_token_budget` ~на 40–60% при budget 800; биллинг/потолки компенсированы (резервация по фактическому рендеру, `stagerun.go:469-477`), сам кап не исполняется. Фикс двигает состав инъекций → RequestHash → перекупка волн ⇒ СТОП-решение с названной ценой | бэкенд | когда-нибудь | СТОП-решение | D39.102 п.3 | +| 130 | **emitRankCap × writeAutoBank: терм, выпавший из топ-200, МОЛЧА стирается из авто-банка посреди книги** — `miner_emit.go:119-123` кап ДО эмиссионных фильтров (seed/rejects слотов НЕ освобождают — исключаются после капа), `mining.go:448-460` перезапись файла целиком без мерджа против «накопительного» замысла пака-20; оплаченная консолидация теряется, редактор теряет строку банка (по D39.104 — закон на проводе) без сигнала; FL-3 ратифицирован ДО авто-провода D39.42 — взаимодействие не ратифицировалось. Минимум $0 = дифф старого/нового авто-файла + WARN с именами; накопительный мердж/освобождение слотов — СТОП-решение (двигает банк → memory_version) | бэкенд | скоро | $0-минимум + СТОП-решение | D39.102 п.3 | +| 131 | **Кап инъекции не считает маркер и гендер-ноты**: `glossaryLineTokens` бюджетирует только «src → dst» (`memory.go:512-515` против рендера `:698-708`) — авто-книга (все строки Ambiguous с ⟨проверить⟩) превышает `glossary_token_budget` ~на 40–60% при budget 800; биллинг/потолки компенсированы (резервация по фактическому рендеру, `stagerun.go:469-477`), сам кап не исполняется. Фикс двигает состав инъекций → RequestHash → перекупка волн ⇒ СТОП-решение с названной ценой. ⚠ После строки 134 (единый блок, маркер снят с провода — D39.104) превышение пере-замерить: состав рендера сменится | бэкенд | когда-нибудь | СТОП-решение | D39.102 п.3 | | 132 | **Стойкий (пост-ретрайный) аутедж ТОЛЬКО банк-провайдера валит весь ран** вопреки коммент-контракту «optional step never aborts» (`terminologist.go:630-634` — деградация только на ceiling; транспортные ретраи гасят transient, `httpllm.go:126-160`; потерь нет — чекпойнты реплеятся за $0): решить — деградировать в «термы неконсолидированы»+WARN либо честно переписать коммент | бэкенд | когда-нибудь | малое касание через СТОП-решение | D39.102 п.3 | | 134 | **Дата-правка инжект-заголовков под доктрину D39.105** (единый закон-блок редактора вместо двухсекционки · оговорка ОБЛАСТИ употребления · снятие маркера ⟨проверить⟩ с провода; статусы строк и подписная таблица НЕ меняются): кандидат-тексты — §B промта пробы 18; вносить ПОСЛЕ отчёта пробы (двигает рендер → RequestHash → перекупка, цену назвать при внесении) | бэкенд | скоро (ГЕЙТ: отчёт пробы 18) | малое касание | D39.104 п.2 | | 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-половина — по контракту 14, D39.99) | D39.34(4), D33 п.5, D39.81 | @@ -90,7 +90,7 @@ | **— ПОЛИГОН (кандидаты пакетов) —** | | | | | | | 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 | +| 57 | Пере-замер «контексты — главный рычаг» на трудной выборке пакета-7 с боевой сборкой (до него kwic-веса/семантику не трогать; перф-опция AttachKWIC в фикс-паке 128 легитимна — семантика не меняется) — напряжение с 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) | @@ -102,7 +102,7 @@ | 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 | +| 68 | Residual-тачпойнты exp16, не влитые в сид-дельту: мини-голд алиасов (ОТЛОЖЕН до первого длинного прогона — D39.103) · 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) | @@ -136,6 +136,14 @@ | 123 | **Полигон: `jieba==0.42.1` — build-time зависимость артефакта контраста `eval/exp16/data/jieba_dict_general_zh.txt`** (пере-собран бэкенд-сессией 03.08, полный sha256 сошёлся с пином `16-bank-mining.md`); дописать в манифест окружения полигона с пометкой «build-time, не runtime» | полигон | когда-нибудь | строка манифеста | D39.96 п.6, отчёт §7-4/§6 | | 124 | **Калибровка снапшота (вопрос владельца 04.08, разбор D39.97 п.5): нацеленность, не агрессивность.** Три оси одним дизайн-паком: (а) недо-чувствительность — вердикт-несущие вызовы x/text не свёрнуты (вход: строка 119); (б) пере-охват — `EmbeddedVersion` фолдит все пары разом → пер-парный хеш (родня 115/120); (в) дешёвая перекупка: `tmctl resnapshot --dry-run` — байт-сверка тел по чекпойнтам (`msgsContentHash`), идентичные юниты пере-привязываются без пере-вызова, платятся только изменившиеся. «Поведенческий отпечаток вместо строки версии» отложен (пол ≠ доказательство) | бэкенд | когда-нибудь (перед МАСШТАБОМ — когда перекупки станут реальными деньгами) | дизайн-пак по D39.97 п.5 | D39.97 | +## Оркестратор №13 — ЗАКРЫТИЕ СЕССИИ, передача №14 (D39.105), 04.08 + +Итог №13: приёмка банк-арбитража (D39.102, `271f8b0`) · решения владельца + доктрина инжекта, два промта выданы (D39.103/104, `d653aa1`) · полный док-свип закрытия (5 сканеров; хроника №9/№10 и закрытые бэкенд-записи срезаны в `archive/PROGRESS-2026-08-01-02.md`). Очередь №14 — шапка CURRENT-STATE (первым — приёмка P0 платформы). + +## Оркестратор №13 — решения владельца + ДОКТРИНА ИНЖЕКТА, два промта выданы (D39.103/104), 04.08 + +Фикс-пак банка 128 санкционирован (промт выдан, $0) · проба редакторского провода санкционирована (промт выдан, ≤$0.30; фронтир-пасс ≤$0.50, «go» дан; отчёт будет `experiments/18-editor-wire-probe.md`) · алиасы §E-1 отложены до первого длинного прогона · **доктрина инжекта**: банк на проводе = ЗАКОН для всех ролей независимо от статуса строки, свобода — только оговоркой ОБЛАСТИ употребления; единый закон-блок редактора, маркер ⟨проверить⟩ с провода снимается (строка 134 — после пробы 18) · «Гуюэ» — не чинить, канал сида. Оба промта дважды аудированы до выдачи (факты по file:line + понятность холодным исполнителем). + ## Оркестратор №13 — ПРИЁМКА БАНК-АРБИТРАЖА: research/24 ПРИНЯТ и заленден (D39.102), 04.08 Адверсариальная приёмка тремя контурами: 12-агентный воркфлоу пере-ранил все строки «заявление=команда» — 8/8 CONFIRMED без расхождения чисел, 23/23 адресов §A подтверждены по HEAD `7f6270a`; независимый пересчёт денег из сырья $0.107334 ≈ леджер (расхождение пинга = склейка инкрементов C+E — маркер в «Полигоне»); слепое ревью кода банка (author≠reviewer) + 12 опровергателей дали находки СВЕРХ отчёта → строки 128–132 (главные: банкнота-парсер теряет хвост многословного dst; emitRankCap×writeAutoBank молча стирает термы из авто-банка; кап инъекции не считает маркер/гендер-ноты). Корзина «закрыть по нужности» ратифицирована целиком; строка 5 пере-скоуплена (остаток — рецензент спорных кластеров при ре-пробе 74, роутинг кластерными юнитами). 4 вопроса владельцу — D39.102 п.4; оговорки приёмки — ревью-шапка research/24. @@ -178,143 +186,17 @@ S3 упёрлась в замок (контракта нет) — по слов Задача №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 +*(Хроника сессий №9/№10, 31.07–02.08 (D39.59–90: курс «общность вперёд» · свип полноты · качество банка · фикс-пак · coldrun-b · фронт/платформа открыты · шов движок↔платформа · промт арбитража банка) — в [archive/PROGRESS-2026-08-01-02.md](archive/PROGRESS-2026-08-01-02.md).)* -**Задача №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). **Дыры трекера заведены строками 106–111**, снято расхождение 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 77–82%, D39.50) · согласие прогонов слабое (Жаккар 0.077–0.40, D39.50). **Несущее возражение оркестратора:** единица арбитража обязана быть КЛАСТЕРОМ, а не строкой — по-терминный argmax возвращает классом ровно тот дефект, который вылечен со-батчингом серий (D39.65 стр.21), а `Neighbours` (единственный межстрочный сигнал `ScoreVariants`) работает только при уже существующей подписи, которой у автономного банка нет. **Экономическая рамка, вписанная числами:** арбитраж платится раз на книгу и насыщается по числу различных термов ($0.006–0.013/проход), инжект — на каждом чанке каждой волны каждой роли (`memory.go:523`) ⇒ расточительность законна в арбитраже и запрещена в инжекте. Промт `BANK_ARBITRATION_RESEARCH_SESSION_PROMPT.md`: работы A (критика кода, $0) · B (голд → калибровка уверенности → формы консилиума, ≤$1.40) · C (инжект/фетч, ≤$0.60) · D (рекомендации тремя корзинами, $0); потолок $2.00, пре-регистрация каждой пробы, легитимные исходы «закрыть по нужности» объявлены заранее. ⚠ Названы коллизии: `backend/` живая, coldrun-a — эталон на чтение, coldrun-b — стенд живой сессии, валидный базлайн качества банка = coldrun-a (в coldrun-b терминолог сломан транспортом). **Запуск — по слову владельца.** - -## Оркестратор №10 — coldrun-b ПРИНЯТ: блокер 0731 вскрыт до корня, развилка 74 подана владельцу числами (D39.86), 02.08 - -Приёмка первой задачи хендоффа №9→№10. **Пере-проверено исполнением, а не чтением:** батарея независимо зелёная (build/vet/`vet -tags live` · `-race -count=1` все пакеты ok · парити EXACT · labels 5/5 фрозен · голден PASS · 5 новых тестов PASS); **деньги пере-выведены мной из сырья** (`sqlite3` read-only, пересчёт провайдерских `usage` по вендор-ценам мимо `ledger.CostUSD`): леджер **$0.114378** ≡ Σ чекпойнтов во всех ЧЕТЫРЁХ проектах до 6-го знака, независимый путь **$0.099267**, разница **$0.015111** = 3 декод-фейла (строка 78 живьём); все несущие счётчики пере-выведены из `chunk_status`/`request_log` и сошлись; строка `BANKNOTE` на боевой БД coldrun-a независимо воспроизвела `lines=182 over 18/20 · parse-fail 3` при неизменном sha256 БД. Плюс **9-осевой refute-воркфлоу** (скептик + независимый арбитр на каждую ось): 6 CONFIRMED, 2 PARTIALLY, 0 REFUTED. **Отчёт принят; тело не переписано, все поправки — в ревю-шапке** (10 пунктов). Несущие поправки: посылка об амендменте гейта неверна ТОЛЬКО для стадийной ручки, для бэнк-ролей ЖИВА ⇒ (б) = правка Go · «нет пути восстановления вообще» слишком сильно (ре-ген вылечил 1/5), НО **вылечил не бюджет — победивший вызов уложился НИЖЕ базового потолка** ⇒ лечит стохастика, а не потолок · волна (б) = **$0.028195**, не $0.0257 · вариант (г) ≈**×8.9**, не ×3.1 · Д1 недооценён (санитайзер условен тройкой, и `TargetActive()` только для ru ⇒ **для не-русской цели рубежа нет вовсе**; худший исход — тихо отгруженный релейный перевод zh→en→ru) · Д2 назван на 2/3 (третий шов `repair.go:384` с доккомментом, декларирующим фальсифицированную посылку) · строка `VOICE` говорит «сконфигурирован», а не «отработал» ⇒ **13б без данных**. **Вендор-факты, которых в отчёте не было** (пере-сняты мной, HTTP 200): дефолт эффорта = `high`; маппинг per-модельный — у pro **`low→high`** (рычага нет), и вендор объявил смену маппинга pro «early August 2026». `experiments/00-provider-quirks.md` обновлён (п.3а и п.10; отозван хвост «движок эту ручку слать не может» — может). **Ратифицирована норма прецедента:** ратифицированный гардрейл можно ПРОБОВАТЬ только карантином (копия конфига вне git, боевой файл и гейт не тронуты, вопрос релеем владельца), и результат = ЗАМЕР, не разрешение шипить. **НА ВЛАДЕЛЬЦЕ: развилка строки 74** — платных прогонов до его слова нет. — **РАЗВИЛКА РЕШЕНА тем же днём (D39.87): вариант (б); промт выдан после 4-линзового холодного аудита с независимым арбитражем (3 блокера + 15 major вправлены ДО выдачи).** - -✅ **ИНЦИДЕНТ КООРДИНАЦИИ ЗАКРЫТ (D39.88): git-протокол переведён в механику (pathspec-коммит, чужую зону не трогает никто) и вписан в `CLAUDE.md`, промт фронта и `platform/README.md`.** Хроника: **дважды** коммиты фронт-сессии (`e9a6bb2`, `b98afb5`) унесли мою застейдженную работу под своим сообщением — общий индекс, ровно класс инцидента 77dd9b8: в `e9a6bb2` уехал `git mv` архивации промта, в `b98afb5` — все четыре дока лендинга D39.87. **Содержимое цело и проверено** (`git show HEAD:` по каждому файлу), потеряна только атрибуция коммитов; history-rewrite не делаю — запрещён при живых параллельных сессиях. Смягчение с моей стороны: стейдж и коммит одной атомарной командой. - -## Оркестратор №9 — ШОВ ДВИЖОК↔ПЛАТФОРМА: РЕСЁРЧ ЗАПИСАН, НАПРАВЛЕНИЕ РАТИФИЦИРОВАНО (D39.85), 02.08 - -По слову владельца («двигаемся в сторону стандарта индустрии, запиши что узнал аргументированно»). НОВЫЙ [research/23-engine-platform-seam.md](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` S0–S7). Приёмка: 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, не чанк). Работы движка = НОВЫЕ строки 99–102 (пофазный прогресс · манифест глав/чанков · машиночитаемая таблица подписи · внешний trace-контекст), все проверены кодом. Противоречие «демон в backend» разрешено сессией верно — D39.81 удержан. Две ловушки подтверждены и заведены входами дизайна (строка 95 и П-1: подпись ≠ UPDATE; read-путь не мигрирует схему). Зоны `frontend/`+`platform/` залендены. **Зонные бэклоги (решение владельца при лендинге):** фронт и платформа ведут свои — `frontend/docs/BACKLOG.md` (Ф-1..Ф-6) · `platform/BACKLOG.md` (П-1..П-4, туда переехали строки 96/97); единый бэклог фронт/платформа-строк больше не принимает. - -## Оркестратор №9 — РЕ-ПРОБА И ОТЛАДОЧНЫЙ ХОЛОДНЫЙ ПРОГОН САНКЦИОНИРОВАНЫ, ПРОМТ ВЫДАН (D39.83), 02.08 - -По слову владельца («надо идти и делать холодный прогон с контролем бэкенда; цель — отладка»). Промт `BACKEND_COLDRUN_DEBUG_SESSION_PROMPT.md`: фаза A — верификация готовности сессией ($0: батарея · сквозной fake-путь · чек-лист наблюдаемости с правом чинить дыры) → фаза B — ре-проба flash по строке 74 (≤$0.15, боевая форма через live-риг; пограничные числа = НЕ здоров → развилка владельцу; ручка #77 сама не включается) → фаза C — холодный прогон coldrun-b с автобанком (≤$5, ступени 2+8 глав в ОДНОЙ БД, банк-пауза как инспекция сессии по D39.77, намеренный стоп+резюм, наблюдения per-узел вкл. цену строки 16 и голос-оси для 13б). Дебаг-дисциплина: фикс только мультиязычный с батареей, архитектурная дыра = СТОП+пинг. Холодный аудит промта агентом: 3 major вправлены ДО выдачи (`budget_usd` не существует → `ceilings.book_usd/day_usd` с миной day_usd 0.25 эталона · у ре-пробы не было носителя боевой формы → live-риг + кандидаты терминолога из coldrun-a · механика смока/добора и легитимный re-pin/подпороговая перекупка — против ложного СТОПа) + 4 minor. Вне скоупа: Q2/Q7-полигон-слоты, судья Ф2, DC7-остаток (требует сидового прогона). Строка 74 → в работе. - -## Оркестратор №9 — ФРОНТ ОТКРЫТ: SaaS РАТИФИЦИРОВАН, БЭКЕНД-РАБОТЫ ПОЛУЧИЛИ СТРОКИ (D39.81), 02.08 - -По релею фронт-записки (все техутверждения сверены кодом: HTTP-слоя нет · рамка research/16:13 дословна · `ratelimit.go:11` mistral ~48% · EXCLUSIVE flock `store.go:43` · банк-пауза `--verify-bank` есть). Ратифицировано: продукт = SaaS (решение владельца) · инвариант непротекания конвейера в интерфейс (продуктовые статусы «загрузка→разбор→перевод→подпись банка→финал→готово»; ревью-вопрос «сменится стадия — придётся ли править фронт?») · процессная модель (движок = процесс-на-прогон, сервер в backend НЕ пишется — HTTP/SSE в `platform/`). Строки: НОВЫЕ 95 (контракт API v0 — единственная ранняя вставка, $0) · 96 (platform-обвязка) · 97 (глобальный брокер рейт-лимитов, гейт «до второго пользователя»); перевесы 49 (annot-v1 → критический путь фронта) и 94 (стоп/лимит — к подключению). Реестр: ПТ-33 (непротекание) + SaaS в ПТ-23. Поправки записке: реестр требований, который она «предлагает завести», построен вчера (D39.80), H7/H8/H10 уже несла строка 94, ETA — строка 54. - -## Оркестратор №9 — ОНБОРДИНГ-ОВЕРХОЛ ДОКОВ ПО ФИДБЕКУ НОВОЙ СЕССИИ (D39.80), 02.08 - -По санкции владельца («делаем максимально по красоте»). Триггер: две записки фронт-сессии — все проверяемые утверждения подтверждены исполнением, включая два моих (README не входил в процедуру лендинга — застрял на D39.77 с мёртвой ссылкой; статус-дубль в README разошёлся с CURRENT-STATE). Сделано: README = чистая карта без чисел головы и статуса (единственный носитель состояния — CURRENT-STATE здесь) · НОВЫЕ `product-requirements.md` (реестр ПТ-1..ПТ-32 (+25а) из START_PROMT V0–V5 + H6–H18, статусы сверены кодом; 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`](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`](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.64–71 против фактических носителей. Итог: 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) санкционирован с нормой «специфика — модулями/данными, встраиваемыми чисто»; Q1–Q7 делегированы «как лучше по исследованию» — диспозиции по рекомендациям (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`](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 (вопросы Q1–Q8, вкл. ⚠книжные каноны в 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 · ресёрчи 01–22 + START_PROMT · 04-unhappy/06-реестр/02-mvp · хвосты 40 архив-отчётов · обратная проверка бэклога. Владелец был прав: главная потеря — корзина II пака-21 целиком (D39.62 послал «в П1/П2/П3», промт фазы-2 не включил) — возвращена в строку 25 полным перечнем; плюс резюме-слой памяти (R9/Q6), ja-преп B6, морфо-гейт рода C3, F4-бэкап, «гу»-средний-род, пилот-преп добор, мелкие решения владельца → новые строки 80–86; ~18 дописок носителей; 6 явных закрытий; строка 30 закрыта как исполненная этим свипом. Норма впредь: каждое «отложено» в D-ноте обязано в том же лендинге получить строку бэклога или явное закрытие. - -## Оркестратор №9 + полигон — СЫРЬЁ АРКИ БАНКА + ПРОБЫ ФИКСОВ ПРИНЯТЫ (D39.65), 01.08 - -Отчёты: [`archive/reports/POLYGON_BANK_RAWMATERIAL_2026-08-01.md`](archive/reports/POLYGON_BANK_RAWMATERIAL_2026-08-01.md) ($0, часть 2 §12.7 корректно пропущена без слова) и [`archive/reports/POLYGON_BANK_PROBES_2026-08-01.md`](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`](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 — АКТУАЛИЗАЦИЯ ДОКОВ по санкции владельца: хроника 25–31.07 в новый слайс, шапки переписаны под голову D39.63, пять промтов в архив, 01.08 - -Санкция: «спилить лишнее, архивировать, ничего живого не потерять». Сделано: (1) PROGRESS 331→~160 строк — 37 закрытых записей (эры №7/№8 + лендинги D39.54–58 + СТОП-запись общности) → новый слайс `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, D1–D39.63), активные промты = 3 + PACKAGE4-трекер; в гардрейл добавлен урок «слаг живой ≠ модель та же»; (4) D-лог: титул D1–D39.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`](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 (⚠ норма амендирована 03.08 — приёмка всегда адверсариальная): отчёт ([`archive/reports/GENERALITY_RESEARCH_2026-07-31.md`](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.07–31.07 до курса D39.59 — эры №7/№8 и начало №9: паки 16–20, мини-прогон, полигон-пакеты 5–8, ToS-речеки, пак-19, холодный прогон (лендинги D39.26–58) — в [archive/PROGRESS-2026-07-25-31.md](archive/PROGRESS-2026-07-25-31.md).)* ## Бэкенд -**⟶ Свежее состояние бэкенда: пак стандартов + дофикс приняты и залендены (D39.96/97, `e8d4ac0`…`0e64efe`; точка входа `make battery`); ниже — хроника до №11.** **⟶ Приёмка №11 (D39.91, 02.08): пак ниже ПРИНЯТ, код заленден `553f1a3`; поправки приёмки (метка flash+pro · хеш по эквивалентности · `capability.go:78`) — в ревью-шапке отчёта и D39.91.** +**⟶ Свежее состояние бэкенда: пак стандартов + дофикс приняты и залендены (D39.96/97, `e8d4ac0`…`0e64efe`; точка входа `make battery`); АКТИВНЫЙ промт бэкенда — `docs/BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md` (фикс-пак банка 128, санкция D39.103); ниже — хроника до №11.** **⟶ Приёмка №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](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` не покрывает `roleClassifier` ⇒ **16/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 МиБ эмбеда + 10–12 мс/чанк; `langid-go` даёт P(ru)<0.5 на **22.2%** реальных русских сегментов 20–40 рун и FMA-зависим от GOARCH; `whatlanggo` принимает 4–6 из 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). **СТОП — приёмка оркестратора.** +*(Закрытые бэкенд-записи 01–02.08 — общность фаза 2 · качество банка (оба этапа) · фикс-пак банка · finding-1 · пакет-чекеров · мелкая пачка · coldrun-b · ручка эффорта — в [archive/PROGRESS-2026-08-01-02.md](archive/PROGRESS-2026-08-01-02.md).)* -**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](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, сырьё показывает 15–21 тыс. симв. `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, латентность 9–44 с. **Цена (б) названа честно:** эхо 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](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_blocklist`→`CheapGateConfig`→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](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](archive/reports/SOFTSIGN_DECL_FINDING1_2026-08-02.md); харнесс `eval/softsign-decl/` (пин-модуль, боевой стеммер), сырьё+2 адверсариал-прогона durable в `~/books/gu-zhenren/softsign-decl/`. ИТОГ: разрыв реален но МАЛ (~4–7 ложных промахов/25 глав на реальном размере чанка, почти весь — ОДИН термин «Винный червь»; «Фан Юань»→0 per-chunk; occurrence-level 259 — код-верифицирован). Вариант **(б) anchor-gated** НЕ закрывает коллизию «Синь/Линь» — ПЕРЕНОСИТ на форму `[титул]+[ь-фамилия]` + не защищает числовой класс («пятого/шестого ранга» ×23); чистота на gu-zhenren = транслит-везение, доказательство **пара-зависимо**, safety НЕ измерена (M4=3 пары/1 книга). Рекомендация: **(а) сид-перечень 1–2 ВИДИМЫХ мягких канон-имён** — данные `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 доп. мн. падежа сверх списка владельца: Винным червям / Винных червях — полная парадигма). → Снято D39.77: строка 91 закрыта, подпись владельца — только вкусовые поля. - -**Фикс-пак банка (строка 87 + Q5) исполнен (02.08, бэкенд-сессия по `BACKEND_BANK_FIXPACK_SESSION_PROMPT`, D39.71, $0 — только фейк-провайдер в тестах, НЕ закоммичено).** Отчёт: [archive/reports/BANK_FIXPACK_2026-08-02.md](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.TokenizeWords`→`text.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](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](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** скрипт-шов источника (`cjkShare`→`sourceScriptShare` по ОБЪЯВЛЕННОМУ письму + новый `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 (04–10.07) перенесена в [archive/PROGRESS-2026-07-04-10.md](archive/PROGRESS-2026-07-04-10.md) — ревизия D31.)* @@ -329,7 +211,7 @@ Q1 = П1 цель-шов санкционирован («главное бэке **Арбитраж банка (строка 5, пере-запуск промта D39.89 по слову владельца, потолок $1.00) — ИСПОЛНЕН, отчёт `docs/research/24-bank-arbitration.md`, потрачено $0.0896 (04.08).** Главное: (1) голд 53 approved сида → 45 в BANK-FULL, из них у 27 промахов прод-банка верный dst лежал в вариантах черновиков лишь у 5 ⇒ **потолок любого «выбора из вариантов» = 17/45, селекционный арбитраж закрыт классом**; (2) свежий терминолог-соло (flash-low) бьёт бесплатный базис §C2-3 **+8/−0**, а **равноправный консилиум НЕ окупается**: +3 к само-согласованности = одна конвенция 古月; лучший одиночка glm-5 25/45 > лучший совет 23/45; добавление grok РОНЯЕТ совет 23→20; C3conf(взвешенный уверенностью) ≡ C3; ⟦TM-NO-DST⟧ = 0 на 35 вызовах трёх семейств; (3) **вербализованная ЧИСЛОВАЯ уверенность разделяет внутри модели** (AUC 0.77–0.85, слова хуже 0.63) при тотальной overconfidence (~88 при точности ~50%) — жить ей ordinal-очередью ревью, не арбитром; (4) **химера семьи 古月 воспроизведена причинно на границе батча** (свежий deepseek: «Гу Юэ» ровно в батче 2, «Гуюэ» ровно в батче 0), а по-терминная МАРШРУТИЗАЦИЯ (улики-первым) сама создала химеру 转-серии ⇒ единица арбитража/роутинга — кластер; DetectSeries разнодлинные семьи (古月×15, 蛊×14) не видит; (5) **проба инжекта: инъекция поднимает следование канону 43%→95%, НЕВЕРНАЯ строка законом принимается 6/6, с маркером ⟨проверить⟩ — тоже 6/6 (Δ=0 п.п.): пометка на транслятор-проводе поведенчески пуста**, цена неверной строки банка = ~100% заражение; (6) индустриальный обзор: стандарта арбитража термов не существует, наш дизайн впереди ближайшего аналога (DelTA first-wins); пропущенных стандартов нет. Рекомендации тремя корзинами в §D (строить: кластер-канал семей · intra-run CanonConflicts · наблюдаемость Signals/invented/conf · нормализованный голос foldVariants; закрыть: равноправный совет · кросс-модельные веса · self-consistency · селекция · отказ-сигнал). 4 вопроса владельцу в отчёте (мини-голд алиасов · конвенция составных фамилий · проба редакторского провода · фикс-пак корзины 1). Два адверсариальных раунда author≠reviewer пройдены (р.2 поймал 4 неточности, все вправлены; моя ложная оговорка про grok-ростер снята сырьём). **Достройка по вопросам владельца (тот же день, +$0.0161, итог $0.0960):** (а) $0-демо ценности на живом банке — intra-run чек связности поймал бы **18 невидимых противоречий на 149 финалов (12%)**, а нормализованный фолд голосов двигает топ лишь 1/75 (понижен до косметики); (б) **мультиязычная проверка ja→ru и en→ru (`multilang_probe.py`): направление инжект-выводов ПЕРЕНОСИТСЯ** — закон слушается, неверная строка принимается (ja 2/2, en 1/1), маркер Δ=0 на обеих парах; попутно ja-батч бэнк-вызова вернул термы упрощённым китайским — off-language класс, который парослепой экран `OffLanguage` отбил бы (несущая защита для будущей ja-пары). **Кросс-пары по слову владельца (тот же день, +$0.0113, итог $0.1073): §F/§G отчёта.** F1 zh→en: свежая en-редакция по тому же ростеру дала «Rank 1..9 · Grade A/B/C/D · Aperture · Gu Master» — **41/45 (91%) совпадений класса решения с подписями владельца** (банк НЕ однобокий; буквенный маппинг 甲→A, недостижимый для ru-моделей, en-моделью взят — довод за сид/бриф-канал); fan-канон RI по памяти сессии ещё ближе к владельцу (元石 primeval stone = «первобытный камень»); ру-специфика ровно одна — слитность «Гуюэ». F2 en→zh (Кристофф-2026): deepseek идеально связал семью *-blood (X血者), **glm сломал корень внутри ОДНОГО батча** и разошёлся в имени Aaron между соседними окнами (艾伦↔亚伦) — дрейф, от которого банк существует, воспроизведён на en→zh; deepseek выдумал 5 незапрошенных строк (нужность гарда `want[key]` кросс-парно подтверждена); личная оценка прозы обеих моделей — «редактируемо-издательская», узкое место всех направлений — термы, не слог. **§G — дизайн-синк алгоритмов бэкенда** (готовый вход фикс-пака класса D39.71): G1 `DetectFamilies` (данные-гейтед, имя=префикс/реалия=суффикс, без транзитивности, мёрж в seriesID) · G2 `ConsolidationConflicts` (18/149 на живом банке) · G3 наблюдаемость (Signals/Invented/Conf + фикс ParseReply-джойна) · G4 кластерный роутинг рецензента · G5 фолд-косметика · G6 явные «не делать». **Финальный рерайт отчёта по слову владельца (04.08):** сага/хроника правок убраны, факты и оговорки сохранены, §G сведён к уровню алгоритмов; **раунд 3 адверсариала (независимый агент по диффу v1→v2): числа 100% чисты пере-раном, новые клеймы подтверждены первоисточниками; его блокер (рерайт сжал зарегистрированные пре-реги §0/§E/§F) закрыт восстановлением пре-регов дословно с явной пометкой девиаций, потери фактов возвращены.** v1-черновик — `docs/archive/reports/DRAFT_BANK_ARBITRATION_V1_2026-08-04.md` (помечен черновиком в шапке и именем; перенесён по слову владельца 04.08). Сырьё durable `~/books/gu-zhenren/bank-arbitration/` (84 json), харнесс `eval/bank_arbitration/`. НЕ закоммичено — лендит оркестратор. -**→ ПРИЁМКА №13 (04.08, D39.102): ПРИНЯТО и залендено.** Поправка арифметики пинга выше: инкремент §E = **+$0.0065** ($0.0896 → $0.0960); «+$0.0161» — склейка инкрементов пробы C и §E ($0.0097+$0.0065), леджер отчёта чист (независимый пересчёт из сырья $0.107334). Оговорки приёмки — ревью-шапка `research/24`; находки сверх отчёта — строки 128–132. +**→ ПРИЁМКА №13 (04.08, D39.102): ПРИНЯТО и залендено.** Поправка арифметики пинга выше: инкремент §E = **+$0.0065** ($0.0896 → $0.0960); «+$0.0161» — склейка инкрементов пробы C и §E ($0.0097+$0.0065), леджер отчёта чист (независимый пересчёт из сырья $0.107334). Оговорки приёмки — ревью-шапка `research/24`; находки сверх отчёта — строки 128–132. Вопросы отчёта закрыты ВСЕ (D39.103/104). АКТИВНЫЙ промт полигона — `docs/POLYGON_EDITOR_WIRE_PROBE_SESSION_PROMPT.md` (проба редакторского провода ≤$0.30 + фронтир ≤$0.50; отчёт — `docs/experiments/18-editor-wire-probe.md`). **Сырьё арки банка + пробы фиксов (01.08) — приняты и залендены, детали в журнале выше (D39.65).** diff --git a/docs/README.md b/docs/README.md index 48e36533..1b6846a0 100644 --- a/docs/README.md +++ b/docs/README.md @@ -15,7 +15,7 @@ - `experiments/` — эмпирика полигона: [00-provider-quirks.md](experiments/00-provider-quirks.md) — **читать перед любым вызовом провайдера**; [08-cost-model-v2.md](experiments/08-cost-model-v2.md) — денежная модель; [09-pilot-protocol.md](experiments/09-pilot-protocol.md) — пилот Ф2.5; остальные 01–16 — отчёты закрытых экспериментов (судьба — в баннерах/D-логе). - `research/` — фактура ресёрчей 01–24; у принятых — ревью-шапки, часть тел под ⚠ superseded: **читай баннер прежде содержимого**. Ключевые для навигации: 15 голос · 16 ридер-IDE · 17 внешняя критика · 18 рычаги качества · 19 нарезка · 20 банк-майнинг · 21 обзор транспорта · 22 доменные харнессы · 23 шов движок↔платформа (читать перед любым кодом стыка) · 24 арбитраж банка (ПРИНЯТ D39.102: консилиум закрыт классом, вход фикс-пака банка — §G). - [PROGRESS.md](PROGRESS.md) — журнал: CURRENT-STATE + **ЕДИНЫЙ БЭКЛОГ** (единственный трекер) + живой хвост хроники. НЕ источник решений. -- Активные хендофф-промты сессий (состав обновляется при каждом лендинге — норма D39.80): [ORCHESTRATOR_SESSION_PROMPT.md](ORCHESTRATOR_SESSION_PROMPT.md) (роль/нормы; состояния не дублирует) · [POLYGON_PACKAGE4_SESSION_PROMPT.md](POLYGON_PACKAGE4_SESSION_PROMPT.md) (полигон, отложен) · **платформа: [../platform/docs/PLATFORM_SESSION_PROMPT.md](../platform/docs/PLATFORM_SESSION_PROMPT.md) (P0 ИСПОЛНЕН 04.08 — ждёт приёмки №13, D39.101 п.3-iv; дерево `platform/*` не залендено, не трогать)** · фронт: `frontend/docs/S3_SESSION_PROMPT.md` (замок ОТКРЫТ — контракт ратифицирован D39.99; первый шаг — правки спеки по D39.100). Зонные журналы фронта/платформы — `frontend-PROGRESS.md` / `platform-PROGRESS.md` в их зонах (решение владельца 04.08: прогресс зон только там). **Бэкенд: [BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md](BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md)** (фикс-пак банка, строка 128+129; санкция D39.103) · **Полигон: [POLYGON_EDITOR_WIRE_PROBE_SESSION_PROMPT.md](POLYGON_EDITOR_WIRE_PROBE_SESSION_PROMPT.md)** (редактор под доктриной закона D39.104 ≤$0.30 + фронтир-пасс ≤$0.50, «go» дан). Следующие бэкендные в очереди: пак экрана 46 (промт ждёт выдачи по D39.94 п.3) и малый пак tools/go.mod (строка 118, D39.97 п.4). Банк-арбитраж: исполнен, ПРИНЯТ и заленден (D39.102, 04.08). +- Активные хендофф-промты сессий (состав обновляется при каждом лендинге — норма D39.80): [ORCHESTRATOR_SESSION_PROMPT.md](ORCHESTRATOR_SESSION_PROMPT.md) (роль/нормы; состояния не дублирует) · [POLYGON_PACKAGE4_SESSION_PROMPT.md](POLYGON_PACKAGE4_SESSION_PROMPT.md) (полигон, отложен) · **платформа: [../platform/docs/PLATFORM_SESSION_PROMPT.md](../platform/docs/PLATFORM_SESSION_PROMPT.md) (P0 ИСПОЛНЕН 04.08 — ждёт приёмки №14 (в №13 не исполнена, D39.105); дерево `platform/*` не залендено, не трогать)** · фронт: `frontend/docs/S3_SESSION_PROMPT.md` (замок ОТКРЫТ — контракт ратифицирован D39.99; первый шаг — правки спеки по D39.100). Зонные журналы фронта/платформы — `frontend-PROGRESS.md` / `platform-PROGRESS.md` в их зонах (решение владельца 04.08: прогресс зон только там). **Бэкенд: [BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md](BACKEND_BANK_CLUSTER_FIXPACK_SESSION_PROMPT.md)** (фикс-пак банка, строка 128+129; санкция D39.103) · **Полигон: [POLYGON_EDITOR_WIRE_PROBE_SESSION_PROMPT.md](POLYGON_EDITOR_WIRE_PROBE_SESSION_PROMPT.md)** (редактор под доктриной закона D39.104 ≤$0.30 + фронтир-пасс ≤$0.50, «go» дан). Очередь и состояние — только CURRENT-STATE. - Зоны фронта (чужие, читать при касании стыка; каждая ведёт СВОЙ зонный бэклог — единый бэклог их строк не принимает, D39.84): [../frontend/](../frontend/) — веб-интерфейс: промт фронт-сессий S0–S7 + [STACK_DECISIONS.md](../frontend/docs/STACK_DECISIONS.md) (пины версий точными числами и ловушки, сверены с вебом 02.08) + [BACKLOG.md](../frontend/docs/BACKLOG.md) · [../platform/](../platform/) — SaaS control plane: README + [BACKLOG.md](../platform/BACKLOG.md) (П-1..П-5) + `docs/` (промт P0 · зонный журнал `platform-PROGRESS.md`). - `archive/` — история ([правила архива](archive/README.md)): закрытые промты (`prompts/`) · отчёты с ревью-шапками (`reports/` — на них ссылаются приёмки) · исполненные арх-доки (`architecture/`) · слайсы хроники `PROGRESS-*.md`. Инструкции оттуда не исполнять. - Диаграммы: [../backend/docs/components.puml](../backend/docs/components.puml) · [../backend/docs/pipeline.puml](../backend/docs/pipeline.puml) — дом рядом с кодом (D39.80), правятся бэкендом одним коммитом с кодом; вручную НЕ рендерить (владелец смотрит PlantUML-расширением VS Code). diff --git a/docs/architecture/05-decisions-log.md b/docs/architecture/05-decisions-log.md index c2770560..15caa859 100644 --- a/docs/architecture/05-decisions-log.md +++ b/docs/architecture/05-decisions-log.md @@ -1,7 +1,7 @@ -# Журнал решений оркестратора — контракт D1–D39.101 (развязки 04.07 · пакеты 09–10.07 · приёмка/качество-первым/пивот/эмпирика 11–12.07 · арх-ресет+стройка пере-прогонного стека 13–19.07) +# Журнал решений оркестратора — контракт D1–D39.105 (развязки 04.07 · пакеты 09–10.07 · приёмка/качество-первым/пивот/эмпирика 11–12.07 · арх-ресет+стройка пере-прогонного стека 13–19.07) > **⟶ КАРТА АКТУАЛЬНОСТИ (ревизия D31, продлена до D38.2 [12.07]; исторические записи ниже НЕ переписываются — дисциплина D23.3).** Читая контракт целиком, держи под рукой, что чем перекрыто: -> ⚠ **Навигация (актуализация 04.08):** два supersede-указателя эры D39.9x: **D39.88/D39.84 п.8 (право самокоммита фронта/платформы) → отозвано, коммитит ТОЛЬКО оркестратор** (D39.98 п.3; тела переписаны на месте с санкцией владельца, pre-rewrite — git `2b166b7`) · **норма 30.07 «короткая приёмка» → амендирована владельцем 03.08: приёмка всегда адверсариальная** (носитель — промт оркестратора §Анти-паттерны + D39.101 п.1) — упоминания «короткой приёмки» в телах читать через эту пометку. +> ⚠ **Навигация (актуализация 04.08):** два supersede-указателя эры D39.9x: **D39.88/D39.84 п.8 (право самокоммита фронта/платформы) → отозвано, коммитит ТОЛЬКО оркестратор** (D39.98 п.3; тела переписаны на месте с санкцией владельца, pre-rewrite — git `2b166b7`) · **норма 30.07 «короткая приёмка» → амендирована владельцем 03.08: приёмка всегда адверсариальная** (носитель — промт оркестратора §Анти-паттерны + D39.101 п.1) — упоминания «короткой приёмки» в телах читать через эту пометку · **двухсекционная редакторская инъекция и смягчающая роль маркера ⟨проверить⟩ → доктрина инжекта D39.104**: банк на проводе = ЗАКОН для всех ролей независимо от статуса строки, право «перевести иначе» упразднено, блок редактора — ЕДИНЫЙ, маркер с провода снимается (статусы строк и подписная таблица не меняются; внесение в движок — строка 134 после пробы 18) — упоминания двухсекционки/смягчения в телах читать через это. > ⚠ **Навигация (актуализация 01.08):** карта ниже детально покрывает D1–D39.28; решения D39.29+ живут хронологически в теле файла, **свежая голова — С ХВОСТА** (новые ноты аппендятся вниз). Сводка текущей головы и очередь — CURRENT-STATE в `../PROGRESS.md`. > - **Полностью superseded:** **D1 (моно-редактор) → D17 → D30.1 (редактор БИЛИНГВ)** · D9 (ja-приёмка) → D18 (蛊真人 zh→ru; ja — второй прогон) · D17 → D30.1 · скобка D19.4 «ключ без data-sharing» и D20.3 «чистый ключ = блокер пилота» → **D27** (единый ключ С data-sharing, отключение перед продом) · exp04-дефолт «editor grok-4.3» (D3) → D30.1 (grok reasoning-off из редакторских ролей СНЯТ — no-op; кандидат glm-5-билингв; gemini — премиум-эскалация только за санитайзером D30.3). > - **Частично амендировано:** D3 (канал B → D14.1/D19.1 + оговорки D22.5/D22.6; апекс-слаг `-preview` — D22.4; draft под вопросом exp13 — D30.6) · D6 («off/minimal для draft/edit» эродирован: draft thinking-ON принудительно, editor-off снят D30.1; живы per-роль принцип и D6.2-буфер) · D10 (+D24.2 alias-слепое пятно, истинная консистентность ≈99.5%) · D11-числа → exp08 → **D30.4** (флип D1 = +15–25%, ~$0.85/ранобэ; «$1.5–2» = неподписанная опция Б) · D12 (+D24.3 флоры max_tokens; +D29.1в rollup — амендмент вердикт-правила) · D13.1-арм из решающего → ПОДТВЕРЖДАЮЩИЙ (D30.1); +D25.3 prefix-анализ судьи · D14.2 закрыт D19.1/D22.4; D14.4 закрыт D22.1 · D15.3 исполнен; спека D15.2: v2→v3→v3.1 (D22.2), реализация = текущий пакет (D30.9) · D24.4 +D28.1 (precision/recall-трейдофф; hard-gate требует пере-замера) · порядок D24.5 отложен D26.1 (этап B — после читаемых 25 глав). @@ -1499,3 +1499,11 @@ API-529-долг закрыт: 8-осевой refute-by-default воркфлоу **2. Форма на проводе:** единый закон-блок редактора вместо двухсекционки; маркер ⟨проверить⟩ с провода снимается (поведенчески пуст — research/24 §C; минус токены); транслятор-заголовок — та же логика. Кандидат-тексты — §B промта пробы; внесение в движок — **строка 134** ПОСЛЕ отчёта пробы (двигает рендер → RequestHash → перекупка, цену назвать при внесении). **3. «Гуюэ» (вопрос (ii) D39.102) ЗАКРЫТ: не чинить** — расхождение с голдом = вкус, канал сида; конвенцию в проде держит сам банк инжектом; ру-специфика этого класса на голде ровно одна (замер research/24 §F1) ⇒ отдельный аудит транскрипционных правил не заводится. Зависимость принята владельцем: **фикс-пак 128 обязателен** — без него авто-банк даёт не конвенцию, а химеру. + +## D39.105 — ЗАКРЫТИЕ СЕССИИ ОРКЕСТРАТОРА №13 И ПЕРЕДАЧА №14: приёмка банка исполнена, доктрина инжекта ратифицирована, два промта выданы, полный док-свип (04.08). ✅ + +**1. Итог №13:** приёмка research/24 — ПРИНЯТ, все числа чисты пере-раном тремя контурами (D39.102, `271f8b0`) · решения владельца: фикс-пак 128 и проба редакторского провода санкционированы, промты выданы с двойным аудитом (факты file:line + понятность холодным исполнителем), фронтир-«go» дан, алиасы §E-1 отложены (D39.103) · **доктрина инжекта ратифицирована** (D39.104) · строки 128–132/134 заведены, строка 5 пере-скоуплена. Лендинги: `271f8b0` · `d653aa1` · закрывающий. + +**2. Док-свип закрытия (норма «актуализация = полный свип»):** 5 сканеров по кластерам (корень · PROGRESS · architecture · research · experiments), ~40 находок применено: передача №13→№14 и счёт очереди скриптом (**109** строк · бэкенд **60** строго / **72** широко · «скоро» **24**) · supersede-указатель доктрины D39.104 в шапку этого файла и баннеры 09-target/10-prompt/06-registry/12-style/research 15·20·24/experiments README·09-pilot · глоссарий +«доктрина инжекта» · норма «без саги» вписана в промт оркестратора · **хроника №9/№10 и закрытые бэкенд-записи срезаны в `archive/PROGRESS-2026-08-01-02.md`** (PROGRESS ~356 → ~230 строк). Отложено до приёмки/лендинга P0 (зона живая, №14): 2 правки `platform/README.md` · правка «кода нет» в `14-api-contract/README` · архивация P0-промта. + +**3. Очередь №14 — CURRENT-STATE (первым — приёмка P0 платформы). Грабли преемнику:** перед запуском любого полигон-скрипта читать код на сетевые вызовы (`--score`/`score_f1` офлайн; голые запуски ПЛАТНЫЕ; `load_dotenv` на импорте — стабить при офлайн-ре-ранах) · перед пере-ранами — sha256-манифест сырья и бэкап харнесса (gold.jsonl пере-собирается байт-в-байт, детерминизм подтверждён) · пинг полигона может врать арифметикой при чистом леджере — сверять из сырья · счёт очереди ТОЛЬКО скриптом · git — только pathspec-форма · чужое незакоммиченное (`platform/*`) не трогать. diff --git a/docs/architecture/06-memory-risk-registry.md b/docs/architecture/06-memory-risk-registry.md index 50c459c5..fa50a1b5 100644 --- a/docs/architecture/06-memory-risk-registry.md +++ b/docs/architecture/06-memory-risk-registry.md @@ -2,7 +2,7 @@ > **Дополнение (ревизия D31, 12.07):** (1) **Alias-слепое пятно post-check (D24.2, найдено ревью приёмки этапа A):** вложенный алиас внутри longest-match полного имени невидим флаггеру — 古月方源 отрендерен раздельно «гу юэ» при dst-родителе в тексте → промах не фаерится; истинная консистентность этапа A ≈99.5%, не 100%; класс редкий (~1/190 поверхностей), фикс в Ф1 не заказан, учитывать в методике D10-пересчётов. (2) G2 «flag-rate×throughput не смоделирован» — частично закрыт: первый замер на реальной книге = 5.3% (3/57 чанков), концентрация 2/25 глав (D24); minutes/flag — в пре-регистрацию пилота (D25.6). (3) Precision/recall post-check — амендмент D28.1: union базовой формы = трейдофф, hard-gate флип требует пере-замера recall. -> **⚠ СТАТУС-АПДЕЙТ 25.07 (оркестратор №7): банк ПОСТРОЕН — реестр читать как исполненную спеку + методологию, статусы ❌/🔶 датированы 04.07.** Паки 11–15 (D39.13–D39.23): детерминированный Go-майнер (паритет-EXACT) + банкнота с подписью владельца + reject-set закрыли петлю G1 ИНАЧЕ, чем предлагал реестр (exp16/D39.10: WHICH — код, recall 0.97, $0; канон-dst — банкнота; локальный LLM-споттер не нужен); trust-gated suppressor закрыл код-корень терм-дрейфа с громким `n_trust_gated_suppress` (D39.2); нормализация A4 — `internal/text` + данные; Палладий B6 — generic-парсер + langpack-таблицы (D39.16); инъекция, трёхслойная защита и обязательный post-check живут в `internal/membank` (A2/E1 построены); F1-остаток ЗАКРЫТ — `memoryVersion()` хеширует материализованные approved-строки (`snapshot.go:175`); gender доезжает до draft-wire (пак-13, аудит D39.21). Живой прогон подтвердил петлю подписи (2 decline + 1 promote, D39.20). Принципы реестра — действующие инварианты кода; D24.2 (alias-слепое пятно) учитывать по-прежнему. +> **⚠ СТАТУС-АПДЕЙТ 25.07 (оркестратор №7): банк ПОСТРОЕН — реестр читать как исполненную спеку + методологию, статусы ❌/🔶 датированы 04.07.** Паки 11–15 (D39.13–D39.23): детерминированный Go-майнер (паритет-EXACT) + банкнота с подписью владельца + reject-set закрыли петлю G1 ИНАЧЕ, чем предлагал реестр (exp16/D39.10: WHICH — код, recall 0.97, $0; канон-dst — банкнота; локальный LLM-споттер не нужен); trust-gated suppressor закрыл код-корень терм-дрейфа с громким `n_trust_gated_suppress` (D39.2); нормализация A4 — `internal/text` + данные; Палладий B6 — generic-парсер + langpack-таблицы (D39.16); инъекция, трёхслойная защита и обязательный post-check живут в `internal/membank` (A2/E1 построены); F1-остаток ЗАКРЫТ — `memoryVersion()` хеширует материализованные approved-строки (`snapshot.go:175`); gender доезжает до draft-wire (пак-13, аудит D39.21). Живой прогон подтвердил петлю подписи (2 decline + 1 promote, D39.20). Принципы реестра — действующие инварианты кода; D24.2 (alias-слепое пятно) учитывать по-прежнему. ⚠ 04.08 (D39.104): доктрина инжекта — банк на проводе = ЗАКОН для всех ролей независимо от статуса строки; митигации класса «инъекция с пометкой „проверить"» читать через это: смягчающая пометка с ПРОВОДА снимается (единый закон-блок, строка 134 после пробы 18), право «перевести иначе» упразднено; статусы строк и подписная таблица не меняются. Выход сессии **«Валидация банка памяти»** (промт `docs/archive/prompts/MEMORY_RESEARCH_SESSION_PROMPT.md`). Это **вход для бэкенд-сессии перед фиксацией схемы store/глоссария Фазы 1** (шаг 4 «миграция памяти v2» держится до этого реестра — §Память (с D31 в `../archive/PROGRESS-2026-07-04-10.md`), D7). diff --git a/docs/architecture/09-target-architecture.md b/docs/architecture/09-target-architecture.md index 08d6cdb9..13af4d06 100644 --- a/docs/architecture/09-target-architecture.md +++ b/docs/architecture/09-target-architecture.md @@ -7,13 +7,13 @@ > > Это карта «куда и почему», а не пошаговая спека. Спеки — в хендофф-промтах сессий; контракт — в D-логе. -> **⟶ СТАТУС СТРОЙКИ (освежён 04.08, пост-D39.101: слои 4/5 добраны паками банка/чекеров D39.69/78/82; репо на стандартах — `make battery`, tmvet/archguard, D39.96/97; поверх слоёв движка: контракт API v0 = `14-api-contract/` (D39.99), платформа = зона `platform/`, открыта D39.100. Ранее 2026-08-01, пост-D39.63; баннер — не переписывание, тело ниже = замысел арх-ресета 13.07).** Карта «слой → статус → пак/D»: +> **⟶ СТАТУС СТРОЙКИ (освежён 04.08, пост-D39.105: слои 4/5 добраны паками банка/чекеров D39.69/78/82; репо на стандартах — `make battery`, tmvet/archguard, D39.96/97; поверх слоёв движка: контракт API v0 = `14-api-contract/` (D39.99), платформа = зона `platform/`, открыта D39.100. Ранее 2026-08-01, пост-D39.63; баннер — не переписывание, тело ниже = замысел арх-ресета 13.07).** Карта «слой → статус → пак/D»: > | Слой | Статус | Пак / D | > |---|---|---| > | 1 Сегментация | ✅ ПОСТРОЕН: бюджет в выходных токенах снапшот-folded (`chunk.SegBudget`), edit-единицы декаплены; когезия/carryover — НЕ строится (D39.7/8: эффекты под floor 0.126; кнобы `STMDepth`/`OverlapTokens` УДАЛЕНЫ, WS2 §2а), граница `logical` — не рычаг (exp15), greedy остался | пак-11 (D39.13 WS2 · D39.17 волны · D39.18 c-lite) | > | 2 Пары | ✅ СЕАМ ПОСТРОЕН: `internal/lang`+langpacks (embedded · книго-overlay `langpack_extend`) · пар-агностичные чекеры · `configs/pairs/` · промпт-конвенция `prompts/<пара>/<роль>.md`; открыто: извлечение дискурс-норм/few-shot из ТЕЛА промтов (форсинг = ja→ru) | D39.16 · пак-14 · пак-15 (D39.23г) | > | 3 Контракт t/e | ✅ ПОСТРОЕН ЗА `enabled:false`: `checks.RepairCandidates` (позиционная детекция) · read-only скан остатка · машинерия ремонта §15.2; **включение платного пути = решение владельца по замеру остатка** | пак-16 (D39.24) | -> | 4 Память | ✅ ПОСТРОЕН + ДОСТРОЕН паком-20: disposition-gated suppressor · **ТЕРМИНОЛОГ** (роль пар-пака: смердженный банк + KWIC → консолидированный dst, durable-деньги) · флаговый стоп `--verify-bank` (дефолт=авто) · ДВУХСЕКЦИОННАЯ редакторская инъекция (CONFIRMED + ⟨проверить⟩; все строки фолдятся в версию) · точечная ре-редактура (bank-only → пере-пин $0) · банкнота отдельным шиппинг-файлом · языковой экран `target_script` · дисциплина банкноты (кавычки/агрегация); жанровый словарь ОТМЕНЁН (D39.47) | пак-1 · пак-11 · **пак-20 (D39.41–45/47/50–53)** | +> | 4 Память | ✅ ПОСТРОЕН + ДОСТРОЕН паком-20: disposition-gated suppressor · **ТЕРМИНОЛОГ** (роль пар-пака: смердженный банк + KWIC → консолидированный dst, durable-деньги) · флаговый стоп `--verify-bank` (дефолт=авто) · ДВУХСЕКЦИОННАЯ редакторская инъекция (CONFIRMED + ⟨проверить⟩; все строки фолдятся в версию; ⚠ D39.104: схлопывается в ЕДИНЫЙ закон-блок, маркер с провода снимается — внесение = строка 134 ПОСЛЕ пробы 18) · точечная ре-редактура (bank-only → пере-пин $0) · банкнота отдельным шиппинг-файлом · языковой экран `target_script` · дисциплина банкноты (кавычки/агрегация); жанровый словарь ОТМЕНЁН (D39.47) | пак-1 · пак-11 · **пак-20 (D39.41–45/47/50–53)** | > | 5 Качество | ✅ детерм. часть: `QualityReport` · число/omission-гард · DC/пак-13-чекеры · repair-остаток; семантический span-судья/полярность — НЕ строился (защита = editor-swap, D38.4) | D39.2 · D38.3 · пак-13 (`2f91b04`) · пак-16 | > | 6 Export | ✅ ПОСТРОЕН: `checks.ExportNormalize` на каждом финале; санитайзер-классы strip+export | D39.2 · D38.3 | > | 7 Гигиена | ✅ ПОСТРОЕН: реестр role→инъекция · вынос `foldModelWire` · снос сирот/`gatesEnabled` · **target-aware гейты ПО ДАННЫМ — П1 «цель-шов» (фаза 2, D39.64: `isRuTarget` удалён, `TargetActive`/`TargetScriptNonLatin`, токенизатор цели из `word_script`); остаток — ё-фолд/segmentation за подписью (бэклог-строка 14)** | D39.2 · паки 11–16 · **фаза 2 (D39.64)** | diff --git a/docs/architecture/10-prompt-architecture.md b/docs/architecture/10-prompt-architecture.md index 090c1532..e8ffc83c 100644 --- a/docs/architecture/10-prompt-architecture.md +++ b/docs/architecture/10-prompt-architecture.md @@ -1,6 +1,6 @@ # Промпт-архитектура: состояние, решения, открытое (консолидированная заметка) -> **⚠ ДОПОЛНЕНИЕ 26.07 (пак-20, D39.42–53):** в промпт-слое появились роль `terminologist` (пар-пак, интерим-текст) и вариантный `translator-banknote.md`; редакторская инъекция двухсекционная (D39.45); жанровый словарь отменён как класс (D39.47). Инвентарь §2 читать с этой поправкой. +> **⚠ ДОПОЛНЕНИЕ 26.07 (пак-20, D39.42–53):** в промпт-слое появились роль `terminologist` (пар-пак, интерим-текст) и вариантный `translator-banknote.md`; редакторская инъекция двухсекционная (D39.45; ⚠ D39.104: доктрина инжекта — схлопывается в ЕДИНЫЙ закон-блок, маркер ⟨проверить⟩ с провода снимается, право «перевести иначе» упразднено; внесение = строка 134 ПОСЛЕ пробы 18); жанровый словарь отменён как класс (D39.47). Инвентарь §2 читать с этой поправкой. > **⚠ СТАТУС-АПДЕЙТ 25.07 (оркестратор №7): несущая часть ПОСТРОЕНА.** Pair-keyed промпты → конвенционный резолв `prompts/<пара>/<роль>.md` + конфиг-слой пары `configs/pairs/` (пак-15, D39.23); repair-промпты `prompts/<пара>/repair/<класс>.md` (пак-16, D39.24); «структурированный пакет конвенций пары» из этой заметки остаётся дальним планом. Читать как историю темы + реестр открытого. diff --git a/docs/architecture/12-go-style-notes.md b/docs/architecture/12-go-style-notes.md index 6a0e68d0..a70b3e7f 100644 --- a/docs/architecture/12-go-style-notes.md +++ b/docs/architecture/12-go-style-notes.md @@ -13,7 +13,7 @@ ## §1. Go-ответы (только то, о чём реально спорим) -- **Язык кода (владелец 20.07): английский** — комменты, логи, операторские дашборды/error-msg, detail-флаги. **Русским (target-языком) ОСТАЮТСЯ и не трогаются:** wire/инъекц-промпты, которые читает модель (`glossaryBlockHeader`, маркер `⟨проверить⟩`, gender-аннотации); lang-data таблицы гейтов; тест-данные перевода. Почему: перевод wire-строки = тихая смена инструкций модели → сдвиг вердиктов + `--resnapshot` (переоплата, D30.9); перевод lang-data ломает чекеры (матчат литералом). Проверка нейтральности правки: golden байт-идентичен по content_hash/final_hash. +- **Язык кода (владелец 20.07): английский** — комменты, логи, операторские дашборды/error-msg, detail-флаги. **Русским (target-языком) ОСТАЮТСЯ и не трогаются:** wire/инъекц-промпты, которые читает модель (`glossaryBlockHeader`, маркер `⟨проверить⟩`, gender-аннотации; ⚠ снятие маркера с провода — санкционированная правка строкой 134 по D39.104, двигает RequestHash; правило неперевода остальных wire-строк в силе); lang-data таблицы гейтов; тест-данные перевода. Почему: перевод wire-строки = тихая смена инструкций модели → сдвиг вердиктов + `--resnapshot` (переоплата, D30.9); перевод lang-data ломает чекеры (матчат литералом). Проверка нейтральности правки: golden байт-идентичен по content_hash/final_hash. - **`_test.go` рядом с кодом — не бардак, а требование тулчейна**: `go test` собирает тесты только из каталога пакета; отдельных `tests/`-деревьев в Go не существует. - **Число/размер файлов — НЕ критерий сплита** (Google: «maintainers can move code between files without affecting callers»; эталон — stdlib `bytes`). Легитимный триггер — концептуально отдельная подсистема со своим узким API. **Этот тест прогнан против фактуры (пак-14, прил. A: связность измерена) — его проходят miner/checks/membank/chunk → сплит РАТИФИЦИРОВАН (D39.23, пак-15): сначала хойст общего субстрата (`internal/text` + value-типы), затем подсистемы; драйвер остаётся композит-корнем `internal/pipeline`.** Дробление «ради размера» по-прежнему запрещено (util-пакеты, течь деталей в API); crush-масштаб (~71 пакет) не эмулируем — сплит только по измеренному узкому API. - **Никаких пакетов `util`/`common`/`helpers`/`types`** — имя пакета обязано нести домен (Decisions/CodeReviewComments). diff --git a/docs/archive/PROGRESS-2026-08-01-02.md b/docs/archive/PROGRESS-2026-08-01-02.md new file mode 100644 index 00000000..3190cfb7 --- /dev/null +++ b/docs/archive/PROGRESS-2026-08-01-02.md @@ -0,0 +1,139 @@ +# Архив хроники PROGRESS: 31.07–02.08.2026 (сессии оркестратора №9/№10, эра D39.59–90) + +> Срезано при закрытии сессии №13 (D39.105, 04.08). Все записи ниже — ЗАКРЫТЫЕ и залендённые; актуальное состояние — `../../PROGRESS.md` (CURRENT-STATE), решения — `../architecture/05-decisions-log.md`. Инструкции отсюда не исполнять. + +## Хроника оркестратора (№10 сверху, №9 ниже) + +## Оркестратор №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). **Дыры трекера заведены строками 106–111**, снято расхождение 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 77–82%, D39.50) · согласие прогонов слабое (Жаккар 0.077–0.40, D39.50). **Несущее возражение оркестратора:** единица арбитража обязана быть КЛАСТЕРОМ, а не строкой — по-терминный argmax возвращает классом ровно тот дефект, который вылечен со-батчингом серий (D39.65 стр.21), а `Neighbours` (единственный межстрочный сигнал `ScoreVariants`) работает только при уже существующей подписи, которой у автономного банка нет. **Экономическая рамка, вписанная числами:** арбитраж платится раз на книгу и насыщается по числу различных термов ($0.006–0.013/проход), инжект — на каждом чанке каждой волны каждой роли (`memory.go:523`) ⇒ расточительность законна в арбитраже и запрещена в инжекте. Промт `BANK_ARBITRATION_RESEARCH_SESSION_PROMPT.md`: работы A (критика кода, $0) · B (голд → калибровка уверенности → формы консилиума, ≤$1.40) · C (инжект/фетч, ≤$0.60) · D (рекомендации тремя корзинами, $0); потолок $2.00, пре-регистрация каждой пробы, легитимные исходы «закрыть по нужности» объявлены заранее. ⚠ Названы коллизии: `backend/` живая, coldrun-a — эталон на чтение, coldrun-b — стенд живой сессии, валидный базлайн качества банка = coldrun-a (в coldrun-b терминолог сломан транспортом). **Запуск — по слову владельца.** + +## Оркестратор №10 — coldrun-b ПРИНЯТ: блокер 0731 вскрыт до корня, развилка 74 подана владельцу числами (D39.86), 02.08 + +Приёмка первой задачи хендоффа №9→№10. **Пере-проверено исполнением, а не чтением:** батарея независимо зелёная (build/vet/`vet -tags live` · `-race -count=1` все пакеты ok · парити EXACT · labels 5/5 фрозен · голден PASS · 5 новых тестов PASS); **деньги пере-выведены мной из сырья** (`sqlite3` read-only, пересчёт провайдерских `usage` по вендор-ценам мимо `ledger.CostUSD`): леджер **$0.114378** ≡ Σ чекпойнтов во всех ЧЕТЫРЁХ проектах до 6-го знака, независимый путь **$0.099267**, разница **$0.015111** = 3 декод-фейла (строка 78 живьём); все несущие счётчики пере-выведены из `chunk_status`/`request_log` и сошлись; строка `BANKNOTE` на боевой БД coldrun-a независимо воспроизвела `lines=182 over 18/20 · parse-fail 3` при неизменном sha256 БД. Плюс **9-осевой refute-воркфлоу** (скептик + независимый арбитр на каждую ось): 6 CONFIRMED, 2 PARTIALLY, 0 REFUTED. **Отчёт принят; тело не переписано, все поправки — в ревю-шапке** (10 пунктов). Несущие поправки: посылка об амендменте гейта неверна ТОЛЬКО для стадийной ручки, для бэнк-ролей ЖИВА ⇒ (б) = правка Go · «нет пути восстановления вообще» слишком сильно (ре-ген вылечил 1/5), НО **вылечил не бюджет — победивший вызов уложился НИЖЕ базового потолка** ⇒ лечит стохастика, а не потолок · волна (б) = **$0.028195**, не $0.0257 · вариант (г) ≈**×8.9**, не ×3.1 · Д1 недооценён (санитайзер условен тройкой, и `TargetActive()` только для ru ⇒ **для не-русской цели рубежа нет вовсе**; худший исход — тихо отгруженный релейный перевод zh→en→ru) · Д2 назван на 2/3 (третий шов `repair.go:384` с доккомментом, декларирующим фальсифицированную посылку) · строка `VOICE` говорит «сконфигурирован», а не «отработал» ⇒ **13б без данных**. **Вендор-факты, которых в отчёте не было** (пере-сняты мной, HTTP 200): дефолт эффорта = `high`; маппинг per-модельный — у pro **`low→high`** (рычага нет), и вендор объявил смену маппинга pro «early August 2026». `experiments/00-provider-quirks.md` обновлён (п.3а и п.10; отозван хвост «движок эту ручку слать не может» — может). **Ратифицирована норма прецедента:** ратифицированный гардрейл можно ПРОБОВАТЬ только карантином (копия конфига вне git, боевой файл и гейт не тронуты, вопрос релеем владельца), и результат = ЗАМЕР, не разрешение шипить. **НА ВЛАДЕЛЬЦЕ: развилка строки 74** — платных прогонов до его слова нет. — **РАЗВИЛКА РЕШЕНА тем же днём (D39.87): вариант (б); промт выдан после 4-линзового холодного аудита с независимым арбитражем (3 блокера + 15 major вправлены ДО выдачи).** + +✅ **ИНЦИДЕНТ КООРДИНАЦИИ ЗАКРЫТ (D39.88): git-протокол переведён в механику (pathspec-коммит, чужую зону не трогает никто) и вписан в `CLAUDE.md`, промт фронта и `platform/README.md`.** Хроника: **дважды** коммиты фронт-сессии (`e9a6bb2`, `b98afb5`) унесли мою застейдженную работу под своим сообщением — общий индекс, ровно класс инцидента 77dd9b8: в `e9a6bb2` уехал `git mv` архивации промта, в `b98afb5` — все четыре дока лендинга D39.87. **Содержимое цело и проверено** (`git show HEAD:` по каждому файлу), потеряна только атрибуция коммитов; history-rewrite не делаю — запрещён при живых параллельных сессиях. Смягчение с моей стороны: стейдж и коммит одной атомарной командой. + +## Оркестратор №9 — ШОВ ДВИЖОК↔ПЛАТФОРМА: РЕСЁРЧ ЗАПИСАН, НАПРАВЛЕНИЕ РАТИФИЦИРОВАНО (D39.85), 02.08 + +По слову владельца («двигаемся в сторону стандарта индустрии, запиши что узнал аргументированно»). НОВЫЙ [research/23-engine-platform-seam.md](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` S0–S7). Приёмка: 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, не чанк). Работы движка = НОВЫЕ строки 99–102 (пофазный прогресс · манифест глав/чанков · машиночитаемая таблица подписи · внешний trace-контекст), все проверены кодом. Противоречие «демон в backend» разрешено сессией верно — D39.81 удержан. Две ловушки подтверждены и заведены входами дизайна (строка 95 и П-1: подпись ≠ UPDATE; read-путь не мигрирует схему). Зоны `frontend/`+`platform/` залендены. **Зонные бэклоги (решение владельца при лендинге):** фронт и платформа ведут свои — `frontend/docs/BACKLOG.md` (Ф-1..Ф-6) · `platform/BACKLOG.md` (П-1..П-4, туда переехали строки 96/97); единый бэклог фронт/платформа-строк больше не принимает. + +## Оркестратор №9 — РЕ-ПРОБА И ОТЛАДОЧНЫЙ ХОЛОДНЫЙ ПРОГОН САНКЦИОНИРОВАНЫ, ПРОМТ ВЫДАН (D39.83), 02.08 + +По слову владельца («надо идти и делать холодный прогон с контролем бэкенда; цель — отладка»). Промт `BACKEND_COLDRUN_DEBUG_SESSION_PROMPT.md`: фаза A — верификация готовности сессией ($0: батарея · сквозной fake-путь · чек-лист наблюдаемости с правом чинить дыры) → фаза B — ре-проба flash по строке 74 (≤$0.15, боевая форма через live-риг; пограничные числа = НЕ здоров → развилка владельцу; ручка #77 сама не включается) → фаза C — холодный прогон coldrun-b с автобанком (≤$5, ступени 2+8 глав в ОДНОЙ БД, банк-пауза как инспекция сессии по D39.77, намеренный стоп+резюм, наблюдения per-узел вкл. цену строки 16 и голос-оси для 13б). Дебаг-дисциплина: фикс только мультиязычный с батареей, архитектурная дыра = СТОП+пинг. Холодный аудит промта агентом: 3 major вправлены ДО выдачи (`budget_usd` не существует → `ceilings.book_usd/day_usd` с миной day_usd 0.25 эталона · у ре-пробы не было носителя боевой формы → live-риг + кандидаты терминолога из coldrun-a · механика смока/добора и легитимный re-pin/подпороговая перекупка — против ложного СТОПа) + 4 minor. Вне скоупа: Q2/Q7-полигон-слоты, судья Ф2, DC7-остаток (требует сидового прогона). Строка 74 → в работе. + +## Оркестратор №9 — ФРОНТ ОТКРЫТ: SaaS РАТИФИЦИРОВАН, БЭКЕНД-РАБОТЫ ПОЛУЧИЛИ СТРОКИ (D39.81), 02.08 + +По релею фронт-записки (все техутверждения сверены кодом: HTTP-слоя нет · рамка research/16:13 дословна · `ratelimit.go:11` mistral ~48% · EXCLUSIVE flock `store.go:43` · банк-пауза `--verify-bank` есть). Ратифицировано: продукт = SaaS (решение владельца) · инвариант непротекания конвейера в интерфейс (продуктовые статусы «загрузка→разбор→перевод→подпись банка→финал→готово»; ревью-вопрос «сменится стадия — придётся ли править фронт?») · процессная модель (движок = процесс-на-прогон, сервер в backend НЕ пишется — HTTP/SSE в `platform/`). Строки: НОВЫЕ 95 (контракт API v0 — единственная ранняя вставка, $0) · 96 (platform-обвязка) · 97 (глобальный брокер рейт-лимитов, гейт «до второго пользователя»); перевесы 49 (annot-v1 → критический путь фронта) и 94 (стоп/лимит — к подключению). Реестр: ПТ-33 (непротекание) + SaaS в ПТ-23. Поправки записке: реестр требований, который она «предлагает завести», построен вчера (D39.80), H7/H8/H10 уже несла строка 94, ETA — строка 54. + +## Оркестратор №9 — ОНБОРДИНГ-ОВЕРХОЛ ДОКОВ ПО ФИДБЕКУ НОВОЙ СЕССИИ (D39.80), 02.08 + +По санкции владельца («делаем максимально по красоте»). Триггер: две записки фронт-сессии — все проверяемые утверждения подтверждены исполнением, включая два моих (README не входил в процедуру лендинга — застрял на D39.77 с мёртвой ссылкой; статус-дубль в README разошёлся с CURRENT-STATE). Сделано: README = чистая карта без чисел головы и статуса (единственный носитель состояния — CURRENT-STATE здесь) · НОВЫЕ `product-requirements.md` (реестр ПТ-1..ПТ-32 (+25а) из START_PROMT V0–V5 + H6–H18, статусы сверены кодом; 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`](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`](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.64–71 против фактических носителей. Итог: 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) санкционирован с нормой «специфика — модулями/данными, встраиваемыми чисто»; Q1–Q7 делегированы «как лучше по исследованию» — диспозиции по рекомендациям (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`](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 (вопросы Q1–Q8, вкл. ⚠книжные каноны в 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 · ресёрчи 01–22 + START_PROMT · 04-unhappy/06-реестр/02-mvp · хвосты 40 архив-отчётов · обратная проверка бэклога. Владелец был прав: главная потеря — корзина II пака-21 целиком (D39.62 послал «в П1/П2/П3», промт фазы-2 не включил) — возвращена в строку 25 полным перечнем; плюс резюме-слой памяти (R9/Q6), ja-преп B6, морфо-гейт рода C3, F4-бэкап, «гу»-средний-род, пилот-преп добор, мелкие решения владельца → новые строки 80–86; ~18 дописок носителей; 6 явных закрытий; строка 30 закрыта как исполненная этим свипом. Норма впредь: каждое «отложено» в D-ноте обязано в том же лендинге получить строку бэклога или явное закрытие. + +## Оркестратор №9 + полигон — СЫРЬЁ АРКИ БАНКА + ПРОБЫ ФИКСОВ ПРИНЯТЫ (D39.65), 01.08 + +Отчёты: [`archive/reports/POLYGON_BANK_RAWMATERIAL_2026-08-01.md`](archive/reports/POLYGON_BANK_RAWMATERIAL_2026-08-01.md) ($0, часть 2 §12.7 корректно пропущена без слова) и [`archive/reports/POLYGON_BANK_PROBES_2026-08-01.md`](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`](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 — АКТУАЛИЗАЦИЯ ДОКОВ по санкции владельца: хроника 25–31.07 в новый слайс, шапки переписаны под голову D39.63, пять промтов в архив, 01.08 + +Санкция: «спилить лишнее, архивировать, ничего живого не потерять». Сделано: (1) PROGRESS 331→~160 строк — 37 закрытых записей (эры №7/№8 + лендинги D39.54–58 + СТОП-запись общности) → новый слайс `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, D1–D39.63), активные промты = 3 + PACKAGE4-трекер; в гардрейл добавлен урок «слаг живой ≠ модель та же»; (4) D-лог: титул D1–D39.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`](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 (⚠ норма амендирована 03.08 — приёмка всегда адверсариальная): отчёт ([`archive/reports/GENERALITY_RESEARCH_2026-07-31.md`](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`. + +## Закрытые записи секции «Бэкенд» (01–02.08) + +**Ручка эффорта (стр.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](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` не покрывает `roleClassifier` ⇒ **16/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 МиБ эмбеда + 10–12 мс/чанк; `langid-go` даёт P(ru)<0.5 на **22.2%** реальных русских сегментов 20–40 рун и FMA-зависим от GOARCH; `whatlanggo` принимает 4–6 из 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](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, сырьё показывает 15–21 тыс. симв. `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, латентность 9–44 с. **Цена (б) названа честно:** эхо 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](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_blocklist`→`CheapGateConfig`→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](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](archive/reports/SOFTSIGN_DECL_FINDING1_2026-08-02.md); харнесс `eval/softsign-decl/` (пин-модуль, боевой стеммер), сырьё+2 адверсариал-прогона durable в `~/books/gu-zhenren/softsign-decl/`. ИТОГ: разрыв реален но МАЛ (~4–7 ложных промахов/25 глав на реальном размере чанка, почти весь — ОДИН термин «Винный червь»; «Фан Юань»→0 per-chunk; occurrence-level 259 — код-верифицирован). Вариант **(б) anchor-gated** НЕ закрывает коллизию «Синь/Линь» — ПЕРЕНОСИТ на форму `[титул]+[ь-фамилия]` + не защищает числовой класс («пятого/шестого ранга» ×23); чистота на gu-zhenren = транслит-везение, доказательство **пара-зависимо**, safety НЕ измерена (M4=3 пары/1 книга). Рекомендация: **(а) сид-перечень 1–2 ВИДИМЫХ мягких канон-имён** — данные `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 доп. мн. падежа сверх списка владельца: Винным червям / Винных червях — полная парадигма). → Снято D39.77: строка 91 закрыта, подпись владельца — только вкусовые поля. + +**Фикс-пак банка (строка 87 + Q5) исполнен (02.08, бэкенд-сессия по `BACKEND_BANK_FIXPACK_SESSION_PROMPT`, D39.71, $0 — только фейк-провайдер в тестах, НЕ закоммичено).** Отчёт: [archive/reports/BANK_FIXPACK_2026-08-02.md](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.TokenizeWords`→`text.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](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](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** скрипт-шов источника (`cjkShare`→`sourceScriptShare` по ОБЪЯВЛЕННОМУ письму + новый `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, ревью-шапка в отчёте; журнал выше).** diff --git a/docs/experiments/09-pilot-protocol.md b/docs/experiments/09-pilot-protocol.md index b25b6d8a..f83a6679 100644 --- a/docs/experiments/09-pilot-protocol.md +++ b/docs/experiments/09-pilot-protocol.md @@ -2,7 +2,7 @@ > **⚠ Указатель ревизии D31 (12.07).** Протокол жив (решающая точка проекта). НЕ внесены пост-D13 амендменты — при подготовке решающего прогона добавить: **D30.1** (арм «моно vs билингв» из решающего → ПОДТВЕРЖДАЮЩИЙ — флип D1 принят досрочно exp12; редактор-стек: билингв, кандидат glm-5-билингв, grok reasoning-off снят; draft под вопросом exp13 — D30.6); **D21.4** (тиринг армов voice-A/B/C/D + судейские армы формата/сэндвича с echo-охранной метрикой + minimal-diff-редактор); **D25.3** (prefix-анализ судьи 1/3/5 vs full-11 из ТЕХ ЖЕ данных — sequential-stopping как замена протокола отклонён); **D25.6** (инструментировка minutes/flag + typed resolutions + аудит unflagged); **D30.10** (span-цитирующие судьи reasoning-ON, раздельные вызовы стиль/верность — урок exp12: скаляры без спанов нечувствительны). Блокеры (D27.1): корпус вне претрейна, аннотаторы ≥3, билингв-якорь (D25.9-Q1), проба судьи-дублёра 18+ (D22.6). > -> **⚠ Продление указателя до пост-D39.22 (полигон, пакет-5, 25.07.2026).** Указатель выше застрял на D31/glm-5 — с тех пор прошёл пере-прогон rerun2, и решающему прогону дополнительно предшествуют: **(1) редактор-кандидат сменился** — боевой редактор = **deepseek-v4-pro ИНТЕРИМ** (D39.22; glm-5 в резерве, `mistral` ИСКЛЮЧЁН как несущий редактор — D39.20), поэтому «кандидат glm-5-билингв» в списке D31 читать как исторический; **(2) планка «≤2 претензии» НЕ пройдена на rerun2** (D39.20/D39.8: слепое чтение владельца, дефекты распределены, floor-null подтверждён) — пилот **не открыт**, и до него стоит механизация дефект-классов, а не новый бейк-офф; **(3) авто-QA полигона ключуется СЛЕПЫМИ метками** (директива D39.20) — переносится в §5-панель как обязательное свойство рига, наравне с риг-стандартом D39.7 (per-vote, полно-evidence, floor-гейт, только `finish=stop`); **(4) стайл-каноны D39.21 суть часть эталона** для любой оценки верности/стиля: 时辰 = 2 часа (меры — в единицах языка читателя), generic-«гу» СРЕДНИЙ род (именные — по-термово из банка), стихи передаются СМЫСЛОМ, 资质 = «талант». **Тело протокола не тронуто** — это указатель, а не ревизия. +> **⚠ Продление указателя до пост-D39.22 (полигон, пакет-5, 25.07.2026).** Указатель выше застрял на D31/glm-5 — с тех пор прошёл пере-прогон rerun2, и решающему прогону дополнительно предшествуют: **(1) редактор-кандидат сменился** — боевой редактор = **deepseek-v4-pro ИНТЕРИМ** (D39.22; glm-5 в резерве, `mistral` ИСКЛЮЧЁН как несущий редактор — D39.20), поэтому «кандидат glm-5-билингв» в списке D31 читать как исторический; **(2) планка «≤2 претензии» НЕ пройдена на rerun2** (D39.20/D39.8: слепое чтение владельца, дефекты распределены, floor-null подтверждён) — пилот **не открыт**, и до него стоит механизация дефект-классов, а не новый бейк-офф; **(3) авто-QA полигона ключуется СЛЕПЫМИ метками** (директива D39.20) — переносится в §5-панель как обязательное свойство рига, наравне с риг-стандартом D39.7 (per-vote, полно-evidence, floor-гейт, только `finish=stop`); **(4) стайл-каноны D39.21 суть часть эталона** для любой оценки верности/стиля: 时辰 = 2 часа (меры — в единицах языка читателя), generic-«гу» СРЕДНИЙ род (именные — по-термово из банка), стихи передаются СМЫСЛОМ, 资质 = «талант». **(5) доктрина инжекта D39.104 (04.08):** банк на проводе = ЗАКОН для всех ролей независимо от статуса строки; право «перевести иначе» упразднено — свобода только оговоркой ОБЛАСТИ употребления; редакторский блок — ЕДИНЫЙ (двухсекционка схлопнута), маркер ⟨проверить⟩ с провода снят (статусы строк и подписная таблица НЕ меняются; движок — строка 134 после пробы 18). **Тело протокола не тронуто** — это указатель, а не ревизия. **Дата:** 2026-07-05 · **v2:** 2026-07-09 (поправки D13, починка харнесса, Pearmut-вердикт) · **Зона:** полигон (флагман) · **Статус:** протокол + харнесс (memory_eval починен и валидирован индикативом); решающий прогон ждёт корпус владельца + человеческих аннотаторов. **Закрывает решения:** выбор ядра C0–C3 (Р2), go/no-go на банк памяти (research/13 §Вердикт), валидность LLM-судьи (research/11-gap-3), think-ON/OFF (D6), ценность пре-пасса Annotator (04-unhappy). diff --git a/docs/experiments/README.md b/docs/experiments/README.md index 7923ce1e..dfd41ab9 100644 --- a/docs/experiments/README.md +++ b/docs/experiments/README.md @@ -1,6 +1,6 @@ # Эксперименты полигона — карта -Один эксперимент = один отчёт `NN-*.md` (методика + цифры + честные ограничения). Здесь — **индекс**: что установил → чем ратифицирован → статус. Каждая строка сверена по шапке самого дока + D-логу (**досведено 25.07, голова D39.28**: добавлены exp15/exp16; **ре-сверка 01.08, голова D39.64**: новых экспериментов нет, `00-provider-quirks` синхронизирован с катовером DeepSeek-0731 по D39.61). Карта **скриптов** (какой `.py` какому эксперименту) — в [`eval/README.md`](../../eval/README.md) §Карта; здесь — про **выводы**. +Один эксперимент = один отчёт `NN-*.md` (методика + цифры + честные ограничения). Здесь — **индекс**: что установил → чем ратифицирован → статус. Каждая строка сверена по шапке самого дока + D-логу (**досведено 25.07, голова D39.28**: добавлены exp15/exp16; **ре-сверка 01.08, голова D39.64**: новых экспериментов нет, `00-provider-quirks` синхронизирован с катовером DeepSeek-0731 по D39.61; **ре-сверка 04.08, голова D39.105** — новых экспериментов карты нет, банк-арбитраж = research/24, выдан промт пробы 18, см. хвост карты). Карта **скриптов** (какой `.py` какому эксперименту) — в [`eval/README.md`](../../eval/README.md) §Карта; здесь — про **выводы**. **Легенда статуса:** ⭐ЖИВОЙ-reference (читать при работе) · ЖИВОЙ (открытый инструмент/протокол) · закрыт (есть review-header/⚠-баннер; вывод ратифицирован, тело не редактируем — D23.3) · settled (одноразовый бенч, вопрос закрыт). @@ -42,3 +42,5 @@ ## Что было после дуги: 15 → 16 → пере-прогон (дописано 25.07) Дуга 12→14b проверяла **модели**; следующая пара проверяла **инфру**, на которую дуга указала. [`15`](15-segmentation-empirics.md) закрыл нарезку/когезию (все эффекты под floor — оптимизировать там нечего, зато родился риг-стандарт D39.7), [`16`](16-bank-mining.md) закрыл банк-майнинг (WHICH работает, WHAT уходит в банкноту) — и на этом **исследовательская программа полигона завершена** (D39.10). Дальше был не эксперимент, а **пере-прогон прод-путём** (rerun2, D39.20/D39.22): планка «≤2 претензии» **не пройдена**, пилот не открыт, `mistral` исключён как несущий редактор (анти-корреляция гладкость↔верность ×3), редактор = **deepseek-v4-pro ИНТЕРИМ**, dspro-vs-glm не ратифицирован (зазор ≈ шум) → **итерация №2 отложена** довеском к следующему платному прогону. Отчёта `17-*.md` нет и не будет: пере-прогон — не эксперимент полигона, его запись живёт в D-логе и `PROGRESS.md`. + +**Дальше (04.08):** банк-арбитраж прошёл НЕ этой картой — отчёт `../research/24-bank-arbitration.md` + харнесс `eval/bank_arbitration/` (принят D39.102: консилиум · кросс-модельные веса · self-consistency · селекция · отказ-сигнал — закрыты классом). Следующий отчёт карты — **`18-editor-wire-probe.md`**: проба редакторского провода под доктриной инжекта (санкция D39.103, промт `docs/POLYGON_EDITOR_WIRE_PROBE_SESSION_PROMPT.md`). diff --git a/docs/glossary.md b/docs/glossary.md index 7fbddd5f..0532a404 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -33,6 +33,7 @@ - **Волны** — waveDraft (черновик) → терминолог → waveEdit (редактура); имена только полные, аббревиатуры W0/W1 запрещены (решение владельца 19.07). - **Чанк** — единица нарезки книги; **edit-unit (юнит редактуры)** — member-чанки, схлопнутые редактором в один финальный текст: гранулярность финала и экспорта пар (~1.9 юнита/главу; якорь синхронизации фронта — D39.84; draft-only-пайплайн шипит по чанкам). - **Банк (памяти)** — термины/имена/голоса книги на весь прогон; **сид** — стартовый банк книги (YAML; подпись владельца — только вкусовые поля, D39.77); **бриф** — книжные вводные; **банкнота** — канал выноса кандидатов из ответа переводчика; **майнер** — $0-извлечение кандидатов из исходника; **KWIC** — конкорданс-контекст кандидата; **терминолог** — роль перевода/подписи терминов батчами. +- **Доктрина инжекта (закон)** — банк на проводе обязателен для всех ролей НЕЗАВИСИМО от статуса строки; право «перевести иначе, если сомнительно» упразднено, свобода — только оговоркой ОБЛАСТИ употребления (не-терминные пассажи: игра слов, разбор знаков); на проводе — единый закон-блок редактора, маркер ⟨проверить⟩ снят; статусы строк и подписная таблица не меняются (D39.104; внесение в движок — строка 134 после пробы 18). - **Гейты** — детерминированные $0-проверки перевода; **чекеры K1–K12** — классы дефектов рубрики; **DC1–DC7** — data-driven чекеры на данных пары; **репэйр** — платная петля ремонта (построена, выключена — строка 13). - **Судья** — Ф2-оценка качества (gemini); **канал B** — путь чувствительного контента (Mistral+grok); **лейблы (labels)** — размеченный корпус для precision/recall чекеров, метрики заморожены числами в приёмках. - **Голден** — байт-фиксированный снапшот прогона; **маскированный дифф** — сверка голдена с маской hex/версий; **CheapGateVersion (CGVER)** — версия контракта гейтов; **парити** — `TM_MINER_PARITY=1` EXACT-сверка майнера. diff --git a/docs/research/15-voice-and-state.md b/docs/research/15-voice-and-state.md index 8c092bd0..670d8dd8 100644 --- a/docs/research/15-voice-and-state.md +++ b/docs/research/15-voice-and-state.md @@ -1,6 +1,7 @@ # 15 — Голос и состояние: контекст-инжиниринг сверх терминологии > **⚠ АМЕНДМЕНТ 26.07 (D39.45, для читателя пака-19).** §2.3 «инъекция только по CONFIRMED, симметрия с банком» — читать как ИСТОРИЧЕСКУЮ: инъекционная модель банка изменена D39.42/45 — редакторская инъекция ДВУХСЕКЦИОННАЯ (закон CONFIRMED + помеченная секция ⟨проверить⟩ для неподписанного), все строки банка фолдятся в версию памяти. Приоритет D21 пере-подтверждается дизайном пака-19 против этой реальности. Тело файла не тронуто. +> **→ 04.08 (D39.104):** двухсекционная редакторская инъекция схлопнута в ЕДИНЫЙ закон-блок; маркер ⟨проверить⟩ с провода снят (поведенчески пуст — замер research/24 §C); банк на проводе = закон для всех ролей, право «перевести иначе» упразднено; внесение в движок — строка 134 после пробы 18. Упоминания двухсекционки ниже читать через это. > **⚠ Указатель ревизии D31 (12.07).** Ф2-механизмы (voice-профиль, address_pair, reveal-окна, anti-echo P4) ратифицированы D21 и живы — тело не трогать. Но эмпирика **редакторского слота** здесь снята на конфигурации, которую D30 объявил дефектной: **P3 «голос выигрывается на ДРАФТЕ, не на редактуре» мерялась на ПАССИВНОМ моно-grok-редакторе** (вернул черновик дословно 3/4 — это и был дефект, exp12/D30.1, а не свойство роли редактора). После флипа D1 (редактор БИЛИНГВ и АКТИВНЫЙ) премиса «редактор не сгладит голос» НЕ мерена — voice-слот пере-оценить в пилоте (D21.1г editor-слот не исключён). diff --git a/docs/research/20-bank-mining.md b/docs/research/20-bank-mining.md index 024b38aa..f98623a3 100644 --- a/docs/research/20-bank-mining.md +++ b/docs/research/20-bank-mining.md @@ -15,6 +15,7 @@ > вынесены владельцу отдельно; §E-бэкенду — слоты дизайна, НЕ строить до итогов §D (ратифицировано D39.6). > **→ ПОСТРОЕНО (отметка 25.07, оркестратор №7):** §D-полигон исполнен exp16 (D39.10: WHICH V-C recall 0.97, WHAT→банкнота+Палладий); детектор-лестница V-A/B/C — Go-майнер паритет-EXACT (пак-11 R2, D39.14; `backend/internal/miner/`), банкнота 12 гейт-точек — R3 (D39.14), майнер-данные → `internal/lang`+`configs/langpacks/` (D39.16), mined-delta collision-гард — пак-13 (`2f91b04`). Гейт «НЕ строить до итогов §D» снят фактом итогов. +> **→ 04.08 (D39.102–104):** арбитраж банка замерен и принят — `research/24`; **§E-1 мини-голд алиасов ОТЛОЖЕН до первого длинного прогона** (D39.103, вопрос с 17.07 закрыт); провод поверх §C2: маркер ⟨проверить⟩ с провода снимается, редакторский блок — единый закон-блок (D39.104; двухрежимная эмиссия §C2 п.7 и подписная таблица НЕ тронуты; движок — строка 134 после пробы 18). **Сессия-ресёрчер, 2026-07-17.** Исполнение `docs/RESEARCHER_BANK_MINING_SESSION_PROMPT.md` (D39.3). Не закоммичено — лендит оркестратор. diff --git a/docs/research/24-bank-arbitration.md b/docs/research/24-bank-arbitration.md index 420eead1..113ece6c 100644 --- a/docs/research/24-bank-arbitration.md +++ b/docs/research/24-bank-arbitration.md @@ -2,6 +2,7 @@ > **РЕВЬЮ-ШАПКА ПРИЁМКИ (оркестратор №13, 04.08.2026).** Статус: **ПРИНЯТ**, залендено этим коммитом (D39.102). Метод — адверсариальная приёмка тремя контурами. **(1) Пере-раны:** 12-агентный воркфлоу пере-ранил ВСЕ строки таблицы «заявление = команда» ($0, офлайн по сырью) — 8/8 CONFIRMED, ни одного расхождения чисел (голд 53/45/8/34 · базисы 12/18/27/5 · формы S1/SC/C3/C3conf/E1/C4 · AUC с CI · химеры B4 по сырью батчей · инжект-таблица · 18/149 · 1/75 · §E/§F по сырью); все 23 адреса §A подтверждены по HEAD `7f6270a` (3 уточнения координат: сброс sticky живёт в `wave.go:84-86`; фикстура A8 — дистилл `testdata/bankfull-surfaces.txt`; механизм series до ~:76); байт-сверка инжект-пробы с движком: заголовок/маркер/«src → dst»/второй system байт-идентичны (gender-нота не моделируется — для безгендерного глоссария рендер совпадает). **(2) Харнесс и деньги:** независимый пересчёт из сырья $0.107334 против записанных $0.107335 (округление на записи); цены = `models.yaml`; 84/84 finish=stop; слаг-дрейфа нет; голд 53/53 против сида, пере-сборка детерминистична байт-в-байт. **(3) Слепое ревью кода банка** (author≠reviewer, без чтения этого отчёта) + 12 опровергателей: находки СВЕРХ §A заведены строками 128–132 (главные: банкнота-парсер теряет хвост многословного dst против клейма A10 «дефектов нет»; emitRankCap×writeAutoBank молча стирает термы из авто-банка; кап инъекции не считает маркер/гендер-ноты). > **Оговорки приёмки (выводов не двигают):** (а) в скоринге армов C/D — regex-конфаунд: голд-rx 真元 матчится внутри верного перевода 元海 ⇒ «верные строки» C/D завышены до 2 ячеек; выводы «wrong принят 6/6 · Δ=0 · вытеснение 5/6» стоят на другой метрике и не задеты; (б) C4=20/45 хрупок — 2-2-тай в 7/45 термов решается порядком голосов; вывод «совет закрыть» стоит на C3−SC=+3 (один кластер) и glm-соло 25>23, не на C4; (в) фоллбек C3 несимметричен (сработал 5/45, эффект мал); SC при temp=0 меряет недетерминизм провайдера, не сэмплинг; (г) иллюстративные пары A4 склеены не как печатает скрипт (см. аннотацию в §A4); (д) «точность 44–56%» — числовые пассы; словесный dsw = 40.0%; (е) 18 оплаченных доп-поверхностей ростера кодом почти не скорятся — выводы по ним ручные по сырью; (ж) атрибуция литературы уверенности поправлена аннотацией в §D (Xiong et al. 2023, не Kadavath/Tian); DelTA first-wins и WMT25 подтверждены первоисточниками; (з) «потолок $1.00 — слово владельца 04.08» — со слов сессии (ратифицированный потолок $1.20, D39.90 п.5); при факте $0.107 беспредметно; арифметика ПИНГА в PROGRESS («+$0.0161») — склейка инкрементов C+E, леджер отчёта чист. +> **→ Тот же день (04.08): все 4 вопроса владельцу ЗАКРЫТЫ.** (1) мини-голд алиасов — отложен до первого длинного прогона (D39.103); (2) «Гуюэ» — не чинить, канал сида (D39.104 п.3); (3) проба редакторского провода санкционирована — промт выдан, отчёт будет `../experiments/18-editor-wire-probe.md` (D39.103); (4) фикс-пак §G санкционирован строкой 128 — промт выдан (D39.103). Поверх §C ратифицирована доктрина инжекта D39.104 (закон на проводе для всех ролей; маркер снимается — строка 134). **Ресёрч+полигон сессия, 04.08.2026.** Исполнение `docs/archive/prompts/BANK_ARBITRATION_RESEARCH_SESSION_PROMPT.md` (заархивирован D39.101) (D39.89; пере-запуск — артефактов захода 02.08 в дереве не было, D39.90 п.5; подрезка учтена: B2 @@ -418,6 +419,8 @@ ParseReply. **glm разошёлся в имени Aaron между соседн ## Вопросы владельцу +> → Закрыты в день приёмки: п.1/3/4 — D39.103; п.2 — D39.104 п.3 (детали — ревью-шапка). + 1. **Мини-голд алиасов** (§E-1 research/20, висит с 17.07): полезен кластер-каналу, не гейт. Делать? (метод и объём ~20–30 мин описаны в research/20 §E-1). 2. **«Гуюэ слитно» — пар-норма Палладия для составных фамилий или вкус книги?** Если пар-норма —