# `eval/pkg7/` — терминологическая ресёрч-программа (полигон, пакет-7) Инструменты фазы A. Отчёт с цифрами и вердиктами — `docs/archive/reports/POLYGON_TERM_RESEARCH_A_2026-07-26.md`. Всё здесь **$0**: ни одного вызова LLM-провайдера, ни одного чтения ключей. | Скрипт | Что делает | Заметки | |---|---|---| | `split_book.py` | книга → JSONL-субстрат `{chapter, chunk_idx, source}` | правила глав — ДАННЫЕ (`RULES`), добавить книгу = добавить строку; epub парсится stdlib (bs4/ebooklib в venv нет) и чистится от колонтитулов | | `minerharness/` | вызов БОЕВОГО `internal/miner` из модуля ВНЕ репо | `build.sh [commit]`; `replace` смотрит в `git archive`-копию коммита, а НЕ в рабочее дерево | | `mine_nonhan.py` | кандидаты-термы для en/ja тремя раздельными каналами | ORTHO · DISP · CONTRAST; кандзи сознательно без контраста (см. шапку) | | `kwic.py` | KWIC-контексты вхождения | разметка по тексту, а не по памяти; `--stats` даёт объём контекстов для сметы | | `seed_recall.py` | recall WHICH-канала против подписанного сида | майнер обязан гоняться с ПУСТЫМ сидом, иначе метрика вырождается | | `rubric_probe.py` | измеримость критериев рубрики на подписанном сиде | M1 морфология (pymorphy3) · M2 транскрипция · M3 коллизии банка | ## Правила, выученные на своих ошибках в этом пакете 1. **Пин обязателен.** Харнесс `replace`-ит копию коммита, не рабочее дерево: параллельная бэкенд-сессия правит `backend/` под руками, и прогон стал бы невоспроизводимым. Все цифры отчёта — на `996bade`. 2. **Ссылки `файл:строка` — по коммиту пина.** В рабочем дереве те же якоря уже уехали; первая редакция отчёта содержала номера строк рабочего дерева. 3. **Порог частоты и алфавит кандидатов — свойство ЯЗЫКА, не движка.** Японские названия техник живут на частотах 2–10 и в катакане/руби; ханьский n-граммный канал их не видит вовсе. 4. **Правило вершины словосочетания зависит от типа терма** (у имени вершина последняя, у нарицательного — первая). Морфо-чекер без этого правила меряет не то: первая версия `rubric_probe.py` склоняла «Вина» в «Монах Цветочного Вина». 5. **Контраст без опоры вырождается в частоту.** Ранжирование кандзи против словаря другого языка даёт log частоты, а не над-представленность; канал понижен до инвентаря. 6. **Отклонение методики — замерять, а не декларировать.** Нарезка здесь не боевая; свип целевого размера чанка (800/2000/6000) дал Жаккар 1.000 — только после этого цифры можно было предъявлять.