# Промт: полигон-сессия — exp15: эмпирика сегментации/когезии/контракта t-e по research/19 §D (2026-07-16)

> Исполняет **пре-регистрированный дизайн research/19 §D (Q0–Q5)** — дизайн-оф-рекорд трека B (D39.1).
> Этот промт — оркестровка исполнения; сам дизайн НЕ пересочинять: армы/метрики/дерево решений — в
> `docs/research/19-chunking-cohesion.md` §D0–D5 (+§B для контекста дизайна, §C для Q4-армов).
> Отчёт: `docs/experiments/15-segmentation-empirics.md`. Зона: `eval/` + `docs/experiments/`. НЕ коммитить
> НИЧЕГО, кроме пре-рег фриза (см. ниже — его коммитишь ДО первого платного вызова); лендит оркестратор.

## Решения владельца, вшитые в исполнение (16.07 — НЕ пересматривать)
1. **Бюджет: жёсткий кап $15 на весь пакет** (ключи D36.1; Gemini ~€2.6 — аддитивный thinking, судейские
   семьи выбирать с учётом). Точные капы и бюджет судей (trap-N × повторы × 2 порядка × ≥2 судьи)
   пересчитать в пре-реге с live-ценами; per-call predicted-cost кап ДО каждого вызова; стоп-гейт после
   каждого Q (порядок ниже).
2. **Пол персонажа в схеме сида — ОДОБРЕН.** Построй детерминированный транспорт (паттерн
   `exp14b_reseed_promote`: идемпотентный, байт-стабильный, пре-снапшот + лог): поле `gender`
   (m/f/hidden/n-a) для персонажных записей сида. **Наполнение — на подпись владельца** (approved-инвариант;
   спорные — draft). T-gen-трапы и стейт-армы Q3a′ используют это поле; если подпись не успевает до
   Q3a′ — арм честно помечается «стейт без пола», НЕ имитировать.
3. **CJK-глоссы в скобках — СОХРАНЯТЬ (решение владельца).** Скоринг эмпирики НЕ штрафует как CJK-утечку
   сбалансированный Han-в-скобках сразу после кириллического терма («Кулак Ло Ханя (羅漢拳)») — детектор
   скоринга обязан этот класс исключать. (Бэкенд-whitelist — фикс-лист пак-2, не твоя зона.)
4. **W1.5-гейт (человеческая подпись между волнами) — решается ПОСЛЕ Q3** — на дизайн армов не влияет.

## Пре-рег ФРИЗ (первый коммит, ДО первого платного вызова — дисциплина D30.10/D37)
Фриз-файл (§1 отчёта) пинит: армы/метрики/пороги/дерево решений (из §D дословно + твои конкретизации),
капы и live-цены, судейские семьи и модель-майнер трапов (исключается из судейского пула и не совпадает
семьёй с арм-моделями), **хеш коммита бэкенда (текущий HEAD ≥ `d3f6b34` — пак-1 залендён: memmatch-v4,
sanitizer-v5, pair-сеам), хеш сида-снапшота, sha256 промт-файлов (`translator.md`/`editor.md` v3), конфиг
инъекции** — грязный A0 испортил бы все контрасты; любое изменение после первого платного вызова = новый
experiment-ID. ⚠ Якорь A0 воспроизводит прод-инъекцию ПО ТЕКУЩЕМУ коду (trust-gated matcher!), не по
памяти exp14 — реконструируй из `retrieval_state.injected_ids` свежего среза или таргетным портом с
пометкой «при расхождении верить Go».

## Порядок и стоп-гейты (из §D2/§D4)
**Q2b ($0, ре-атрибуция sizecurve) → Q1+Q3a/Q3b (несущие, S2) → Q2a/Q2c → Q4a/Q4b/Q4c → Q0 (обязателен,
дёшев — скоринг do-nothing).** Стоп при исчерпании бюджета легитимен (пре-рег фиксирует приоритет), но
стоп после Q2b НЕ закрывает центральный конфликт. Двойной якорь A0↔A0′ на S2 (floor шума) — обязателен
до интерпретации любого Q.

## Материал и трапы (из §D0/§D1 — исполнить как написано)
Корпус S1–S4 билдерами (`gu/ja/en/jpm_corpus_build`, `webnovel_slice`); платные армы — ТОЛЬКО S1/S2
(zh→ru); S3/S4 — $0 чанкер-профилирование (инвариант общности §0.1); структурный профиль каждого среза —
в отчёт ДО прогона (срез обязан задействовать рычаг — урок полигон-синка). Трап-набор: 8 типов §D1,
несущие ≥20 (T-ana/T-ent/T-tense), остальные ≥10; стратификация по дистанции антецедента; **общий
знаменатель контраста** (пересечение границы в арме = ковариата, НЕ фильтр); ожидаемое поведение каждого
трапа записано до прогона. Недобор → домайнить или пометить «Q недоказуем a priori» ДО платных вызовов.

## Метрики/агрегация (из §D3 — исполнить как написано)
Reflow-инвариантный omission (валидируется на вручную вычитанном whole-chapter выходе ДО скоринга армов);
детерм. KPI ($0); **карта независимости сигналов** (метрики с общим драйвером длины = ОДИН сигнал);
span-судьи ≥2 кросс-семейных, temp 0, оба порядка, 6→10 голосов при расколе, leave-one-judge-out,
катастроф-скрин к победителю; fidelity-first; парные по-главные разности; один первичный контраст на Q +
Holm-Bonferroni; слепые пакеты владельцу; человеческий эндпоинт гейтит.

## Прep-задачи (до платных вызовов, вместе с фризом)
1. **⚠ DeepSeek-слаги до 2026-07-24** (research/19 §E.8): оф. дока депрекейтит `deepseek-chat`/`-reasoner`
   24.07; конфиг на `deepseek-v4-flash/pro` вероятно не задет — грепни eval-скрипты + live `/models`
   фактчек (правило двух направлений); находки — в `00-provider-quirks.md`-пинг оркестратору.
2. **⚠ Вендор-чек префикс-кэша ZAI/GLM** (§E.8-бис): оф. дока z.ai/bigmodel.cn; вся кэш-экономика
   Q2c/warm-then-fan условна на нём. Не верифицируется → Q2c-стоимости репортить as-billed only, без
   cache-normalized колонки.
3. Gender-транспорт сида (решение №2 выше) + лист спорных владельцу.

## Дисциплина (жёстко)
- **Мандат самопроверки (CLAUDE.md):** ревью ИСПОЛНЕНИЕМ своего кода + сформированных запросов + результатов
  в КАЖДОМ скрипте; каждый платный скрипт персистит usage/cost (D30.10). Полигон дважды собирал ложную
  сходимость (D32.4) и один раз «0 ошибок»=36 (D37) — лови себя.
- Все выходы/артефакты — ВНЕ git (`/home/ubuntu/books/gu-zhenren/exp15/`); `.env` не читать; 18+ корпус —
  только через существующие билдеры/счётчики; бэкенд НЕ трогать (0 правок; порт-зеркала — только в своей
  зоне с пометкой «верить Go»); батчи НЕ коммитить (фриз — единственный твой коммит).
- Реюз $0 (из §D4): `exp14/sizecurve/*`, `A-ref-prev/both`, `material.json→trap_chunks`, exp14b-батарея,
  25-глав `records.json` (калибровка фертильности B1.2 — попутный deliverable чанкер-спеке).
- Отчёт: §1 фриз · §2 профили срезов + трап-леджер · §3 результаты по Q (первичка/вторичка раздельно) ·
  §4 дерево решений §D5 применённое · §5 деньги · §6 самопроверка + отклонения от пре-рега (если были —
  явно). Слепые пакеты владельцу — отдельно (`exp15/monitor/`).
