> **⟶ ОТРАБОТАН → `docs/research/20-bank-mining.md`, ЗАЛЕНДЕН `994987d`, ратифицирован D39.6 (17.07).** Отклонение HOLD-гейта принято (запуск указанием владельца). Полигон-стадия §D — отдельным промтом ПОСЛЕ exp15. Архивная копия.

# Промт: сессия-РЕСЁРЧЕР — research/20: авто-формирование банка из черновиков (W1.5 / банк-майнинг), 2026-07-16

> **⚠ HOLD-ГЕЙТ: запускать ПОСЛЕ пре-рег фриза exp15** (первый коммит полигон-сессии) — фокус полигона
> не разбавляем (решение владельца/ресёрчера-19). Эта сессия — РЕСЁРЧ-стадия пакета
> «ресёрч → полигон → бэкенд-дизайн»; полигон-стадию (эмпирика детектора) выдаёт оркестратор ОТДЕЛЬНЫМ
> промтом после этого отчёта И после завершения exp15. Слой-1 (чанкер) этим пакетом НЕ гейтится.

## Что это (диспозиция D39.3)
Проработка **авто-формирования глоссария-банка из черновиков волны W1** (research/19 §B3-бис: W1.5 —
глобальный майнинг термин-кандидатов по всем черновикам → реконсиляция → подпись владельца). Закрывает
NEVER_CLOSED `H15` (аудит `08`) и владельческие V4-п4 (как строить глоссарий: контекст вхождений, жанр)
+ V4-п1-эскиз (переводчик выносит кандидатов сносками → парсим → банк → редактор чинит термины).
**Гипотеза №1 (владелец, ПРОВЕРЯЕМАЯ, не пресуппозиция): «чистый код сам разметит всё»** — сначала
измерить потолок бескодового-LLM пути, LLM звать только в доказанные слепые зоны.

## Зона/протокол
`docs/research/` (отчёт `20-bank-mining.md`); не коммитить (лендит оркестратор). Гардрейлы CLAUDE.md
(`.env`/18+/books — не трогать; счётчики ок). **Анти-анкоринг как research/18/19:** §A (внешняя фактура)
заморожен sha256 ДО чтения стека сверх этого промта; несущие клеймы — адверсариальная верификация по
первоисточникам (author≠reviewer внутри сессии); мандат самопроверки исполнением.

## Прайор-арт в репо (читать ПОСЛЕ заморозки §A)
- **exp06 / research/06:** локальная NER-экстракция РАБОТАЕТ (9B на стенде, $0) — «спот=локаль/
  рендер=облако» (G1-эскиз реестра рисков `06-memory-risk-registry`).
- **Память v2** (`memory.go`): Aho-Corasick, disposition, longest-match trust-gate (D39.2), сид-схема
  (`memseed.go`, глоссарий-yaml; поле gender одобрено владельцем 16.07 — транспорт в exp15-преп).
- **Сид v2 = ground truth** (57+ термов, алиасы, подписан владельцем) — детектор меряется против него
  (нашёл ли код то, что человек курировал). Данные черновиков УЖЕ есть ($0): 25-глав rerun
  (`records.json`, source+draft пары), артефакты exp14/exp15.
- **research/19 §B3-бис (W1.5):** глобальная пост-хок консолидация качественно бьёт онлайн-замок
  первого перевода (LTCR-отравление; BooookScore — иерархическая сборка > инкрементальной).
- **H15-аудит:** НЕ исследованы query-time context-recording, жанр-кондиционирование, сигналы/пороги/
  сведение. Web-fetch-тир (V4-п4) — за trust boundary D25.5 (Ф3), в дизайн заложить как слот, не строить.

## Вопросы пакета (ядро — из записки ресёрчера-19, ратифицировано)
**(а) Хватает ли ЧИСТОГО КОДА?** Спроектировать **2–3 ВАРИАНТА детерминированного детектора** (не один
дизайн; например: минимальный частотно-контрастный → +разброс переводов → +NER-паттерны) **с
trade-off-таблицей** (recall/precision/сложность/хрупкость порогов), и **тест recall/precision против
сида v2 — ДО любого LLM**; §D сравнивает варианты АРМАМИ против одного ground truth (все — код за $0;
выбор по данным, не «первый предложенный дизайн победил»). Сигналы: частота × PMI/termhood
(c-value-класс) × **разброс переводов в черновиках** (новый сигнал: сущность, которую draft-модель
переводит НЕконсистентно между чанками, — первый кандидат в банк) × NER-маркеры (титул/имя-паттерны).
Пороги, их устойчивость, честный протокол замера (train/test-раскол по главам, чтобы пороги не
подгонялись).
**(а-бис) Кластеризация алиасов — ЯВНАЯ отдельная подзадача (самое нетривиальное место
детерминированного пути).** 方源 / 方公子 / «четвёртый Фан» — поверхностно непохожие строки: по общим
иероглифам код кластеризует легко, титулы/прозвища — уже кореференция. Провести **честную границу**:
что кластеризует код (какими правилами, с какой ожидаемой ошибкой), что — слепая зона (г) для
LLM/локальной-9B, что остаётся человеку при подписи. Не схлопывать в одну фразу.
**(б) Канал «сноска переводчика» vs код-детектор vs гибрид** — по recall и цене (~$0.004 vs $0 vs
~$0.02/ранобэ — оценки ресёрчера-19, пере-верифицировать). Сноска: строгий разделитель, срез КОДОМ на
границе волн, **редактор её не видит**. ⚠ Проработать интеграционные точки канала сноски с
детерминированными гейтами — она затрагивает: sanitizer trailing-note класс (срез ДО санитайзера),
coverage/excision (сноска ≠ перевод — не в знаменатель), max_tokens-сайзинг (+токены сноски),
echo-гейт, request_hash/детерминизм (формат сноски версионируется). Перечислить ВСЕ.
**(в) Консолидация (W1.5):** выбор канона по ВСЕМ вхождениям (не первый-победил), кластеры алиасов +
пол, контексты вхождений + жанр (V4-п4), статус draft/подпись владельца — **дисциплина сида НЕ
меняется** (approved-инвариант, спорное = draft до подписи).
**(г) Слепые зоны кода — где нужен LLM:** консистентно-НЕВЕРНЫЙ перевод (сигнал разброса слеп, когда
модель стабильно ошибается — класс 蛊→«гусеницы»), полисемия 转-класса, редкие реалии. Для каждой зоны:
детектируема ли она дёшево (локальная 9B, exp06-паттерн) vs требует облачного судьи vs остаётся
человеку; спот=локаль/рендер=облако как рамка.

## Deliverable
`docs/research/20-bank-mining.md`: §A (заморожен: внешняя фактура — ATE/терм-майнинг, PMI/c-value,
bilingual terminology mining, translation-consistency сигналы, NER для литературного zh/ja) · §B (дифф
§A↔репо + **спеки 2–3 вариантов детектора с trade-off-таблицей** + явная подзадача алиас-кластеризации
с границей «код vs слепая зона (г)» + спека канала сноски) · §C (консолидация W1.5 + схема потока
данных до сида) · §D (**пре-рег дизайн полигон-эмпирики**: варианты детектора АРМАМИ по
recall/precision против сида v2 на СУЩЕСТВУЮЩИХ черновиках $0; арм-сравнение канала (б);
методология-guard D32.4) · §E (открытые вопросы владельцу/бэкенду).
Полигон исполняет §D отдельным промтом ПОСЛЕ exp15 (author≠reviewer).
