Issue bank pack twenty with a mandatory implementation-to-docs sync step and polygon package six for the labeled checker set, ratifying the owner queue as D39.38

This commit is contained in:
Claude (backend session) 2026-07-26 02:09:43 +03:00
parent 58b6f83b0f
commit 5aa843e850
7 changed files with 85 additions and 7 deletions

View file

@ -14,7 +14,7 @@ Go-бэкенд издательского художественного пер
## Источники истины (по убыванию)
1. **`docs/architecture/05-decisions-log.md` (D1D39.37)** — ратифицированный контракт; при конфликте с любым другим доком побеждает он; сверху файла — карта актуальности (что чем superseded). **Правило чтения (онбординг-диета 25.07): карта + живая голова (эра D39.x); корпус D1D38 = справочник — по ссылкам/grep по D-номеру, целиком НЕ читать.**
1. **`docs/architecture/05-decisions-log.md` (D1D39.38)** — ратифицированный контракт; при конфликте с любым другим доком побеждает он; сверху файла — карта актуальности (что чем superseded). **Правило чтения (онбординг-диета 25.07): карта + живая голова (эра D39.x); корпус D1D38 = справочник — по ссылкам/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.
@ -43,7 +43,7 @@ Go-бэкенд издательского художественного пер
- **Фазы:** Ф0 ✅ · Ф1-инфра ✅ (D20D28; golden = инвариант детерминизма №8) · арка «качество-первым» D26→D38.5 закрыта · **арх-ресет D39 исполнен ЦЕЛИКОМ**: 7 слоёв построены паками 1116 (D39.13D39.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.2628) и 18 (долги контракта, D39.31) ЗАКРЫТЫ; право по ToS добыто и подписано (D39.29/30/32). **Курс амендирован владельцем (D39.33): масштаб — ПОСЛЕДНИМ, после достройки алгоритмического идеала; доказательство эффективности — мини-прогоны ~10 глав.** Очередь (D39.34/35): ~~мини-прогон~~ **ИСПОЛНЕН И ПРИНЯТ (D39.37, 26.07: $0.23, операционка живьём до цента, шов банкноты замкнут, остаток = 0 в трёх классах петли — решение о петле у владельца)** → пак-19 «голос/состояние» в урезанном скоупе (безусловная половина D21) → решение по шву банкноты (D39.36: канал WHAT выключен и выбрасывается — развилка после пробы) → слой-2/ru-target/native-Gemini → МАСШТАБ → пилот Ф2.5.
- **Курс — разработка бэкенда:** паки 17 (content-labels, D39.2628) и 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` (единственное место).
- **Стенд:** WSL2, GTX 1070 8GB (localhost из-под прокси = 403 — no-proxy транспорт для local). Книга `/home/ubuntu/books/gu-zhenren/` (GB18030; текст и производные ВНЕ git).

View file

@ -1,6 +1,6 @@
# Промт бэкенд-сессии: ПАК-19 «голос и состояние» (ДВУХФАЗНЫЙ: дизайн → ратификация → стройка)
**СТАТУС: СКОУП УРЕЗАН И ПОЗИЦИЯ УТОЧНЕНА АУДИТОМ (`D39.34`, 25.07). Стартует ПОСЛЕ мини-прогона-замера и сид-дельты.** Курс D39.33: масштаб последним, доказательство эффективности — мини-прогоны ~10 глав. Аудит корпуса вскрыл, что (а) сид/банк-дельта стоит раньше по D39.20, (б) замер остатка обязан пройти ПОКА ЖИВ $0-резюм драфта, то есть ДО пака, вызывающего resnapshot, (в) **инъекционная часть D21 ратифицирована УСЛОВНО** (D21 п.2: «Схема + детерминированный ты/вы-флаггер — безусловно; инъекционная часть — условно до полигон-эксперимента на ТРУДНЫХ парах»).
**СТАТУС: СКОУП УРЕЗАН И ПОЗИЦИЯ УТОЧНЕНА АУДИТОМ (`D39.34`, 25.07). Стартует ПОСЛЕ пака-20 «банк» (порядок D39.38; мини-прогон и сид-дельта закрыты).** Курс D39.33: масштаб последним, доказательство эффективности — мини-прогоны ~10 глав. Аудит корпуса вскрыл, что (а) сид/банк-дельта стоит раньше по D39.20, (б) замер остатка обязан пройти ПОКА ЖИВ $0-резюм драфта, то есть ДО пака, вызывающего resnapshot, (в) **инъекционная часть D21 ратифицирована УСЛОВНО** (D21 п.2: «Схема + детерминированный ты/вы-флаггер — безусловно; инъекционная часть — условно до полигон-эксперимента на ТРУДНЫХ парах»).
**Статус выдачи: 25.07.2026, оркестратор №8.** Цель — построить последний крупный НЕпостроенный рычаг качества: механизмы D21 (voice-профиль · реестр обращений ты/вы · reveal-окна). Ратифицированы 09.07 как механизмы Ф2, в коде их НЕТ — есть только описания будущих таблиц в комментариях миграций. Пак **двухфазный** (образец паков 16/17): фаза 1 — дизайн + СТОП, фаза 2 — стройка по размеченному списку.

View file

@ -0,0 +1,38 @@
# Промт бэкенд-сессии: ПАК-20 «банк: флаговый стоп + покрытие WHAT→WHICH» (ДВУХФАЗНЫЙ: синк → дизайн → ратификация → стройка)
**Статус: ВЫДАН 26.07.2026, оркестратор №8. Исполняется ПЕРЕД паком-19 (голос/состояние).** Санкция владельца: флаговый стоп — часть конечной архитектуры («отключение верификации и полное доверие бэкенду»). Ратифицированная база: D39.36 (семантика флага, слова владельца) · D39.37 (приёмка мини-прогона, замер покрытия) · research/20 §D (дизайн-оф-рекорд майнинга, D39.6) · exp16→D39.10 (расщепление: WHICH находит код, WHAT доставляет банкнота ИЗ КОНТЕКСТА; перевод со-встречаемостью запрещён).
**Первый деливерабл — эхо-блок (≤10 строк): скоуп / инварианты / чего не делать. ДО работы.**
## ШАГ 0 — ОБЯЗАТЕЛЬНЫЙ СИНК (мандат владельца 26.07, ДО дизайна)
Владелец: «сессии синкуют свою имплементацию об документацию, код вокруг и так далее». Прежде чем проектировать — сверь ТЕКУЩУЮ реализацию банка с ратифицированной базой и положи в отчёт фазы 1 **таблицу «источник ↔ код ↔ вердикт (совпадает / расходится / не построено)»**. Расхождение = пинг оркестратору через владельца, НЕ тихая интерпретация. Что сверять:
- `docs/research/20-*.md` §D — дизайн-оф-рекорд майнинга (ратифицирован D39.6);
- отчёт exp16 + D39.10 — почему dst обязан приходить из контекста, а не из со-встречаемости;
- D39.36/D39.37 в D-логе + `docs/archive/reports/MINIRUN_HANDOFF_2026-07-26.md` §36 — что уже починено, замер покрытия каналов (0/2 и 1/2), хвосты;
- код: `internal/pipeline/{mining,banknote}.go` · `internal/miner/miner_emit.go` · `internal/membank` (trust-gate, пост-чек, Ambiguous-инъекция) · `prompts/zh-ru/translator.md` (банкноты в нём НЕТ — проба шла на копии).
## Семантика флага — «РОВНО ТАК» (слова владельца, D39.36)
**Флаг НЕ передан** → бэкенд делает всю работу от начала до конца сам: предложения банкноты входят в банк как `auto` → инжектируются как `Ambiguous` («непроверено» + принудительный пост-чек), прогон НЕ останавливается. **Флаг передан** → стоп с таблицей (src · предложенный dst · частота · разброс вариантов · улики), предмет верификации — ТОЛЬКО термины; подпись → `approved``Confirmed`. В обоих режимах: провенанс сохраняется (поздняя подпись возможна), reject-set работает, ничего неподписанного не становится `Confirmed`. Флаг — операторский режим, НЕ ось wire/снапшота.
## ФАЗА 1 — ДИЗАЙН (кода не трогать; отчёт → СТОП → ратификация)
- **B1. Форма флага:** имя (`--verify-bank`? предложи), где живёт, как ложится на `translate`/`redrive`.
- **B2. Покрытие WHAT→WHICH — ядро пака.** Замер: банкнота покрыла кандидатов майнера в 0/2 и 1/2 раундов. Факт кода: майнер офлайн и читает ИСХОДНИК — может бежать ДО драфт-волны. Спроектируй и посчитай ДЕНЬГАМИ на главу: (а) кандидаты майнера → в банкнота-инструкцию драфт-промпта («предложи перевод для этих терминов»); (б) точечный дешёвый до-спрос на границе стопа с контекстом главы; (в) гибрид. Констрейнты: **dst только из контекста** (exp16 — со-встречаемость запрещена); **судью и веб-фетч НЕ вводить** (не ратифицированы; хочешь — развилка владельцу, не тихая вставка).
- **B3. Банкнота в шиппинг-промпт:** перенос блока `⟦TM-BANK-v1⟧` из пробной копии в `prompts/zh-ru/translator.md`; какие оси двигает (SHA промпта → resnapshot — заявить явно); бюджет строк; не-CJK пары не ломать хуже текущего fail-loud.
- **B4. Авто-режим на большой книге:** без флага раундов стопа нет вовсе — как копятся `auto`-термы, где их видно для поздней подписи, что показывает разброс вариантов (слабое предложение = сигнал, не блокер); риск закрепления auto-канона на всю книгу — назвать и показать смягчение.
- **B5. Тест-пин джойна** (фикс-лист №1 D39.37: мутация `DeltaYAML(mined, пустая_карта)` сегодня ВЫЖИВАЕТ всю сьюту — обязана краснеть сквозным тестом).
**Приёмка фазы 1:** отчёт `docs/archive/reports/PACK20_BANK_DESIGN_<дата>.md` — эхо-блок · синк-таблица шага 0 · по каждому B варианты/рекомендация/деньги/риски · адверсариальный селф-ревью. **СТОП — ратификация** (контрольная точка владельца).
## ФАЗА 2 — после ратификации
Инварианты: golden-дисциплина (двигаешь промпт — объявляй оси, маскированный структурный дифф пуст вне заявленных) · парити EXACT · `-race` · **«пере-мерь свой вывод ДРУГИМ способом, чем получил»** (норма D39.37) · заявление = команда (приёмка ре-ранит) · мутация на каждую новую ветку · дифф `^func Test` исполнением · сессия НЕ коммитит, `git mv` декларировать.
## НЕ делать
Механизмы D21 (пак-19, после) · судья · веб-фетч-перевод · L3 · авто-подпись «умным» порогом (флаг бинарный — слова владельца) · платные прогоны (смета в фазе 1, живой прогон — отдельное решение) · книжный канон в код или в D-лог (гардрейл: книго-каноны → данные книги).
**Канал вопросов:** непонятно / конфликт промта с кодом или доками → пинг оркестратору через владельца, НЕ тихая интерпретация. Аддендумы доезжают только релеем — подтверди получение строкой в отчёте.

View file

@ -0,0 +1,30 @@
# Промт полигон-сессии: ПАКЕТ 6 — размеченный набор для чекеров (линейки вместо глазомера)
**Статус: ВЫДАН 26.07.2026, оркестратор №8.** $0, с бэкендом не пересекается. Зона записи: `eval/` + `docs/experiments/`; сам набор — НА СТЕНДЕ (он содержит текст книги — производные книги ВНЕ git).
**Первый деливерабл — эхо-блок (≤10 строк). ДО работы.**
## Зачем (контекст, из кода не выводится)
Все цифры чекеров сегодня держатся на глазомере сессий, и мини-прогон это доказал на себе: «8→0» у `dialogue_dash` — замер на той же книге, под которую правило подогнали; «11 сигналов — 11 ложняков» частично перевернулось при перепроверке; **«остаток дефектов = 0» — вход в решение владельца о платной петле — тоже мнение с видом измерения**. Размеченный набор превращает правки чекеров из гадания в измерение: precision/recall против человеческой разметки. Это топ-хвост D39.37 — выбор и сессии мини-прогона, и оркестратора.
## Задача
1. **Классы** — сверь список с кодом (`internal/checks/` — код первичен): DC1-время (时辰/счётные единицы) · латиница-остаток · битые словоформы · `dialogue_dash` (тире диалога против внутренней речи — САМЫЙ важный: правило подогнано, честного замера нет) · число-дрейф/магнитуды · глоссарий-промахи.
2. **Материал** — реальные выходы прогонов на стенде: `rerun2/`, `minirun*/` (черновики и финалы из экспортов/БД). Не синтетика: чекеры будут жить на таком тексте.
3. **Объём** — ориентир 200300 размеченных строк на класс; если класс редкий и строк физически меньше — честно скажи сколько есть, не добивай синтетикой молча (синтетическое дополнение — отдельной секцией с пометкой).
4. **Протокол разметки («ровно так»):** размечай ДО просмотра вердиктов чекеров — не якориться на то, что чекер уже сказал; определение каждого класса возьми из кода/комментариев чекера и зафиксируй в отчёте СВОИМИ словами до старта; спорные строки не решай сам — копи пачкой владельцу; стабильные ID строк (файл+позиция), чтобы чекеры можно было гонять против набора повторно.
5. **Первое измерение:** прогони ТЕКУЩИЕ чекеры против готового набора и отчитай precision/recall по классам — это первая честная цифра линеек и вход в любую будущую правку чекеров.
## «РОВНО ТАК»
- **Ты не автор чекеров и не чинишь их** — меряешь. Найденный дефект чекера — фиксация с file:line, не правка.
- **author ≠ reviewer:** твоя разметка независима; расхождение с вердиктами чекеров — результат, а не проблема.
- **Набор — на стенде** (`/home/ubuntu/books/gu-zhenren/labels/` или предложи своё), в git — только отчёт и методика без текста книги.
- Гардрейлы: `.env` не читать · 18+ L3 не трогать · `refusal_corpus` не открывать · платных вызовов ноль · сессия НЕ коммитит.
## Приёмка
Отчёт `docs/archive/reports/POLYGON_CHECKER_LABELS_<дата>.md`: методика и определения классов (зафиксированные ДО разметки) · объёмы по классам · precision/recall текущих чекеров · пачка спорных строк владельцу · **раздел «чего набор НЕ покрывает»**. Заявление = команда — приёмка ре-ранит чекеры против набора.
**Канал вопросов:** непонятно / конфликт с кодом → пинг оркестратору через владельца, НЕ тихая интерпретация.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1052,3 +1052,9 @@ API-529-долг закрыт: 8-осевой refute-by-default воркфлоу
**НА ВЛАДЕЛЬЦЕ (открылось решение):** **включение платной петли ремонта (D39.24) — замер ЕСТЬ: остаток 0 в трёх классах, которые петля умеет чинить.** По этой цифре корректно решить «НЕ включать» (чинить нечего) — с оговоркой сессии: это узость набора классов, не чистота текста; расширение набора — прежде повторного замера. Рекомендация моя: не включать, петля остаётся построенной за `enabled:false`.
**ХВОСТЫ (в трекер, по убыванию веса):** (1) **размеченный набор для чекеров** — топ-выбор сессии и мой: без него каждая цифра качества держится на глазомере очередной сессии; (2) тест-пин джойна WHAT↔WHICH (моя выжившая мутация); (3) покрытие WHAT↔WHICH (замер: 0/2 и 1/2 — следующая работа шва не «замкнуть», а «покрыть») + майнинг-стоп очищается РАУНДАМИ (вход в развилку D39.36 п.2 — флаговый стоп, семантика владельцем озвучена, реализация открыта); (4) `dialogue_dash` подогнан под 蛊真人 — честный замер только на невиданном тексте; (5) **генеральность нарезки: кана и ханьцзи в одном классе** (`TokenizeClassCounts`) — на 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 — калиброванная константа без модели «thinking в completion»; (11) две единицы упёрлись в `max_tokens` — вернётся на en-книге. **Проверено исполнением сессии ($0): ja/en книги падают громко ДО цента; с обойдённым гейтом проходят ingest/чанкер/read-model без правки Go** — §0 держится на уровне кода, но калибровки фактически китайские.
## D39.38 — Санкции владельца (26.07): флаговый майнинг-стоп СТРОИМ (пак-20, двухфазный, ПЕРЕД паком-19); петля ремонта НЕ включается; полигону — размеченный набор чекеров; всем бэкенд-промтам — обязательный СИНК-шаг с ратифицированной базой. ✅
**Очередь ратифицирована владельцем:** пак-20 «банк: флаговый стоп + покрытие WHAT→WHICH» (двухфазный — синк → дизайн → ратификация → стройка) → пак-19 «голос/состояние» → свип «стартовый промт + гипотезы ресёрчей 0122 против построенного» (владелец спросил «прошлись ли по всем?» — честный ответ был «не уверен»; свип $0, аудит-воркфлоу класса D39.34) → добор идеала (4 вопроса границы D39.33 всё ещё у владельца) → МАСШТАБ → пилот. Параллельно полигон: пакет-6 «размеченный набор для чекеров» (200300 строк/класс, разметка до просмотра вердиктов, precision/recall текущих чекеров — линейки вместо глазомера).
**Петля ремонта: НЕ включается** — отложено-с-записью: замер D39.37 дал 0 кандидатов в её классах, чинить нечего; вернуться при расширении набора классов и ненулевом остатке. **Мандат владельца в нормы промтов:** сессия ОБЯЗАНА синковать свою имплементацию об ратифицированную документацию и окружающий код ДО дизайна — таблица «источник ↔ код ↔ вердикт» в отчёте (шаг 0 пака-20; переносится во все последующие кодинг-промты). Контекст мандата: вопросы владельца об алгоритме банка показали, что доверие держится на прослеживаемости «ресёрч → ратификация → код», и её надо ПОКАЗЫВАТЬ, а не подразумевать.