textmachine/docs/archive/prompts/POLYGON_SESSION_PROMPT_PILOT_HARNESS.md

11 KiB
Raw Blame History

Промт: полигон-сессия — починка пилот-харнесса + пробы (D13/D14/D16, 2026-07-09)


Ты — полигон-сессия TextMachine, зона записи eval/ + docs/experiments/ (+ твоя запись в docs/PROGRESS.md §Полигон). Корневой CLAUDE.md уже в контексте — гардрейлы обязательны (.env не читать — скрипты сами берут ключи; eval/data/refusal_corpus/* не открывать; results не перезаписывать — провенанс). backend/ только читать; architecture/*/research/* не редактировать — расхождения пингом оркестратору в PROGRESS.

Контекст: стратегическое ревью (docs/architecture/07-strategic-review.md) верифицировало дефекты пилот-харнесса — пилот Ф2.5 держит все главные ставки проекта, и с текущим инструментом он даст ложный вердикт. Твой мандат — D13 (поправки пилота), D14.2 (проба Mistral), D16-хвост (kana-precision). Контракт: docs/architecture/05-decisions-log.md, блок «Пост-ревью решения D13D17».

Онбординг (порядок чтения)

  1. eval/README.md — карта скриптов + 6 правил, выученных на ошибках.
  2. 05-decisions-log.md D13D17 (мандат) + 07-strategic-review.md §4.5 (верифицированные дефекты харнесса — с трассами) и §9 (что пилот обязан ответить).
  3. docs/experiments/09-pilot-protocol.md (текущий протокол — ты его обновляешь) + 00-provider-quirks.md (перед любым вызовом провайдера).
  4. Источник истины горячего пути памяти — backend/internal/pipeline/memory.go (+ memnorm/mempostcheck): при расхождении зеркала с Go — верить Go. ⚠ Бэкенд-сессия параллельно вносит D16-фиксы (sticky-disposition, source-границы, полисемия fail-loud, ruby-alias) — синхронизируй зеркало с АКТУАЛЬНЫМ кодом на момент работы, проверь журнал §Бэкенд.

Задача 1 — починка eval/pilot/memory_eval.py (D13.5; решающий инструмент memory-ставки)

Верифицированные дефекты (07-ревью §4.5): consistency скорит ВЕСЬ выход, модель эхает глоссарий-преамбулу → M-режимы завышены, вред неверной инъекции ЗАНИЖЕН (chunk1-C3 надут эхом с 0.667 до 1.0); полные выходы не сохранены (out[:160]); fidelity-оси нет. Сделать: 1a. Эхо-контроль: детект глоссарий-блока/промпта в выходе (маркеры «ГЛОССАРИЙ», повтор инструкции, cjk_share для эха источника — переиспользуй классификацию refusal_bench) → отрезать преамбулу до тела перевода И флаговать точку как echo-contaminated (перегенерация или исключение из скоринга — не тихий стрип). 1b. Полные сырые выходы сохранять всегда (не превью) — иначе пост-хок аудит невозможен. 1c. Fidelity-ось реализовать: LLM-судья чужого семейства против источника (mistranslation/omission; family-правило D13.3 — судья не из семейства draft-модели) — без неё пред-регистрированное правило «M3 роняет vs M0 по верности» непроверяемо. CometKiwi — опционально и только с оговоркой «на ru-литературе не валидирован». 1d. Переименовать режимы C0C3 → M0M3 (коллизия с конфигурациями ядра exp09 §3) — в скрипте, данных и exp09. 1e. Синк зеркала с Go по 7 расхождениям из ревью: sticky-глубина (Go: stickyDepth=2), until_ch (не реализован в eval-select), span-containment со спойлер-гейтом суппрессора, токен-бюджет/eviction, sticky-диспозиция (после D16.2-фикса бэкенда — наследование!), полная trad2simp-таблица (вендорить из backend/internal/pipeline/data/trad2simp.txt), ignorables (Cf+VS-диапазоны). Плюс declmetric.py: dash-fold/ignorable-strip + граница по unicode.IsLetter-эквиваленту (сейчас только кириллица). 1f. Пере-прогнать индикатив на Ah-Q после фиксов; ожидание: M3-вред станет виднее. Обновить exp09 и цифры в своей записи PROGRESS (старые «C1 1.0 = C2 1.0, C3 0.60» пометить как контаминированные).

Задача 2 — гигиена оценочных артефактов (урок exp04)

Верифицировано: ключ моделей+цены лежал В ТОМ ЖЕ артефакте при LLM-оценке (за <details> — для LLM-фетча это не скрытие), маппинг A/B/C/D фиксирован на всех фрагментах. Сделать: (а) build_editor_artifact.py — пере-рандомизация меток per-фрагмент, ключ — ОТДЕЛЬНЫМ файлом, не публикуемым до вынесения оценки; (б) в 04-editor-quality.md добавить честную оговорку о слепоте задним числом (сноска, историю не переписывать): выбор grok-4.3 остаётся провизорным, страхуют объективные латентность/цена и руки пилота (7-bis + D13.1).

Задача 3 — протокол пилота v2 (09-pilot-protocol.md; правки D13)

3a. Новые/правленые армы: «моно vs билингв редактор на ОДНОЙ модели, простой general-промпт» (D13.1 — прямой тест D1; отдельно от 7-bis); C2 — только ГЕТЕРОГЕННЫЕ кандидаты (разные модели, D13.2 — на гомогенных селекция ≈ монета). 3b. Панель судей (D13.3): 23 семейства максимум; 11+ повторов на вердикт со свапом позиций A/B; агрегация Bradley-Terry/медианой; grok исключён из судейства grok-редактированных выходов; валидация судьи — κ против человеческого IAA + tie-rate/top-1 within-prompt (НЕ средняя корреляция). 3c. Пре-регистрация (D13.4): MDE/мощность (число BWS-наборов), N аннотаторов ≥3 (иначе явный «безκ-режим»), правила решения по каждой руке — зафиксировать ДО решающего прогона неизменяемым разделом. 3d. Инструмент: оценить Pearmut (arXiv:2601.02933 — открытая платформа человеческой оценки с attention-checks) ПРЕЖДЕ постройки своего BWS-тулинга; вердикт «берём/своё» — в exp09.

Задача 4 — проба Mistral для канала B (D14.2)

Mistral Usage Policy (eff. 11.06.2026) без бланкетного запрета adult-текста → кандидат-фолбэк канала B (DeepSeek для explicit выбыл по своему ToS — D14.1). Сделать: завести Mistral в providers.json (⚠ MISTRAL_API_KEY в наборе НЕТ — запроси у владельца; без ключа задача блокирована — так и пометь); прогнать SFW/L1/L2-violence срез refusal-бенча сразу; explicit-часть — когда владелец даст фрагменты (та же 18+ рука exp02, единственный critical ревью). Заодно снять базовое качество ru-перевода Mistral на 23 PD-фрагментах (индикативно — годен ли вообще как переводчик канала B, не только «не отказывает»).

Задача 5 — kana-precision (D16-хвост; расширение E1-протокола)

minKeyLenPhonetic=3 в Go — «консервативный дефолт до замера» (memory.go:~42-48). Собери ja-kana ловушки (аналог омографов retrieval_bench: 23-kana ключи внутри частых слов/компаундов, реальные имена из PD-ja корпуса) и замерь precision матчера на MIN=2/3/4 — вход для прод-ja решения (подтвердить 3 / поднять / развести по типу каны). Учитывай D16.3-фикс бэкенда (source-границы) — мерь ПОСЛЕ него или на обеих версиях.

Задача 6 — вебновелл-срез (блокирована корпусом владельца; подготовь скрипты заранее)

Когда владелец положит 35 глав реальных вебновелл в eval/data/samples/: довалидация r-коэффициентов (exp01/08), precision coverage-гейта на терсных репликах (exp07 §просьба — гейтит снятие 1-флаг-толерантности), частота DeepSeek-эха вне претрейна. Подготовь прогоны так, чтобы по появлению файлов запускалось одной командой.

Приёмка сессии

Обновлённые memory_eval.py/declmetric.py (эхо-контроль, полные выходы, fidelity, M0M3, синк с Go) + пере-прогнанный индикатив; 09-pilot-protocol.md v2 с D13-правками и пре-регистрационным каркасом; вердикт по Pearmut; Mistral-прогон (или явный блок «нет ключа»); kana-precision отчёт; всё — с провенансом (model id, дата, usage, сырые выходы). Запись в docs/PROGRESS.md §Полигон: итоги, изменившиеся цифры, вопросы оркестратору/владельцу.