textmachine/docs/ACCEPTANCE_SESSION_PROMPT.md

12 KiB
Raw Blame History

Промт: приёмочная сессия Фазы 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.96. Предусловия этапа 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.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 = по итогам 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.30.6 по exp08-пропорции). ВЫПОЛНЕН 10.07 ($0.41, D24). Полный цикл: ingest → прогон → паспорта → верификация ниже; промежуточная запись в PROGRESS; СТОП-чекпоинт владельца.
  • Этап B — срез ~300 глав (ред. 11.07: скоуп переопределён владельцем, НЕ полная книга; ~$4.96 по факту этапа 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; в отчёте цифры и короткие иллюстрации, не тексты глав. Ничего не коммитить.