From f59ab1712d94f029aa6cf024b50a489fa71b70e3 Mon Sep 17 00:00:00 2001 From: "Claude (backend session)" Date: Sun, 26 Jul 2026 23:26:35 +0300 Subject: [PATCH] Actualize all docs to the D39.53 era, refresh pack nineteen prompt, archive executed prompts, replace layered loop tracker with the unified reviewed backlog table --- CLAUDE.md | 14 +-- ...CKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md | 14 ++- docs/ORCHESTRATOR_SESSION_PROMPT.md | 1 - docs/PROGRESS.md | 101 +++++++++++++++++- docs/README.md | 9 +- docs/architecture/09-target-architecture.md | 4 +- docs/architecture/10-prompt-architecture.md | 6 +- ...ACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md | 2 + ...YGON_PACKAGE8_PREMEASURE_SESSION_PROMPT.md | 2 + docs/research/15-voice-and-state.md | 3 + 10 files changed, 130 insertions(+), 26 deletions(-) rename docs/{ => archive/prompts}/BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md (97%) rename docs/{ => archive/prompts}/POLYGON_PACKAGE8_PREMEASURE_SESSION_PROMPT.md (96%) diff --git a/CLAUDE.md b/CLAUDE.md index 7ebf2cbe..e691bb4f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -14,7 +14,7 @@ Go-бэкенд издательского художественного пер ## Источники истины (по убыванию) -1. **`docs/architecture/05-decisions-log.md` (D1–D39.38)** — ратифицированный контракт; при конфликте с любым другим доком побеждает он; сверху файла — карта актуальности (что чем superseded). **Правило чтения (онбординг-диета 25.07): карта + живая голова (эра D39.x); корпус D1–D38 = справочник — по ссылкам/grep по D-номеру, целиком НЕ читать.** +1. **`docs/architecture/05-decisions-log.md` (D1–D39.53)** — ратифицированный контракт; при конфликте с любым другим доком побеждает он; сверху файла — карта актуальности (что чем superseded). **Правило чтения (онбординг-диета 25.07): карта + живая голова (эра D39.x); корпус D1–D38 = справочник — по ссылкам/grep по D-номеру, целиком НЕ читать.** 2. `docs/experiments/00-provider-quirks.md` — wire-квирки провайдеров (читать ПЕРЕД правкой адаптеров/вызовами провайдеров). 3. `docs/architecture/09-target-architecture.md` (7 слоёв; статус стройки — шапка-таблица) · `12-go-style-notes.md` (норматив общности §0) · `10-prompt-architecture.md` (промпт-тема). 4. `docs/architecture/01-decisions.md` (Р1–Р10), `02-mvp-plan.md`, `04-unhappy-paths.md`, `06-memory-risk-registry.md` — тела исторические, читать через ⚠-баннеры 25.07. @@ -39,11 +39,11 @@ Go-бэкенд издательского художественного пер 2. `docs/architecture/05-decisions-log.md`: карта актуальности (шапка) + живая голова (D39.x). Целиком НЕ читать — корпус D1–D38 по ссылкам/grep по мере надобности. 3. По роли: Бэкенд — `backend/README.md` + `03-implementation-notes.md` (через баннер) + `12-go-style-notes.md`; Полигон — `eval/README.md` + `experiments/00` + `09-pilot-protocol.md`; всем — шапка-таблица `09-target-architecture.md` (статус слоёв). -## Текущее состояние (2026-07-25, паки 17–18 закрыты, курс амендирован D39.33 — эра «механизация выпускного качества», голова D39.36) +## Текущее состояние (2026-07-26, пак-20 закрыт целиком, голова D39.53) -- **Фазы:** Ф0 ✅ · Ф1-инфра ✅ (D20–D28; golden = инвариант детерминизма №8) · арка «качество-первым» D26→D38.5 закрыта · **арх-ресет D39 исполнен ЦЕЛИКОМ**: 7 слоёв построены паками 11–16 (D39.13–D39.24; статус слоёв — шапка-таблица `09-target-architecture.md`; слой-3 diff-редактор — за `enabled:false`, включение = решение владельца по замеру остатка). -- **Пере-прогон rerun2 прочитан (D39.20):** операционка живьём ($0-резюм ×3 арма, $6.63<$15, echo 0, майнинг-стоп→подпись); планка ≤2 НЕ пройдена; анти-корреляция гладкость↔верность ×3 → mistral-редактор вон. **Эксп ЗАКРЫТ (D39.22), итерация №2 отложена; редактор = deepseek-v4-pro ИНТЕРИМ** (glm-5 резерв). Книжные каноны — с книгой (`books/<книга>/CANON-NOTES.md`), не в контракте движка. -- **Курс — разработка бэкенда:** паки 17 (content-labels, D39.26–28) и 18 (долги контракта, D39.31) ЗАКРЫТЫ; право по ToS добыто и подписано (D39.29/30/32). **Курс амендирован владельцем (D39.33): масштаб — ПОСЛЕДНИМ, после достройки алгоритмического идеала; доказательство эффективности — мини-прогоны ~10 глав.** Очередь (D39.34/35): ~~мини-прогон~~ **ИСПОЛНЕН И ПРИНЯТ (D39.37, 26.07: $0.23, операционка живьём до цента, шов банкноты замкнут, остаток = 0 в трёх классах петли; петля НЕ включается — D39.38)** → **пак-20 «банк: флаговый стоп + покрытие WHAT→WHICH» (ТЕКУЩИЙ, двухфазный)** → пак-19 «голос/состояние» (урезанный скоуп) → свип гипотез стартового промта/ресёрчей → слой-2/ru-target/native-Gemini → МАСШТАБ → пилот Ф2.5. -- **Стек:** draft deepseek-v4-flash thinking-ON → editor deepseek-v4-pro → судья gemini-preview + grok-фолбэк 18+ (~$0.85/ранобэ D30.4). Ключи: DEEPSEEK, ZAI, KIMI, OPENAI, GEMINI, XAI, MISTRAL (xAI: единый, data-sharing, off перед продом D27). -- **Висит на владельце + открытые петли:** трекер в CURRENT-STATE `docs/PROGRESS.md` (единственное место). +- **Фазы:** Ф0 ✅ · Ф1-инфра ✅ · арх-ресет D39 исполнен целиком (7 слоёв, паки 11–16) · мини-прогон принят (D39.37, $0.23, операционка до цента) · **пак-20 «банк» ЗАКРЫТ ЦЕЛИКОМ (D39.41–53): ТЕРМИНОЛОГ (роль пар-пака: переводит смердженный банк по KWIC-контекстам, durable-деньги) · флаговый стоп `--verify-bank` (дефолт = авто-продолжение) · ДВУХСЕКЦИОННАЯ редакторская инъекция (закон CONFIRMED + помеченная секция ⟨проверить⟩; ВСЕ строки банка фолдятся в версию) · точечная ре-редактура по ключу (bank-only-сдвиг → пере-пин $0) · банкнота отдельным шиппинг-файлом · языковой экран `gates.terminology.target_script` · дисциплина банкноты (кавычки в свёртке, агрегация из чекпойнтов по чанкам)**. Жанровый словарь ОТМЕНЁН КАК КЛАСС (D39.47: решение о переводе = подпись владельца на банк КНИГИ). Петля ремонта построена и НЕ включается (D39.38; «остаток=0» = ноль в охвате узких детекторов, D39.39). +- **Полигон:** пакеты 6/7/8 закрыты (D39.39/43–46/50/52): размеченный набор чекеров = постоянный измерительный стенд · рубрика K1–K12 ратифицирована · «контексты — главный рычаг терминолога» измерено · расширение эмиссии майнера закрыто ОТРИЦАТЕЛЬНО · частотного экрана для банкноты не существует · слепой судья годен только как катастроф-экран с декоем. +- **Очередь (D39.40/51/53):** пак-19 «голос/состояние» (промт актуализирован 26.07) → **ХОЛОДНЫЙ мини-прогон** (пустой сид, отдельная БД; закрывает ~десять вопросов за ≤$0.23, вкл. холодный старт банкноты, фикс не-CJK парсера, allow_short, судью-решение) → пак-21 «чекеры» (вход: 12 дефектов D39.39 + утечка алфавита) → свип гипотез → добор идеала → МАСШТАБ → пилот Ф2.5. +- **Стек:** draft deepseek-v4-flash thinking-ON (+банкнота) → терминолог (та же дешёвая модель, батчи) → editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (glm-5 резерв) → судья gemini-preview + grok-фолбэк 18+ (Ф2, только полигон). ~$0.85/ранобэ держится (D30.4); терминолог — центы на выборках, ≈$1.10 полный банк. +- **Висит на владельце + открытые петли:** ЕДИНЫЙ БЭКЛОГ — таблица в `docs/PROGRESS.md` (единственное место). - **Стенд:** WSL2, GTX 1070 8GB (localhost из-под прокси = 403 — no-proxy транспорт для local). Книга `/home/ubuntu/books/gu-zhenren/` (GB18030; текст и производные ВНЕ git). diff --git a/docs/BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md b/docs/BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md index 2431aeaa..84f4a40c 100644 --- a/docs/BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md +++ b/docs/BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md @@ -1,6 +1,12 @@ # Промт бэкенд-сессии: ПАК-19 «голос и состояние» (ДВУХФАЗНЫЙ: дизайн → ратификация → стройка) -**СТАТУС: СКОУП УРЕЗАН И ПОЗИЦИЯ УТОЧНЕНА АУДИТОМ (`D39.34`, 25.07). Стартует ПОСЛЕ пака-20 «банк» (порядок D39.38; мини-прогон и сид-дельта закрыты).** Курс D39.33: масштаб последним, доказательство эффективности — мини-прогоны ~10 глав. Аудит корпуса вскрыл, что (а) сид/банк-дельта стоит раньше по D39.20, (б) замер остатка обязан пройти ПОКА ЖИВ $0-резюм драфта, то есть ДО пака, вызывающего resnapshot, (в) **инъекционная часть D21 ратифицирована УСЛОВНО** (D21 п.2: «Схема + детерминированный ты/вы-флаггер — безусловно; инъекционная часть — условно до полигон-эксперимента на ТРУДНЫХ парах»). +**АКТУАЛИЗИРОВАН 26.07 (пост-D39.53), оркестратор №8.** С момента выдачи (25.07) закрыт ВЕСЬ пак-20 с продолжениями: построены терминолог (роль пар-пака, `internal/terminology`), флаговый стоп `--verify-bank` (дефолт = авто), **авто-провод неподписанного — редакторская инъекция теперь ДВУХСЕКЦИОННАЯ** (закон CONFIRMED + помеченная секция ⟨проверить⟩; ВСЕ строки банка фолдятся в версию памяти — D39.42/45), **точечная ре-редактура по ключу** (bank-only-сдвиг → пере-пин $0 + оплата только затронутых юнитов, `repin.go`), языковой экран `target_script`, дисциплина банкноты (кавычки, агрегация по чанкам); жанровый словарь ОТМЕНЁН КАК КЛАСС (D39.47: решение о переводе = подпись владельца на банк КНИГИ). После этого пака идёт **ХОЛОДНЫЙ мини-прогон** (D39.51 §6: пустой сид, отдельная БД) — твои метрики флаггера попадут в него. Устаревшие места исходного промта исправлены по тексту; при любом конфликте промта с кодом — код и D-лог первичны, пинг обязателен. + +**СТАТУС: СКОУП УРЕЗАН И ПОЗИЦИЯ УТОЧНЕНА АУДИТОМ (`D39.34`, 25.07). Стартует ПОСЛЕ пака-20 «банк» (закрыт целиком, D39.41–53).** Курс D39.33: масштаб последним, доказательство эффективности — мини-прогоны ~10 глав. **Инъекционная часть D21 ратифицирована УСЛОВНО** (D21 п.2: «Схема + детерминированный ты/вы-флаггер — безусловно; инъекционная часть — условно до полигон-эксперимента на ТРУДНЫХ парах»). + +## ШАГ 0 — ОБЯЗАТЕЛЬНЫЙ СИНК (норма D39.38, ДО дизайна) + +Таблица «источник ↔ код ↔ вердикт (совпадает / расходится / не построено)» в отчёт фазы 1. Сверять: D21/`research/15` (ратифицированная база ниже) ↔ **новая реальность банка**: `membank/memory.go` (двухсекционный редакторский блок `editor_unverified_header`, условный фолд `editor-unverified-section-v1`, `ComputeVersionScoped` фолдит ВСЕ строки) · `pipeline/repin.go` (bank-only-сдвиг = точечная ре-редактура — если сущности голоса/обращений фолдятся в версию банка, их поздняя правка наследует этот механизм: спроектировать ЯВНО) · `pipeline/terminologist.go` + `config.TerminologyGate` (прецедент «гейт-конфиг вне снапшота» и роль-сосед по инъекции) · головы D-лога D39.42–53. Расхождение = пинг, не тихая интерпретация. **Статус выдачи: 25.07.2026, оркестратор №8.** Цель — построить последний крупный НЕпостроенный рычаг качества: механизмы D21 (voice-профиль · реестр обращений ты/вы · reveal-окна). Ратифицированы 09.07 как механизмы Ф2, в коде их НЕТ — есть только описания будущих таблиц в комментариях миграций. Пак **двухфазный** (образец паков 16/17): фаза 1 — дизайн + СТОП, фаза 2 — стройка по размеченному списку. @@ -17,7 +23,7 @@ - **Voice-профиль** — схема `research/15` §1.5 (`char_id` · `register` · `self_ref` · `address_default` · `lexicon_markers` · `ng_lexicon` · `exemplars` 3–5 RU-реплик из УТВЕРЖДЁННОГО перевода · `brightness` · окна `since_ch/until_ch`). **Оговорка red-team, «ровно так»: до полного лендинга D15.2 профиль ЗАМОРОЖЕН per-job** — самодозаполнение exemplars = mid-run append памяти = пере-оплата книги (D8/D15.1). Проверь фактическое состояние D15.2-семантики в коде и, если считаешь, что заморозку можно снять, — принеси АРГУМЕНТ, а не тихое послабление. - **Реестр обращений `address_pair`** — ратифицирован как **МАТЕРИАЛИЗАЦИЯ журнала ты/вы** (D7-Правки-1), то есть ОДИН источник истины, а не второе хранилище рядом с банком. - **Reveal-окна** (`reveal_ch` + pre/post-reveal алиасы) — та же фигура, что уже работающие спойлер-окна `since_ch/until_ch` (`internal/seed`, `internal/membank`): pre-reveal dst не должен инжектиться до раскрытия. -- **Приоритет инъекции:** CONFIRMED-глоссарий > обращения > голос; в инъекцию идёт только CONFIRMED. +- **Приоритет инъекции:** CONFIRMED-глоссарий > обращения > голос. **АМЕНДИРОВАНО D39.42/45:** «только CONFIRMED» больше не описывает редакторскую инъекцию — она двухсекционная (закон + помеченная секция ⟨проверить⟩). Дизайн обязан ПЕРЕ-ПОДТВЕРДИТЬ D21-приоритет против этой реальности: куда встают обращения/голос относительно ДВУХ секций глоссария, и идёт ли неподписанное голосовое в помеченную секцию или только CONFIRMED (аргумент, не умолчание). - **Экономика D21 п.8:** верхняя граница editor-side инъекции +$0.2–0.3/вебновелла; при драфт-слоте ~+$0.02–0.05. Дороже — повод для развилки, не для тихого списания. ## ФАЗА 1 — ДИЗАЙН (кода не трогать; отчёт → СТОП → ратификация) @@ -37,10 +43,10 @@ ## «РОВНО ТАК» для обеих фаз 1. **Annotator-пре-пасс (D21 п.5) — НЕ в этом паке.** Это LLM-проход, то есть деньги и отдельное решение; дизайн может на него ссылаться как на будущее. -2. **Только CONFIRMED идёт в инъекцию.** Курируемое ≠ намайненное. +2. **Курируемое ≠ намайненное; неподписанное — только с пометкой** (двухсекционная реальность D39.45; «только CONFIRMED» — амендировано, см. базу выше). 3. **Ни одного пар/языкового литерала в Go** (§0). Ты/вы, формы обращений, признаки регистра — данные. 4. **Voice-профиль заморожен per-job**, пока не доказано обратное (см. базу выше). -5. **Ниты общности + ОБЯЗАТЕЛЬНЫЙ флип `Gates.RegressionGuard.Enabled` едут этим паком — потому что он вызывает первый resnapshot.** Точная атрибуция (исправлено D39.34): D39.31 п.5 ратифицировал «ближайший ПОЛНЫЙ `--resnapshot`», а не именно этот пак. Флип `RegressionGuard` — НЕИСПОЛНЕННОЕ обязательство D38.4 п.5 («Оркестратор при сборке единого resnapshot ОБЯЗАН включить»): ключа `regression_guard` нет ни в одном шиппинг-конфиге, гейт = false, rerun2 прошёл без построенной наблюдаемости. Включить и покрыть тестом. Оба: множитель `expectedHours := n * 2` (`internal/checks/checkers.go`) → данные пары; Detail-строки чекеров → шаблоны из данных (у второго байт-нейтральной формы НЕ существует определительно — он именно поэтому ждал resnapshot). +5. ~~Ниты общности + флип `RegressionGuard`~~ **ИСПОЛНЕНО ДО ТЕБЯ (мини-прогон, D39.37): флип сделан и дал первое живое срабатывание; множитель ×2 и Detail-строки уехали в данные пары (`dc_ratio`/шаблоны, загрузчик падает громко без них). НЕ пере-делывать.** Нормы замеров D39.46/47 обязательны и для тебя: у измеряемого фактора — арм без него · критик полноты на каждую фазу · право сказать «этого делать не надо», если синк подрывает посылку. 6. **Пере-капчер golden — под ратифицированную смену поведения, с доказательством:** маскированный структурный дифф обязан быть пуст вне осей, которые пак сознательно двигает. Каждую сдвинутую ось назвать в отчёте отдельной строкой. 7. **Деньги durable не трогаем:** reserve→settle+чекпойнт одной транзакцией; инъекция не смеет ослепить потолок (бюджет инъекции входит в оценку). 8. **Никаких платных прогонов.** Фикстуры и мок; живой прогон — отдельное решение владельца после лендинга. diff --git a/docs/ORCHESTRATOR_SESSION_PROMPT.md b/docs/ORCHESTRATOR_SESSION_PROMPT.md index 79fafacd..b9776705 100644 --- a/docs/ORCHESTRATOR_SESSION_PROMPT.md +++ b/docs/ORCHESTRATOR_SESSION_PROMPT.md @@ -11,7 +11,6 @@ ## Текущее состояние и очередь — НЕ здесь -Единственные места: **CURRENT-STATE + трекер «Открытые петли» в `docs/PROGRESS.md`** (фазы/курс/стек/петли) и **карта актуальности в шапке D-лога**. Этот файл состояния не несёт — он не устаревает вместе с ним. Известное на передачу 25.07: пак-17 «канал B вживую» запущен (двухфазный; на диске может ждать отчёт фазы 1 — приёмка: эхо-блок сразу, ратификация пропорционально весу). ## Онбординг (порядок чтения, ~20 мин после диеты 25.07) diff --git a/docs/PROGRESS.md b/docs/PROGRESS.md index cadaa221..d82cab46 100644 --- a/docs/PROGRESS.md +++ b/docs/PROGRESS.md @@ -1,12 +1,103 @@ # Журнал прогресса -> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-07-25, пак-17 закрыт, право по ToS подписано, пак-18 принят — долгов контракта нет, D39.26–D39.31). **Источник истины по РЕШЕНИЯМ — `architecture/05-decisions-log.md` (D1–D39.53); этот файл — ЖУРНАЛ.** -> - **Фазы/курс:** Ф0 ✅ · Ф1-инфра ✅ (D20–D28; golden = инвариант №8) · арка «качество-первым» D26→D38.5 закрыта · **арх-ресет D39 исполнен ЦЕЛИКОМ** (7 слоёв → программа D39.1–D39.10 → паки 11–16, D39.13–D39.24; статус слоёв — шапка-таблица `architecture/09-target-architecture.md`) · пере-прогон rerun2 прочитан (D39.20: операционка живьём, $0-резюм ×3 арма, $6.63<$15; планка ≤2 НЕ пройдена; анти-корреляция гладкость↔верность ×3 → mistral-редактор вон) · эксп ЗАКРЫТ (D39.22), итерация №2 отложена · **курс = разработка бэкенда: пак-17 «канал B вживую» ЗАКРЫТ ЦЕЛИКОМ (дизайн D39.26 · стройка D39.27 · дельта `allow` D39.28, 25.07); вокабуляр = ПАРА `violence`/`sexually-explicit`, остаток — ФАКТЫ ToS в зоне полигона (fail-closed до них)** (D39.25: в движке НЕТ понятия «18+» — generic content-labels × provider-capabilities; лейблы вне хешей · резолв до валидации · один хоп `chain[0]` · гранулярность = книга) → **КУРС АМЕНДИРОВАН ВЛАДЕЛЬЦЕМ 25.07 (D39.33): МАСШТАБ — ПОСЛЕДНИМ, после достройки алгоритмического идеала; доказательство эффективности крупных изменений — МИНИ-ПРОГОНЫ ~10 глав (детерминированные чекеры и скан остатка первыми, судья — только когда от него зависит решение).** **ОЧЕРЕДЬ ИСПРАВЛЕНА ЗАМЕРОМ (D39.35): $0-резюм драфта на стенде УЖЕ МЁРТВ** (снапшот разошёлся по трём осям — cheapgate v3→v4, renderfmt v2→v3, langpack 09974d6→a7d4be2), поэтому срочности «гнать, пока жив» НЕТ, а ниты перестали быть условными: **(1) микро-пак «предпрогонная гигиена» ($0-код): два нита общности + ОБЯЗАТЕЛЬНЫЙ флип `Gates.RegressionGuard.Enabled` (невыполненное обязательство D38.4 п.5) + опц. проекция пере-оплаты в `tmctl status`** · **(2) мини-прогон-замер ~10 глав** (драфт ≈$0.02, редактура ≈$0.08–0.15/арм, судья НЕ зовётся ⇒ один арм ≈$0.10–0.17, два ≈$0.20–0.32; перед прогоном бэкап `rerun2/*.db`, БД на схеме v9 против v10 бинаря) · **(3) параллельно $0 — сид/банк-дельта** (元 · 赤城 · 学堂家老 · 春秋蝉; два терма ждут подписи владельца) · **(4) пак-19 в урезанном скоупе** · (4) далее слой-2 извлечение из тел промтов · ru-target · native-Gemini судья. Затем — сид-дельта (元 · 赤城 · 学堂家老 · 春秋蝉), МАСШТАБ целой книги (7,78 млн символов, ~2284 раздела) и пилот Ф2.5. Хроника треков A/B, exp15/16 и стройки паков — архивы ниже + D-лог. -> - **Стек:** draft deepseek-v4-flash (thinking ON) → **editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (D39.22; glm-5 резерв, mistral вон D39.20)**, промпт v3-discourse (P1a+чэнъюй+few_shot-тумблер) → судья gemini-3.1-pro-preview; канал B Mistral+grok; 7 ключей; ~$0.85/ранобэ (D30.4). -> - **ОТКРЫТЫЕ ПЕТЛИ (норма 25.07, перепись 180 инцидентов: класс NEVER_CLOSED больше не копим — каждая петля обязана получить диспозицию решено/отложено-с-записью/отклонено; ведёт оркестратор).** *Владелец:* ~~вокабуляр content-лейблов~~ **РЕШЕНО 25.07: ПАРА `violence`/`sexually-explicit`** (D39.27 п.5 — сохраняет D14 п.1 и dspro-редактора на violence) ⇒ следствие в работе: assert-only `action` (дельта пака-17) · ~~Q2 редактор под лейблом~~ **ОТЛОЖЕН С ЗАПИСЬЮ** (D39.27 п.7: при паре связывает только `sexually-explicit`-книги, которых нет; возвращается вместе с предусловием D22.7 перед первой explicit-книгой; кандидаты — grok-4.3 интерим, glm-5 только после сверки ToS Z.AI по первоисточнику, mistral отвергнут D39.20) · ~~ToS-факты + три решения по ним~~ **ЗАКРЫТЫ 25.07 (D39.29 факты + D39.30 подписи владельца):** лейбл `violence` НЕ заводится, интерпретация «нейтральное изображение ≠ пропаганда» зафиксирована письменно · риск Z.AI (плоский запрет «violent content»; экспозиция состоялась в rerun2 через glm-арм) ПРИНЯТ сознательно с условиями пересмотра · две строки `accepts_labels: [sexually-explicit]` (`xai`, `mistral`) ПОДПИСАНЫ и ПРИМЕНЕНЫ в `models.yaml`. **Остаток ToS-вопросов ЗАКРЫТ владельцем 25.07 (D39.32):** local = «политик нет, переводим всё» ⇒ строка применена · Gemini-оговорка читается СУЖЕНИЕМ ⇒ вердикт `FORBIDDEN`→`UNCLEAR`, но по доктрине это НЕ разрешение: строку Gemini не получает, **ждёт одного слова, если владелец хочет подписать интерпретацию как разрешение** · причину пустоты в конфиг НЕ выносим (живёт в quirks-доке) · **ре-чек политик стал ПРАВИЛОМ** (триггеры: Google ToS 30.07.2026 · квартал 25.10.2026 · любая правка `accepts_labels`) · дата аккаунта OpenAI — открыта, приоритет низкий (OpenAI вне цепочки). **Продуктовое (Ф3):** Gemini API Additional ToS запрещает клиентов, «likely to be accessed by individuals under 18» — обязательство на конечный продукт, независимо от лейблов · **промпт-слой под лейблом (НОВОЕ, вскрыто вопросом владельца): лейбл сегодня НЕ доезжает до промпта** (чистые данные маршрутизации + load-time гарантия); нужно ли, чтобы переводчик/редактор ЗНАЛИ о свойстве контента — отдельное решение промпт-слоя · ~~мини-каноны сид-дельты~~ ЗАКРЫТО 26.07: все четыре пункта решены, правок сида ноль; книжные канон-решения живут С КНИГОЙ (`books/gu-zhenren/CANON-NOTES.md`), НЕ в D-логе — урок владельца: движок не строится вокруг одной книги · ~~включение платной петли ремонта~~ **РЕШЕНО 26.07 (D39.38): НЕ включается** — замер 0 в её классах; вернуться при расширении классов и ненулевом остатке; **уточнение D39.39: «0» = ноль в охвате детекторов с измеренным теперь recall (латиница 0.50 боевой, битые формы 0.10) — решение в силе (петля видит теми же детекторами), но читать как «финал чист» нельзя** · **вопросы разметки Р1–Р4 (НОВОЕ, D39.39, пакет-6 §5, 21 спорная строка):** гипербола 千万 (довод: тот же автор в гл.2 даёт 数十万 о том же деянии) · что есть дефект в классе 成 — форма или значение (от ответа precision K5c 1.000 или 0.167) · сокращённая форма термина («гу» при dst «гу-тварь») · принципиально неразрешимая офлайн речь/мысль (если да — потолок recall K4b < 1.0 by construction, вписать в контракт правила) · ~~место фикс-пака «чекеры» в очереди~~ **РЕШЕНО 26.07 (D39.40): это ПАК-21, а перед ним мини-прогон ~10 глав на полном бэкенде (после лендинга 20 и 19)**; ответы Р1–Р4 нужны к дизайну пака-21 · ja→ru-реплика §B5 (тайминг) · старые Ф2.5-блокеры (билингв-якорь — D25 п.9 Q1 · контаминация корпуса — D27 п.4 · судья-дублёр D22.6 · планка запуска · publishable/waiver — D25 п.1 · FN-bound L3 — D25 п.4 · юр-пакет · провенанс 12-*-доков · xAI-ключ off перед продом D27 · residual-тачпойнты exp16, не влитые в сид-дельту: мини-голд алиасов · precision@30, `books/gu-zhenren/exp16/`). *Оркестратор:* ~~ратификация дизайна пака-16~~ РЕШЕНО D39.24 (25.07) · фантом-гард D-ссылок в чек-листе лендинга (действует) · ~~doc-sync pass~~ **ИСПОЛНЕН 25.07** (запись ниже: оба puml перерисованы под пост-пак-16 · баннеры на 01/02/03/04/06/07/08/09 · ресёрч-свип 18/18c/19/20/21/22 · README/POLYGON_PACKAGE4 освежены; residual — пинги полигону в его зоне) · ~~приёмка пака-17 фаза 1~~ **РЕШЕНО D39.26 (25.07: принято в редакции §14, три добора приёмки, фаза 2 размечена)** · **`escalation_model` = ОТВЕТИВШАЯ модель (НОВОЕ, вынесено из пака-17): вердикт-изменение** — golden пинит `esc_model` на ОТКАЗАВШЕМ хопе, маскировка не скрывает ⇒ отдельная ратификация с санкционированным пере-капчером · **`--accept-rebill[=usd]` с порогом `min($0.50, 5%×ProjectedBookUSD)` РАТИФИЦИРОВАН D20.2-Q2, но в коде/CLI ОТСУТСТВУЕТ (НОВОЕ)** — живёт только в спеке `backend/docs/D15.2-*.md`; `--resnapshot` пере-пиннит без суммы · **D22.7 (пер-чанковый L3-скрин) — предусловие первой erotica-книги в проде НЕ снято паком-17 (НОВОЕ, держать отдельным гейтом)** · фантом-гард D-ссылок в чек-листе лендинга (действует). *Бэкенд:* **ХВОСТЫ МИНИ-ПРОГОНА (D39.37, 26.07, по убыванию веса):** ~~(1) размеченный набор для чекеров~~ **ЗАКРЫТ 26.07 (полигон-пакет-6, D39.39)** ⇒ породил вход нового фикс-пака «чекеры»: 12 дефектов с file:line (супрессор K5c гасит юнит целиком · атрибуция K4b (23 безатрибутивных + 12 с `!?…`) · `inner_marker` на тире-строки · предохранитель K5a отсекает все реальные магнитуды · заглавные/гомоглифы K2 · 两 в `cheng_re` · U+0301 рвёт `TokenizeCyrillic` · мн.число в `decl.forms`-тулинге · однознаковые ключи пост-чека) — приёмка против набора за $0; **место РЕШЕНО (D39.40): ПАК-21, после мини-прогона на полном бэкенде; + переезд `translitInterjections` в данные (улов владельца)** · (2) **тест-пин джойна WHAT↔WHICH** (мутация оркестратора выжила — фикс-лист №1 следующего касания) · ~~(3) покрытие WHAT↔WHICH + флаговый майнинг-стоп~~ **ПАК-20 ЗАКРЫТ ЦЕЛИКОМ 26.07 (фаза 1 D39.41 · решения D39.42 · фаза 2 ПРИНЯТА И ЗАЛЕНДЕНА D39.45): терминолог + `--verify-bank` (дефолт=авто) + авто-провод с пометкой + точечная ре-редактура с $0-пере-пином + банкнота отдельным файлом; живьём на 10 главах, $0.0476, деньги сходятся тремя путями; заделы серии/импорта — контрактами.** Открытое по паку: `feed_cap` (рекомендация: малой дельтой) · жанровые метки словаря · подпись словаря после фазы B полигона · resnapshot стендовых книг с auto-строками; хвосты: `AttachKWIC` квадратичен · смета молчит о пере-покупке роли на подписи · S12 частичен · zh-worst-case в `bankTokenBudget` (утечка §0 признана) · gofmt `llm.go` (до-паковый) · **вариативность банкноты 37↔14 (n=2) → полигону в фазу B** · (4) `dialogue_dash` мерить только на невиданном тексте (подогнан под 蛊真人) · (5) генеральность нарезки: кана/ханьцзи один класс ⇒ ja `est_out` ~1.7× завышен МОЛЧА; `EstimateTokens` недосчитывает кириллицу (резервации занижены) · (6) golden второй фикстурой С langpack · (7) `prompt_override` — честная формулировка гарантии слоя-2 · (8) майнер/банк не-CJK (едет с ja→ru) · (9) `request_log` скоуп/ретеншен + `first_flag_reason` третье представление истории · (10) флор-16000 без модели · (11) `max_tokens`-упоры вернутся на en · ~~пак-17 (фазы 1–2 + дельта)~~ **ЗАКРЫТ ЦЕЛИКОМ 25.07 (D39.26/27/28)** · ~~ПАК-18 «долги контракта»~~ **ПРИНЯТ И ЗАЛЕНДЕН 25.07 (D39.31) — долгов контракта не осталось**; выдавался (`BACKEND_PACK18_DEBTS_SESSION_PROMPT.md`: `--accept-rebill` на снапшотной гранулярности — `guard_hash` в коде нет и не строим · `escalation_model` = авторитетная модель с САНКЦИОНИРОВАННЫМ пере-капчером golden под этот дифф · два нита общности условно-байт-нейтрально) · **ru-target долг (слой 7, `isRuTarget`×11 прод-сайтов · `TokenizeCyrillic`×6 · ключ «ru» в санитайзере) — ЖДЁТ СВОЕГО ДИЗАЙН-ПАКА** (связывает только не-русский таргет, по текущей карте zh/ja/en→ru не срочен) · **ПАК-19 «голос и состояние» ВЫДАН 25.07** (`BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md`, двухфазный; ниты общности едут ЕГО лендингом — D39.31 п.5) · **проекция пере-оплаты в `tmctl status` (НОВОЕ, из отчёта пака-18): спека §9 предлагает заменить булев `ConfigDrift` числом «N чанков, ~$X» — дёшево, `omitempty`, не сделано сознательно** · **не-долги, следующие несущие:** масштаб целой книги (волны/каденс/потолки/ETA на сотнях глав — гоняли максимум 5) · Ф2-механизмы (голос/состояние D21 · native-Gemini судья) · извлечение дискурс-норм/few-shot из ТЕЛ промтов (слой 2, форсинг = ja→ru) · ~~пак-16 ф.2~~ ЗАЛЕНДЕНА 25.07 · per-class исходы ремонта — схемное решение (класс не durable), принимается ВМЕСТЕ с включением петли · ниты общности (владелец 25.07) — **ОТЛОЖЕНЫ ПО ЗАМЕРУ (D39.31 п.5): едут на ближайший ПОЛНЫЙ `--resnapshot`**; для Detail-строк байт-нейтральной формы не существует определительно (дефолт шаблона обязан рендерить текущую строку). Прежняя формулировка: только в байт-нейтральной форме с доказательством исполнением (иначе `CheapGateVersion`/`pack.Version()` двигают снапшот стендовых книг и убивают $0-резюм драфта под замер остатка пака-16): Detail-строки чекеров → шаблоны/цитаты из данных (статический 时辰-текст в generic-файле соврёт второй паре) · множитель ×2 `lintTimeUnits` (`checkers.go:174`) → ключ данных. *Полигон:* ~~пакет-6 (размеченный набор чекеров)~~ **ОТРАБОТАН И ПРИНЯТ 26.07 (D39.39): 3015 позиций, 6 прогонов, $0; metrics.json воспроизведён побайтно; набор на стенде `books/gu-zhenren/labels/` = постоянный измерительный стенд чекеров; ~~ПАКЕТ-7 (v2, ресёрч-программа)~~ **ЗАКРЫТ ЦЕЛИКОМ 26.07 (A: D39.43 · Z-решения: D39.44 · B+B′: D39.46; $0.45043 из коридора $2.60): ратифицировано «контексты — главный рычаг терминолога»; судья = только катастроф-экран с декоем; словарь инертен до расширения эмиссии на term; три процессных правила — в нормы промтов; ~~на владельце подписи Z-B1–B4~~ **АМЕНДИРОВАНО D39.47: жанровый словарь ОТМЕНЁН КАК КЛАСС (решение о переводе = подпись владельца на банк КНИГИ; Z-B1/B2/B6 сняты, Z-B4 сужен, Z-B3 остаётся — промпт уже в узкой форме); дельта размотки → бэкендерам, главный вопрос покрытия = расширение эмиссии на term + feed_cap (ждёт санкции)**; амендмент D39.42 п.1 (терминолог на полном банке = единицы долларов) и Q4→Р3 (сокращённая форма = поле записи, вход пака-21) — в силе; полигон-очередь ПУСТА, кандидаты: вариативность банкноты 37↔14 · ёфикатор/санитайзер-разметка · dialogue_dash на невиданном (оставшиеся кандидаты: ёфикатор/санитайзер-классы не размечены — §6.5 отчёта пакета-6; `dialogue_dash` на невиданном тексте) · ~~пакет 5 (факты ToS + 8 пингов)~~ **ОТРАБОТАН ЦЕЛИКОМ И ПРИНЯТ 25.07 (D39.29); все восемь пингов закрыты.** Исторический список закрытых пингов: (1) `00-provider-quirks.md:13,73` — катовер deepseek-chat 24.07 ПРОШЁЛ, пост-катовер факт (жив ли алиас, цены) не внесён — live-проба `/models` + вендор-дока; (2) `00-provider-quirks.md:69` — оговорка «mistral-editor-арм до guard» superseded D39.20 (mistral вон из редакторов; rate-limit-цифры оставить — нужны переводчику канала B пака-17); (3) `09-pilot-protocol.md:3` — ⚠-указатель застрял на D31/glm-5: продлить до пост-D39.22 (dspro-интерим · планка ≤2 не пройдена rerun2 · авто-QA слепыми метками D39.20 · стайл-каноны D39.21), тело не трогать; (4) `15-segmentation-empirics.md:6-7` — шапка до сих пор «НИ ОДНОГО платного вызова», а эксп залендён REV.2 (D39.7/D39.8, $12.79) — перевернуть статус-блок; (5) `16-bank-mining.md:3` — дописать финал «ИСПОЛНЕН И ЗАЛЕНДЁН (D39.10); gender-тачпойнт §7 закрыт (D39.19); продолжение — Go-майнер парити EXACT»; (6) `experiments/README.md` — индекс без строк exp15/16 (сверка застряла на D38.2); (7) `eval/README.md` — не тронут с 19.07 (пре-rerun2): освежить статус под пост-D39.22 (эксп закрыт · судейский риг-стандарт D39.7 · экстракция только `tmctl export`). -> - **НАЙДЕНО СПЛОШНЫМ АУДИТОМ 25.07 (D39.34) — 23 позиции, что были ратифицированы, но не попали в трекер; каждая с диспозицией.** *(1) Обязательство, НЕ исполненное:* **флип `Gates.RegressionGuard.Enabled` (D38.4 п.5 «ОБЯЗАН включить» при сборке resnapshot) — ключа нет ни в одном шиппинг-конфиге ⇒ гейт false; rerun2 прошёл без построенной наблюдаемости** → едет обязательной строкой в пак, вызывающий ближайший resnapshot. *(2) Флипы гейтов за подписью владельца (остаются открытыми-с-записью):* coverage `enabled:false` (D12-Q4) · `postcheck_gate` в hard-gate требует пере-замера recall (D24.4+D28.1). *(3) Поглощено курсом:* заморозка «этапа B ~300 глав» (D26 п.1) — **снята D39.33** (масштаб последним), отдельной петлёй не считается. *(4) Открыто, вне «идеала»:* этапы Б+В спеки D15.2 (D33 п.5 «промт выдам после пере-прогона» — прогон был 23.07) — они про content-addressed resume/`guard_hash`, который D39.31 сознательно не строил · F3-остаток идемпотентности · `human_override` LOCK (D29 п.1г, в коде 0 вхождений) · морфо-гейты канцелярита и L1-лемматизация (Ф2, python-сайдкар) · полный OpenCC (0 вхождений) · опциональный пре-перевод гейт. *(5) Мелкие хвосты качества (собрать одним паком когда-нибудь):* ledger-очередь LOW/NOTE из D39.4 · остаток фикс-листа D23 п.4 и D28 п.3(б) · `editor-mono.md` DORMANT (ни в одном конфиге). *(6) Деньги/провайдеры (полигон):* вендор-чек префикс-кэша ZAI/GLM (на нём стоит вся кэш-экономика W1/Q2c) · продление `prices_checked` без правки чисел · scheduler-aware волны под peak-valley DeepSeek (прямой COGS-рычаг) · гейтнутые платные армы (edit-единица >3200 и др.) · wire-probe temperature в thinking-канале DeepSeek. *(7) Продукт/Ф3:* action-security gate перед выдачей tools/webfetch (D25 п.5) · планы research/22 (epub-tag-rewrite, Q7-леджер) · Gemini под-18 обязательство на конечный продукт. *(8) Вход в пак-19:* требование НАРРАТИВНОЙ гендер-аннотации (since_ch-смены + перспектива), а не булева поля — вписано в промт. +> **⟶ ТЕКУЩЕЕ СОСТОЯНИЕ** (на 2026-07-26: пак-20 закрыт ЦЕЛИКОМ D39.41–53 — терминолог · флаговый стоп · двухсекционная инъекция · точечная ре-редактура · языковой экран; жанровый словарь отменён D39.47; полигон-пакеты 6/7/8 закрыты). **Источник истины по РЕШЕНИЯМ — `architecture/05-decisions-log.md` (D1–D39.53); этот файл — ЖУРНАЛ.** +> - **Фазы/курс:** Ф0 ✅ · Ф1-инфра ✅ (D20–D28; golden = инвариант №8) · арка «качество-первым» D26→D38.5 закрыта · **арх-ресет D39 исполнен ЦЕЛИКОМ** (7 слоёв → программа D39.1–D39.10 → паки 11–16, D39.13–D39.24; статус слоёв — шапка-таблица `architecture/09-target-architecture.md`) · пере-прогон rerun2 прочитан (D39.20: операционка живьём, $0-резюм ×3 арма, $6.63<$15; планка ≤2 НЕ пройдена; анти-корреляция гладкость↔верность ×3 → mistral-редактор вон) · эксп ЗАКРЫТ (D39.22), итерация №2 отложена · **курс = разработка бэкенда: пак-17 «канал B вживую» ЗАКРЫТ ЦЕЛИКОМ (дизайн D39.26 · стройка D39.27 · дельта `allow` D39.28, 25.07); вокабуляр = ПАРА `violence`/`sexually-explicit`, остаток — ФАКТЫ ToS в зоне полигона (fail-closed до них)** (D39.25: в движке НЕТ понятия «18+» — generic content-labels × provider-capabilities; лейблы вне хешей · резолв до валидации · один хоп `chain[0]` · гранулярность = книга) → **КУРС АМЕНДИРОВАН ВЛАДЕЛЬЦЕМ 25.07 (D39.33): МАСШТАБ — ПОСЛЕДНИМ, после достройки алгоритмического идеала; доказательство эффективности крупных изменений — МИНИ-ПРОГОНЫ ~10 глав (детерминированные чекеры и скан остатка первыми, судья — только когда от него зависит решение).** **ОЧЕРЕДЬ (D39.40/51/53, всё до неё исполнено):** пак-19 «голос/состояние» → ХОЛОДНЫЙ мини-прогон (пустой сид, отдельная БД) → пак-21 «чекеры» → свип гипотез → добор идеала (4 вопроса границы D39.33 у владельца) → МАСШТАБ целой книги (7,78 млн симв., ~2284 раздела) → пилот Ф2.5. Хроника треков A/B, exp15/16 и стройки паков — архивы ниже + D-лог. +> - **Стек:** draft deepseek-v4-flash (thinking ON, +банкнота `translator-banknote.md`) → **терминолог** (роль пар-пака, deepseek-v4-flash, батчи, языковой экран `target_script` — D39.42/45/51/53) → **editor deepseek-v4-pro БИЛИНГВ ИНТЕРИМ (D39.22; glm-5 резерв)**, промпт v3-discourse, инъекция двухсекционная (D39.45) → судья gemini-3.1-pro-preview (Ф2, полигон); канал B Mistral+grok; 7 ключей; ~$0.85/ранобэ (D30.4). +> - **ЕДИНЫЙ БЭКЛОГ — секция «Бэклог» ниже (введён 26.07 по решению владельца: одна таблица вместо наслоений; ревью-пасс оркестратора сверил её с коммитами и обсуждённым, добавил 7 строк). Норма прежняя: каждая петля обязана иметь диспозицию (решено / отложено-с-записью / отклонено); ведёт оркестратор. Историческая развёртка петель до 26.07 — в git-истории этого файла и в D-логе.** > - Архивы хроники: `archive/PROGRESS-2026-07-04-10.md` (D31) · `archive/PROGRESS-2026-07-10-13.md` (D39.6-гигиена) · `archive/PROGRESS-2026-07-13-25.md` (слайс 25.07: стройка паков 11–16, rerun2). Записи ниже — живой хвост. +## Бэклог (ЕДИНЫЙ, собран и сверен 26.07; правки — только через оркестратора) + +Закрытые строки здесь НЕ хранятся — они уходят в D-лог с номером решения. Вес: «блокер-очереди» = мешает текущему шагу · «скоро» = ближайшие 1–2 касания · «когда-нибудь» = записано, не потеряно. + +| ID | Хвост (одной фразой) | Зона | Вес | Чем закрывается | Источник | +|---|---|---|---|---|---| +| **— ВИСИТ НА ВЛАДЕЛЬЦЕ —** | | | | | | +| 1 | Ответы на вопросы разметки Р1–Р4 (гипербола 千万 · дефект в 成 форма/значение · сокращённая форма терма · неразрешимая офлайн речь/мысль) | владелец | блокер-очереди (без них не пишется дизайн пака-21) | пак-21 | D39.39(г), D39.40, D39.44 Q4 | +| 2 | Четыре вопроса границы «алгоритмического идеала» (Annotator · семантический судья · ja→ru §B5 · ru-target до/после) | владелец | скоро (гейт «добора идеала» перед МАСШТАБОМ) | отдельное решение | D39.33, D39.38 | +| 3 | Одноразовый `--resnapshot` стендовых книг с auto-строками | владелец | скоро | отдельное решение | D39.45(4) | +| 4 | Ре-чек ToS-политик по триггерам (Google ToS 30.07.2026 · квартал 25.10.2026 · любая правка `accepts_labels`) | владелец/полигон | скоро (первый триггер 30.07.2026) | отдельное решение (правило) | D39.32 | +| 5 | Судья-с-декоем как катастроф-экран банкноты — отложен, вернуться после холодного старта и пере-замера P1 | владелец | скоро (после холодного мини-прогона) | отдельное решение | D39.50 п.6, D39.51 п.4, PACK20_BANKNOTE_BUILD §6 | +| 6 | Строка Gemini в `accepts_labels` — ждёт слова владельца о подписи интерпретации сужения как разрешения | владелец | когда-нибудь | отдельное решение | D39.32 | +| 7 | Q2 «редактор под `sexually-explicit`» (grok-4.3 интерим · glm-5 после сверки ToS Z.AI · mistral вон) | владелец | когда-нибудь (перед первой explicit-книгой) | отдельное решение | D39.27 п.7 | +| 8 | D22.7 пер-чанковый L3-скрин — несня­тое предусловие первой erotica-книги в проде, отдельный гейт | владелец | когда-нибудь | отдельное решение | D22.7, CURRENT-STATE (оркестратор) | +| 9 | Промпт-слой под лейблом: лейбл не доезжает до промпта — должны ли переводчик/редактор знать о свойстве контента | владелец | когда-нибудь | отдельное решение | CURRENT-STATE (владелец, из пака-17) | +| 10 | Дата создания аккаунта OpenAI (низкий приоритет, OpenAI вне цепочки) | владелец | когда-нибудь | отдельное решение | D39.32 | +| 11 | Флип coverage-гейта (`enabled:false`, D12-Q4) — за подписью владельца | владелец | когда-нибудь | отдельное решение | D39.34(2) | +| 12 | `postcheck_gate` в hard-gate — требует пере-замера recall (recall чекеров теперь измерен и низок) | владелец | когда-нибудь (после пака-21) | отдельное решение | D39.34(2), D24.4+D28.1, D39.39 | +| 13 | Включение платной петли ремонта + per-class исходы ремонта (схемное решение принимается вместе) — вернуться при расширении классов детекторов и ненулевом остатке | владелец | когда-нибудь | отдельное решение | D39.38, D39.39(а), CURRENT-STATE | +| 13а | Веса рубрики K1–K12 не выбраны (Q1: «по данным фазы B»; фаза B прошла на BWS без весов — выбор нужен к агрегатной приёмке качества книги) | владелец | когда-нибудь (к пилоту) | Ф2.5 / отдельное решение | D39.44 Q1, D39.46 | +| **— ПАК-19 (текущий шаг очереди) —** | | | | | | +| 14а | Ingest-пачка (санкция 26.07): `extractXHTML` → `x/net/html`-токенайзер (4 класса падений импорта грязных епабов) · `EntryName` + тесты percent-href/#fragment · mimetype `zip.Store`; приёмка: байт-сравнение экстракции на реальном епабе стенда | бэкенд | скоро (до/вместе с паком-19) | малая пачка | чат 26.07, анализ ingest | +| 14 | Пак-19 «голос/состояние» (D21, урезанный скоуп) — выдан, первый в очереди D39.53 | бэкенд | блокер-очереди | пак-19 | D39.38, D39.40, D39.53 | +| 15 | Нарративная гендер-аннотация (since_ch-смены + перспектива, не булево поле) — вход пака-19 | бэкенд | блокер-очереди | пак-19 | D39.34(8) | +| **— ХОЛОДНЫЙ МИНИ-ПРОГОН (после пака-19) —** | | | | | | +| 16 | Холодный старт с пустым банком — единственная неизмеренная цифра цены/покрытия | бэкенд/полигон | блокер-очереди | холодный мини-прогон | D39.50 п.7, D39.51, POLYGON_PREMEASURE §5 | +| 17 | Совместный recall майнер∪банкнота против сида живьём (замер 1 пакета-8 оказался неизмерим — цензура черновиков) | полигон | блокер-очереди | холодный мини-прогон | D39.48, D39.51, POLYGON_PREMEASURE §1.2 | +| 18 | `allow_short: true` для подписанных 蛊/转 — не доезжают до модели ни одним каналом (правка данных сида) | бэкенд | блокер-очереди | холодный мини-прогон | D39.50 п.5, D39.51, POLYGON_PREMEASURE §1.5 | +| 19 | Фикс парсера банкноты `hasBankSrcHan` (канал мёртв для не-CJK; пар-слепое правило «непуста и встречается в книге») + ветка `dispositionFor`/S7 той же оси | бэкенд | блокер-очереди | холодный мини-прогон | D39.53, PACK20_BANKNOTE_BUILD §5, PACK20_BANK_BUILD §8.5.5 | +| 20 | Остальные вопросы D39.51: банкнота без цензуры · язык при пустом якоре (OffLanguage как прибор) · второй сэмпл для агрегации | бэкенд/полигон | блокер-очереди | холодный мини-прогон | D39.51, D39.53 | +| 21 | Пере-замер P1 consistency на популяции без цензуры ($0 из чекпойнтов) — первый замер провален вырожденностью | полигон | блокер-очереди | холодный мини-прогон | D39.52 | +| 22 | Пере-мер весов формулы консолидации §C2-3 (сейчас n=1, часть отличий — шум модели) | полигон | блокер-очереди | холодный мини-прогон | D39.45, D39.53, PACK20_BANK_BUILD §8.5.7 | +| 23 | Счёт «утечки алфавита» (категория A: 甲等→«категория A») живьём | полигон | блокер-очереди | холодный мини-прогон | D39.52, D39.53 | +| 24 | Именованные вопросы D39.40: покрытие WHAT→WHICH при непустом пересечении · оба режима флага · срабатывания голос-флаггера · эхо-метрика на живом эхо | бэкенд | блокер-очереди | холодный мини-прогон | D39.40, D39.37 | +| **— ПАК-21 «чекеры» —** | | | | | | +| 25 | 12 дефектов чекеров с file:line (супрессор K5c · атрибуция K4b · inner_marker на тире · предохранитель K5a · заглавные/гомоглифы K2 · 两 в cheng_re · U+0301 в TokenizeCyrillic · мн.число в сид-тулинге · однознаковые ключи пост-чека) — приёмка против набора пакета-6 за $0 | бэкенд | скоро | пак-21 | D39.39(в), D39.40 | +| 26 | Переезд `translitInterjections` из Go в данные (`cheapgates.go:367`, улов владельца) | бэкенд | скоро | пак-21 | D39.40 | +| 27 | Пост-чек обязан принимать сокращённую форму терма как поле записи (Р3/Q4) | бэкенд | скоро | пак-21 | D39.44 Q4 | +| 28 | Банк-линт латиницы в dst или строгая форма языкового предиката (7 строк утечки алфавита проходят экран) | бэкенд | скоро | пак-21 | D39.52 | +| **— СВИП ГИПОТЕЗ —** | | | | | | +| 30 | Свип «стартовый промт + гипотезы ресёрчей 01–22 против построенного» ($0, аудит-воркфлоу класса D39.34) | оркестратор | скоро | свип гипотез | D39.38 | +| 30а | Перерисовка puml-диаграмм под пост-пак-20 пайплайн (терминолог, банкнота отдельным файлом); PUML НЕ рендерить (гардрейл) | оркестратор | когда-нибудь | док-пасс | аудит доков 26.07 | +| 30б | Снять «ИНТЕРИМ»-шапку промпта терминолога (фаза B закрыта: узкое правило + строка примера = текущий текст) | бэкенд | когда-нибудь | ближайшее касание | D39.44 п.6, D39.52/53 | +| 30в | Идеи START_PROMT не разобраны: V4 п.4–5 (сборка глоссария — частично закрыта паком-20; ЯЗЫК промпт-запросов по паре: для zh→en русский не должен участвовать) → в свип; V5 (фронт веб-первый, SEO/ранжирование, куки, страницы-сироты) → Ф3 | оркестратор/владелец | скоро (п.4–5 в свип) | свип гипотез + Ф3 | START_PROMT.MD V4/V5 | +| **— ОТДЕЛЬНЫЕ ПАКИ/РЕШЕНИЯ (бэкенд, добор идеала) —** | | | | | | +| 31 | Слой-2: извлечение дискурс-норм/few-shot из ТЕЛ промтов (форсинг = ja→ru) | бэкенд | когда-нибудь | отдельный пак (идеал D39.33) | CURRENT-STATE, D39.33 | +| 32 | ru-target долг слоя 7 (`isRuTarget`×11 · `TokenizeCyrillic`×6 · ключ «ru» в санитайзере) — ждёт своего дизайн-пака | бэкенд | когда-нибудь | отдельный пак (идеал) | CURRENT-STATE, D39.34 | +| 33 | native-Gemini судья (Ф2-механизм) | бэкенд | когда-нибудь | отдельный пак (идеал) | CURRENT-STATE, D39.33 | +| 34 | Генеральность нарезки: кана/ханьцзи один класс (`est_out` ja завышен ~1.7× МОЛЧА) + `EstimateTokens` недосчитывает кириллицу (резервации занижены) | бэкенд | когда-нибудь | отдельный пак (с ja→ru) | D39.37(5) | +| 35 | Не-CJK майнер/банк: en-детектора не существует (hanRuns=0), ja с zh-таблицами активно неверен (0/10); нужен второй ДЕТЕКТОР (прототип `mine_nonhan.py`) + G1–G10 требования generic-майнера (вкл. квадратичность G9 ≈4.6 ч) | бэкенд | когда-нибудь | отдельный пак generic-майнера (с ja→ru) | D39.37(8), D39.43, D39.50 п.8, POLYGON_PREMEASURE §6 | +| 36 | Кластеризация майнера глотает родовые титулы (族长/学堂家老 в кластере 葛家) — закрыто на границе сборки входа, сама кластеризация не чинилась | бэкенд | когда-нибудь | отдельное решение | D39.43, D39.45 | +| 37 | `AttachKWIC` квадратичен (16.8 с / 2000 кандидатов; фикс — многошаблонный поиск за проход) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.1 | +| 38 | Смета не видит пере-покупку прохода терминолога на каждой итерации подписи (роль не пишет `chunk_status`, не видна `projectRebill`) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.2 | +| 39 | S12 частичен: `malformedSeparatorAt` не ловит подмену слова разделителя и обрыв токена (комментарий обещает) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.3 | +| 40 | `bankTokenBudget`: worst-case зашит zh→ru (признанная утечка §0; CJK-цель недобирает вдвое) | бэкенд | когда-нибудь | отдельное решение | D39.45, PACK20_BANK_BUILD §8.5.4 | +| 41 | golden: вторая фикстура С langpack (сейчас пинится только фолбэк-путь) | бэкенд | когда-нибудь | отдельное решение | D39.37(6) | +| 42 | `prompt_override` — легальный обход гарантии слоя-2, сформулировать честно | бэкенд | когда-нибудь | отдельное решение | D39.37(7) | +| 43 | `request_log` без скоупа/ретеншена + `first_flag_reason` = третье представление истории попыток (корень — неразведённые скоупы) | бэкенд | когда-нибудь | отдельное решение | D39.37(9) | +| 44 | Флор-16000 — калиброванная константа без модели «thinking в completion» | бэкенд | когда-нибудь | отдельное решение | D39.37(10) | +| 45 | `max_tokens`-упоры (две единицы) — вернутся на en-книге | бэкенд | когда-нибудь | отдельное решение (с en) | D39.37(11) | +| 46 | Гейт черновика: 38/40 дефектов латиницы живут в черновиках вне охвата гейтов (`waverun.go:486`) — отдельный и не срочный вопрос | бэкенд | когда-нибудь | отдельное решение | D39.39(д) | +| 47 | M2-кэш / доктрина Д2 — кандидат на отдельную ратификацию | оркестратор/бэкенд | когда-нибудь | отдельное решение | D39.42 | +| 48 | Направленная банкнота — вернуться по замеру покрытия терминолога | бэкенд | когда-нибудь | отдельное решение | D39.42 | +| 48а | Серийный шаринг банка — РЕАЛИЗАЦИЯ (экспорт подписанного глоссария как сид-YAML следующей книги серии; спойлер-окна плющатся в since_ch=0); контракт round-trip держится тестом, самой фичи нет | бэкенд | когда-нибудь (перед второй книгой серии) | отдельное решение | D39.42 задел (а), PACK20_BANK_BUILD З-а | +| 48б | Импорт «оригинал + чужой перевод» как режим данных терминолога (target-агностичный вход есть контрактом; сам режим + провенанс источника + юр-сторона в юр-пакете) | бэкенд/владелец | когда-нибудь | отдельное решение + Ф2.5 (юр) | D39.42 задел (б), PACK20_BANK_BUILD З-б | +| 49 | Этапы Б+В спеки D15.2 (content-addressed resume / `guard_hash` — D39.31 сознательно не строил) | бэкенд | когда-нибудь | отдельное решение | D39.34(4), D33 п.5 | +| 50 | F3-остаток идемпотентности | бэкенд | когда-нибудь | отдельное решение | D39.34(4) | +| 51 | `human_override` LOCK (D29 п.1г, в коде 0 вхождений) | бэкенд | когда-нибудь | отдельное решение | D39.34(4) | +| 52 | Ф2-гейты вне идеала: морфо-гейты канцелярита + L1-лемматизация (python-сайдкар) · полный OpenCC · опциональный пре-перевод гейт | бэкенд | когда-нибудь | отдельное решение | D39.34(4) | +| 53 | Мелкие хвосты качества одним паком: ledger-очередь LOW/NOTE (D39.4) · остаток фикс-листов D23 п.4 / D28 п.3(б) · `editor-mono.md` DORMANT · gofmt-нит `llm.go` | бэкенд | когда-нибудь | отдельный пак | D39.34(5), D39.45 | +| 54 | Масштаб целой книги: волны/каденс/потолки/ETA на сотнях глав (гоняли максимум 10; книга 7,78 млн симв., ~2284 раздела) | бэкенд | когда-нибудь (последним по курсу) | МАСШТАБ | D39.33, CURRENT-STATE | +| **— ПОЛИГОН (кандидаты пакетов) —** | | | | | | +| 55 | `dialogue_dash` мерить только на невиданном тексте (подогнан под 蛊真人; цифры мини-прогона аргументом не считаются) | полигон | скоро | полигон-пакет | D39.37(4), D39.40, D39.46 | +| 56 | Ёфикатор/санитайзер-классы не размечены (§6.5 отчёта пакета-6) | полигон | когда-нибудь | полигон-пакет | D39.46, CURRENT-STATE | +| 57 | Пере-замер «контексты — главный рычаг» на трудной выборке пакета-7 с боевой сборкой (до него kwic не трогать) — напряжение с D39.46 названо, не отменено | полигон | когда-нибудь | полигон-пакет | D39.50 | +| 58 | Не покрыто пакетом-8: вторая книга/пара/модель · строка `drafts:` · ось `batch_runes` · разметчики-модели (не люди) · precision роли на «расширенном, но осмысленном» материале | полигон | когда-нибудь | полигон-пакет | POLYGON_PREMEASURE §1.8/§2.5/§3.5/§7.6 | +| 59 | Вендор-чек префикс-кэша ZAI/GLM (на нём стоит вся кэш-экономика W1/Q2c) | полигон | когда-нибудь (до МАСШТАБА) | полигон-пакет | D39.34(6) | +| 60 | Scheduler-aware волны под peak-valley DeepSeek (прямой COGS-рычаг) | полигон/бэкенд | когда-нибудь (до МАСШТАБА) | отдельное решение | D39.34(6) | +| 61 | Прайс/wire-гигиена: продление `prices_checked` без правки чисел · гейтнутые платные армы (edit-единица >3200 и др.) · wire-probe temperature в thinking-канале DeepSeek | полигон | когда-нибудь | полигон-пакет | D39.34(6) | +| **— Ф2.5 / ПИЛОТ / ПРОД —** | | | | | | +| 62 | Билингв-якорь (D25 п.9 Q1) | владелец | когда-нибудь | Ф2.5 | D25 п.9, CURRENT-STATE | +| 63 | Контаминация корпуса (D27 п.4) | владелец/полигон | когда-нибудь | Ф2.5 | D27 п.4, CURRENT-STATE | +| 64 | Судья-дублёр (D22.6) | бэкенд | когда-нибудь | Ф2.5 | D22.6, CURRENT-STATE | +| 65 | Планка запуска ≤2 не пройдена rerun2 — итерация №2 редакторского экспа отложена (dspro ИНТЕРИМ, glm-5 резерв) | владелец | когда-нибудь | Ф2.5 / отдельное решение | D39.20, D39.22, CURRENT-STATE | +| 66 | Пилотные D25-гейты: publishable/waiver (п.1) · FN-bound L3 (п.4) | владелец | когда-нибудь | Ф2.5 | D25, CURRENT-STATE | +| 67 | Прод-гигиена: юр-пакет · провенанс 12-*-доков · xAI-ключ off перед продом (D27) | владелец | когда-нибудь | Ф2.5 | D27, CURRENT-STATE | +| 68 | Residual-тачпойнты exp16, не влитые в сид-дельту: мини-голд алиасов · precision@30 (`books/gu-zhenren/exp16/`) | полигон | когда-нибудь | Ф2.5 / полигон-пакет | CURRENT-STATE | +| **— Ф3 / ПРОДУКТ —** | | | | | | +| 69 | Gemini API «под-18» обязательство на конечный продукт (независимо от лейблов) | владелец | когда-нибудь | Ф3 / отдельное решение | D39.32, D39.34(7) | +| 70 | Action-security gate перед выдачей tools/webfetch (D25 п.5) | бэкенд | когда-нибудь | Ф3 | D39.34(7) | +| 71 | Планы research/22: epub-tag-rewrite · Q7-леджер | бэкенд | когда-нибудь | Ф3 | D39.34(7) | ## Полигон — ПАКЕТ-7 Z4-ДОБОР + ФАЗА B ИСПОЛНЕНЫ ($0.31030 из потолка $2.60): БКРС взят, промпт-правка найдена, слепая оценка ОТБРАКОВАНА своим же контролем, 26.07 Отчёт: `archive/reports/POLYGON_TERM_RESEARCH_B_2026-07-26.md`. Код: `eval/pkg7/` (+`bkrs_lookup` · `build_termset` · `terminologist_arms` · `blind_judge` · `repair_judge` · `score_bws`). **Добор ($0):** (1) **БКРС ВЗЯТ** — страница не JS-рендерится, а ставит куки-челлендж `ca=`; воспроизведя куку, получили **84 словарные статьи** и закрыли **17 из 20 UNCLEAR-строк** словаря (сильнейший класс улики, ноль поисковой квоты); ключевое: словарь «культивации» не знает (`修炼` = «совершенствовать и закалять себя»), `修士` = «**христ. монах**» ⇒ строка `修士→культиватор` в `genre-glossary.txt` спорна, `筑基` = «закладывание фундамента» ⇒ строка ПОДТВЕРЖДЕНА; (2) **Ngram перевёл спор в измерение**: корреляция «культивация»×«культиватор» = **0.9715** на 120-летнем ряду (сельхоз-омонимия доказана), «совершенствование» частотнее в 119.6×, биграмма «мир совершенствующихся» — 0 вхождений; (3) **конкуренты по ЛОКАЛЬНЫМ клонам** (подсказка владельца, `/home/ubuntu/projects/tmp`): три независимые команды сошлись на форме `src→dst+примечание` с фильтрацией по текущему чанку; у GalTransl — трёхслойный словарь с **условной пост-заменой** (`pre_src/post_dst`, `!отрицание`) и ситуационными ключами `mono`/`diag`; у AiNiee — блок «не переводить»; у **TransAgents терминологии нет вовсе (0 файлов .py)**, а Эндрю Ын прямо называет нашу задачу открытой; (4) `Silversaint` → «**Серебряный Святой / среброносец**» (АСТ, Абдуллин) — первый живой человеческий эталон; (5) **search-inside закрыт ОТРИЦАТЕЛЬНО**: всех трёх ISBN в Google Books нет ⇒ **развилка Z2 по `修炼` НЕ снята**. **Фаза B (310 вызовов, 480 консолидаций, 0 ошибок):** объективный слой — контексты решают всё (совпадение с подписью владельца на S1: `P0b` 10/15 против `P1`/`P2`/`P0` **15/15**), а различия между армами с контекстами = один-два терма из девятнадцати; **глоссарный контраст не измерился по построению — 0 из 80 термов покрыты жанровым словарём** (WHICH-канал даёт книжный канон, словарь — жанровые понятия; множества не пересекаются, это прямое следствие recall `term`=0.040 фазы A). **Главная промпт-находка:** правило «имя собственное → транскрипция» систематически уводит от решения владельца и живого переводчика — `春秋蝉`→«Чуньцючань» вместо «Весенне-осенняя цикада» у ВСЕХ армов с правилом, `Silversaint`→«Сильверсейнт» у `P2`/`P3` против изданного «Серебряный Святой», прокси-мера на ловушке 0.50 против 0.25 ⇒ **рекомендация сузить правило до антропонимов и топонимов**. **Веб-фетч в v2 роли — НЕТ**: агрегатного выигрыша нет, единственный случай пользы (`时辰`, где справка дословно содержит «был равен 2 часам») даёт СЛОВАРЬ, а словарь — это данные, они живут офлайн и не ломают инвариант №8. **Слепая оценка ОТБРАКОВАНА собственным контролем пре-регистрации:** BWS-счета плоские (весь разброс ±0.09 при шкале ±1), F1/F1b/F3/F4 сработали, leave-one-out по судье МЕНЯЕТ победителя, эффект позиционного свопа (до 0.107) БОЛЬШЕ разброса между армами, а **`gpt-5-mini` назвал подписанный владельцем перевод катастрофой 6 раз из 19** ⇒ по §A2.4 п.4 вердикты судей не выдаются, выводы стоят на объективном слое. Урок: пре-регистрация окупилась — без `GOLD` в слепой выборке мы выдали бы «P4 победил» и не узнали бы, что измеритель негоден. **На владельце:** 17 строк словаря на подпись · `修炼` остаётся V0 · правка промпта §B3.2 · вердикт по веб-фетчу · нужен ли повторный замер ДРУГИМ инструментом. ⚠ **РЕВИЗИЯ ИСПОЛНЕНИЕМ (та же сессия, после сдачи; §B6 отчёта + `eval/pkg7/audit_phaseB.py`) — четыре вывода выше ИСПРАВЛЕНЫ, читать только вместе с §B6:** (а) **отбраковка судей СНЯТА** — контроль §A2.4 п.4 был структурно неизмерим: строка `GOLD` не была уникальной ни на одном из 19 термов, а все 6 «катастроф на подписи» судья проставил РОВНО на буквах с тем же текстом, то есть вёл себя согласованно и спорил с каноном по существу; (б) **вывод «судьи не имеют разрешающей способности» ОПРОВЕРГНУТ их же данными** — 35 термов из 80 вырождены (все семь кандидатов = одна строка), а на 45 невырожденных тем же скорером F1 переворачивается 0.044→**0.122** и F1b 0.056→**0.189**, причём `P0b` встаёт ПОСЛЕДНИМ, согласно объективному слою ⇒ негоден был НАБОР, а не измеритель; (в) **у правила транскрипции НЕ БЫЛО контрольного арма** — оно лежит в общей части промпта и присутствует во всех шести армах (канон выдал `P0`, у которого правил больше всех), поэтому рекомендация §B3.2 понижена до гипотезы (проверка — арм без правила, ≈$0.02); (г) **«три независимые улики» оказались одной** — весь разрыв прокси на S5 даёт единственный терм `春秋蝉`, а `Silversaint` держится на сводке веб-поиска, не сверенной с телом издания (в сводке — «угодник-среброносец» и «AST/EKSMO») ⇒ человеческого эталона для en у нас НЕТ. **Перепроверку прошли без правок:** §B1.1 до строки · покрытие 0/80 (и 0/80 даже на ПОЛНОМ словаре §Z4-Т) ⇒ Z-B6 устоял · деньги $0.31030 из сырья · весь Ngram до знака · якоря фазы A по пину `996bade`. **РАЗВЯЗКА — фаза B′ (санкция владельца, отчёт `archive/reports/POLYGON_TERM_RESEARCH_B2_2026-07-26.md`, $0.14013 из порога $0.30, 136 вызовов, 0 ошибок; пре-регистрация записана ДО трат):** три замера по порогам, названным заранее. **T — правило транскрипции:** арм `P5` = `P2` минус ОДНА строка (проверено diff-ом: 18641 против 18556 симв.) вернул `春秋蝉` в **точный канон владельца** и дал `Silversaint`→«Серебросвят», но агрегатный прокси-сдвиг `P2−P5 = +0.013` при пороге 0.05 ⇒ по решающему правилу **широкая формулировка §B3.2 ОПРОВЕРГНУТА, узкая ПОДДЕРЖАНА**: снятие правила помогает на предметах/приёмах (`Ashdrinker`→«Пепелитель») и ВРЕДИТ на антропонимах (`王婆`→«Старуха Ван», `月光蛊` теряет вершину `蛊`), а `提刑` без правила наоборот транслитерируется; T3 пройден (`P5` 18/19, на ловушке 4/4). **J — слепая оценка на ПОЧИНЕННОМ наборе** (45 расходящихся термов, дедуп кандидатов, подложен ДЕКОЙ): оба судьи проходят контроли с запасом — декой назван лучшим **0/45**, помечен катастрофой **43 и 45 из 45**, подпись владельца — **НИ РАЗУ**, а `grok-4.3` ставит её выше всех армов (+0.625) ⇒ **отбраковка фазы B неправомерна, находка «6 катастроф на подписи» НЕ ВОСПРОИЗВОДИТСЯ**; но ранговое согласие с объективным слоем ничтожно (ρ = +0.429 / −0.107) ⇒ **ранжировать армы слепой оценкой нельзя, её роль — катастроф-экран** (H7: разрыв до декоя 1.27–1.42 против межарменного 0.20). **R — разброс прогона:** три повтора дали `P0b` 11/12/12 против `P1` 19/18/18 ⇒ **разрыв 6 термов при размахе 1 — «контексты главный рычаг» УСТАНОВЛЕНО**, заодно объяснилась аномалия «случайный глоссарий 19/19» (лежит внутри шума прогона). H6 частично: вырожденность предсказывает не подписанность, а КЛАСС терма (S2 0.13 против S1/S4 0.53). Итого по пакету-7: $0.45043 из коридора $1.20–2.60. **На владельце теперь:** Z-B3 — принять узкую формулировку как редакторское решение · Z-B5 — менять не инструмент, а сборку набора · Z-B8 (новое) — «контексты решают» можно ратифицировать как измеренное. ⚠ **РЕШЕНИЕ ВЛАДЕЛЬЦА 26.07 — ЖАНРОВЫЙ СЛОВАРЬ ОТМЕНЁН КАК КЛАСС** (амендмент к D39.42 п.1, ратификация за оркестратором; записка полигона №10): решение о переводе принадлежит подписи владельца на банк памяти, а пар-словарь навязывал бы одно видение всем книгам пары («культивация» против «совершенствования» — законно разный выбор). **Полигон согласен, и обосновали отмену наши же улики:** V0 на центральной строке `修炼` (выбор регистра, а не факт) · ложная сходимость русских глоссариев сянься (один английский первоисточник + один блогер) · покрытие **0/80** · четыре строки из шести **вообще не встречаются** в книге стенда. **Снято:** Z-B2 (17 строк на подпись) · вторая половина Z-B4 (офлайн-словарь как пар-данные — снял сам полигон: польза 1 случай из 80) · подписной статус §A4.3/§Z4-Т (переведены в справочную фактуру) · §B3.1 п.4 из рекомендации в наблюдение. **Перепрогонов НЕ требуется** — ни один вывод на словарь не опирался (`P0b`↔`P1` без словаря вовсе; `P5`↔`P2` с одинаковыми инертными строками); обесценен один арм `P0`, **$0.01362 из $0.45043** (3%). **Разматывать в паке-20 (чужая зона, список read-only):** фактор `GenreDst` в формуле консолидации `terminology.go:357-359,432-436` · `genreGlossaryMap` в `terminologist.go:130,163-166,322` · загрузчик и `GenreGlossaryFor` в `langpack.go:73-80,255-262,590-635` · тесты `langpack_test.go:394` и `terminology_test.go:230` · файл `configs/langpacks/zh-ru/genre-glossary.txt`. **ГЛАВНОЕ СЛЕДСТВИЕ:** связывающим ограничением становится recall эмиссии на классе `term` = 0.040 — `修行` встречается в книге **326 раз** и не получит соответствия НИОТКУДА (`emissionEligible` пропускает только `name|place|title`); раньше дыру теоретически прикрывал словарь. Вопрос расширения эмиссии — основной, и он согласуется с принципом владельца: даёт больше строк НА ПОДПИСЬ, ничего не решая за него. **Процессный урок:** деливерабл промта не отменяет права сессии сказать «этого делать не надо» — мы измерили основание для отмены и всё равно принесли таблицу на подпись, вместо того чтобы поднять архитектурное возражение через канал вопросов. diff --git a/docs/README.md b/docs/README.md index 92791af8..b4291e99 100644 --- a/docs/README.md +++ b/docs/README.md @@ -11,17 +11,16 @@ ## Структура -- `architecture/` — синтез. **Источник истины по решениям — [`05-decisions-log.md`](architecture/05-decisions-log.md) (D1–D39.38); при конфликте с любым доком он выше.** +- `architecture/` — синтез. **Источник истины по решениям — [`05-decisions-log.md`](architecture/05-decisions-log.md) (D1–D39.53); при конфликте с любым доком он выше.** - `01-decisions.md` — принципы Р1–Р10; `02-mvp-plan.md` — фазы и приёмка (v3, 09.07); `03-implementation-notes.md` — контракты Фазы 0; `04-unhappy-paths.md` — ~70 режимов отказа → механизм; `06-memory-risk-registry.md` — реестр рисков банка памяти; **[`09-target-architecture.md`](architecture/09-target-architecture.md) — целевая 7-слойная архитектура (D39; статус стройки — шапка-таблица; инвариант общности §0.1)** · [`10-prompt-architecture.md`](architecture/10-prompt-architecture.md) — консолидированная промпт-заметка (концерн 4) · [`12-go-style-notes.md`](architecture/12-go-style-notes.md) — норматив общности §0 + Go-ответы. **Исполненные (архив 25.07, санкция владельца, → `archive/architecture/`):** [`07-strategic-review.md`](archive/architecture/07-strategic-review.md) (стратаудит 09.07 — курс исполнен) · [`08-sync-audit-ledger.md`](archive/architecture/08-sync-audit-ledger.md) (ледджер синк-аудита — отработан) · [`11-implementation-plan.md`](archive/architecture/11-implementation-plan.md) (план пака-11 — исполнен целиком); `components.puml`/`pipeline.puml` — диаграммы (перерисованы 25.07 под пост-пак-16 реальность: волновой исполнитель, пакетный сплит пака-15, repair-петля за `enabled:false`, generic content-labels D39.25; владелец смотрит PlantUML-расширением VS Code; вручную НЕ рендерить). - `experiments/` — эмпирика «Полигона»: `00-provider-quirks` (читать перед любым вызовом провайдера), `01-token-calibration`, `02-refusal-benchmark`, `03-local-stand`, `04-editor-quality`, `06-local-extraction`, `07-coverage-precision`, `08-cost-model-v2` (актуальная денежная модель), `09-pilot-protocol` (пилот Ф2.5 + поправки D13), `10-explicit-benchmark` (18+ violence-рука канала B), `11-erotica-benchmark` (erotica по трём парам/регистрам — закрытие D14.4, D22), `12-quality-diagnosis`/`13-translator-bakeoff`/`14-quality-empirics`/`14b-meaning-battery` (дуга качества «мерить→строить», закрыты → D30/D32/D37/D38), `15-segmentation-empirics` (exp15: когезия под floor-шумом, фертильность — закрыт → D39.7/D39.8), `16-bank-mining` (exp16: WHICH/WHAT банк-майнинга — закрыт → D39.10). - `research/` — фактура исследований 04–05.07: `01–10` базовые, `11-gap-*` добор критиком, `12-*` режимы отказа/отзывы/таксономии (+ два внешних материала с провенанс-шапками), `13` валидация памяти, `14` адаптивная память, `15` голос и состояние (принят, D21), **`16` ридер-IDE (принят с ревью-шапкой, D29)**, **`17` внешняя критика GPT-5.6 (принят с ревью-шапкой, D25)** — у 16/17 читать шапку прежде тела. **`18` рычаги качества (два отчёта, D36)** · **`19` нарезка+когезия+контракт t/e (D39.1)** · **`20` банк-майнинг W1.5 (D39.6)** · **`21` обзор LLM-транспорта чужих харнессов (23.07: наш транспорт опережает/вровень со всеми 11)** · **`22` доменные харнессы перевода (24.07: калибрующий — ядро подтверждено, впереди COGS/18+/общность/измеренность, позади Q4-выпуск и gate+repair-петля; сиквел `02`/`05`)** — у всех ревью-шапки. ⚠ Часть под superseded-баннерами (01/02/03/04/05/09 и gap-1/2/5) — **читай баннер прежде содержимого**. - `PROGRESS.md` — **журнал** (CURRENT-STATE сверху, ниже хронология; НЕ источник решений). -- **Активные хендофф-промты (26.07):** [`BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md`](BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md) (**ТЕКУЩИЙ бэкендный: флаговый майнинг-стоп + покрытие WHAT→WHICH + банкнота в шиппинг-промпт; двухфазный, шаг 0 = обязательный СИНК имплементации с ратифицированной базой**) · [`POLYGON_PACKAGE6_CHECKER_LABELS_SESSION_PROMPT.md`](POLYGON_PACKAGE6_CHECKER_LABELS_SESSION_PROMPT.md) (**ТЕКУЩИЙ полигонный: размеченный набор для чекеров, precision/recall вместо глазомера, $0**) · [`BACKEND_MINIRUN_SESSION_PROMPT.md`](archive/prompts/BACKEND_MINIRUN_SESSION_PROMPT.md) (**ТЕКУЩИЙ — мини-прогон ~10 глав ОДНОЙ сессией: гигиена → главный проход → проба банкноты → верификация по сырью; ~$0.12–0.19, судья не зовётся: мини-прогон ~10 глав одной сессией — гигиена (флип `RegressionGuard` + ниты) → сквозной платный прогон $0.10–0.35 → верификация сырьём; судья не зовётся**) · [`BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md`](BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md) (**ТЕКУЩИЙ бэкендный: механизмы D21 «голос и состояние» — voice-профиль · реестр обращений ты/вы · reveal-окна; двухфазный, ниты общности едут его лендингом**) · [`BACKEND_PACK18_DEBTS_SESSION_PROMPT.md`](archive/prompts/BACKEND_PACK18_DEBTS_SESSION_PROMPT.md) (**ТЕКУЩИЙ бэкендный: долги контракта — `--accept-rebill` (D20.2-Q2) на снапшотной гранулярности · семантика `escalation_model` с санкционированным пере-капчером golden · два нита общности условно; ru-target долг ЯВНО вынесен в свой будущий пак**) · [`BACKEND_PACK17_CHANNEL_B_SESSION_PROMPT.md`](archive/prompts/BACKEND_PACK17_CHANNEL_B_SESSION_PROMPT.md) (**пак-17 канал B (18+) вживую — ОТРАБОТАН ЦЕЛИКОМ 25.07: дизайн D39.26 · стройка D39.27 · дельта `allow` D39.28; вокабуляр = ПАРА `violence`/`sexually-explicit`, остаток — ФАКТЫ ToS в зоне полигона**; отчёты с ревью-шапками — [`archive/reports/PACK17_DESIGN_2026-07-25.md`](archive/reports/PACK17_DESIGN_2026-07-25.md), [`archive/reports/PACK17_CHANNEL_B_REPORT_2026-07-25.md`](archive/reports/PACK17_CHANNEL_B_REPORT_2026-07-25.md), [`archive/reports/PACK17_DELTA_2026-07-25.md`](archive/reports/PACK17_DELTA_2026-07-25.md); L3 — жёсткая линия, live только по санкции владельца) · [`ORCHESTRATOR_SESSION_PROMPT.md`](ORCHESTRATOR_SESSION_PROMPT.md) (хендофф №6, 25.07 — только живое: роль/методология/уроки/нормы §1–11; состояние НЕ дублирует) · [`POLYGON_PACKAGE5_SESSION_PROMPT.md`](archive/prompts/POLYGON_PACKAGE5_SESSION_PROMPT.md) (**ТЕКУЩИЙ полигонный: блок A — ФАКТЫ ToS/AUP провайдер × лейбл под `accepts_labels` пака-17 (вердикты с дословными цитатами первоисточников, UNCLEAR легитимен); блок B — 7 док-синк пингов**) · [`POLYGON_PACKAGE4_SESSION_PROMPT.md`](POLYGON_PACKAGE4_SESSION_PROMPT.md) (residual пилот/18+/echo). **Пак-16 ЗАЛЕНДЁН 25.07** (слой-3 diff-редактор: двухфазный дизайн D39.24 → стройка за `enabled:false`; отчёты с ревью-шапками — [`archive/reports/PACK16_DESIGN_2026-07-25.md`](archive/reports/PACK16_DESIGN_2026-07-25.md), [`archive/reports/PACK16_DIFF_EDITOR_REPORT_2026-07-25.md`](archive/reports/PACK16_DIFF_EDITOR_REPORT_2026-07-25.md)). **Паки 12/13/14/15 ЗАЛЕНДЕНЫ 24–25.07** (приёмка воркфлоу-линзами; отчёты с ревью-шапками — [`archive/reports/PACK14_GENERALITY_REPORT_2026-07-24.md`](archive/reports/PACK14_GENERALITY_REPORT_2026-07-24.md), [`archive/reports/PACK15_STRUCTURE_REPORT_2026-07-25.md`](archive/reports/PACK15_STRUCTURE_REPORT_2026-07-25.md); норматив — [`architecture/12-go-style-notes.md`](architecture/12-go-style-notes.md)). Дальше: **пак-17 = канал B вживую** (батч со следующим платным прогоном: вопросы итерации №2 + замер остатка ремонта → решение о включении петли) → голос/состояние D21 + C2/C3 → пилот Ф2.5. Закрытые — в `archive/prompts/`. +- **Активные хендофф-промты (26.07, всё остальное — в `archive/prompts/` с баннерами-исходами):** [`BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md`](BACKEND_PACK19_VOICE_STATE_SESSION_PROMPT.md) (**ТЕКУЩИЙ бэкендный, актуализирован 26.07 пост-D39.53**: механизмы D21 — voice-профиль · реестр ты/вы · reveal-окна; двухфазный, ШАГ-0 синк с новой реальностью банка) · [`ORCHESTRATOR_SESSION_PROMPT.md`](ORCHESTRATOR_SESSION_PROMPT.md) (роль/нормы, состояние НЕ дублирует) · [`POLYGON_PACKAGE4_SESSION_PROMPT.md`](POLYGON_PACKAGE4_SESSION_PROMPT.md) (residual пилот/18+/echo). Закрытые 25–26.07: паки 17/18/20 (+дельты и достройки), мини-прогон, полигон-пакеты 5/6/7/8 — промты в `archive/prompts/`, отчёты с ревью-шапками в `archive/reports/` (`PACK20_BANK_DESIGN/BUILD`, `PACK20_BANKNOTE_DESIGN/BUILD`, `PACK20_DELTA`, `MINIRUN_*`, `POLYGON_CHECKER_LABELS`, `POLYGON_TERM_RESEARCH_A/B/B2`, `POLYGON_PREMEASURE` — все 2026-07-26). - `archive/` — `prompts/`: закрытые сессионные промты (только история, инструкции оттуда не исполнять) · `reports/`: отчёты паков/ресёрч-сессий с ревью-шапками (живая фактура приёмок — на них ссылаются D-лог и активные промты) · `architecture/`: исполненные арх-доки (07 стратревью · 08 синк-ледджер · 11 план пака-11) · три слайса хроники `PROGRESS-2026-07-{04-10,10-13,13-25}.md`. -## Статус (2026-07-25, пак-17 ЗАКРЫТ ЦЕЛИКОМ — механизм content-labels живой, D39.26–D39.28 — механизация выпускного качества) - -Фаза 0 ✅; Ф1-инфра ✅ (D20–D28). **АРХ-РЕСЕТ D39 ИСПОЛНЕН ЦЕЛИКОМ:** 7-слойная архитектура (`09-*`) → исследовательская программа (D39.1–D39.10) → план (D39.12, `11-*`) → стройка пака-11 (D39.13–D39.19: волновой исполнитель · чанкер output-бюджет · src→dst-редактор · Go-майнер паритет-EXACT · банкнота · `internal/lang`+langpacks · reject-set · echo-сплит). **ПЕРЕ-ПРОГОН rerun2 ИСПОЛНЕН И ПРОЧИТАН (D39.20, 23.07):** операционка вся подтверждена живьём (ОДИН resnapshot · **$0-резюм драфта ×3 арма** · echo 0 · $6.63<$15 · майнинг-стоп→подпись→reject-set); **планка ≤2 НЕ пройдена** — но дефект-классы полностью механизируемы. Три сигнала (судья dspro 0.679>glm 0.589>>mistral 0.232, floor-шум 0 · два слепых чтения): **анти-корреляция гладкость↔верность доказана трижды**; **mistral исключён как несущий редактор** (голос = north-star промпта); dspro-vs-glm → итерация №2 после механизации (драфт $0). research/21: транспорт наш опережает/вровень со всеми 11, рефакторинг отвергнут. **Эксп ЗАКРЫТ (D39.22), итерация №2 отложена; редактор = deepseek-v4-pro ИНТЕРИМ (glm-резерв); книжные каноны — с книгой (CANON-NOTES), не в D-логе.** **Очередь (курс — разработка бэкенда):** паки 12–16 залендены (транспорт-гигиена · выпускной QA · генеральность · структура: движок разложен `internal/{text,seed,chunk,miner,checks,membank}`+композит-корень, конфиг-слой пары, строгий декод · слой-3 diff-редактор ПОСТРОЕН за `enabled:false` по двухфазному дизайну D39.24 — позиционная детекция + read-only скан остатка + машинерия ремонта §15.2; включение платного пути = решение владельца по замеру остатка на пост-профилактическом прогоне) → пак-17 = канал B вживую (**ЗАЛЕНДЕН ЦЕЛИКОМ: D39.26 дизайн + D39.27 стройка; вокабуляр = ПАРА `violence`/`sexually-explicit`, хвост — assert-only `action`**; D39.25: в движке НЕТ понятия «18+» — generic content-labels × provider-capabilities; лейблы вне хешей · резолв до валидации · один хоп `chain[0]` · гранулярность = книга; на владельце — вокабуляр лейблов и редактор под лейблом; батч со следующим платным прогоном: вопросы итерации №2 + замер остатка ремонта) → сид-дельта (元/赤城/学堂家老/春秋蝉) → Ф2-механизмы (D21 голос/состояние, native-Gemini судья) + ja→ru §B5 → пилот Ф2.5 (блокеры прежние: билингв-якорь D25.9-Q1, корпус, судья-дублёр D22.6). Судья 18+ = grok-фолбэк (квирк D22.6 подтверждён живьём). Ключ xAI: единый, data-sharing, off перед продом (D27). +## Статус (2026-07-26, пак-20 закрыт целиком — эра «механизация выпускного качества», голова D39.53) +Полная карта состояния НЕ здесь: фазы/курс/очередь — в шапке [`PROGRESS.md`](PROGRESS.md) (CURRENT-STATE + единый бэклог), решения — в [`architecture/05-decisions-log.md`](architecture/05-decisions-log.md) (карта актуальности + голова D39.x). Коротко: Ф0/Ф1 ✅ · арх-ресет D39 исполнен (паки 11–16) · мини-прогон принят (D39.37) · пак-20 закрыт целиком (терминолог · флаговый стоп · двухсекционная инъекция · точечная ре-редактура · языковой экран; D39.41–53) · жанровый словарь отменён как класс (D39.47) · полигон-пакеты 6/7/8 закрыты. Очередь: пак-19 → холодный мини-прогон → пак-21 → свип гипотез → добор идеала → масштаб → пилот Ф2.5. ## Доступные ключи от моделей DEEPSEEK_API_KEY, ZAI_API_KEY, KIMI_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, XAI_API_KEY, MISTRAL_API_KEY diff --git a/docs/architecture/09-target-architecture.md b/docs/architecture/09-target-architecture.md index 7c6327cc..d17e63c0 100644 --- a/docs/architecture/09-target-architecture.md +++ b/docs/architecture/09-target-architecture.md @@ -7,13 +7,13 @@ > > Это карта «куда и почему», а не пошаговая спека. Спеки — в хендофф-промтах сессий; контракт — в D-логе. -> **⟶ СТАТУС СТРОЙКИ (2026-07-25, пост-пак-16; баннер — не переписывание, тело ниже = замысел арх-ресета 13.07).** Карта «слой → статус → пак/D»: +> **⟶ СТАТУС СТРОЙКИ (2026-07-26, пост-пак-20; баннер — не переписывание, тело ниже = замысел арх-ресета 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 Память | ✅ ПОСТРОЕН: disposition-gated suppressor + громкий лог дропа; src→dst-мэппинг билингв-редактору ДАН (вопрос закрыт) | пак-1 (D39.2) · пак-11 (D39.13 WS2 §2в) | +> | 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)** | > | 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 гейты — ОТКРЫТО** (ru-target-долг = ограничение, D39.24 §15.3; едет с канал-B/таргет-работой) | D39.2 · паки 11–16 | diff --git a/docs/architecture/10-prompt-architecture.md b/docs/architecture/10-prompt-architecture.md index 583fe66e..58e6a232 100644 --- a/docs/architecture/10-prompt-architecture.md +++ b/docs/architecture/10-prompt-architecture.md @@ -1,5 +1,7 @@ # Промпт-архитектура: состояние, решения, открытое (консолидированная заметка) +> **⚠ ДОПОЛНЕНИЕ 26.07 (пак-20, D39.42–53):** в промпт-слое появились роль `terminologist` (пар-пак, интерим-текст) и вариантный `translator-banknote.md`; редакторская инъекция двухсекционная (D39.45); жанровый словарь отменён как класс (D39.47). Инвентарь §2 читать с этой поправкой. + > **⚠ СТАТУС-АПДЕЙТ 25.07 (оркестратор №7): несущая часть ПОСТРОЕНА.** Pair-keyed промпты → конвенционный резолв `prompts/<пара>/<роль>.md` + конфиг-слой пары `configs/pairs/` (пак-15, D39.23); repair-промпты `prompts/<пара>/repair/<класс>.md` (пак-16, D39.24); «структурированный пакет конвенций пары» из этой заметки остаётся дальним планом. Читать как историю темы + реестр открытого. > Собрано оркестратором 2026-07-16 по запросу владельца («где заметка про промтинг?») — тема концерна 4 @@ -21,10 +23,10 @@ | Файл | Роль | Что внутри | Пара | |---|---|---|---| | `backend/prompts/translator.md` | черновик (flash) | брифинг-переменные `{{lang/genre/honorifics/transcription/venuti/footnotes}}` + слабая вёрстка-однострочка (D30.2) | де-факто zh→ru (ключ `zh-ru` в конфиге) | -| `backend/prompts/editor.md` | редактор (glm-5, БИЛИНГВ), v3 | 4 мандата + ДИСКУРС-ПЕРЕВЁРСТКА (Ван Цуй) + чэнъюй-атом + структурные few-shot (`---FEWSHOT---`, тумблер per-stage) | де-факто zh→ru | +| `backend/prompts/editor.md` | редактор (deepseek-v4-pro БИЛИНГВ ИНТЕРИМ, D39.22; glm-5 резерв), v3 | 4 мандата + ДИСКУРС-ПЕРЕВЁРСТКА (Ван Цуй) + чэнъюй-атом + структурные few-shot (`---FEWSHOT---`, тумблер per-stage) | де-факто zh→ru | | `backend/prompts/editor-mono.md` | референс-вариант D13.1 (не боевой) | узкий моно-мандат | — | | `backend/prompts/judge-selector.md` | Ф2 (не исполняется) | — | — | -| ~~analyst.md / terminologist.md~~ | СНЕСЕНЫ паком-1 (сироты) | — | — | +- `analyst.md` — снесён паком-1 (сирота). **`terminologist.md` ВОЗРОЖДЁН паком-20 (D39.42/45): живая роль пар-пака `backend/prompts/<пара>/terminologist.md`** (интерим-текст, финальный — по замерам); рядом — `translator-banknote.md` (вариантный шиппинг-файл банкноты, D39.45/53). Правила, сидящие В ТЕЛЕ промтов (кандидаты на извлечение в пакет пары после exp15): русское тире-оформление диалога; «пиши живым русским»; паратаксис→гипотаксис-блок; чэнъюй-политика; few-shot-примеры (структурные, diff --git a/docs/BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md b/docs/archive/prompts/BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md similarity index 97% rename from docs/BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md rename to docs/archive/prompts/BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md index 54f54a95..d49b39b4 100644 --- a/docs/BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md +++ b/docs/archive/prompts/BACKEND_PACK20_BANK_TRUST_SESSION_PROMPT.md @@ -1,3 +1,5 @@ +**ПАК ЗАКРЫТ ЦЕЛИКОМ 26.07.2026, АРХИВ.** Фаза 1 D39.41 · решения D39.42 · фаза 2 D39.45 · размотка словаря D39.47/48 · дизайн и стройка дисциплины банкноты D39.51/53. Отчёты: `archive/reports/PACK20_BANK_{DESIGN,BUILD}_2026-07-26.md`, `PACK20_DELTA_2026-07-26.md`, `PACK20_BANKNOTE_{DESIGN,BUILD}_2026-07-26.md`. + # Промт бэкенд-сессии: ПАК-20 «банк: терминолог + флаговый стоп» (ДВУХФАЗНЫЙ: синк → дизайн → ратификация → стройка) **ФАЗА 1 ИСПОЛНЕНА И ПРИНЯТА (D39.41, 26.07): отчёт `docs/archive/reports/PACK20_BANK_DESIGN_2026-07-26.md` с ревью-шапкой; верификация 39 CONFIRMED / 7 PARTIAL / 0 REFUTED. РЕШЕНИЯ ВЛАДЕЛЬЦА РАТИФИЦИРОВАНЫ (D39.42) — фаза 2 идёт по НИМ, а не по P1–P5 отчёта (те не строятся, вердикт сессии подтверждён). Директива фазы 2 — ниже, секция «ФАЗА 2».** diff --git a/docs/POLYGON_PACKAGE8_PREMEASURE_SESSION_PROMPT.md b/docs/archive/prompts/POLYGON_PACKAGE8_PREMEASURE_SESSION_PROMPT.md similarity index 96% rename from docs/POLYGON_PACKAGE8_PREMEASURE_SESSION_PROMPT.md rename to docs/archive/prompts/POLYGON_PACKAGE8_PREMEASURE_SESSION_PROMPT.md index bc876321..fb0e6b52 100644 --- a/docs/POLYGON_PACKAGE8_PREMEASURE_SESSION_PROMPT.md +++ b/docs/archive/prompts/POLYGON_PACKAGE8_PREMEASURE_SESSION_PROMPT.md @@ -1,3 +1,5 @@ +**ПАКЕТ ИСПОЛНЕН И ПРИНЯТ 26.07.2026 (D39.50: 8/8 CONFIRMED, $0.11313; добор-замеры D39.52), АРХИВ.** Отчёт: `archive/reports/POLYGON_PREMEASURE_2026-07-26.md` (ревью-шапка). + # Промт полигон-сессии: ПАКЕТ 8 — три пре-замера перед расширением эмиссии (санкция D39.49, база D39.48) **Статус: ВЫДАН 26.07.2026, оркестратор №8.** Бюджет: **≈$0.14, потолок $0.30** — превышение = стоп и пинг. Зона записи: `eval/pkg7/` + отчёт в `docs/archive/reports/`; `backend/` — только чтение (боевой промпт роли читать можно и нужно). Книги/БД стенда — чтение. diff --git a/docs/research/15-voice-and-state.md b/docs/research/15-voice-and-state.md index 73700aff..8c092bd0 100644 --- a/docs/research/15-voice-and-state.md +++ b/docs/research/15-voice-and-state.md @@ -1,5 +1,8 @@ # 15 — Голос и состояние: контекст-инжиниринг сверх терминологии +> **⚠ АМЕНДМЕНТ 26.07 (D39.45, для читателя пака-19).** §2.3 «инъекция только по CONFIRMED, симметрия с банком» — читать как ИСТОРИЧЕСКУЮ: инъекционная модель банка изменена D39.42/45 — редакторская инъекция ДВУХСЕКЦИОННАЯ (закон CONFIRMED + помеченная секция ⟨проверить⟩ для неподписанного), все строки банка фолдятся в версию памяти. Приоритет D21 пере-подтверждается дизайном пака-19 против этой реальности. Тело файла не тронуто. + + > **⚠ Указатель ревизии 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-слот не исключён). **Дата:** 2026-07-09 · **Сессия:** «Голос и состояние» (промт `docs/VOICE_STATE_RESEARCH_SESSION_PROMPT.md`) · **Зона записи:** этот файл + секция в PROGRESS.