# Промт: приёмочная сессия Ф1 — ПЕРЕ-ПРОГОН 25 глав кандидат-конфигом → этап B (2026-07-12, D30.9)

> **Предусловие запуска (все ПЯТЬ, иначе стоп и пинг оркестратору):** (1) бэкенд-пакет D15.2 **этап А** залендён (билингв-редактор D30.1 + reflow D30.2 + output-санитайзер D30.3 + новый golden — D33, коммит 00f8e36) **+ 2 обязательных фикса санитайзера (D33.1: хвостовая утечка «Основные правки для справки»; false-positive «около колонны»/«стало талой») залендены с golden re-capture**; (2) **переводчик пере-прогона = deepseek-v4-flash СОХРАНЁН** (exp13/D32 — pro отклонён; escalate_to=pro без изменений); (3) сид v2 финализирован, спорные термины + род «гу» подписаны владельцем (D32/`diag/glossary_v2_signoff.md`); (4) `escalation.budget_usd>0` в c1 (D22.11 — иначе echo-эскалация не стреляет); (5) **единый resnapshot выполнен** (промпты+editor-модель+санитайзер-фикс+сид v2 — всё в один снапшот; это НЕ дубль оплаты этапа A, а новый снапшот по ратифицированной смене поведения). Чистое дерево (`git status`; в дереве часто ДВЕ живые сессии — чужие правки не трогать).

---

## Кто ты и что делаешь

Ты — **приёмочная сессия Ф1**. Этап A (draft deepseek → editor glm-5 **моно**) выполнен и ратифицирован (D24), но чтение владельцем дало «нечитаемо» → диагностика exp12 (D30) вскрыла 4 дефекта и ратифицировала фиксы. Твоя задача сейчас — **пере-прогнать те же 25 глав кандидат-конфигом и проверить, что (а) инфраструктурные инварианты этапа A держатся на новом снапшоте, (б) качество стало читаемым** (арбитр читаемости — владелец; ты готовишь замер и сэмплы). После «читаемо» + «да» владельца — **этап B (срез ~300 глав)**.

Зона: `backend/` (только фиксы найденных багов, с тестами) + своя секция `docs/PROGRESS.md` «## Приёмка Ф1». **Ничего не коммитить** — лендинг оркестратора. Гардрейлы `CLAUDE.md` жёсткие: `.env` не читать; книга и ВСЕ производные (store.db, выходы, отчёты с цитатами) — ВНЕ git; 18+ уровень 3 — не обрабатывать; никаких деструктивных git-операций; стейджинг оркестратора пофайловый.

## Онбординг (~40 мин)

1. `CLAUDE.md` → CURRENT-STATE в `PROGRESS.md` → **`02-mvp-plan.md §Приёмка Фазы 1 (v3.2)`** (твой чек-лист).
2. `05-decisions-log.md` (карта актуальности сверху): **D30** (флип D1, reflow, санитайзер, exp13, дорожка D30.9), **D24** (итоги этапа A — методология чек-листа), **D24.2** (alias-слепое пятно в методику D10), **D28.1** (post-check precision/recall-трейдофф), D10/D1.1 (консистентность/оговорка верности), D2/D12 (диспозиции/redrive), D25.1 (release-state — если строишь reader-экспорт).
3. `backend/README.md` (инварианты, golden-гард, как гонять) + `00-provider-quirks.md` (шапка + строки редактора БИЛИНГВ/санитайзер) + `08-cost-model-v2.md` (читать через D30.4: ~$0.85/ранобэ).
4. Материал: книга `/home/ubuntu/books/gu-zhenren/guzhenren-gb18030.txt`; **сид v2** (финализирован exp13); кандидат-конфиг пере-прогона (собран из пакета D15.2 + переводчик exp13).

## ⚠ ШАГ 0 (ОБЯЗАТЕЛЕН — repoint конфига до любого прогона; D34.2)

Приёмочный конфиг этапа A **РАССИНХРОНЕН** с боевым (после D15.2): `acceptance/book.yaml` смотрит на сид **V1**, `pipeline-acceptance.yaml` несёт `v0-draft/v1-monolingual` (**моно-редактор, БЕЗ reflow**). Наивный `--resnapshot` тихо заснапшотит СТАРЫЙ сломанный конфиг → весь пере-прогон впустую. **Пересобери приёмочный конфиг из БОЕВОГО `backend/configs/pipeline-c1.yaml` (HEAD, post-D33) + book-side дельты, СВЕЖИЙ store (новая БД — не переиспользуй store этапа A):**
- `pipeline-acceptance.yaml` = байт-в-байт из `pipeline-c1.yaml`: draft `deepseek-v4-flash` **`prompt_version: v1-reflow`** `escalate_to: deepseek-v4-pro`; editor `glm-5` **`prompt_version: v2-bilingual-reflow`**; `gates.sanitizer.enabled: true`; `escalation.budget_usd > 0` (D22.11 — иначе echo-эскалация не стреляет). Промпты — из `backend/prompts/` (reflow+билингв, уже залёнжены).
- `book.yaml`: `glossary_seed → /home/ubuntu/books/gu-zhenren/guzhenren-seed-v2.yaml`; потолки `book_usd`/`day_usd` из этапности.
- Сверь исполнением: `tmctl status`/snapshot до прогона показывает `v1-reflow`/`v2-bilingual-reflow` + сид v2-хеш, НЕ старые. Только потом translate.

## Конфигурация пере-прогона (по контракту, не по вкусу)

- **Стадии (= pipeline-c1 post-D33):** draft = **deepseek-v4-flash** (thinking ON; НЕ pro — D32) → editor = **glm-5 БИЛИНГВ** (D30.1; gemini — премиум-эскалация ТОЛЬКО за санитайзером; grok reasoning-off НЕ ставить — no-op); output-санитайзер enabled (вердикт-ось); reflow-промпты; сид v2.
- **Деньги:** `escalation.budget_usd > 0`; ledger-числа сверять с D30.4 (~$0.85/ранобэ, билингв-вход +60% токенов редактора — не с до-флиповым exp08 $0.69).
- Промпты/пороги/модели менять НЕЛЬЗЯ — брать из `pipeline-c1` (это уже сделано пакетом D15.2/D33; ты собираешь конфиг из боевого, не изобретаешь).

## Этапность (деньги по нарастающей, с чекпоинтом владельца)

- **Этап пере-прогона — те же 25 глав** (~$0.4–0.6). Полный цикл: ingest → прогон → паспорта → верификация ниже → **сэмплы владельцу** → СТОП: чтение владельца (арбитр читаемости) + «да» на этап B + потолок.
- **Этап B — срез ~300 глав** (после «да», ~$5). Ночной прогон под супервизором (`tmctl` перезапускается — D4/D12); resume обязан подхватывать.

## Что верифицировать (чек-лист, каждое — исполнением)

**A. Инфраструктура держится на НОВОМ снапшоте (регресс-проверка этапа A):**
1. **Деньги:** `committed == SUM(checkpoints)` на живом прогоне; **настоящий kill -9** посреди прогона → resume без переоплаты байт-идентичных запросов; искусственно низкий `budget_usd` → честный стоп (committed+reserved), возобновление после поднятия.
2. **Гейты/диспозиции:** echo-эскалация стреляет и ре-гейтится; refusal/empty/**санитайзер** → flag+skip+continue, мусор в TM не коммитится; flagged → `tmctl redrive` (на реальном флаге); `tmctl status` живой (OpenReadOnly).
3. **Санитайзер (новый, D30.3):** проверь, что он ловит классы exp12 (сервис-преамбула gemini, битые словоформы, латиница-врезки, markdown-`###`) и НЕ даёт ложных на чистом тексте; счётчик срабатываний в паспорт.

**B. Качество стало читаемым (главная цель пере-прогона):**
4. **Re-gate верности (ОБЯЗАТЕЛЕН — D30.1/D34.3): гонит ПОЛИГОН независимым судьёй** (author≠reviewer — не ты-переводчик). Билингв-редактор мог купить гладкость ценой смысла. Span-цитирующий судья reasoning-ON (раздельно стиль/верность) + охота на **класс инверсий правки** (exp12: A2 внёс «пожертвуй мной», «молва считал» — которых в черновике не было). «Гладко-неверное» не должно пройти молча (D1.1). Скаляр-судьи без спанов НЕ использовать (урок exp12). Твоя часть — отдать финальные выходы полигону; **без пройденного re-gate пере-прогон НЕ засчитан**.
5. **Консистентность D10 ≥98%** по процедуре Р7/D10 — **методику приложи СКРИПТОМ** в артефакты (числа этапа A третьей стороной не воспроизводились — D24); учти **alias-слепое пятно** (D24.2: вложенный алиас внутри longest-match полного имени невидим флаггеру — гл.18/0 蛊真人); D10-флаггер теперь осмыслен (сид v2 + post-check union D24.4).
6. **Вёрстка:** замерь консистентность репараграфизации после reflow (D30.2) — 1:N на диалоге норма (Розенталь), описательное слияние слабее; парность абзацев src↔dst (метод research/16 §0 — пиновать определение абзаца).
7. **Сэмплы владельцу:** слепые/удобочитаемые пакеты (тот же monitor-паттерн exp12, вне хостинга — копирайт) — оригинал + новый перевод + опционально старый этап A для контраста.

**C. Прочее:**
8. Ноль молчаливых потерь глав (spine); паспорта/`status --json`; **echo-rate чекпоинт**: замерь cjk_artifact-долю и сверь с прайором книги ~25% (exp10/D18) и 3.5% этапа A — расхождение в отчёт; контроль эскалаций после флора D24.3 (length-хопы должны проходить ре-гейт).
9. Санити стоимости против D30.4 (~$0.85/ранобэ; билингв-вход +60% токенов редактора — не подгоняй под старый $0.69).

## Дисциплина находок

Баги чинить можно (зона твоя): фикс = минимальный + тест (mutation-verified); **golden обязан остаться бит-в-бит** — если фикс меняет wire/вердикты, это НЕ багфикс, а изменение поведения → СТОП и пинг оркестратору (golden сам не обновляй). Правки промптов/конфиг-семантики запрещены (это зона пакета D15.2). Провайдерские странности — правило двух направлений (вендор-дока, не гадание).

## Deliverable

1. Запись `PROGRESS.md` «## Приёмка Ф1»: таблица чек-листа (пункт → как проверено → результат), деньги этапов, **re-gate верности (span-цитаты)**, консистентность D10 с методикой-скриптом, вёрстка, echo-rate, санитайзер-счётчики, баги+фиксы, **вердикт: читаемо / не читаемо + инфра-инварианты держатся/нет**.
2. Сэмплы владельцу (monitor-пакет) + вопросы владельцу отдельным блоком (этап B: да/нет/потолок — после чтения).
3. Производные — вне git; в отчёте цифры и короткие иллюстрации (≤15 слов), не тексты глав. Ничего не коммитить.
