textmachine/docs/ACCEPTANCE_SESSION_PROMPT.md

8.9 KiB
Raw Blame History

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

Скопируй в новую сессию Claude Code в /home/ubuntu/projects/textmachine. Предусловие: чистое дерево (пакет №4 залендён; 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.mddocs/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 = glm-5 (D20.3: чистого xAI-ключа нет; grok-4.3 НЕ гонять на книжном контенте текущим ключом — гигиена D8/D19.4); 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.30.6 по exp08-пропорции). Полный цикл: ingest → прогон → паспорта → верификация ниже. По итогам — промежуточная запись в PROGRESS с деньгами/flag-rate и СТОП: подтверждение владельца на полный прогон (полная книга 2283 главы ≈ $2555 по модели — это его согласие на трату, Р6).
  • Этап B — полная книга (после «да» владельца, с его потолком). Ночной прогон под супервизором (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; в отчёте цифры и короткие иллюстрации, не тексты глав. Ничего не коммитить.