# Промт: полигон-сессия — exp16: банк-майнинг W1.5 по research/20 §D (2026-07-18)

> **⚠ HOLD-ГЕЙТ: запускать ПОСЛЕ закрытия exp15** (вся §D-программа exp15 завершена/остановлена
> стоп-гейтами, отчёт сдан). Гейт D39.3 «фокус полигона» в силе — одна полигон-сессия за раз.
>
> Исполняет **пре-рег дизайн research/20 §D** (дизайн-оф-рекорд, D39.6) — армы/метрики/гарды/решающие
> правила НЕ пересочинять: `docs/research/20-bank-mining.md` §D0–D5 (+§B1–B4 контекст дизайна, §C
> консолидация). Отчёт: `docs/experiments/16-bank-mining.md`. Зона: `eval/` (скрипты семьёй
> `eval/exp16/`) + `docs/experiments/`. НЕ коммитить НИЧЕГО, кроме пре-рег фриза (единственный коммит,
> ДО первого платного вызова); результаты сдаются отчётом, лендит оркестратор.

## Решения владельца, вшитые в исполнение (17–18.07 — НЕ пересматривать)
1. **Бюджет платных армов: жёсткий кап $10** (A4/A5 канал сноски + cold-start срез; отдельно от exp15).
   Per-call predicted-cost кап; порядок §D5: $0-армы → стенд → cold-start → платные ПОСЛЕДНИМИ
   (отменяемы без потери $0-результатов). Урок exp15: сметы майнинга ошибались ×4 — пере-проекция
   после каждого блока, стоп-гейты легитимны.
2. **Политика канона ПОДТВЕРЖДЕНА:** майнер НИКОГДА не пишет `approved` (только `auto`/`draft` +
   карта подписи); канон = по ВСЕМ вхождениям × Палладий-конформность × полнота леммы (§C2-3), НЕ
   первый-победил и НЕ голая мажоритарность.
3. **Жанр-паки — НЕ строить** (решение 18.07, отклонение от §B1 V-C канал (6)): V-C гоняется только
   на универсальных каналах — 百家姓-якорь, титул/топо-суффиксы, продуктивная морфология (авто-детект
   форманта, не хардкод 蛊), Палладий-детектор ru-стороны. Жанр-кондиционирование (H15-рычаг) —
   отложено до второй книги; зафиксируй в §6 как принятое сужение.
4. **Пол в сиде:** 人祖=male, 古月=n-a уже подписаны (exp15-преп, сид `175a67ad…`) — использовать
   этот сид как GT; счётчики 他/她 эмитить evidence-ом, вердикт пола = только владелец (§C2-4).
5. **ja→ru реплика ОДОБРЕНА как след-за-§D шаг** (P1=ruby-канал уже построен, ja-книга на стенде):
   исполняется ПОСЛЕ полного zh→ru-цикла §D, если бюджет/сессия позволяют — иначе отдельной сессией;
   в пре-рег НЕ вмешивать (отдельный мини-фриз при старте).

## Пре-задача ($0, ДО фриза): ре-аудит exp14b исправленными правилами (D39.9)
Q4a вскрыл: правила exp14b `rule_counterfactual`/`polarity_envy`/`b1` дефектны (исправленные оверрайды —
`eval/exp15/q4a_traps.py`; их и использовать), а харнес `exp14_common.call` НЕ отклоняет `finish=length`
(усечённый выход проходит как валидный). Сделай: (1) пере-скорь СОХРАНЁННЫЕ exp14b-выходы исправленными
правилами; (2) свип `finish_reason=length` по exp14/14b-леджерам; (3) отчёт-дельта: какие пер-класс
вердикты D38 сдвинулись (несущие a1-вердикты span-верифицированы независимо — ожидание: ядро держится);
флип любого несущего → СТОП и пинг оркестратору (errata-блок — его зона). При реюзе exp14-харнеса в
этом экспе — length-гейт чинить у себя (аддитивно), риг exp14 не трогать.

## Пре-рег ФРИЗ (первый коммит, до платных вызовов — D30.10/D37)
Пинит из §D дословно + конкретизации: армы A1–A3+A3-абл / A6/A6b / A4/A5; **GT = сид v2 пост-reseed
`175a67ad…`** с фильтром вхождения (§D1; blurb-правило — явным пунктом); recall-метрика чистая,
precision = pseudo@K + адъюдицированная@30 (топ-30 не-сидовых — владельцу на минуты, ИЛИ кросс-семейный
судья + ручная подвыборка, F5); **порог-дисциплина 60/40** (тюнинг/тест по главам, пороги заморожены
после тюнинг-половины); катастроф-скрин (方源/蛊/蛊师/古月 в топ-50 победителя — промах ядра = провал
арма); карта независимости сигналов + leave-one-out (§D4а-б); SHA кода детекторов + словари-файлы
версионируются; хеш бэкенда/сида/промтов.

## Исполнение (порядок §D5)
1. **A1–A3+абл ($0):** три детектора V-A/V-B/V-C (§B1, V-C без жанр-канала) АРМАМИ против GT на
   СУЩЕСТВУЮЩИХ черновиках (`records.json` 57 чанков — реюз санкционирован; конфаунд инъекции ЯВНО:
   метрики на них = нижняя граница спреда, §D1). Recall по типам и частотным стратам (f≥10/3–9/<3),
   trade-off-таблица, стабильность порогов ±50%.
2. **Алиас-ярус-1 ($0):** рёбра R1–R3 при R4-констрейнтах (§B2) → precision entity-уровнево (B³-класс,
   не MUC); **мини-голд владельца** — mid-stage тачпойнт: код предлагает кандидат-рёбра сущностей
   слайса-25, владелец вычёркивает/дополняет (~20–30 мин) → только после этого recall-колонка.
3. **A6/A6b (стенд, $0):** локальная 9B — споттер по вебновелл-source (ре-замер exp06-оговорки) +
   мини-бенч ВЕРИФИКАТОРА Z1-пар и линкера Z5-рёбер (30–50 пар, ручной голд).
4. **Cold-start срез (копейки):** свежие flash-черновики 5 глав слайса БЕЗ глоссарий-инъекции
   (прямые вызовы, промт translator без блока; главы фиксируются в пре-реге) → спред-сигнал и
   canon-recovery экологически валидно (§D1-конфаунд снимается). ⚠ **DeepSeek-долина обязательна**
   для этого и A4-генераций: пики UTC 01–04 и 06–10 (= 04–07 и 09–13 по +3) стоят ×2 (peak-valley
   официально, D39.7) — сметы по обычным ценам, в пики не ставить.
5. **A4/A5 (платные, ≤капа):** канал сноски banknote-v1 (5 глав × 2 конфига: с/без инструкции;
   формат §B3, срез кодом, редактор не видит) — маржинальный recall над лучшим $0-армом НА СТРАТЕ
   f<3, parse_fail/truncated-рейты, дельта качества черновика от инструкции, фактическая цена.
   Решающие правила §D5 — применить дословно (вкл. «гипотеза №1 подтверждена если…»).

## Дисциплина (жёстко)
- **Мандат самопроверки (CLAUDE.md):** ревью ИСПОЛНЕНИЕМ кода/запросов/результатов в каждом скрипте;
  usage/cost персистится (D30.10); D32.4-гарды §D4 дословно. Полигон ловил себя в exp15 шесть раз
  ДО спенда — держи планку.
- Все артефакты — ВНЕ git (`/home/ubuntu/books/gu-zhenren/exp16/`); `.env` не читать; 18+ — только
  счётчики/поверхности; **бэкенд НЕ трогать** (0 правок; зеркала — только в своей зоне с пометкой
  «при расхождении верить Go»).
- **Реюз exp15 ($0):** `eval/exp15/mem_select.py` — валидированный байт-в-байт порт Select (инъекция/
  enforce-зеркало); фертильность 1.20·cjk+0.39·other; токенайзер/чанкер-порты; `exp15_llm.py`-класс
  Spender (per-call predicted-гейт + глобальный потолок + леджер-строка на вызов). Не переизобретать.
- **Риг-уроки exp15/Q4a (обязательны):** (а) **`finish=length` = reject/flag на ВСЕХ своих генерациях**,
  не валидный выход (харнес-баг D39.9 — не наследовать); (б) если для адъюдикации precision@30 берётся
  облачный судья — ТОЛЬКО паттерн закалённого `eval/exp15/judges.py`: per-vote персист, оба порядка,
  полно-evidence окна (HEAD_CHARS-класс запрещён); помни измеренный судейский шум-пол на смысле 0.261 —
  маргинальные судейские эффекты не интерпретировать, первичный путь адъюдикации = владелец по карте.
- Прод-выходы при любой сверке читать через `tmctl export` (инвариант №8 backend/README), не сырые
  чекпоинты; для (source,draft)-пар $0-армов санкционирован records.json (см. выше).
- Отчёт: §1 фриз · §2 GT/материал · §3 результаты по армам (первичка/вторичка) · §4 решающие правила
  применённые + маршрутизация слепых зон (главный вход бэкенд-дизайна: список GT-промахов лучшего
  арма с ручной Z1–Z5-классификацией) · §5 деньги · §6 самопроверка + отклонения. Карта подписи
  (§C2-8) — владельцу отдельным файлом-сайдкаром.
