6.7 KiB
Промт бэкенд-сессии: ПАК-16 «слой-3 diff-редактор» (ДВУХФАЗНЫЙ: дизайн → ратификация → стройка)
Статус: ВЫДАН 25.07.2026, оркестратор №7. Слой 3 09-target-architecture.md — крупнейший остаток плана; мандат редактора до сих пор full-regen (D39: причина инверсий). Приоритет подтверждён research/22 (§2 №1): прецеденты — AiNiee ProofreadTask (typed-error → адресный proofread строки), LinguaGacha retranslation-by-keyword; наш способ ДОЛЖЕН остаться нашим — детерминированные чекеры уже есть (internal/checks, паки 13/15), недостаёт петли gate→repair→re-gate. North-star: ИЗМЕРЕННЫЙ вклад петли (сколько дефект-классов чинится, на живом дефект-корпусе rerun2), не вера.
Цель: флаг типизированного чекера → адресный ремонт минимального спана дешёвым вызовом → re-gate → при неудаче прежний flag+skip (дисциплина D2 сохраняется, мусор не течёт в TM/экспорт).
Онбординг
CLAUDE.md → 09-target-architecture.md (слой 3) → internal/checks (typed-факты: CheapGateResult/SanitizerResult/DC-чекеры) → отчёты паков 13/15 (дефект-классы D39.20 → механизмы) → research/22 §2 №1 (прецеденты; их код GPL/AGPL — НЕ копировать, только идеи).
ФАЗА 1 — ДИЗАЙН (без единой правки кода)
Дизайн-отчёт с вариантами и рекомендацией по каждому пункту; СТОП после отчёта — ратификация оркестратора (через владельца), стройка только после неё.
- D1. Единица ремонта (спан / предложение / чанк / edit-единица) и маппинг флаг→спан: инвентаризация — какие чекеры дают ПОЗИЦИИ, какие только факт; что нужно дотипизировать в checks (не ломая паки 13/15).
- D2. Дефект-классы петли v1 vs flag-only: кандидаты в петлю — юнит-конверсия (时辰), число-масштабы (千万/成), broken-word, latin-residue, заголовок-шаблон, глоссарий-строгость; остаётся flag-only — register/style (недетерминируемо чинится). Критерий: детерминированный ре-чек возможен.
- D3. Механика вызова: промпт ремонта (src-спан + draft-спан + типизированная ошибка → исправление; ЯЗЫК промпта = данные пары, §0 — pair-keyed файл конвенции) · где живёт (новая стадия конфига? суб-шаг edit?) · модель (дешёвая, flash?) · потолок вызовов/бюджет · loop-guard (1 раунд, потом flag+skip).
- D4. Wire/снапшот-дисциплина: ремонт = НОВЫЙ класс wire-вызовов → RequestHash/чекпойнты/resume ($0-резюм не сломать); снапшот-фолд промпта ремонта; resnapshot ОДИН; golden — эволюция capture новым классом вызовов (пере-капчер по санкции с классификацией диффа; no-repair путь ОБЯЗАН остаться байт-идентичным).
- D5. Деньги/отчётность: repair-вызовы в CostSource/леджер; счётчики «починено/по классам/не удалось» в quality-report и паспорт главы.
- D6. Валидация $0: петля офлайн-тестируема на фикстурах дефект-корпуса rerun2 (дефекты пака-13 приёмки); mini-live гейт — отдельным решением владельца, НЕ в этом паке.
Приёмка фазы 1: отчёт-предложение (варианты+рекомендация+риски по D1–D6) + адверсариальный селф-ревью дизайна (линзы: детерминизм/resume · деньги · D2-дисциплина · общность §0 «заработает ли на паре, которой нет»). Кода НЕ трогать.
ФАЗА 2 — СТРОЙКА (только после ратификации)
По ратифицированному дизайну. Инварианты: no-repair путь байт-идентичен (петля выключена = сегодняшнее поведение, golden в compare-режиме зелёный БЕЗ пере-капчера) · парити EXACT · петля вкл. — новый golden-класс по санкции · тесты на дефект-корпусе · -race весь. Хвосты первого касания (байт-нейтральные, тем же паком): строгий декод book.yaml (санкционирован D-логом; перед вкл. — проверить стендовые book.yaml на внесхемные ключи и доложить) · строгий декод pair/models-слоёв · loose-ассерт unknown-key-теста (пинить имя ключа) · zero-value-паники PickedEntry/Bank (конструктор-гард или док).
НЕ делать
Канал B (пак-17) · копирование GPL/AGPL-кода · пар/книго-литералы в Go (§0; язык промпта ремонта = данные пары) · live-вызовы без санкции владельца · расширение скоупа без пинга оркестратору.
Приёмка (мандат 12.07)
Фаза 1 — отчёт docs/archive/reports/PACK16_DESIGN_<дата>.md, СТОП. Фаза 2 — ревью исполнением: build/vet/test -race · golden (см. инварианты) · парити · дифф ^func Test ИСПОЛНЕНИЕМ в отчёте (норма после паков 14/15) · адверсариальный селф-ревью. Отчёт docs/archive/reports/PACK16_DIFF_EDITOR_REPORT_<дата>.md. Сессия НЕ коммитит; git mv стейджит — декларировать.