# Промт: приёмочная сессия Фазы 1 — 蛊真人 zh→ru end-to-end (2026-07-10; ред. 11.07 — этап B)

> **⟶ ⚠ ЭТАП B ЗАМОРОЖЕН (D26, 11.07):** владелец прочитал 25 глав — качество нечитаемо; сначала диагностика exp12 и читаемый конфиг на 25 главах (пере-прогон выигравшим конфигом), только потом B. Предусловия ниже пополняются четвёртым: **«читаемый конфиг ратифицирован (пост-exp12 D-блок)»**.
>
> **⟶ Статус (11.07, D24): ЭТАП A ВЫПОЛНЕН и ратифицирован** (25 глав, $0.41, вердикт с оговорками — отчёт в PROGRESS «## Приёмка Ф1», ратификация D24). **Следующий запуск этой сессии = ЭТАП B**, скоуп переопределён владельцем: **срез ~300 глав** (НЕ полная книга), проекция ~$4.9–6. **Предусловия этапа B (все три, иначе стоп):** (1) бэкенд-мини-пакет №5 залендён (floor max_tokens D24.3 + post-check D24.4 + новый golden); (2) сид обогащён мн.ч. (полигон-пакет №4 п.1); (3) явное «да» владельца + потолок (`book_usd` — рекомендация ≈7). Прогон — свежий resnapshot (фиксы меняют wire и вердикты; этап A не переоплачивается — это новый снапшот по ратифицированной смене поведения). Редактор — glm-5, как в этапе A (сравнимость; D20.3).
> **Дополнительно к чек-листу на этапе B (D24.5):** (а) **echo-rate чекпоинт**: замерь cjk_artifact-долю на ~680 чанках и сверь с прайором ~25% (exp10/D18) и 3.5% этапа A — расхождение в отчёт; (б) **контроль эскалаций после флора**: length-класс хопов должен начать проходить ре-гейт (cjk_artifact-класс гл.1 останется — интринсик); (в) перегенерируй **parallel-экспорт** (на этапе A остался stale для спасённого ch1/4); (г) методику D10-пересчёта приложи **скриптом** в артефакты (числа этапа A третьей стороной не воспроизводились — D24); (д) D10-флаггер теперь осмыслен (сид+код починены) — жду фактический confirmed-miss-rate против ≥98%.

Скопируй в новую сессию Claude Code в `/home/ubuntu/projects/textmachine`. **Предусловие: чистое дерево** (`git status` — если в `backend/` чужие незакоммиченные правки, стоп и пинг владельцу).

---

## Кто ты и что принимаешь

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

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

1. `CLAUDE.md` → CURRENT-STATE в `docs/PROGRESS.md` → **`docs/architecture/02-mvp-plan.md` (критерии приёмки Ф1 — твой чек-лист)**.
2. `docs/architecture/05-decisions-log.md`: **D18** (книга/скоуп), **D10** (знаменатель консистентности = ВСЕ approved-термины, порог 98%), **D11** (приёмка по стоимости = механизм budget_usd + точность телеметрии, жёсткие $-гейты СНЯТЫ; sanity — пропорции exp08), **D20.3** (glm-5-редактор допустим), **D22.11** (`escalation.budget_usd>0` ОБЯЗАТЕЛЕН), D2/D12 (диспозиции, паспорта, redrive).
3. `backend/README.md` (инварианты, golden-гард, как гонять) + `docs/experiments/00-provider-quirks.md` + `08-cost-model-v2.md` (ценовая модель для сверки).
4. Материал: книга `/home/ubuntu/books/gu-zhenren/guzhenren-gb18030.txt` (GB18030; smoke дал 2283 главы / 5088 чанков), сид `/home/ubuntu/books/gu-zhenren/guzhenren-seed.yaml` (49 записей, финализирован D19.3/D22: 白凝冰 gender=hidden).

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

- **Стадии:** draft = deepseek-v4-flash (thinking ON — эхо-мина; temperature там wire-no-op — известно, не чинить) → editor = **по итогам exp12/D26-ратификации** *(ред. 11.07: ограничение «grok не гонять текущим ключом» СНЯТО — D27; glm-5-замена D20.3 больше не вынуждена)*; draft `escalate_to` = deepseek-v4-pro (заведён пакетом №3).
- **Деньги:** `escalation.budget_usd > 0` (иначе echo-эскалация не стреляет — D22.11); потолок книги/дня выставить из этапности ниже; ledger-числа сверять с exp08-пропорциями.
- Гейты — дефолт конфига (coverage zh-ru коридор [2.2,4.2]; postcheck-гейт OFF — флаги пишутся; cheap-gates как наблюдаемость). Промпты/пороги НЕ менять (правка промпта = resnapshot = переоплата — D15; анти-эхо правки гейтятся отдельно D21.6).

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

- **Этап A — срез 25 глав (~$0.3–0.6 по exp08-пропорции).** ✅ ВЫПОЛНЕН 10.07 ($0.41, D24). Полный цикл: ingest → прогон → паспорта → верификация ниже; промежуточная запись в PROGRESS; СТОП-чекпоинт владельца.
- **Этап B — срез ~300 глав** *(ред. 11.07: скоуп переопределён владельцем, НЕ полная книга; ~$4.9–6 по факту этапа A)* — после «да» владельца, с его потолком, на новом снапшоте (предусловия в шапке). Ночной прогон под супервизором (`tmctl` перезапускается — D4/D12); resume обязан подхватывать.

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

1. **Деньги:** `committed == SUM(checkpoints)` на живом прогоне; **kill -9 посреди этапа A** (настоящий SIGKILL) → resume без переоплаты байт-идентичных запросов; потолок: искусственно низкий `budget_usd` → прогон останавливается ЧЕСТНО (committed+reserved), возобновляется после поднятия.
2. **Гейты/диспозиции в бою:** echo-эскалация реально стреляет и ре-гейтится (deepseek-эхо ~25% на этой книге — exp10); refusal/empty → flag+skip+continue, мусор в TM не коммитится; flagged-чанки переатакуются `tmctl redrive` (продемонстрируй на реальном флаге); `tmctl status` живой во время прогона (OpenReadOnly, пакет №4) — паспорта глав/N из M/деньги.
3. **Консистентность (D10):** по завершении — замер: числитель = вхождения approved-dst (лемма по decl), знаменатель = вхождения src/алиасов ВСЕХ approved-терминов; порог **≥98%**; names-only — как под-метрика. Отчёт: где промахи, класс (инъекция не сработала / модель проигнорила / decl).
4. **Телеметрия/паспорта:** `report`/`status --json` — chunks ok/flagged/skipped, worst reason, вердикты pass|attention|fail, $/глава; **первый замер G2**: flag-rate на главу на реальной книге (стратревью §8.10 — ёмкость человеческой петли).
5. **Санити стоимости:** $/глава и доля редактора против exp08-модели (~90% стоимости на редакторе; glm-5 дешевле grok — пересчитай ожидание честно, не подгоняй).
6. **Стиль-флаггеры:** счётчики по книге (наблюдаемость), примеры срабатываний БЕЗ длинных цитат книги в git-доки.

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

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

## Deliverable и приёмка сессии

1. Запись в `docs/PROGRESS.md` («## Приёмка Ф1»): таблица чек-листа (пункт → как проверено → результат), деньги этапов (committed/reserved/потолки, $/глава, доля стадий), консистентность D10 с разбором промахов, G2 flag-rate, список багов+фиксов, **вердикт: критерии 02-mvp-plan выполнены / не выполнены / выполнены с оговорками**.
2. Вопросы владельцу — отдельным блоком (включая «этап B: да/нет/потолок» после этапа A).
3. Производные книги (store.db, выходы, срезы) — вне git; в отчёте цифры и короткие иллюстрации, не тексты глав. Ничего не коммитить.
