# Промт бэкенд-сессии: ПАК-13 «выпускной QA» (дефект-классы D39.20 → механизмы) **Статус: ВЫДАН 23.07.2026, оркестратор №7.** Источник скоупа — D39.20/D39.21 (`05-decisions-log.md`) + `rerun2/RERUN_REPORT.md` + два слепых ревью (дефект-классы). **Пак — WIRE-ДВИГАЮЩИЙ** (заголовки, юнит-политика, стайл-строки промпта): golden пере-капчерится структурно, итерация №2 пойдёт со свежим `--resnapshot` (драфт копеечный, $0.011). Координация: пак-12 (wire-нейтральный) лендится ПЕРВЫМ; зоны почти не пересекаются (12 = `internal/llm/`, 13 = чанкер/санитайзер/чекеры/рендер) — можно одной сессией подряд, 12 → 13. ## Онбординг `CLAUDE.md` → CURRENT-STATE `PROGRESS.md` → `05-decisions-log.md` D39.20–D39.21 → `rerun2/RERUN_REPORT.md` §6 + блайнд-ревью-дефекты (в D39.20) → `internal/pipeline/{chunker,sanitizer,checkers_zh_ru,cheapgates,render,memory}.go` + `internal/lang/`+`configs/langpacks/`. **Живой дефект-корпус для приёмки:** `rerun2/export-{glm,mistral,dspro}.txt` (ВНЕ git, читать можно) — все известные дефекты там: `again` · «лять» · «войть» · «Вперди» · «глава клан» · огрызки « :» · «три часа» (三个时辰) · «тысячи» (千万) · «6,6» (六成六). ## Скоуп (7 пунктов) 1. **mined_delta-крэш фикс** (девиация №1 rerun2): терм дельты, уже существующий в сиде (`UNIQUE(book_id,src,sense,since_ch,until_ch)`, `store/migrate.go:202`) → сейчас плоский INSERT крэшит прогон. Фикс: валидация при загрузке дельты — пересечение с сидом → ГРОМКАЯ ошибка со списком дубликатов и подсказкой («правьте сид / уберите из дельты»); никакого тихого merge поверх подписанного сида. Тест на оба пути. 2. **Заголовок-политика**: структурные маркеры глав/разделов (第N节/第N章 — данные в langpack, НЕ хардкод, §0.1) детектятся чанкером и рендерятся ДЕТЕРМИНИРОВАННО шаблоном («Глава N») — модели заголовок не доверяем; санитайзер/CJK-strip НЕ должен съедать заголовки (dspro-арм потерял 第一/四/五节); огрызки « :» устранить. Приёмка: на rerun2-срезе все 5+5 заголовков рендерятся единообразно. 3. **Юнит-конверсия (D39.21-меры)**: политика «привычные единицы target-языка» — zh→ru: 时辰=2 часа, 半个时辰=час. Механика: (а) строка в драфт-промпт/глоссарий (wire), (б) детерминированный чекер: 时辰+число в исходнике ↔ часы в выводе, конверсия ×2 не сошлась → флаг. Данные единиц — в langpack. 4. **Число-масштабы**: расширить число-дрейф-чекер: разряды 千万/数十万/亿 (маппинг масштабов, не только литеральные числа) + 成-проценты (六成六=66%). Приёмка: ловит «тысячи»↔千万 и «6,6»↔66% из rerun2. 5. **Broken-word / latin-residue чекеры**: (а) латинские остатки в ru-выводе (`again`) — дешёвый детектор с allowlist (аббревиатуры/цифры); (б) сломанные словоформы («лять», «войть», «Вперди», «глава клан» [сущ.+сущ. без согласования — детектор по паре голых номинативов?]) — сессия исследует ДЕШЁВЫЙ детектор без тяжёлых зависимостей (никакого hunspell/pymorphy — дефолт-B D39.12); честно доложить достижимый recall. Приёмка: все перечисленные живые дефекты rerun2 ловятся, 0 FP на чистых главах экспортов. 6. **Аудит полноты банк-инъекции (директива владельца D39.21)**: трассировать, какие поля банка (gender/decl/тип/алиасы/sense) РЕАЛЬНО доходят до драфт- и edit-wire, а какие теряются (`memory.go` renderGlossaryBlock/editorConstraintHeader-путь). Отчёт-таблица «поле → драфт-wire? edit-wire? где теряется (file:line)» + фикс ОЧЕВИДНЫХ дыр (gender-аннотация именных терминов — род «гу Надежды»/«цикады» должен доезжать); спорное — НЕ чинить, в отчёт оркестратору. 7. **Стайл-канон в промпт (D39.21)**: строки стайл-гайда в драфт/edit-промпт (пер-пара, langpack/промпт-пак): generic «гу» — средний род · стихи/названия классики — переводом смысла · 资质=«талант» (в чекер-словарь: «ресурсы» при 资质 в исходнике → флаг). Формулировки — данными пары, не кодом. 8. **Дефолт-редактор прод-конфига → deepseek-v4-pro (D39.22)**: базовый pipeline-конфиг едет на dspro-редактор (glm-5 остаётся арм-файлом-резервом); floor min_max_tokens 8000 и thinking-ON (эхо-класс deepseek) — из models.yaml, не переопределять. ## НЕ делать Род-enforce реплик (промпт/банк-рычаг, не чекер) · hunspell/pymorphy-зависимости · рефакторинг чанкера сверх заголовков · GLM overflow-гард (ждёт вендора) · сид-правки (元-корень/春秋蝉 — решения владельца, оркестратор внесёт отдельно). ## Приёмка (ревью ИСПОЛНЕНИЕМ, мандат 12.07) `go build/vet/test -race` зелёные · **майнер-парити EXACT неизменен** · golden: пере-капчер ОЖИДАЕТСЯ (wire-двигающий пак) — классифицировать диф (какие изменения от чего; wire-нейтральные пункты 1/4/5/6-аудит НЕ должны двигать wire) · **дефект-корпус rerun2: каждый известный дефект пойман, 0 FP на чистом** (таблица в отчёт) · самопроверка + адверсариальный селф-ревью (3 линзы: детерминизм/langpack-общность/FP-цена). Отчёт — `docs/archive/reports/PACK13_QA_REPORT_<дата>.md`, с file:line. Сессия НЕ коммитит — лендит оркестратор.