Land research/20 bank-mining with orchestrator review header: section-A hash reproduced, repo claims spot-verified, injection confound corroborated, hold-gate deviation accepted
This commit is contained in:
parent
bb4142f503
commit
994987d8b7
1 changed files with 793 additions and 0 deletions
793
docs/research/20-bank-mining.md
Normal file
793
docs/research/20-bank-mining.md
Normal file
|
|
@ -0,0 +1,793 @@
|
|||
# research/20 — Авто-формирование банка памяти книги из черновиков (W1.5 / банк-майнинг)
|
||||
|
||||
> **РЕВЬЮ-ШАПКА ОРКЕСТРАТОРА (17.07, лендинг D39.6).** Верификация: **§A-хеш воспроизведён байт-в-байт**
|
||||
> (awk-команда отчёта → `7687d56a…` MATCH); несущие репо-клеймы спот-проверены по file:line
|
||||
> (injectivityCollisions `memory.go:809+`, rubyToCandidates `memseed.go:314+`, isFinal-only санитайзер,
|
||||
> final_hash→сырой-чекпоинт на OK-пути — все сошлись с моим собственным чтением кода); **конфаунд
|
||||
> глоссарий-инъекции в records.json corroborated** (PROGRESS:151: rerun шёл с selective-инъекцией сида v2) —
|
||||
> это несущая находка отчёта, cold-start срез в §D обязателен. Внутренняя дисциплина сессии: свой пост-хок
|
||||
> адверсариал (~50 клеймов, 1 WRONG + 9 IMPRECISE исправлены ДО сдачи), claim-fidelity §A по первоисточникам.
|
||||
> **Отклонение HOLD-гейта ПРИНЯТО** (запуск прямым указанием владельца; рационал гейта — фокус полигона —
|
||||
> не нарушен: exp15 ещё не стартовал, полигон-стадия §D по-прежнему гейтится его завершением). Вердикт:
|
||||
> **ACCEPT**. §E-владельцу (мини-голд алиасов · бюджет ≤$5 · политика канона · жанр-паки · реплика ja→ru)
|
||||
> вынесены владельцу отдельно; §E-бэкенду — слоты дизайна, НЕ строить до итогов §D (ратифицировано D39.6).
|
||||
|
||||
**Сессия-ресёрчер, 2026-07-17.** Исполнение `docs/RESEARCHER_BANK_MINING_SESSION_PROMPT.md` (D39.3).
|
||||
Не закоммичено — лендит оркестратор.
|
||||
|
||||
> **⚠ ОТКЛОНЕНИЕ HOLD-ГЕЙТА (фиксирую честно):** промт требовал запуск ПОСЛЕ пре-рег фриза exp15
|
||||
> (первый коммит полигон-сессии). На момент старта сессии (2026-07-17) в истории git НЕТ ни одного
|
||||
> коммита полигон-сессии exp15 и нет `eval/exp15/` (проверено: `git log --oneline --all | grep exp15`
|
||||
> — только оркестраторские коммиты выдачи промтов; `ls eval/` — папки exp15 нет). Сессия запущена
|
||||
> прямым указанием владельца («Работай по этому промту»). Рационал гейта — «не разбавлять фокус
|
||||
> полигона» — работой отдельной ресёрч-сессии не нарушается; полигон-стадия §D по-прежнему гейтится
|
||||
> завершением exp15 (без изменений). Оркестратору при лендинге: подтвердить, что отклонение принято.
|
||||
|
||||
## Протокол анти-анкоринга (как research/18/19)
|
||||
|
||||
1. **§A (внешняя фактура) собран ДО чтения репо-стека сверх промта сессии.** Источники — только веб
|
||||
(WebSearch/WebFetch), мульти-агентно: 6 тем × (ресёрчер → адверсариальный верификатор claim-fidelity
|
||||
по первоисточникам, author≠reviewer). До заморозки §A из репо прочитано ТОЛЬКО: промт сессии,
|
||||
CLAUDE.md/MEMORY (системный контекст), `git log`/`ls eval` + греп `exp15` в PROGRESS.md (гейт-чек,
|
||||
одна строка статуса — не фактура).
|
||||
2. **Заморозка:** sha256 блока §A — от строки `## §A.` до строки-маркера `<!-- END §A (frozen) -->`
|
||||
включительно: `awk '/^## §A\./,/^<!-- END §A \(frozen\) -->/' docs/research/20-bank-mining.md | sha256sum`.
|
||||
Хеш зафиксирован ниже ДО чтения прайор-арта репо.
|
||||
3. Несущие клеймы §A прошли адверсариальную верификацию исполнением (агент-верификатор фетчил
|
||||
первоисточники); вердикты CORRECTED/REFUTED отражены в тексте, инфляция рамок срезана.
|
||||
|
||||
**§A-хеш (sha256, заморожен до чтения репо-стека):**
|
||||
`7687d56a9f8a07cff000ef8337ada09435614a93e7e6026c61b7106fe831cf08` (248 строк блока §A;
|
||||
зафиксирован 2026-07-16T23:01:46Z UTC, до открытия любого файла прайор-арта).
|
||||
|
||||
---
|
||||
|
||||
## §A. Внешняя фактура (заморожено)
|
||||
|
||||
### A0. Метод сбора и статус верификации
|
||||
|
||||
Собрано веб-only (WebSearch/WebFetch), 6 тем × независимый ресёрч-агент → адверсариальный
|
||||
верификатор claim-fidelity по первоисточникам (author≠reviewer; охота на овер-атрибуцию: верное
|
||||
число не из той статьи, реальный источник с завышенной рамкой). Статус: тема A1 (ATE-ядро) —
|
||||
первый верификатор вернул заглушку, проведена повторная независимая верификация отдельным
|
||||
агентом: 9/11 CONFIRMED, 2 CORRECTED (Velardi: 3.2M слов — общий объём коллекции, включая
|
||||
200k туризма, т.е. ~3.0M вне-доменных; Marciniak: «SOTA 0.59» — овер-атрибуция, 0.59 в статье =
|
||||
Kappa аннотаторов). Темы A2–A6 — 49/54 несущих клеймов CONFIRMED дословно по первоисточникам,
|
||||
5 CORRECTED, 0 REFUTED. Все цифры ниже — в пост-коррекционном виде.
|
||||
|
||||
### A1. Статистическое ATE: меры и измеренный потолок
|
||||
|
||||
- **Unithood vs termhood** (Kageura & Umino 1996, Terminology 3(2)): каноническая декомпозиция —
|
||||
unithood (устойчивость последовательности; PMI/LLR/вложенность) и termhood (доменная
|
||||
специфичность; контраст с референс-корпусом). $0-экстрактор должен скорить их раздельно.
|
||||
- **C-value/NC-value** (Frantzi, Ananiadou & Mima 2000, Int. J. Digital Libraries 3(2):115–130):
|
||||
C-value(a) = log₂|a|·f(a) для невложенных; для вложенных — log₂|a|·(f(a) − (1/P(Tₐ))·Σ_{b∈Tₐ} f(b)).
|
||||
Вклад — обработка вложенных многословных термов (дисконт частоты подстроки на среднюю частоту
|
||||
содержащих кандидатов). Оригинальная оценка (глазная патология, 810 719 слов, порог частоты 3):
|
||||
+6–8% precision против частотного ранжирования глобально, +31–38% на вложенных кандидатах;
|
||||
NC-value (0.8·C + 0.2·контекст-веса) добавляет ~5% в топ-интервалах. Всё ниже частоты 3 не
|
||||
скорится вовсе.
|
||||
- **PMI-патология** (Church & Hanks 1990, CL 16(1)): сами авторы объявили меру нестабильной и
|
||||
исключили пары с f(x,y) ≤ 5 — канонический предел снизу. **LLR** (Dunning 1993, CL 19(1)):
|
||||
count-based MI систематически переоценивает связь редких событий; G²-тест валиден на малых
|
||||
счётчиках — стандартная замена PMI для низкочастотных кандидатов.
|
||||
- **Контрастные меры termhood:** weirdness = (w_s/t_s)/(w_g/t_g) (Ahmad, Gillam & Tostevin,
|
||||
TREC-8 1999) — у контент-слов частота в общем корпусе «low or potentially zero», т.е. OOV-имена
|
||||
и неологизмы попадают в вырожденный режим бесконечной weirdness (для именного фикшн-майнинга
|
||||
это скорее эксплуатируемая фича, чем баг — но требует сглаживания). Domain Relevance (нормированная
|
||||
условная вероятность против контраст-корпусов) + Domain Consensus (энтропия распределения терма
|
||||
по документам домена) — Velardi, Missikoff & Basili 2001 (ACL W01-1005; контраст ~200k-словного
|
||||
туристического корпуса против мульти-доменной коллекции ~3.2M слов total, из них ~3.0M
|
||||
вне-доменных).
|
||||
- **Измеренный потолок (ACTER/TermEval 2020**, Rigouts Terryn et al., CompuTerm 2020**):** 3 языка
|
||||
(en/fr/nl), 4 домена, 119 455 аннотаций термов+NE (19 002 уникальных) на ~596k слов. Протокол
|
||||
против подгонки порогов — кросс-доменный holdout (тюнинг на 3 доменах, финальный скор только на
|
||||
отложенном heart-failure). Итог: классическая статистическая система (e-Terminology/TBXTools)
|
||||
F1 ≈ 0.14–0.21; лучший BERT-классификатор кандидатов 0.467 (en) / 0.481 (fr); Dutch-победитель
|
||||
0.187. Sequence-labeling XLM-R позже поднял до 0.583 (en) / 0.576 (fr) / 0.698 (nl; трансфер
|
||||
en→nl), +11.6 F1 против кандидат-классификации в тех же условиях (Lang et al., Findings of
|
||||
ACL-IJCNLP 2021). Аудит Marciniak, Rychlik & Mykowiecka (Natural Language Processing, CUP;
|
||||
онлайн 08.2025, том 32/2026): ATE не «решён» и трансформерами — их лучшее 0.58 F1 с NE
|
||||
(0.46 без NE) на ACTER heart failure, что авторы называют сопоставимым с диапазоном ~0.6;
|
||||
но режим ошибок инвертирован — трансформеры извлекают редкие в тексте термы (где частотные
|
||||
меры слепы по построению), а ошибки концентрируются на частых общеязыковых частях термов и
|
||||
run-to-run нестабильности (+10% трейн-данных иногда значимо ухудшали результат).
|
||||
- **Калибровка к нашей задаче:** цифры ACTER — для исчерпывающей выгрузки всех термов корпуса
|
||||
против полной аннотации; банк книги таргетирует существенно более узкий класс (салиентные
|
||||
повторяющиеся сущности), т.е. это floor-калибровка «чистый статистический ATE = шумный список
|
||||
кандидатов, не глоссарий», а не прямой прогноз нашего recall/precision.
|
||||
|
||||
### A2. Билингвальный терм-майнинг из параллельных пар
|
||||
|
||||
- **Статистическое выравнивание слабо именно на zh-en:** fast_align/IBM Model 4 дают AER 44.1/45.8
|
||||
на FBIS zh-en против ~10–17 на fr-en в той же работе (Dyer, Chahuneau & Smith, NAACL 2013).
|
||||
Нейральные выравниватели втрое лучше: awesome-align — zh-en AER 18.1 без файнтюна / 13.4 с
|
||||
мультиязычным файнтюном (Dou & Neubig, EACL 2021; тест TsinghuaAligner — с fast_align напрямую
|
||||
не сопоставим). SimAlign (Jalili Sabet et al., Findings of EMNLP 2020) работает вовсе без
|
||||
параллельного обучения (en-de F1 0.81 против eflomal 0.76), но **zh-en не оценивался**.
|
||||
- **Терм-пары из выровненного корпуса:** TExSIS (Macken, Lefever & Hoste 2013, Terminology 19(1)) —
|
||||
точность выравнивания есть критическая зависимость всего пайплайна; двусторонняя (билингвальная)
|
||||
фактура даёт precision выше монолингвальной. TermEnsembler (Repar et al. 2019, Terminology 25(1),
|
||||
en→sl — морфологически богатый славянский таргет): precision >96% на топ-400 ранжированных пар —
|
||||
верхняя планка ранжированного списка на чистых человеческих параллельных данных.
|
||||
- **Без выравнивания:** Champollion (Smadja, McKeown & Hatzivassiloglou 1996, CL 22(1)) — Dice
|
||||
ко-оккуренция, 65–78% точности (среднее 73%). Транслитерационный майнинг имён en-zh без
|
||||
параллельности: фонетика одна — CoreMRR 0.637, корреляция частоты по времени — 0.824,
|
||||
комбинация — 0.875 (Tao et al., EMNLP 2006) — фонетическое сходство юзабельно только как
|
||||
вторичный сигнал в комбинации с частотно-распределительным.
|
||||
- **Comparable corpora — не наш масштаб:** Rapp (ACL 1999): 72% top-1 на 100 словах потребовали
|
||||
135M+163M слов моноязычных корпусов и сид-словарь 16 380 статей.
|
||||
- **Сегментация zh — конфаунд:** Chang, Galley & Manning (WMT 2008) — сегментер с более высокой
|
||||
собственной F даёт худший MT из-за неконсистентной сегментации того же слова по контекстам;
|
||||
char-level хуже word-level (30.28 vs 32.09 BLEU); оптимальна гранулярность короче CTB (+0.73).
|
||||
Для новелл сегментация деградирует из-за книго-специфичного словаря сущностей, и майнинг
|
||||
сущностей улучшает сегментацию (связь двусторонняя — Qiu & Zhang, AAAI 2015, в A4).
|
||||
- **Русская сторона — лемматизация значима:** морфо-осведомлённое выравнивание даёт наибольший
|
||||
выигрыш на малых корпусах и простых моделях (IBM-1 AER 27.5→24.8 на 0.5k предложений;
|
||||
Popović & Ney, COLING 2004) — агрегировать пары надо по леммам таргета.
|
||||
- **Дыра в литературе:** работ, майнящих терминологию именно из ЧЕРНОВИКОВ MT (не человеческих
|
||||
референсов), не найдено — «шум черновика ломает/не ломает выравнивание» внешне не установлено.
|
||||
|
||||
### A3. Разброс переводов как сигнал — и его слепая зона
|
||||
|
||||
- **LTCR** (Lyu, Li, Gong & Zhang, EMNLP 2021): доля совпадающих пар среди C(k,2) переводов
|
||||
источника, повторённого k раз в документе. Референсы консистентны: 74.24% zh→en (существительные
|
||||
80.98%; прилагательные 81.77% — формально чуть выше, вопреки прозе статьи), sentence-level NMT —
|
||||
43.13% (сущ. 50.74%), т.е. **~половина повторных вхождений переводится по-разному** уже на
|
||||
новостном корпусе (LDC2015T06).
|
||||
- **One translation per discourse** (Carpuat, SEW-2009): в человеческих переводах >80% лемм имеют
|
||||
один перевод на документ, >98% — не более двух; нарушения гипотезы «can reveal lexical choice
|
||||
errors» (предварительное исследование, не масштабная валидация).
|
||||
- **Слепая зона задокументирована** (Carpuat & Simard, WMT 2012): (1) ~40% неконсистентно
|
||||
переведённых типов фраз вовсе не потребовали постредактуры — benign-вариативность, т.е.
|
||||
ложноположительные для детектора; (2) более слабая zh-en система (23.6 BLEU) оказалась БОЛЕЕ
|
||||
консистентной, чем сильная (27.2) — «consistency can signal a lack of coverage»: **стабильность
|
||||
≠ правильность, стабильно-неверный перевод структурно невидим для сигнала разброса**.
|
||||
Дополнительно LREC-COLING 2024 (310 статей zh→en): аннотаторам пришлось делить консистентность
|
||||
на true/false — наивный детектор «тот же источник ⇒ тот же перевод» систематически оверфлагает.
|
||||
- **Именно на вебновеллах сигнал обилен:** DelTA (Wang et al., ICLR 2025, arXiv:2410.08143) вводит
|
||||
LTCR-1 (совпадение с ПЕРВЫМ переводом имени собственного в документе): sentence-by-sentence
|
||||
LLM-бейзлайны на GuoFeng zh→en — 37.00 (Qwen2-7B) / 58.00 (Qwen2-72B) / 58.82 (GPT-4o-mini) /
|
||||
61.58 (GPT-3.5), т.е. **38–63% повторных упоминаний имён расходятся с первым переводом**; память
|
||||
имён поднимает до 85.5–88.9 и улучшает COMET (+3.14/+3.16). Издержка неверного первого перевода
|
||||
НЕ измерялась; пост-хок глобальная реконсиляция НЕ тестировалась.
|
||||
- **Жанровая валидация класса ошибки:** WMT23 Discourse-Level Literary Translation (GuoFeng
|
||||
Webnovel: 1.9M пар, 179 новелл, 22.6K глав, 14 жанров; Wang et al., arXiv:2311.03127) кодифицирует
|
||||
«Terminology / Inconsistent» как MQM-класс с примером 斗罗大陆 → «Douluo Land» в первых главах,
|
||||
затем «Soul Land». WMT24 добавил zh→ru (GuoFeng V2: 122 книги, ~20.0K глав, 23.5M слов; цитировать
|
||||
arXiv:2412.11732 — ACL-версия усечена), но zh-ru «референсы» = GPT-4 doc-level + человеческая
|
||||
пост-редактура, и human error-analysis для zh-ru не проводился — опубликованной энтити-эмпирики
|
||||
zh-ru вебновелл НЕТ.
|
||||
- **Метрики терм-точности WMT** требуют готового словаря: WMT21 — lemmatized exact match, window
|
||||
overlap, 1-TERm; WMT23 — fuzzy search с порогом 90% (регэксп-матчинг явно отвергнут, лемматизация
|
||||
не описана) + предостережение: выигрыш от словаря сопоставим с «утечкой» эквивалентного объёма
|
||||
информации из референса (Semenov et al., WMT 2023).
|
||||
- **Контекст уменьшает, но не убирает:** Karpinska & Iyyer (WMT 2023): paragraph-level LLM-перевод
|
||||
даёт меньше mistranslations/стилевых инконсистентностей, чем sentence-level, но критические
|
||||
ошибки (включая пропуски) остаются (18 языковых пар, литературные фрагменты).
|
||||
- **Дыра в литературе:** «стабильно-неверный перевод редких неологизмов» (класс 蛊→«гусеницы») как
|
||||
отдельно изученный феномен не найден — ближайшее это generic rare-word/NE-mistranslation и
|
||||
hallucination-детекция; готового внешнего решения для слепой зоны (г) нет.
|
||||
|
||||
### A4. NER на литературном zh/ja
|
||||
|
||||
- **Трансфер news→fiction проваливается с числами:** LitBank (Bamman, Popat & Shen, NAACL 2019):
|
||||
ACE/news-модель 45.7 F1 на литературе vs 68.3 при in-domain обучении (>20 пунктов). Китайские
|
||||
новеллы (Zhao et al., arXiv:2311.15509: 260 новелл, 13 жанров, 263 135 сущностей): in-domain
|
||||
BERT-BiLSTM-CRF MicroF1 86.73 (PER 87.72 / LOC 85.41 / ORG 79.09), но People's Daily→новеллы —
|
||||
MicroF1 42.91 и **ORG F1 0.47%**; OOV LOC даже in-domain — 31.63. Кросс-жанрово тоже лосси
|
||||
(ORG на Reality: 39.13 при обучении на Xianxia vs 31.44 на Wuxia). GenWebNovel (Zhao et al.,
|
||||
COLING 2025; 400 глав, XuanHuan/History): сущности между жанрами «share few overlaps».
|
||||
- **Инструменты из коробки — news-trained и без фикшн-цифр:** HanLP zh-NER — все модели MSRA
|
||||
(in-domain F1 95.16, фикшн не мерился); spaCy zh_core_web_lg — OntoNotes 5, ENTS_F 71.39
|
||||
in-distribution. Т.е. деградация на новеллах у вендоров не измерена, выводится из трансфер-работ
|
||||
выше.
|
||||
- **Правила для китайских имён — высокий recall:** surname-anchored правила + статистика
|
||||
(Cao et al., ISCSLP 2002): P 83.66 / R 93.50 (⚠ мягкие числа: внутренняя арифметика статьи
|
||||
неконсистентна, тест — People's Daily, не фикшн; но класс «фамильный якорь + bound words»
|
||||
как high-recall PERSON-канал поддержан). Структура эксплуатируема кодом: инвентарь фамилий
|
||||
(百家姓), титулы/гоноративы-суффиксы (公子/大人/前辈/长老), префиксы 老/小/阿 + порядковые.
|
||||
- **Сегментация ↔ сущности связаны** (Qiu & Zhang, AAAI 2015): сегментация деградирует на новеллах
|
||||
из-за книго-специфичного словаря; майнинг именных сущностей (double-propagation) и подача их в
|
||||
news-сегментер значимо улучшает точность, особенно OOV, на 5 новеллах.
|
||||
- **Японский:** GiNZA v5 — NER обучен на GSK2014-A (BCCWJ-издание БЕЗ газетных документов, т.е.
|
||||
книжные регистры в трейне), ENE 53.9–70.8 по вариантам; фикшн-детекция персонажей — активная,
|
||||
но proceedings-уровневая область (ANLP 2024, D3-6, Нагоя).
|
||||
- **Малые локальные модели:** GLiNER (50M–300M; NAACL 2024) бьёт ChatGPT zero-shot на en OOD
|
||||
(60.9 vs 47.5 avg F1), но **zh MultiCoNER — всего 24.3 (мульти-вариант) / 6.59 (en-вариант)** —
|
||||
не дроп-ин для китайского источника. UniversalNER 7B/13B (ICLR 2024): avg zero-shot F1 41.7/43.4
|
||||
vs 34.9 у учителя gpt-3.5-turbo (43 датасета; «7–9 пунктов» аннотации покрывает оба размера).
|
||||
|
||||
### A5. Кластеризация алиасов персонажей
|
||||
|
||||
- **BookNLP: правила только для PROP-слоя, by design.** Генерация допустимых вариантов имени
|
||||
(Mr. Tom Sawyer → Tom/Sawyer/Mr. Sawyer/…) + жадная привязка к последней активной сущности
|
||||
(Bamman, Underwood & Smith, ACL 2014); common NP (титулы/эпитеты «the boy») в именные кластеры
|
||||
НЕ мержатся — полная свободная кореференция на масштабе книги «tends to erroneously conflate
|
||||
multiple distinct entities into one» (README BookNLP; собственный coref avg F1 76.4/79.0).
|
||||
~74% упоминаний персонажей в книгах — местоимения (82.7% точность их резолюции, 10-fold CV).
|
||||
- **Мера масштаба слепой зоны:** в LitBank-кореференции (Bamman, Lewke & Mansoor, LREC 2020)
|
||||
PROP-упоминания — лишь 12.2%, NOM (титулы/эпитеты/роли — класс «四代族长») — 33.5%, PRON — 54.3%.
|
||||
Строковые правила по построению достают только PROP-слой. Потолки кореференции: OntoNotes-модель
|
||||
теряет 10.3 пункта на литературе (83.2→72.9 gold mentions); in-domain LitBank — 79.3 (gold) /
|
||||
**68.1 (predicted mentions, end-to-end)**.
|
||||
- **Прецизионно-безопасный инвентарь правил** (Vala, Jurgens, Piper & Ruths, EMNLP 2015): графовый
|
||||
алиас-резолвер — стриппинг гоноративов, газеттир гипокоризмов (1 859 форм / 560 имён), и главное
|
||||
НЕГАТИВНЫЕ констрейнты (разный инференс-пол; общая фамилия при разных именах; разные гоноративы;
|
||||
ко-презенция в сочинении/диалоге ⇒ не мержить). P&P: F1 0.758 vs BookNLP 0.502. Ролевые
|
||||
референты («the governor») потребовали отдельного bootstrap-этапа (2 073 глагол-зависимостных
|
||||
пар) — и это только ДЕТЕКЦИЯ, не привязка к именованному персонажу.
|
||||
- **Линк-метрики льстят кластеризации:** rule-sieve кореференция на 48 немецких новеллах (Krug
|
||||
et al., CLfL@NAACL 2015): MUC F1 85.5 — но entity-level B³ лишь 56.0; крупнейший класс ошибок
|
||||
(37%) — «semantic errors», требующие знания мира (ровно класс титул-идентичности). Их
|
||||
fuzzy-дистанция для прозвищ — прецизионно-рисковый проход.
|
||||
- **zh-новеллы: оценённого бейзлайна не найдено.** Характерная работа (Fan & Li 2022, Comput.
|
||||
Intell. Neurosci.: 红楼梦 265 персонажей, 三国演义 1 133, два романа Цзинь Юна) мержит
|
||||
姓名/绰号/简称 неоценёнными ручными правилами — P/R алиас-мержа не репортится (обобщать «нигде
|
||||
в литературе нет» нельзя, но в найденном — нет). Ближайший якорь: in-domain NER китайской
|
||||
литературы (Xu et al., arXiv:1711.07010) — Person F1 85.00 (CRF-эра).
|
||||
- **$0-строковое сходство:** канонический бенч имён (Cohen, Ravikumar & Fienberg, KDD-WS 2003):
|
||||
SoftTFIDF «best overall», но ранжирование датасето-зависимо (на census Levenshtein 0.832 >
|
||||
SoftTFIDF 0.685) — метрику без валидации не выбирать; для коротких CJK-строк токенные компоненты
|
||||
вырождаются в перекрытие иероглифов (наш вывод, не источника).
|
||||
|
||||
### A6. LLM-ATE, гибриды, консолидация
|
||||
|
||||
- **LLM ≈ но не > файнтюн-PLM на ATE:** промптед 7–9B с retrieval few-shot — до F1 60.2 (Gemma-2)
|
||||
на кросс-доменном ACTER vs RoBERTa-large 61.2; in-domain PLM выше (Findings of ACL 2025,
|
||||
arXiv:2506.21222). На редких литературных сущностях (Zibaldone, arXiv:2505.20113): файнтюн-GLiNER
|
||||
68.98 vs LLaMa3.1-8B generative 30.71 — **LLM-ICL вдвое хуже файнтюна компактной модели**.
|
||||
- **Порядок «high-recall код → LLM-фильтр» поддержан, но слабо:** RATE (arXiv:2507.21125):
|
||||
кандидаты с высоким recall + LLM-валидация по мульти-дефинициям — F1 91.27 vs BERT 53.73
|
||||
(голд всего 70 статей, BCI+XR — сигнал о порядке стадий, не переносимая цифра).
|
||||
- **Иерархическая консолидация > инкрементальной — с оговорками:** BooookScore (Chang, Lo, Goyal
|
||||
& Iyyer, ICLR 2024; 100 книг, 1 193 аннотации): когерентность GPT-4 89.1 (hierarchical) vs 82.5
|
||||
(incremental), НО по детальности инкрементальная предпочтена 83% vs 11% (overall — лишь 54/44,
|
||||
и Claude-2 на 88K-чанках — исключение: 90.9 incremental). Мерилась когерентность САММАРИ —
|
||||
к реконсиляции глоссария переносится аналогией, с явным recall-риском на верхних уровнях мержа.
|
||||
- **First-wins работает онлайн, пост-хок реконсиляция не проверена:** DelTA (см. A3) фиксирует
|
||||
первый перевод имени и этим ПОДНИМАЕТ и консистентность, и COMET — но цену неверного первого
|
||||
выбора не мерил никто, и глобальный пост-хок пересбор не тестировался. Внешней эмпирики
|
||||
«глобальная реконсиляция качественно бьёт first-wins» НЕТ — это остаётся нашей проверяемой
|
||||
гипотезой, а не заимствованным фактом.
|
||||
- **In-band разметка от переводчика не валидирована внешне:** опубликованных воркфлоу, где
|
||||
переводчик-LLM сам эмитит терминологические сноски in-band с измеренными echo/leakage-рейтами,
|
||||
не найдено. Ближайшее предостережение: жёсткие форматные констрейнты измеримо деградируют
|
||||
качество генерации, чем строже — тем хуже (Tam et al., EMNLP 2024 Industry, arXiv:2408.02442).
|
||||
Инжекция терминологии в MT (Dinu et al. 2019 и линия WMT21) — про ВХОД, не про эмиссию.
|
||||
- **Дыры:** количественного hallucinated-term rate для LLM-ATE на ACTER не найдено (только
|
||||
качественные упоминания); prompt-sensitivity-исследования ATE существуют (TSD 2024, LlamATE),
|
||||
но их дельты за пейволлом — не верифицированы.
|
||||
|
||||
### A7. Сводка ориентиров для дизайна (из внешней фактуры)
|
||||
|
||||
1. Чистый статистический ATE даёт шумный список кандидатов, не глоссарий: на честном кросс-доменном
|
||||
протоколе статистика = F1 0.14–0.21, и даже SOTA seq-labeling ~0.58–0.70. Но это floor-калибровка
|
||||
исчерпывающей выгрузки; таргет «салиентные повторяющиеся сущности книги» заведомо легче.
|
||||
2. Частотные меры структурно слепы к редкому (C-value порог 3, PMI f≥5): редкие алиасы и
|
||||
одноразовые реалии — не их зона; там нужны паттерны/seq-labeling/сигнал разброса/LLM.
|
||||
3. Сигнал разброса переводов внешне валидирован и на вебновеллах обилен (38–63% повторных имён
|
||||
расходятся с первым переводом; MQM-класс WMT23). Его две измеренные слабости: ~40%
|
||||
инконсистентностей benign (оверфлаг) и полная слепота к стабильно-неверному переводу.
|
||||
4. NER news-инструменты на новеллах рушатся (ORG 0.47%); правила «фамильный якорь + титульный
|
||||
суффикс» — high-recall PERSON-канал; OOV-реалии (LOC/ORG/артефакты) — главная дыра recall.
|
||||
GLiNER — не дроп-ин для zh (24.3); UniversalNER-класс (7B+) на грани 8GB-GPU.
|
||||
5. Кластеризация алиасов распадается на два слоя: PROP-слой (общие иероглифы/токены, титул-стрип,
|
||||
негативные констрейнты) — решаемо правилами с известной ошибкой; zero-overlap слой (титулы,
|
||||
эпитеты, «四代族长») — NOM-класс, за пределами строковых правил by design, кореференция
|
||||
end-to-end ~68 F1 in-domain и хуже кросс-доменно.
|
||||
6. Для zh-ru пар: статистическое пословное выравнивание слабо на zh-* (AER 44–46), нейральный
|
||||
выравниватель или co-occurrence (Dice) предпочтительнее; сегментация zh — конфаунд; русскую
|
||||
сторону агрегировать по леммам (наибольший эффект именно на малых корпусах).
|
||||
7. Иерархическая/глобальная консолидация поддержана аналогией (BooookScore) с recall-оговоркой;
|
||||
first-wins-банк уже помогает онлайн (DelTA), но превосходство пост-хок реконсиляции над
|
||||
first-wins эмпирически не установлено нигде — требует нашей собственной проверки.
|
||||
8. Гибрид «дешёвые high-recall кандидаты кодом → дорогая точная фильтрация» согласуется с внешней
|
||||
фактурой (RATE; инверсия ошибок статистика↔трансформеры у Marciniak 2025: они закрывают слепые
|
||||
зоны друг друга). Малая локальная модель как экстрактор/фильтр валидна для en, для zh —
|
||||
без in-domain адаптации не подтверждена.
|
||||
9. In-band сноска переводчика — внешне не валидированный канал; форматные констрейнты имеют
|
||||
измеренную цену качества. Echo/leakage-рейты придётся мерить самим.
|
||||
|
||||
<!-- END §A (frozen) -->
|
||||
|
||||
---
|
||||
|
||||
## §B. Дифф §A↔репо · варианты детектора · алиас-кластеризация · канал сноски
|
||||
|
||||
### B0. Дифф внешней фактуры и репо
|
||||
|
||||
**Что в репо уже есть (сторона ПОТРЕБЛЕНИЯ банка — построена и захардена):** детерминированный
|
||||
матчер Aho-Corasick по нормализованным src+алиасам (`memory.go:535-635`, floors Han≥2/фонетика≥3
|
||||
`memory.go:57-69`), трёхходовая диспозиция CONFIRMED/AMBIGUOUS/REJECT (`memory.go:89-93`),
|
||||
trust-gated longest-match (memmatch-v4, `memory.go:699-724`), статусы `auto|draft|approved` с
|
||||
фейл-лаудами на полисемию/коллизии ключей (`memseed.go:161-181, 201-237`), пост-чек с
|
||||
decl-формами (`mempostcheck.go:77-117`), телеметрия retrieval_state. **И готовый ja-аналог
|
||||
майнинга:** ruby→auto-кандидаты (`memseed.go:314-359`) — детерминированная генерация, класс-хинт,
|
||||
`status=auto` без dst (в автомат не входит — инертно), промоушен только через гейт
|
||||
(батч-судья/человек), никогда автоматически. Майнинг zh из
|
||||
черновиков — ровно недостающий зеркальный канал; его выход ложится в СУЩЕСТВУЮЩУЮ схему
|
||||
(`store.GlossaryEntry`: Source, Confidence, RubyClass-аналог — `store/glossary.go:18-48`) без
|
||||
изменения дисциплины сида.
|
||||
|
||||
**Дифф по пунктам:**
|
||||
|
||||
| Внешняя фактура (§A) | Репо | Следствие для дизайна |
|
||||
|---|---|---|
|
||||
| Статистический ATE исчерпывающе слаб (F1 0.14–0.21 кросс-доменно), но наш таргет — узкий класс салиентных повторяющихся сущностей (§A1) | Сид v2 = 57 термов на 25 глав; ~62.5% document-level ошибок вебновелл — сущности/термины, все банко-адресуемы (research/19:559-568) | Гипотеза №1 владельца правдоподобна именно из-за узости таргета; мерить против сида, не против «всех термов корпуса» |
|
||||
| Сигнал разброса валидирован: 38–63% повторных имён расходятся с первым переводом на вебновеллах (§A3) | records.json: 57 чанков (source, draft, final), черновики deepseek-v4-flash | ⚠ КОНФАУНД: черновики генерились С инъекцией сида (budget 800, `pipeline-rerun.yaml:19-24`) — разброс на GT-термах подавлен самим банком; см. §D-поправку (cold-start срез) |
|
||||
| Слепота разброса: ~40% инконсистентностей benign; стабильно-неверный невидим (§A3) | Реестр рисков это предвидел: B1 «first-wins порождает drift» ❌, F5 коррелированный судья (`06-memory-risk-registry.md:36,77`) | Зона (г) без внешнего готового решения — нужна своя эмпирика; спред-сигнал = recall-канал, не пруф корректности |
|
||||
| Алиасы: правила достают только PROP-слой; zero-overlap = NOM-класс вне правил by design (§A5) | B3 реестра: типизированный alias-граф + name-tables; сид хранит алиасы как поверхности терма (2 fullname-алиаса всего) | Двухъярусная граница §B2; ГТ алиасов в сиде ТОНКИЙ (2 шт.) — для замера а-бис нужен мини-голд (§E-1) |
|
||||
| Выравнивание: статистическое слабо на zh (AER 44–46), нейральное лучше; лемматизация ru-стороны критична на малых корпусах (§A2) | Пар (source, draft) на чанк уже даёт грубое выравнивание бесплатно (границы чанков); exp06: спот=локаль/рендер=облако+таблица Палладия (G1, `06-memory-risk-registry.md:83`) | Для книги хватает чанк-уровневой ко-оккуренции (Dice/LLR) + Палладий-детектор на ru-стороне; пословный алайнер — оверкилл, в дизайн не тащим |
|
||||
| Пост-хок реконсиляция vs first-wins эмпирически НЕ доказана внешне (§A6) | research/19:550-553 выводит W1.5 из LTCR-отравления + BooookScore (аналогия) | Честный статус: W1.5-превосходство — НАША проверяемая гипотеза; §D меряет её суррогат (canon-recovery) |
|
||||
| LLM-ATE ≈ но не > файнтюна; гибрид high-recall-код → LLM-фильтр поддержан слабо (RATE) (§A6) | exp06: локальный спот recall 0.98–1.0, halluc 0 ($0 на стенде); рендер zh локально 0.26 | Маршрут зон (г): локальная 9B = верификатор/споттер, облако = рендер/адъюдикация топ-N, человек = подпись (§B4) |
|
||||
| In-band разметка от переводчика внешне не валидирована; форматные констрейнты имеют цену (§A6) | Санитайзер v6: trailing-note класс — прямой блокер (`sanitizer.go:236-251` worktree); прецеденты: gloss-whitelist v6, derived-checkpoint `tm-sanitized-v1` (`stagerun.go:225-242`) | Канал сноски проектируем как «срез кодом ДО всех гейтов + derived checkpoint» (§B3); echo/parse-rate мерим сами (§D-арм) |
|
||||
| H15-рычаги: query-time context-recording и жанр-кондиционирование нигде не диспозиционированы | Жанр есть только как brief-var перевода (H15-верификатор, `08-sync-audit-ledger.md:473`) | Детерминированная версия обоих рычагов встроена в §C: KWIC-контексты в evidence-карту кандидата; жанровые лексикон-паки как конфиг детектора V-C |
|
||||
| Web-fetch тир для трудных термов (V4-п4) | За trust boundary D25.5 (Ф3), `05-decisions-log.md:311` | В схеме кандидата — флаг-слот `needs_external_lookup`, НЕ строим |
|
||||
|
||||
### B1. Три варианта детерминированного детектора (арм-лестница для §D)
|
||||
|
||||
Общий субстрат всех вариантов ($0, Go или Python-полигон): кандидаты = **символьные n-граммы
|
||||
1–6 Han** по источнику (НЕ пословная сегментация — она сама деградирует на новеллах и вносит
|
||||
конфаунд, §A2/Qiu&Zhang; вложенность разруливаем c-value-дисконтом; ⚠ для |a|=1 длиновой
|
||||
множитель log₂|a| вырожден в 0 — использовать log₂(|a|+1) либо чистый частотный nested-дисконт
|
||||
без длинового множителя, иначе одночарные кандидаты (蛊, 转) зануляются и катастроф-скрин §D4-в
|
||||
непроходим by construction; вдобавок вхождения 蛊 почти всегда вложены в 蛊师/蛊虫/月光蛊 —
|
||||
nested-дисконт по нему бьёт сильнее всех, скрин это специально проверяет), нормализация
|
||||
memnorm-симметричная (`memnorm.go:104-124`); частотный floor=3 (§A1: ниже — не скорится, это
|
||||
осознанная слепота варианта, закрываемая V-C-паттернами и зоной (г)); подсчёт вхождений
|
||||
GT-термов — Aho-Corasick БЕЗ suppressContained (урок D24.2: вложенный алиас не должен
|
||||
проглатываться при подсчёте).
|
||||
|
||||
**V-A «частотно-контрастный минимум».** Сигналы: freq × контраст с общим zh-корпусом
|
||||
(weirdness-класс, §A1; референс — открытый частотник zh, версионируется как артефакт детектора)
|
||||
× c-value-дисконт вложенных n-грамм × LLR вместо PMI для редких (§A1: PMI нестабилен при f≤5).
|
||||
Выход: ранжированный список src-кандидатов без dst. Порог: top-K + floor.
|
||||
- Ожидание по §A: высокий recall на частотном ядре (蛊师/古月/元石-класс), шум на частых
|
||||
свободных сочетаниях; редкое и zero-overlap — мимо; dst не даёт.
|
||||
|
||||
**V-B = V-A + разброс переводов в черновиках (новый сигнал пакета).** Для каждого кандидата X:
|
||||
чанки-вхождения {i}; на ru-стороне черновиков этих чанков ищем сверхпредставленные (Dice/LLR
|
||||
против остальных чанков) леммы/биграммы — лемматизация ru обязательна (§A2 Popović&Ney;
|
||||
pymorphy3 на полигоне); доминантный кандидат-рендеринг на чанк → LTCR-стиль разброс между
|
||||
чанками. Скор V-B = V-A-скор × (1 + λ·spread). Выход дополнительно: **список dst-вариантов с
|
||||
частотами** — сырьё канона §C.
|
||||
- Ожидание по §A: +recall на сущностях, которые модель переводит нестабильно (38–63% имён);
|
||||
оверфлаг benign-вариативности (~40% внешне) — режется на консолидации, не в детекторе;
|
||||
слеп к стабильно-неверному (зона Z1). Спец-мицигация вездесущих термов (方源 почти в каждом
|
||||
чанке — контраст «чанки с X vs без X» вырождается): внутричанковое пропорциональное
|
||||
выравнивание предложений (черновик идёт по порядку источника — грубое соответствие
|
||||
предложение↔предложение достаточно для со-оккуренции).
|
||||
|
||||
**V-C = V-B + NER-паттерны и структурная морфология (жанровый рычаг).** Каналы: (1) фамильный
|
||||
якорь — инвентарь 百家姓 + окно 1–2 Han справа (§A4 Cao: high-recall PERSON); (2) титульные
|
||||
суффиксы/префиксы (公子/大人/长老/前辈/族长/嬷嬷; 老/小/阿/порядковые 四代-класс); (3)
|
||||
топо-суффиксы (山/寨/村/疆/谷); (4) **продуктивная морфология книги**: Han-символ, комбинирующийся
|
||||
с ≥m разными n-граммами (蛊 в 蛊师/蛊虫/月光蛊… — авто-обнаружение доменного форманта, не
|
||||
хардкод 蛊); (5) **Палладий-детектор на ru-стороне**: токены черновика, распознаваемые
|
||||
слог-таблицей Палладия (фан/юань/гуюэ…) = модель сочла это именем → обратный маппинг в
|
||||
источник-чанк (высокоточный спот имён С ГОТОВЫМ dst-вариантом); (6) жанровый лексикон-пак как
|
||||
конфиг (сянься/уся/исекай-паки суффиксов; детерминированное жанр-кондиционирование = H15-рычаг).
|
||||
Кандидаты типизируются (name/title/place/term) — ложится в поле `type` сида.
|
||||
- Ожидание по §A: закрывает частотно-слепые классы (редкие алиасы с фамильным якорем,
|
||||
одноразовые реалии с типовым суффиксом); цена — инвентари правил (поддержка) и точность
|
||||
паттернов; zh-специфично by design (для ja уже есть ruby-канал — паритет архитектурный).
|
||||
|
||||
**Trade-off таблица (ожидания до замера; recall/precision — предмет §D, не обещание):**
|
||||
|
||||
| Критерий | V-A | V-B | V-C |
|
||||
|---|---|---|---|
|
||||
| Ожид. recall на сиде (частотное ядро) | средний | средний+ | высокий |
|
||||
| Ожид. recall на редком (f<3) | ~0 | ~0 | частичный (паттерны) |
|
||||
| Ожид. precision топ-списка | низк.-средн. | средняя (спред режет случайные фразы) | средняя+ (типизация) |
|
||||
| Даёт dst-кандидатов | нет | да | да (+Палладий-канал) |
|
||||
| Сырьё для алиас-кластеров | нет | ru-сторона (общий рендеринг) | обе стороны |
|
||||
| Сложность/поддержка | ~1 экран кода | +лемматизация ru, +выравнивание | +инвентари правил, жанр-паки |
|
||||
| Хрупкость порогов | 2 порога (floor, top-K) | +λ спреда | +m форманта; пороги паттернов булевы (устойчивее) |
|
||||
| Зависимости | частотник zh | +pymorphy3 | +百家姓/суффикс-листы (версионируемые файлы) |
|
||||
| Слепые зоны | редкое, стабильно-неверное, zero-overlap, полисемия | те же минус нестабильное | остаются Z1, Z2, Z4, Z5; Z3 — частично (якорные редкие закрыты паттернами) (§B4) |
|
||||
|
||||
Выбор по данным §D (армы A1–A3), не по элегантности; V-C — прайор фаворита (единственный
|
||||
закрывает частотную слепоту), но если V-A/V-B дают ≥90% его recall на сиде — побеждает простота.
|
||||
|
||||
### B2. Алиас-кластеризация — отдельная подзадача (а-бис): честная граница
|
||||
|
||||
Кластер = сущность сида с алиас-поверхностями (модель данных уже такова: research/19:189-195
|
||||
«кластеры алиасов на СУЩНОСТЬ», `entryFiringKeys` `memseed.go:243-261`). Три яруса:
|
||||
|
||||
**Ярус 1 — код (PROP-слой, прецизионно-безопасные правила):**
|
||||
- R1 «вложение поверхности»: X строго содержится в Y при |X|≥2 (方源 ⊂ 古月方源) — предлагает
|
||||
ребро «fullname/расширение»;
|
||||
- R2 «фамильный якорь + композиция»: общий фамильный префикс из инвентаря (方 в 方源/方正/方公子)
|
||||
— предлагает СЕМЕЙНЫЙ суперкластер, НЕ тождество;
|
||||
- R3 «общий рендеринг ru-стороны»: разные src-поверхности с одинаковой доминантной леммой
|
||||
рендеринга в черновиках (古月方源 и 方源 оба → «Фан Юань») — сильное ребро тождества;
|
||||
обратный GROUP BY dst уже существует как диагностика (`memory.go:809-834`);
|
||||
- R4 НЕГАТИВНЫЕ констрейнты (перенос Vala §A5, адаптация zh): (i) общая фамилия + РАЗНЫЕ имена
|
||||
⇒ НЕ мержить (方源≠方正 — ровно наш кейс; 方公子 остаётся амбигуальным членом семейного
|
||||
суперкластера до яруса 2/3); (ii) разный подтверждённый пол; (iii) разные approved dst;
|
||||
(iv) ко-презенция в одном предложении/диалоговом обмене ⇒ НЕ мержить (детектится по
|
||||
source-чанку $0); (v) титул-вложение при разных dst сида (族长 ⊂ 四代族长) ⇒ разные сущности —
|
||||
негативный урок уже оплачен (D38 §3, `05-decisions-log.md:499`).
|
||||
- Ожидаемая ошибка яруса: по внешним якорям (Vala P&P F1 0.76 на свободном тексте; у нас проще —
|
||||
закрытый список кандидатов, не весь текст), но мерить entity-уровнево (B³-класс), НЕ
|
||||
парно-линковым MUC: внешний урок Krug (MUC 85.5 при B³ 56.0) — линковые метрики льстят.
|
||||
|
||||
**Ярус 2 — слепая зона (г), LLM/локаль:** алиасы с нулевым поверхностным пересечением И без
|
||||
общего рендеринга: чистые титулы-в-роли-референции (四代族长 как сущность сцены), эпитеты,
|
||||
прозвища класса 花酒行者→«Монах Цветочного Вина» (dst-сторона вообще не транслитерационная),
|
||||
ру-сторонние описательные алиасы («четвёртый Фан»-класс). Это кореференция (§A5: NOM-слой,
|
||||
end-to-end ~68 F1 даже in-domain en) — код может только ПРЕДЛОЖИТЬ кандидатов на связь
|
||||
(со-оккуренция в окне + согласование типов) с явной меткой `link_evidence:weak`. Дёшево ли
|
||||
это детектится локальной 9B — неизвестно (exp06 мерил экстракцию, не кореференцию) → §D-A6b.
|
||||
|
||||
**Ярус 3 — человек:** подпись кластера при W1.5-консолидации; спорные рёбра остаются
|
||||
раздельными draft-записями (дисциплина сида: дешевле расклеить два терма потом, чем расщепить
|
||||
один ошибочно слитый — мерж только по подписи).
|
||||
|
||||
**Гэп ground truth:** в сиде v2 всего 2 алиас-поверхности (古月方源, 古月方正) — recall
|
||||
кластеризации на таком голде не меряется. §D предусматривает мини-голд алиасов от владельца
|
||||
(§E-1); без него ярус-1 меряется только по precision предложенных рёбер.
|
||||
|
||||
### B3. Канал «сноска переводчика» (б): спека и ВСЕ интеграционные точки
|
||||
|
||||
**Формат (banknote-v1, версионируется):** после перевода — строка-разделитель
|
||||
`⟦TM-BANK-v1⟧` (не встречается в естественном тексте; НЕ слова «Примечание/Сноска» — они
|
||||
зарезервированы trailing-note классом санитайзера), далее ≤N строк `src<TAB>dst<TAB>type`.
|
||||
Инструкция в промпте: только НОВЫЕ термины, отсутствующие в инжектированном глоссарий-блоке;
|
||||
нет новых — разделитель не эмитится вовсе.
|
||||
|
||||
**Срез КОДОМ на границе волны — точка и механизм:** parse+strip сразу после получения ответа
|
||||
модели в стадии draft, ДО classify()/санитайзера/coverage/пост-чека (`chunkrun.go:32-80`).
|
||||
Чекпоинт с сырым ответом сохраняется как есть (детерминизм оплаченного байта), очищенный
|
||||
черновик — derived-checkpoint по прецеденту `tm-sanitized-v1` (`stagerun.go:225-242`):
|
||||
`tm-banknote-v1:` + sha256(reqHash + stripped); распарсенные кандидаты — отдельный
|
||||
артефакт-файл (evidence-карты §C), НЕ в store до W1.5.
|
||||
|
||||
**Интеграционные точки (все, по мандату D39.3):**
|
||||
1. **Санитайзер, класс trailing-note** (`sanitizer.go:232-268` worktree): важное уточнение —
|
||||
санитайзер по draft-стадии не гоняется ВОВСЕ (isFinal-only, `chunkrun.go:48`), так что
|
||||
trailing-note класс — лишь ВТОРОЙ рубеж на финале, если редактор протащит остаток
|
||||
малформенного блока (модель написала «Примечание:» вместо разделителя). Первый рубеж —
|
||||
телеметрия п.10: `banknote_parse_fail` обязан флагать резидуал ДО редактуры, иначе
|
||||
черновиковый мусор доходит до редактора незамеченным.
|
||||
2. **Санитайзер, класс cjk_leak (v6):** src-колонка сноски — Han по построению; без среза
|
||||
каждый чанк с блоком флагался бы. После среза чистый черновик блока не содержит;
|
||||
gloss-whitelist v6 не трогаем.
|
||||
3. **classify()/echo-детект** (`disposition.go:268-289`, порог cjkShare 0.15): считать по
|
||||
ОЧИЩЕННОМУ тексту. По сырому: ~10 строк × 2–6 Han ≈ 30–60 Han на ~4000-знаковый черновик
|
||||
≈ 1–2% — под порогом, но короткий чанк + жирный блок может ложно флагаться как echo.
|
||||
Порядок жёсткий: срез → classify(stripped).
|
||||
4. **Coverage-гейт** (`coverage.go:158-203`; translator-only энфорсится в `chunkrun.go:64-75`):
|
||||
числитель len_ratio — по очищенному тексту (сноска ≠ перевод, в числитель не входит);
|
||||
sent_cov не затронут; знаменатель (source) не меняется.
|
||||
5. **max_tokens-сайзинг** (`stagerun.go:82-99`): +бюджет блока (≤N строк × ~12 ток). Перевод
|
||||
идёт ПЕРВЫМ, блок хвостом ⇒ трункация бьёт по блоку, не по переводу; парсер обязан
|
||||
толерантно обрезать недописанную последнюю строку и флагать `banknote_truncated` (лауд).
|
||||
6. **request_hash/детерминизм** (`render.go:221-251`): инструкция сноски — часть промпта ⇒
|
||||
prompt SHA256 + константа `banknote-v1` фолдятся в снапшот (`snapshot.go:96-234`) — включение
|
||||
канала = громкий --resnapshot, как любой wire-инвариант. Парсер — детерминированный
|
||||
версионированный код; derived-hash неймспейсит версию.
|
||||
7. **Чекпоинт/резюм** (`stagerun.go:66-80`): resume передоказывает derived-артефакты из сырого
|
||||
чекпоинта бесплатно (прецедент sanitized_export).
|
||||
8. **«Редактор её не видит»:** на свежем прогоне редактор читает in-memory текст предыдущей
|
||||
стадии (`chunkrun.go:162`) — хук подменяет его на очищенный; НО на chunk_status-резюме
|
||||
стадия N+1 берёт текст чекпоинта по final_hash, а для OK-пути final_hash сегодня указывает
|
||||
на СЫРОЙ attempt-чекпоинт (`stagerun.go:168-169`; re-point на derived существует только для
|
||||
flagged-пути, `stagerun.go:170-185`). Требование спеки: **final_hash OK-стадии draft
|
||||
перенаправляется на `tm-banknote-v1` derived-чекпоинт** (расширение прецедента с flagged-
|
||||
на ok-путь) — иначе резюм отдаёт редактору сырой блок. Только с этим re-point гарантия —
|
||||
конструкцией.
|
||||
9. **Пост-чек глоссария** (`mempostcheck.go`): работает по финалу редактора — канал не влияет;
|
||||
но глоссарий-блок переводчика (`renderGlossaryBlock`) обязан идти в промпте ДО инструкции
|
||||
сноски («новые = не из этого списка») — иначе модель дублирует известное.
|
||||
10. **Телеметрия:** per-chunk `n_banknote_lines`, `banknote_parse_fail`, `banknote_truncated` —
|
||||
лауд, в retrieval_state-стиле.
|
||||
11. **Провайдер-квирки:** DeepSeek thinking-ON неизменен (echo-мина, `models.go:352-377`);
|
||||
формат-цена (§A6 Tam: констрейнты деградируют генерацию) — риск качества САМОГО перевода
|
||||
от инструкции ⇒ §D-арм меряет дельту качества черновика с/без инструкции, это гейт канала.
|
||||
12. **Экспорт/полигон:** `tmctl export` (worktree) отдаёт final_text без сноски автоматически
|
||||
(срез раньше); полигонный экстрактор кандидатов читает артефакт-файл, не текст.
|
||||
|
||||
**Цена канала (пере-верификация оценки ресёрчера-19 «~$0.004/ранобэ»):** параметрически —
|
||||
Δ$ ≈ chunks × avg_lines × ~12 ток × price_out. На слайсе-25 (57 чанков): при 5 строках/чанк
|
||||
в среднем ≈ 3.4k выходных токенов. Экстраполяция на ранобэ зависит от размера книги и дисциплины
|
||||
«только новое» (эмиссия падает по мере насыщения банка: первые главы 5–10 строк, хвост 0–2);
|
||||
при 2–5k чанков/книга и 1–3 строках/чанк в среднем — 25–180k ток ⇒ **порядок $0.01–0.1/ранобэ
|
||||
по flash-ценам выходных токенов: оценка $0.004 выглядит заниженной в разы, но класс «копейки»
|
||||
подтверждается**; точные числа — §D по живому прайсу providers.json. Код-канал $0 подтверждён
|
||||
(всё на существующих артефактах); гибрид = код + сноска ⇒ та же дельта, что сноска.
|
||||
|
||||
### B4. Слепые зоны кода (г): маршрутизация спот=локаль / рендер=облако / человек
|
||||
|
||||
| Зона | Детектируется дёшево ($0/локаль)? | Облачный судья | Человек |
|
||||
|---|---|---|---|
|
||||
| **Z1 стабильно-неверный перевод** (蛊→«гусеницы»: высокий термхуд, НУЛЕВОЙ спред, dst — обычное слово) | $0-эвристика: high-score кандидат + spread≈0 + dst не-Палладий/не-заглавный → класс `suspicious_stable`; локальная 9B — ВЕРИФИКАЦИЯ пары («src-предложение + рендеринг → верно?») — exp06 мерил экстракцию, НЕ верификацию: нужен мини-бенч (§D-A6b) | топ-N suspicious дешёвому облачному судье (центы; кросс-семейный к драфт-модели — F5 реестра) | подпись канона с evidence-картой |
|
||||
| **Z2 полисемия 转-класса** | $0-симптом: спред dst НЕ падает после лемматизации И KWIC-контексты расслаиваются на кластеры → `sense_split_candidate`; сам сплит кодом не решается (матчер keys-only-src, D16.1) | LLM-адъюдикация сплита по двум KWIC-пулам | sense/окна в сиде — только человек (D16.1 fail-loud уже защищает) |
|
||||
| **Z3 редкие реалии** (f<3) | частотно слеп by construction (§A1); частично закрывают паттерны V-C (типовой суффикс) и канал сноски (переводчик видел контекст); локальная 9B: полный спот-проход по источнику $0 (exp06 recall 0.98–1.0 — НО на PD-классике; вебновелл-ре-замер = §D-A6, заодно закрывает оговорку eval/README) | рендер dst редких — облако + таблица Палладия (B6: даже облако 0.75 на zh) | как всегда |
|
||||
| **Z4 пол персонажа** | $0: счётчики 他/她 в окне вхождений; эмитить СЧЁТЧИКИ-evidence, не вердикт: класс gender:hidden (白凝冰 — текст говорит 他, канон female) невыводим из текста | нет смысла | пол = подпись владельца (D19.3) |
|
||||
| **Z5 zero-overlap алиасы** (ярус-2 §B2) | код предлагает слабые рёбра (со-оккуренция + тип); решения нет | LLM-кореференция на паре KWIC-пулов; локальная 9B — неизвестно, пробовать в §D-A6b | подпись кластера |
|
||||
|
||||
Рамка G1 (`06-memory-risk-registry.md:83`) сохраняется дословно: спот — локаль/код, рендер dst —
|
||||
облако/человек + детерминированная таблица Палладия, промоушен только через статус-машину
|
||||
auto→draft→approved.
|
||||
|
||||
### B5. Инвариант общности слоя 4 (по вводной владельца 17.07): движок vs языковые плагины
|
||||
|
||||
Бэкенд обязан переводить с любых популярных языков на любые популярные; языковая заточка
|
||||
изолируется и выносится. Это распространение инварианта общности research/19 §0.1 (чанкер) на
|
||||
слой банка. Прецеденты идиома в коде уже есть: pair-keyed промпт-паки с fail-loud
|
||||
(`runner.go:148-158`), пер-язычные floors матчера (Han=2/фонетика=3, `memory.go:57-69`),
|
||||
ruby-канал как ja-специализация майнинга (`memseed.go:314-359`).
|
||||
|
||||
**Языко-агностический движок (не параметризуется языком):** сигналы частота×контраст и
|
||||
разброс переводов между чанками; чанк/предложение-уровневая ко-оккуренция; каркас
|
||||
алиас-кластеризации (типизированные рёбра + негативные констрейнты + ярусы код/LLM/человек);
|
||||
консолидация «канон по всем вхождениям»; статус-машина auto→draft→approved и карта подписи с
|
||||
KWIC; канал сноски (формат/срез/derived-checkpoint/телеметрия); метрики и гарды §D.
|
||||
|
||||
**Шесть плагин-интерфейсов (данные/конфиг per язык или пара, НЕ ветки в коде — идиом
|
||||
промпт-паков):**
|
||||
|
||||
| Интерфейс | Ключ | zh | ja | ko | en (источник) |
|
||||
|---|---|---|---|---|---|
|
||||
| P1 генератор кандидатов | src-язык | Han-n-граммы 1–6, без сегментации | ruby-канал (ПОСТРОЕН) + kanji-n-граммы; катакана-раны само-маркируют заимствованные имена | пробелы есть, но агглютинация — стемы-токены | токены; Капитализация = бесплатный NER-сигнал |
|
||||
| P2 контраст-корпус | src-язык | частотник zh | частотник ja | частотник ko | частотник en |
|
||||
| P3 паттерн-пак (язык×жанр) | src-язык + жанр | 百家姓, титулы 公子/大人/长老, топо 山/寨 | гоноративы さん/様/殿, имя-паттерны | 3-слоговые hangul-имена, -님/-씨 | Mr./Lady/-son, газеттир гипокоризмов (Vala, §A5) |
|
||||
| P4 таблица транслитерации | ПАРА (src,dst) | →ru Палладий; →en пиньинь (вариативнее — dst-детектор слабее) | →ru Поливанов; →en Хэпбёрн | →ru Концевич | →ru практическая транскрипция |
|
||||
| P5 лемматизатор цели | dst-язык | — | — | — | ru: pymorphy3; флективные цели обязателен (§A2), аналитические — тривиален |
|
||||
| P6 гендер-евиденс | src И dst | 他/她-счётчики | 彼/彼女 (реже, эллипсис) | 그/그녀 | he/she |
|
||||
|
||||
К P6 общий трюк для флективных целей: морфология самого ЧЕРНОВИКА («пошёл/пошла») выдаёт,
|
||||
что предположила драфт-модель — target-side гендер-сигнал для любой пары X→ru/pl/cs, движковый.
|
||||
|
||||
**Политика отсутствия плагина — degrade-with-flag, НЕ fail-loud** (отличие от промптов, где
|
||||
missing pair = стоп: там неверные конвенции опасны, здесь потеря recall допустима, если
|
||||
видима): нет P3 → детектор деградирует до V-A/V-B с громкой пометкой в карте подписи; нет P4 →
|
||||
из скоринга канона выпадает член конформности (лауд); нет P5 → поверхностное сравнение форм с
|
||||
известным ударом по recall (лауд). Единственный fail-loud — P1: без генератора кандидатов
|
||||
майнинг для языка не заявляется вовсе.
|
||||
|
||||
**Честная разметка текущего инстанса:** §D-эмпирика — одна пара zh→ru; её вердикты — про
|
||||
инстанс, не про движок. zh — стресс-инстанс (нет сегментации, OOV-композиты, худший
|
||||
NER-трансфер §A4), а Палладий — самая регулярная из P4-таблиц: положительный результат на
|
||||
zh→ru переносим с осторожностью «на en-источнике легче, на en-цели транслит-детектор слабее».
|
||||
Тест общности = репликация на второй паре (§E-владелец-7).
|
||||
|
||||
---
|
||||
|
||||
## §C. Консолидация W1.5: алгоритм и поток данных до сида
|
||||
|
||||
### C1. Место в волновой архитектуре
|
||||
|
||||
W1.5 — снапшот-граница между W1 (параллельные черновики) и W2 (параллельная редактура),
|
||||
НЕ mid-run-append (research/19:548-553). Это согласовано с механикой снапшота: банк входит в
|
||||
`memoryVersion` → в snapshotID (`snapshot.go:79-93`), значит изменение банка между волнами —
|
||||
штатный (и единственный законный) момент; W2 работает уже на новом снапшоте с обогащённым
|
||||
банком. Замечание по экономике: при gate OFF в memoryVersion фолдятся только approved-строки
|
||||
(`memory.go:258-285`) — вливание auto/draft-кандидатов само по себе снапшот не двигает; двигает
|
||||
его подпись владельца (draft→approved), что и есть смысловая граница W1.5.
|
||||
|
||||
### C2. Алгоритм консолидации (детерминированный код + человек, LLM только в зонах §B4)
|
||||
|
||||
Вход: (source, draft) пары всех чанков W1 + артефакты канала сноски (если включён) +
|
||||
текущий сид (fan-конвенции / пустой на холодном старте).
|
||||
|
||||
1. **Майнинг кандидатов** детектором V-x (§B1) → таблица кандидатов
|
||||
`{src, occ, chapters[], kwic[], dst_variants{v:count}, type_hint, pattern_evidence,
|
||||
spread, flags(suspicious_stable|sense_split|needs_external_lookup)}`.
|
||||
2. **Алиас-кластеризация** (§B2 ярус-1): рёбра R1–R3 при непротиворечии R4; выход — кластеры
|
||||
с типизированными рёбрами и меткой силы; слабые рёбра (ярус-2) — отдельным списком
|
||||
«предложения к связи», НЕ слитые.
|
||||
3. **Выбор канона по ВСЕМ вхождениям (не первый-победил):** скор dst-варианта =
|
||||
частота по всем чанкам × конформность (Палладий-таблица B6 для type=name/place;
|
||||
согласование с уже-approved соседями ряда — прецедент 元-ряда в сиде) × полнота падежной
|
||||
леммы. Побеждает вариант, а НЕ первое вхождение — прямая реализация анти-LTCR-отравления.
|
||||
Мажоритарность НИКОГДА не даёт approved: канон-предложение = draft.
|
||||
4. **Пол:** счётчики 他/她/контекст-гоноративов по кластеру → evidence-поле; gender
|
||||
проставляется только владельцем (класс hidden — D19.3 — из текста невыводим).
|
||||
5. **Спойлер-окна:** since_ch = первая глава вхождения кластера (автоматически, по source);
|
||||
until_ch — только человек.
|
||||
6. **Пре-валидация против фейл-лаудов загрузчика:** зеркально `loadGlossarySeed` — дубликаты
|
||||
(src,sense,window), D16.1-полисемия, shared-key коллизии (`memseed.go:91-99, 161-181, 201-237`),
|
||||
иначе W1.5 упадёт на ровном месте при загрузке; выход линта — часть карты подписи.
|
||||
7. **Эмиссия сид-дельты:** YAML в схеме `seedTerm` (`memseed.go:30-57`), БЕЗ новых полей:
|
||||
новые термы — `status: auto` (без dst — инертны в автомате) или `status: draft`
|
||||
(с канон-предложением — инъекция ⟨проверить⟩); алиасы — поверхностями терма; `Source`-класс
|
||||
кандидата и evidence — в отдельной **карте подписи** (сайдкар-markdown, прецедент
|
||||
`diag/glossary_v2_signoff.md` из exp13_seed_v2.py), НЕ в схеме сида.
|
||||
8. **Подпись владельца:** карта подписи = per-кластер: канон-предложение, dst-варианты с
|
||||
частотами, топ-KWIC контексты (детерминированный context-recording — H15-рычаг), счётчики
|
||||
пола, флаги зон §B4, слабые рёбра яруса-2. Владелец: approve / правка / оставить draft /
|
||||
расклеить кластер. Только после этого — resnapshot и W2.
|
||||
|
||||
Дисциплина сида НЕ меняется: approved-инвариант (D30.5/D34.1), «тихий промоушен = откат»
|
||||
действует и для майнера — майнер по построению не умеет писать `approved`.
|
||||
|
||||
### C3. Поток данных (ASCII)
|
||||
|
||||
```
|
||||
W1 drafts (par.) chunks (source zh) сид_т0 (fan-конвенции|пусто)
|
||||
│ │ │
|
||||
▼ ▼ │
|
||||
[срез сноски] [детектор V-x: n-граммы×контраст×спред×паттерны]
|
||||
│banknote │кандидаты+KWIC+dst-варианты │
|
||||
└────────┬────────┘ │
|
||||
▼ │
|
||||
[алиас-кластеризация R1–R4] │
|
||||
▼ │
|
||||
[канон по всем вхождениям + пол-evidence + окна] │
|
||||
▼ │
|
||||
[линт против фейл-лаудов memseed] │
|
||||
▼ ▼
|
||||
сид-дельта YAML (auto/draft) + карта подписи ──► ВЛАДЕЛЕЦ подписывает
|
||||
│
|
||||
▼
|
||||
сид_т1 → seedGlossary (replace)
|
||||
│
|
||||
resnapshot (снапшот-граница W1.5)
|
||||
▼
|
||||
W2 edit (par., банк-enforce)
|
||||
```
|
||||
|
||||
Слот web-fetch (V4-п4): флаг `needs_external_lookup` в карте подписи; исполнение — Ф3+
|
||||
за trust boundary D25.5, в W1.5 НЕ строится.
|
||||
|
||||
---
|
||||
|
||||
## §D. Пре-рег дизайн полигон-эмпирики (исполняет полигон ОТДЕЛЬНЫМ промтом ПОСЛЕ exp15)
|
||||
|
||||
### D0. Рамка
|
||||
|
||||
Автор дизайна ≠ исполнитель (author≠reviewer). Бюджет: армы A1–A3, A6 — $0 (код + стенд);
|
||||
платные A4/A5 + cold-start срез — оценка ≤$3–5, отдельное подтверждение владельца (§E-2).
|
||||
Мандат самопроверки исполнением (CLAUDE.md, решение владельца 12.07) — в промт полигона
|
||||
обязательно: ревью своего кода детектора, своих запросов к моделям, своих результатов.
|
||||
|
||||
### D1. Ground truth и его честные ограничения (пре-регистрируется ДО запуска)
|
||||
|
||||
- **GT = сид v2**, отфильтрованный по фактическому вхождению в слайс-25: термы с ≥1
|
||||
вхождением src/алиаса в source (счёт Aho-Corasick-эквивалентом БЕЗ suppressContained —
|
||||
D24.2). Проверено исполнением при самопроверке: ВСЕ 57 термов проходят фильтр — blurb-термы
|
||||
since_ch 47/193 (血颅蛊, 一气金光虫, 青丝蛊) встречаются по 1 разу в аннотации (гл.1/чанк0)
|
||||
⇒ GT=57, blurb-термы попадают в страту f<3. Полигону решить в пре-реге: считать ли
|
||||
blurb-регион вхождением (спойлер-семантика since_ch говорит «нет» — тогда явное правило
|
||||
исключения аннотации, отдельным пунктом пре-рега, не следствием фильтра).
|
||||
- **Recall против сида — чистая метрика.** **Precision против сида — НЕ метрика:** сид не
|
||||
исчерпывающая разметка (кандидат вне сида ≠ ошибка). Вместо неё: (а) pseudo-precision@K
|
||||
(доля топ-K в сиде) как грубый ориентир И (б) адъюдицированная precision@K — топ-30
|
||||
не-сидовых кандидатов победившего арма размечает владелец по карте (минуты) или
|
||||
кросс-семейный судья с ручной подвыборкой (F5-защита). Пре-регистрируются обе.
|
||||
- **⚠ Конфаунд инъекции (несущий):** черновики records.json генерились С глоссарий-инъекцией
|
||||
сида (budget 800) — спред-сигнал на GT-термах системно подавлен, canon-recovery на них
|
||||
тривиализован. Разрез арм-метрик:
|
||||
(i) на существующих черновиках — НИЖНЯЯ граница спред-сигнала (бесплатно);
|
||||
(ii) **cold-start срез**: свежий черновик 5 глав слайса flash-ом БЕЗ glossary-инъекции
|
||||
(10–14 чанков: 14, если срез включает гл.1 — в ней 6 чанков против 2–3 у остальных;
|
||||
выбор глав фиксируется в пре-реге; копейки-доллары) — экологически валидный вход W1.5
|
||||
(новая книга без банка).
|
||||
Несущие выводы по спреду/канону — по (ii); (i) — только как подтверждение направления.
|
||||
- **Порог-дисциплина (анти-подгонка, §A1-протокол):** главы слайса делятся 60/40
|
||||
(напр., 1–15 тюнинг / 16–25 тест; фикс в пре-реге); все пороги (floor, top-K, λ, m)
|
||||
выбираются на тюнинг-половине, замораживаются, репортится ТОЛЬКО тест-половина +
|
||||
кривые чувствительности (±50% порога → recall/precision) для оценки хрупкости.
|
||||
|
||||
### D2. Армы
|
||||
|
||||
| Арм | Что | Цена |
|
||||
|---|---|---|
|
||||
| A1 | V-A частотно-контрастный | $0 |
|
||||
| A2 | V-B (+спред) | $0 |
|
||||
| A3 | V-C (+паттерны/Палладий-канал/жанр-пак) | $0 |
|
||||
| A3-абл | V-C минус спред (паттерны без черновиков) — вклад каждого сигнала честно | $0 |
|
||||
| A4 | канал сноски: cold-start срез 5 глав × 2 конфига (с/без инструкции banknote) | ~$1–2 |
|
||||
| A5 | гибрид: A3 ∪ A4-кандидаты — маржинальный recall сноски над кодом | $0 поверх A4 |
|
||||
| A6 | локальная 9B споттер по source слайса (exp06-паттерн на вебновелл-тексте) | $0 (стенд) |
|
||||
| A6b | локальная 9B как ВЕРИФИКАТОР пары (Z1) и линкер слабых рёбер (Z5) — мини-бенч 30–50 пар с ручным голдом | $0 (стенд) |
|
||||
|
||||
A4 меряет одновременно: маржинальный recall; parse_fail/truncated-рейты; дельту качества
|
||||
перевода от форматной инструкции (детерминированно: coverage/пост-чек/style-флаги/длина +
|
||||
при сигнале — дешёвый судья); фактическую цену токенов по providers.json.
|
||||
|
||||
### D3. Метрики (все детерминированные, $0, кроме адъюдикации)
|
||||
|
||||
1. recall@сид по типам (name/title/place/term/nickname) и по частотным стратам GT
|
||||
(f≥10 / 3–9 / <3 — где какой арм слеп);
|
||||
2. pseudo-precision@K и адъюдицированная precision@K (D1);
|
||||
3. **canon-recovery** (только cold-start срез): для GT-термов — совпала бы канон-процедура §C2
|
||||
с подписанным dst владельца (нормализация memnorm, лемма-уровень)? Прямой суррогат
|
||||
гипотезы №1 на выбор канона;
|
||||
4. алиас-precision предложенных рёбер R1–R3 (entity-уровнево, B³-класс — не MUC; урок §A5);
|
||||
recall — только при мини-голде §E-1;
|
||||
5. квантификация слепых зон: список GT-термов, не пойманных лучшим армом, с РУЧНОЙ
|
||||
классификацией по зонам Z1–Z5 — это главный вход бэкенд-дизайна (что доверить коду);
|
||||
6. стабильность порогов (кривые ±50%);
|
||||
7. A6b: accuracy верификации Z1-пар и линковки Z5 против мини-голда.
|
||||
|
||||
### D4. Гарды методологии (D32.4-адаптация + уроки D37/exp13)
|
||||
|
||||
- (а) сигналы армов репортятся РАЗДЕЛЬНО, сведение «N сигналов сходятся» запрещено без
|
||||
leave-one-out по сигналам (память: manufactured convergence exp12/exp13);
|
||||
- (б) судьи (если используются) — leave-one-judge-out; судья ≠ драфт-модель (F5);
|
||||
- (в) **катастроф-скрин**: ядровые термы (方源, 蛊, 蛊师, 古月) обязаны быть в топ-50 победителя;
|
||||
промах ядра = провал арма независимо от агрегатов;
|
||||
- (г) все таблицы кандидатов/скоры/пороги — персистентные артефакты (`eval/exp16/` или
|
||||
следующий номер);
|
||||
- (д) пер-колл бюджет-кэп на платные вызовы; счёт спенда с первого запроса;
|
||||
- (е) код детектора детерминирован (сортировки, версия miner-v1, фиксированные словари-файлы);
|
||||
повторный прогон = байт-в-байт;
|
||||
- (ж) 18+ гардрейл: майнер оперирует поверхностями/счётчиками; refusal_corpus не трогать;
|
||||
- (з) пре-рег фриз: SHA кода детектора + пороги с тюнинг-половины объявляются коммитом ДО
|
||||
прогона тест-половины и платных армов;
|
||||
- (и) D32.4(е): если облачным судьёй адъюдикации выбирается grok — сверка reasoning-token
|
||||
wire-квирка с docs.x.ai ДО платных вызовов; D32.4(ж) — разовая бухгалтерская правка exp13,
|
||||
здесь N/A.
|
||||
|
||||
### D5. Решающие правила (пре-регистрируются)
|
||||
|
||||
- **Гипотеза №1 подтверждена для частотного слоя**, если лучший $0-арм даёт recall ≥85% на
|
||||
GT-страте f≥3 И canon-recovery ≥70% на cold-start срезе. Тогда LLM зовётся только в зоны
|
||||
из метрики-5 (список слепых), маршрутами §B4.
|
||||
- **Канал сноски оправдан**, если его маржинальный recall над лучшим $0-армом ≥10 п.п. НА
|
||||
СТРАТЕ f<3 (редкое — его единственная ниша) И дельта качества перевода неотличима от нуля
|
||||
И parse_fail <5%. Иначе — код-детектор + локальная 9B в зонах, сноска в архив идей.
|
||||
- **Порядок исполнения:** A1–A3+абл ($0, существующие данные) → A6/A6b (стенд) → cold-start
|
||||
срез → A4/A5 (платные, последними; отменяемы решением владельца без потери $0-результатов).
|
||||
|
||||
---
|
||||
|
||||
## §E. Открытые вопросы
|
||||
|
||||
**Владельцу:**
|
||||
1. **Мини-голд алиасов** для замера а-бис: подписать список алиас-поверхностей сущностей
|
||||
слайса-25 (методом: код предлагает кандидатов рёбер, вы вычёркиваете/дополняете; ~20–30 мин).
|
||||
Без него ярус-1 меряется только по precision.
|
||||
2. **Бюджет платных армов** §D (A4/A5 + cold-start срез): ≤$5. Подтвердить (отдельно от
|
||||
≤$15 exp15).
|
||||
3. **Политика канона:** подтвердить, что майнер НИКОГДА не пишет approved (только auto/draft
|
||||
+ карта подписи) — заложено в §C2-дисциплину; и что «канон по всем вхождениям» с
|
||||
Палладий-конформностью (не мажоритарность черновиков) — правильная целевая функция.
|
||||
4. **Жанровые лексикон-паки** (детерминированное жанр-кондиционирование, H15-рычаг): жанр
|
||||
берём из brief книги как селектор пака суффиксов/титулов? (сянься-пак — первый).
|
||||
5. **W1.5 человеческий гейт в середине прогона** — уже ваш вопрос №1 к research/19 §E.1;
|
||||
решение «после Q3» (16.07). Этот пакет добавляет аргумент ЗА гейт: карта подписи §C2 —
|
||||
компактная (кластеры, не термы), UX-стоимость ниже, чем казалось.
|
||||
6. **Оценки цены каналов** ресёрчера-19 пере-верифицированы: код $0 ✅; сноска — скорее
|
||||
$0.01–0.1/ранобэ, чем $0.004 (§B3-формула, живой прайс в §D); гибрид ≈ цене сноски.
|
||||
7. **Слот репликации на второй паре (тест инварианта общности §B5):** после zh→ru-инстанса §D —
|
||||
реплика движка на ja→ru, где P1 = уже построенный ruby-канал (репликация почти бесплатна:
|
||||
ja-приёмочная книга в репо, кандидаты уже генерятся). Одобрить как след-за-§D шаг полигона?
|
||||
|
||||
**Бэкенду (слоты дизайна, НЕ строить до итогов §D):**
|
||||
1. `Source: "mined"` в GlossaryEntry + конвенция сайдкара карты подписи; `tmctl seed-lint`
|
||||
(сухой прогон фейл-лаудов loadGlossarySeed по дельте) — дёшево и снимает риск §C2-6.
|
||||
Плагины P1–P6 (§B5) — файлы данных/конфиг по идиому промпт-паков (pair/lang-keyed),
|
||||
НЕ ветки в коде майнера.
|
||||
2. Канал сноски: derived-checkpoint `tm-banknote-v1` + телеметрия (§B3 п.5/10) — только если
|
||||
§D-правило «сноска оправдана» сработает.
|
||||
3. Экспорт (source, draft) пар: полигону хватает records.json; для продакшн-W1.5 — режим
|
||||
`tmctl export --pairs` (source уже джойнится в Export, `export.go:115`).
|
||||
4. Транспорт поля gender (exp15-преп, уже в плане) — консолидация §C2-4 на нём висит.
|
||||
5. Ruby↔mined конвергенция: единая схема кандидата (Source=ruby|mined, Confidence, class-хинт)
|
||||
— при лендинге дизайна унифицировать, не плодить второй формат.
|
||||
6. Открытый вопрос D30.1-редактора (src→dst вместо голых dst-форм, `memory.go:505-511`) станет
|
||||
острее с майненым банком (больше AMBIGUOUS-строк у переводчика) — решить до W2-дизайна.
|
||||
|
||||
---
|
||||
|
||||
## Самопроверка сессии (мандат 12.07)
|
||||
|
||||
- §A: мульти-агентный сбор + адверсариальная верификация по первоисточникам (author≠reviewer);
|
||||
заглушка верификатора ate-core обнаружена и закрыта повторной верификацией (9/11 CONFIRMED,
|
||||
2 CORRECTED — внесены). Хеш §A зафиксирован ДО чтения репо.
|
||||
- §B–§E: несущие репо-клеймы грунтованы file:line через независимых ридеров; сид v2, memseed.go
|
||||
и ядро memory.go перечитаны автором лично; конфаунд глоссарий-инъекции в records.json и
|
||||
GT-фильтр по вхождению найдены при этой проверке и внесены в §D как несущие поправки.
|
||||
- Пост-хок адверсариальный проход по готовому отчёту ВЫПОЛНЕН (3 независимых верификатора:
|
||||
citation-fidelity §B–§E, промт-комплаенс+целостность §A-хеша, опровержение несущих механик):
|
||||
~50 проверенных клеймов, 1 WRONG (GT-фильтр: blurb-термы встречаются в аннотации гл.1 ⇒
|
||||
GT=57, не ~54) и 9 IMPRECISE — все исправлены в тексте, в т.ч. два несущих: вырожденность
|
||||
c-value на одночарных кандидатах (§B1) и обязательный re-point final_hash OK-стадии на
|
||||
derived-чекпоинт для канала сноски при резюме (§B3 п.8). Комплаенс промта: все требования
|
||||
(а)/(а-бис)/(б)/(в)/(г)/структура §A–§E — CONFIRMED верификатором. Git: отчёт не закоммичен,
|
||||
сессия коммитов не делала.
|
||||
Loading…
Add table
Reference in a new issue