56 lines
12 KiB
Markdown
56 lines
12 KiB
Markdown
# Промт: приёмочная сессия Ф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).
|
||
|
||
## Конфигурация пере-прогона (по контракту, не по вкусу)
|
||
|
||
- **Стадии:** draft = **переводчик-победитель exp13** (интерим deepseek-v4-flash, thinking ON) → editor = **БИЛИНГВ (D30.1), кандидат glm-5-билингв** (gemini — премиум-эскалация ТОЛЬКО за санитайзером, течёт преамбулой; grok reasoning-off НЕ ставить — no-op); output-санитайзер включён; reflow-промпты (без «Сохраняй разбивку на абзацы»); сид v2.
|
||
- **Деньги:** `escalation.budget_usd > 0` (echo-эскалация); потолок книги/дня из этапности; ledger-числа сверять с D30.4 (~$0.85/ранобэ — не с до-флиповым exp08 $0.69).
|
||
- Гейты — дефолт конфига; санитайзер в вердикт-оси. Промпты/пороги менять НЕЛЬЗЯ (это уже сделано пакетом D15.2 — ты гонишь готовый снапшот).
|
||
|
||
## Этапность (деньги по нарастающей, с чекпоинтом владельца)
|
||
|
||
- **Этап пере-прогона — те же 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):** билингв-редактор мог купить гладкость ценой смысла. Span-цитирующий судья reasoning-ON (раздельно стиль/верность) + ручная охота на **класс инверсий правки** (exp12: A2 внёс «пожертвуй мной», «молва считал» — которых в черновике не было). «Гладко-неверное» не должно пройти молча (D1.1). Скаляр-судьи без спанов НЕ использовать (урок exp12).
|
||
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 слов), не тексты глав. Ничего не коммитить.
|