textmachine/docs/archive/reports/DRAFT_BANK_ARBITRATION_V1_2026-08-04.md

90 KiB
Raw Permalink Blame History

ЧЕРНОВИК (v1, НЕ действующая редакция). Рабочая версия отчёта research/24 до финального рерайта 04.08 — сохранена как архив-черновик: полная хроника сессии, пре-регистрации в исходной записи. Действующая редакция — docs/research/24-bank-arbitration.md; при любом расхождении верить ей. Числа обоих файлов идентичны (сверено раундом 3 адверсариала).

research/24 — Арбитраж банка памяти: консилиум, уверенность моделей, инжект/фетч

Сессия ресёрч+полигон, 04.08.2026. Исполнение docs/BANK_ARBITRATION_RESEARCH_SESSION_PROMPT.md (выдан D39.89; пере-запуск после прерванного захода 02.08 — артефактов того захода в дереве нет, D39.90 п.5). Не закоммичено — лендит оркестратор.

Эхо-шапка

  • Скоуп: проверка гипотезы владельца (консилиум без голоса · самооценка уверенности · инжект/фетч)
    • прямой запрос владельца 04.08: общий взгляд на алгоритм банка, «хватает ли текущего», индустриальный стандарт, который могли пропустить.
  • Подрезка D39.90 п.5 учтена: A целиком · B1 голд · B3 формы консилиума с контролем «одна модель N раз» · B2 свёрнута до под-пробы внутри B3 · C — малая адресная проба (владелец 04.08 назвал инжект явно, поэтому не отложена совсем, а сокращена).
  • Деньги: потолок владельца 04.08 = $1.00 (перекрывает $2.00 промта и $1.20 подрезки); суб-потолки сессии: пробы B ≤ $0.70 · проба C ≤ $0.30. Факт — §Деньги в конце.
  • Зона записи: этот файл + eval/bank_arbitration/ + секция «Полигон» в PROGRESS. Сырьё моделей — durable в ~/books/gu-zhenren/bank-arbitration/. Не коммичу.
  • Стенд: пробы своим харнессом против API напрямую (не через движок — в backend/ незакоммиченный пак живой сессии); перенос выводов в движок называется явно. coldrun-a — только чтение.
  • Базлайн качества банка = coldrun-a (D39.86: coldrun-b сломан транспортом, сравнение с ним запрещено).

§0. ПРЕ-РЕГИСТРАЦИЯ ПРОБ (записано ДО первого платного вызова; норма D39.46)

Дата/время фиксации: 2026-08-04, до каких-либо платных вызовов этой сессии. Голд (§B1) собран ДО пре-регистрации ($0), его числа: 53 approved сида → 45 в BANK-FULL coldrun-a, из них 34 со spread≥2.

Пассы (все — полный голд-набор одним батч-протоколом, engine-faithful RenderBatch):

Пасс Модель Режим Что несёт
ds1..ds3 deepseek-v4-flash reasoning_effort:"low", temp 0 S1 (свежий одиночный) + SC (само-согласованность N=3) + числовая уверенность 0100
dsw deepseek-v4-flash то же словесная шкала уверенности (точно/скорее да/не уверен/не знаю)
glm1 glm-5 thinking disabled (форма движка) второе семейство + числовая уверенность
mis1 mistral-large-2512 без reasoning третье семейство + числовая уверенность
gro1 (опция при остатке бюджета) grok-4.3 дефолт (low) четвёртое семейство, чувствительность состава совета

Эффорты каждого пасса печатаются в отчёте (иначе числа несравнимы — §7 промта).

Формы арбитража (агрегация офлайн, $0):

  • P0 — бесплатный базис §C2-3: топ-вариант ранжирования движка (колонка вариантов BANK-FULL, bankStopRows рендерит best-ranked first). Термы без вариантов → P0 пуст (честный отказ базиса).
  • P1 — прод-референс: сведённый dst coldrun-a (терминолог на до-катоверных весах).
  • S1 = ds1. SC = большинство(ds1,ds2,ds3), при 3-стороннем расхождении → ds1.
  • C3 — равноправный совет: большинство(ds1, glm1, mis1) по нормализованному совпадению; полное расхождение → P0-топ, если хоть один голос совпал с ним, иначе ds1.
  • C3conf — взвешенный: argmax по сумме заявленных уверенностей проголосовавших за вариант моделей.
  • E1 — улики-первым: P0 стоит; «спорный» терм := (spread≥2 И разрыв top1top2 по чанкам ≤1) ИЛИ singleton-улика (top1 предложен 1 чанком) → на спорных решает C3. Цена печатается долей от полного совета.

Метрики:

  • Точность против голда: нормализованное точное совпадение (casefold · ё→е · схлоп пробелов · срез «»/кавычек). Промахи вскрываются глазами; спорные эквивалентности печатаются отдельно, автоматом НЕ засчитываются.
  • Парные сравнения форм: счёт термов «A прав ∧ B неправ» против обратного (не голые проценты).
  • Кластерная связность: семьи 古月-* (7 поверхностей, РАЗНОЙ длины — DetectSeries её не видит), 蛊-* (蛊师/蛊虫/月光蛊 + голова 蛊 вне банка), серии 等/转 (равнодлинные — детектируются). Метрика: консистентность конвенции внутри семьи у каждой формы (одна голова/конвенция у всех членов — да/нет), и отдельно: даёт ли по-терминный агрегатор химеру там, где одиночная модель консистентна.
  • B2-под-проба (уверенность): AUC(уверенность → верно/неверно по голду) per-model (bootstrap 90% CI); устойчивость: медиана |Δconf| ds1↔ds2↔ds3 и доля флипов ответа; сравнимость шкал: |Δ средних conf| между моделями на одном наборе; канал отказа: счёт ⟦TM-NO-DST⟧ и его стабильность между ds1..ds3.

Критерии (успех/провал, зафиксированы ДО запуска):

  1. БАР (в): форма «бьёт базис P0», если парное преимущество (термы A-прав-P0-неправ минус обратные) ≥ +5 на 45 голд-термах. Меньше — «не бьёт» (на N=45 меньшее неотличимо от шума).
  2. Q2 (окупаются ли семейства): C3 против SC парное преимущество ≥ +3; меньше ⇒ «разные семейства не окупаются, хватает N прогонов одной модели» (легитимный исход).
  3. Уверенность разделяет, если AUC ≥ 0.70 и нижняя граница CI > 0.5 минимум у 2 моделей из 3; иначе — «уверенность как арбитр закрыта по нужности». Числа против слов: |ΔAUC| ≥ 0.05 решает форму. Шкалы несравнимы, если |Δ средних conf| > 20 п. ⇒ сырой кросс-модельный скор как решающее правило запрещён.
  4. Кластеры: ≥1 новая химера у C3 там, где SC/P1 консистентны ⇒ возражение §4 промта подтверждено (единица арбитража обязана быть кластером).
  5. Проба C (инжект, формат RenderGlossaryBlock/RenderEditorConstraintBlock байт-близко): 6 чанков × 4 арма (без инъекции · верный закон · НЕВЕРНАЯ строка законом · та же неверная строка с маркером ⟨проверить⟩), deepseek-v4-flash low, temp 0. Критерии: маркер «читается мягче закона», если послушание(закон-неверный) послушание(⟨проверить⟩-неверный) ≥ 20 п.п.; «пометка = закон» (дефект), если < 10 п.п. Вред реален, если неверная строка законом принимается в ≥ 50% случаев. Между 10 и 20 п.п. — «неразделимо на N=6×набор строк», честно печатается.

Смета ДО запуска (проектная):

B: deepseek 4 пасса ≈ $0.02 · glm-5 ≈ $0.04 · mistral ≈ $0.02 · grok (опция) ≈ $0.05 → ≈ $0.13. C: 24 вызова flash-low ≈ $0.05. Итого ≈ $0.18 из $1.00. СТОП-условия: любой суб-потолок (B $0.70 / C $0.30) = стоп+релей.

(Секции §A§D заполняются после исполнения; эта пре-регистрация после запуска не правится.)


§A. Критика текущего алгоритма в коде (Работа A, $0; диагноз, не правка)

Маршрут терма: miner/ (WHICH) → banknote.go (WHAT, голоса чанков) → terminology.go Merge/AttachKWIC/ScoreVariants → series.go co-батчинг → classify.go тип-фаза → terminologist.go (эмиссия auto/draft) → membank/memory.go Select/Render → mempostcheck.go. Классы дефектов: сломано (неверный результат) · хрупко (верно случайно) · дорого (непропорциональная цена) · слепо (класс не покрыт/не виден). Все адреса перечитаны в HEAD этой сессией.

A1. Единица решения — строка; связность системы термов держится тремя СЛУЧАЙНЫМИ механизмами — «слепо»

  • ScoreVariants ранжирует варианты одного кандидата независимо (terminology.go:393-450); единственный межстрочный фактор neighbourAgrees требует УЖЕ подписанной строки (terminology.go:465-482) — на холодном/автономном банке мёртв (замер D39.65: сработал 2/23 и только на ничьих). Посылка промта подтверждена чтением.
  • DetectSeries ловит ТОЛЬКО равнодлинные наборы с общей головой и одной варьирующей позицией (series.go:37-42, без транзитивного замыкания — осознанно). Семьи общего корня РАЗНОЙ длины не ловятся ничем: в живом BANK-FULL их две крупных — 古月-семья (15 поверхностей: 古月 · 古月博 · 古月冻土 · 古月山寨 …) и 蛊-семья (14: 蛊师 · 蛊虫 · 月光蛊 · 本命蛊 · 一转蛊师 …). Цена измерена голдом: конвенция 古月 («Гуюэ» одним словом против «Гу Юэ») стоила 8 из 45 голд-строк — восемь промахов ОДНИМ решением (§B1).
  • Третий, нигде не записанный компенсатор: Merge сортирует кандидатов по ключу (terminology.go:212), поэтому ПРЕФИКСНЫЕ семьи (古月*) получают смежность в батче случайно — а СУФФИКСНЫЕ (X蛊 — голово-финальная морфология, главный класс CJK-реалий) рассеиваются: в батчах этой сессии 月光蛊 → батч 0, 本命蛊/蛊师/蛊虫 → батч 1, 一转蛊师/三转蛊师 → батч 3. Связность 蛊-семьи не защищена вообще.
  • Вердикт-тройка: посылка — верна и ШИРЕ записанной (в D-логе названы серии, префикс-лотерея не названа); нужность — межстрочная связность подтверждена деньгами голда (8/45); форма — кластер-канал «семья по общей морфеме» (кандидат уже назван в D39.65 п.4: «кластер по общей исходной морфеме»), НЕ транзитивный, головой из script-series.txt-данных; альтернатива «второй проход ре-чтения» дороже и не чинит рассеяние по батчам.

A2. Потолок арбитража-как-СЕЛЕКЦИИ измерен: 22 из 27 промахов не имели верного ответа в вариантах — гейт на класс дизайнов

По голду §B1: у 27 промахов прод-консолидации верный (подписанный) dst лежал в вариантах черновиков только у 5. Максимум ЛЮБОЙ формы «выбери лучший из предложенных» = 17/45 (12 у базиса §C2-3 + 5). Все дизайны вида «модели голосуют по вариантам / скор выбирает победителя» упираются в этот потолок ДО всякого вопроса о калибровке. Верный dst чаще требует ГЕНЕРАЦИИ по контексту (гора Цинмао · смертный · класс А) либо знания конвенции пары/владельца. Это сужение посылки гипотезы консилиума, полученное $0.

terminology.go:242-256: скан отсортированных mined-ключей, break на 4 — выбор лексикографический, не по релевантности; для 蛊 с 14 родственными поверхностями показанные 4 произвольны. Заявка «контекст для человека и модели, не индекс» честна, но выбор ЭТИХ четырёх ничем не мотивирован. Форма: тот же cap, но по числу общих рун (механика веса уже написана в CanonFor, terminology.go:714-765). Нужность — низкая, пока A1 не построен; вместе с кластер-каналом закрывается сама.

A4. Однопроходность: внутри-прогонные противоречия консолидаций не проверяет НИКТО — «слепо», $0-фикс-кандидат

  • Канон читается один раз ДО всех батчей (terminologist.go:284); решения батча i невидимы батчу i+1.
  • CanonConflicts сверяет консолидации только с ПОДПИСАННЫМ банком (terminologist.go:335, terminology.go:787-812). Пара свежих консолидаций, противоречащих ДРУГ ДРУГУ (蛊师 ⊂ 一转蛊师 с потерянной головой; 空窍→«кунцяо» при 开窍→«открытие точки»), не проверяется ничем — хотя весь механизм (containment + lexemeSubset) уже написан строк на 20 выше. На автономном курсе (D39.59/67: подпись опциональна) подписанных строк ноль и деterministic-рубеж связности ПУСТ.
  • Вердикт-тройка: посылка — курс на автономность делает канон-якорь пустым на самом важном прогоне (первом); нужность — прямая (это second-half дефекта A1); форма — прогнать СУЩЕСТВУЮЩИЙ CanonConflicts по парам consolidated×consolidated ($0, чистая функция) против альтернативы «второй платный проход само-ревью» (платный, не детерминированный).

A5. foldVariants фолдит только байт-идентичные dst — частотный фактор дробится об орфографию — «хрупко»

terminology.go:222-237. «лунный гу ×2» + «Лунный гу ×1» + «гу лунного света ×1» считаются разными вариантами; §C2-3 видит осколки, а не конвенцию (живой пример — 月光蛊, spread=7 при фактических ~4 конвенциях). Реальную частоту конвенции не видит ни скоринг, ни владелец в колонке spread. Форма: голос считать по НОРМАЛИЗОВАННОЙ цели (casefold + ё/е + схлоп дефис/пробел), поверхности показывать сырыми; альтернатива «оставить как есть» завышает spread и раздаёт частотный фактор случайно.

A6. KWIC: сэмплинг = ПЕРВЫЕ N вхождений — смещение к началу книги — «слепо»; плюс строка 37 «дорого»

kwicFor берёт первые maxPer вхождений в порядке (chapter, chunk) (terminology.go:308-329) — термин, чей смысл раскрывается/сдвигается поздно, показан ролью только ранними контекстами. Замер D39.50 («3×40 достаточен, не пере-открывать») мерил РАЗМЕР сетки подача×ширина, не СТРАТЕГИЮ сэмплинга — ось «первые-N против стратифицированных по книге» не мерена никем (не пере-открываю размер, называю ось). Плюс подтверждена квадратичность строки 37: скан всех чанков на кандидата, window() пересчитывает руны префикса на каждом вхождении (terminology.go:332-346); multi-pattern автомат уже есть в репо (membank/memory.go:872-918) — переиспользовать, не писать новый.

A7. Наблюдаемость арбитража: «почему у терма такой dst» сегодня НЕОТВЕТИМО — «слепо», гейтит любой будущий арбитраж

  • Variant.Signals — аудит-трейл §C2-3 (terminology.go:86) — вычисляется и ВЫБРАСЫВАЕТСЯ: в стоп-таблицу идут только «dst ×N» (mining.go:256-270), Signals не читает ни один потребитель.
  • reasoning_content терминолога не персистится нигде (grep по llm/+store/: единственное вхождение — док-коммент capability.go:63); чекпойнт хранит только content.
  • Сочинённый вне улик dst (1015/75 по D39.65) не флагуется: колонки «dst ∉ вариантов черновиков» нет — а это $0-предикат по уже собранным данным.
  • Итог: оператор видит «вот варианты, вот финал»; связать финал с уликой, контекстом или хотя бы фактом «финал изобретён вне улик» нельзя. Любой будущий консилиум/рецензент, чей выход тоже не будет трассируем, умножит эту слепоту, а не вылечит.

A8. Эмиссия (переквантифицировано голдом, чинить НЕ порогом): банк-автоном не видит 15% подписанного канона

8 из 53 подписанных термов вообще отсутствуют в BANK-FULL: 蛊 (голова книги — строка 18, сид-половина) · 修炼/修行 (класс term, recall 0.040 — D39.43/50, расширение закрыто механизмом) · 资质 · 长生 · 江牙 · 月影蛊 · 血颅蛊. Ничего нового против D39.50 — но это ЧИСЛО стоит держать рядом с любым разговором о качестве арбитража: у лучшего арбитра нет строк, которых нет.

A9. Инжект-сторона: точечные наблюдения

  • Бюджет режется ПРЕФИКС-катом (memory.go:615-628): первая переполнившая строка обрезает всё после себя, включая короткие строки, которые влезли бы. Порядок приоритетный, страдает наименее доверенный хвост — «дорого» в мягкой форме, недозаполнение шире необходимого. Минор.
  • Sticky-глубина 2 со сбросом на границе главы (memory.go:112) — местоименная сцена глубже двух чанков теряет канон; осознанный дизайн, как дефект не измерен.
  • Двухсекционная инъекция: приор промта подтверждён — замера «⟨проверить⟩ читается мягче закона» не существовало (тесты пинят байты рендера, не поведение модели). Проба C этого пака — первый замер (транслятор-провод; редакторский провод остаётся немеряным — см. критик полноты).
  • Пост-чек mempostcheck.go — честный флаггер: decl-aware, sticky исключён, известный recall-класс назван в доке (mempostcheck.go:160-176). Дефектов сверх записанного не нашёл.

A10. Банкнота: форма верная

Невоспроизводимость (Жаккар 0.0770.40) компенсируется агрегацией по ВСЕМ прогонам с голосами по чанкам (banknote.go:470-505), суперседед-ответы включены осознанно; порядок колонок восстанавливается инвариантом засвидетельствованности. Дефектов сверх записанного не нашёл.


§B. Арбитраж: голд · базисы · формы консилиума · уверенность

B1. Голд-набор и его смещение ($0)

Сборка: eval/bank_arbitration/build_gold.pygold/gold.jsonl (провенанс на каждой строке). Ядро = сид v2 (~/books/gu-zhenren/guzhenren-seed-v2.yaml): 53 записи status:approved с подписанным dst. Джойн по нормализованной поверхности (src + алиасы) против банка coldrun-a (BANK-FULL.tsv 150 поверхностей + KWIC/варианты из bank-stop таблицы):

  • 45 из 53 в банке; из них 34 со spread≥2 (есть из чего выбирать).
  • 8 не в банке — и это ровно известные дыры эмиссии, переквантифицированные голдом (§A8): 蛊 · 修炼 · 修行 · 资质 · 长生 · 江牙 · 月影蛊 · 血颅蛊.

Смещение, честно: (1) сид = термы, до которых у владельца дошли руки — сдвиг к важным и уже спорным; (2) сид писался ПОСЛЕ прогонов exp1316, часть подписей могла быть сформулирована при виде машинных вариантов — «независимость» голда от машинного словаря неполная; (3) один голд — одна книга одной пары; (4) термы с «вкусовым» dst (класс А/Б/В/Г; Монах Цветочного Вина) недостижимы для модели без брифа — это не дефект голда, а свойство задачи (D39.47), но долю таких строк надо помнить при чтении точностей. Мини-голд алиасов §E-1 research/20 в этот голд НЕ входит (запрос владельцу — §Вопросы).

B2-предварительное. Бесплатные базисы против голда ($0, score_baselines.py)

Базис Точность Комментарий
P0 — топ-вариант §C2-3 (ранжирование движка, колонка BANK-FULL) 12/45 бесплатный детерминированный базис БАР-(в)
P1 — сведённый dst терминолога coldrun-a (до-катоверные веса) 18/45 парно к P0: +7/1 — платная консолидация УЖЕ бьёт формулу

Анатомия 27 промахов P1 (все единицы вскрыты в сырье скрипта):

  • 8 промахов = ОДНА конвенция 古月 («Гу Юэ X» против подписанного «Гуюэ X» одним словом — правило Палладия для составной фамилии, ср. Сыма/Оуян; лежит в note сида). Кластерный дефект A1 в деньгах.
  • 4 промаха = серия 等 («класс Цзя»/«ранг И»… против «класс А/Б/В/Г») — серийная несвязность + выбор регистра владельцем; подписанного ответа НЕТ ни в одном черновом варианте.
  • Остальное — класс «слишком китаизированно»/реалия-транслит (空窍→кунцяо · 元海→Юаньхай · 真元→чжэньюань · 元石→юаньши · 青茅山→Цинмаошань · 花酒行者→Хуацзю Синчжэ …) + лексические выборы (凡人 · 困境 · 炼化).
  • Ключевое число: только у 5 из 27 промахов верный dst вообще ЛЕЖАЛ в вариантах черновиков.потолок ЛЮБОЙ формы «выбери из предложенного» = 17/45. Селекционные консилиумы («модели голосуют по вариантам», «скор выбирает победителя») упираются в потолок ДО вопроса о калибровке. Верный dst чаще требует генерации по контексту или знания конвенции пары/владельца.
  • Оговорка адверсариального прохода: несправедливо засчитанных промахов 0 — нормализация уже фолдит регистр/ё/кавычки; единственная нефолдженная ось (пробел слитно/раздельно) НЕСЁТ подписанное решение владельца в обе стороны (古月→«Гуюэ» слитно, но 人祖→«Жэнь Цзу» раздельно), фолдить её нельзя. Если бы владелец когда-нибудь объявил эту ось неканоничной, P1 поднялся бы до 26/45 — сид фиксирует обратное.

B3. Формы консилиума против базиса (платные пассы; критерии §0)

Все пассы прошли начисто: 30+5 вызовов, каждый finish=stop, отказов и пустых тел ноль; эффорты в таблице §0 (deepseek reasoning_effort:"low" — печатаю явно: на вендор-дефолте high бэнк-вызовы покупают пустое, D39.86). Ответы всех пассов — 63/63 строк, парсер потерь не зафиксировал.

Форма Точность Против P0 (парно) Комментарий
P0 базис §C2-3 12/45 ни одного термина, где P0 прав, а любая свежая форма неправа
P1 прод coldrun-a 18/45 +7/1 старые веса, era-конфаунд (см. критик полноты)
S1 deepseek-соло (low) 20/45 +8/0
SC = 3× та же модель 20/45 +8/0 +0/0 против S1 — само-согласованность не покупает ничего
C3 совет 3 семейств 23/45 +11/0 против SC: +3/0 — ровно на пороге критерия 2
C3conf взвешенный 23/45 +11/0 +0/0 против C3 — веса из уверенности не двигают ничего
E1 улики-первым 22/45 +10/0 1 против C3; создал химеру (см. B4)
glm-5 соло 25/45 лучший одиночка выше лучшего совета
mistral-соло 23/45
grok-4.3 соло 12/45 худший — на уровне бесплатного базиса
C4 = совет 4 семейств 20/45 добавление слабого члена УРОНИЛО совет 23→20

Вердикты по критериям §0:

  1. БАР (в) пройден — но не консилиумом, а СВЕЖЕСТЬЮ: уже одиночный deepseek на low бьёт базис +8/0. Честная формула: «платная генеративная консолидация по KWIC бьёт бесплатную формулу» — это пере-подтверждение D39.65 (роль = эффективный консолидатор), теперь с голдом и знаком КАЧЕСТВА, которого у D39.65 не было.
  2. Q2 (окупаются ли семейства): формально +3 = порог, содержательно — НЕТ. Все три добычи C3 против SC — строки ОДНОЙ конвенции 古月 (glm+mistral переголосовали deepseek «слитно»). Это не три независимых выигрыша, а один кластерный. При этом: лучший одиночка (glm 25/45) > лучший совет (23/45); совет из 4 хуже совета из 3 (grok тянет к «Гу Юэ» и на паритетах ломает большинство); C3conf ≡ C3. Равноправный совет как прод-механизм закрыть; что остаётся жить — рецензент/эскалация спорных КЛАСТЕРОВ вторым семейством (замер Q2 строки 5 — см. §D).
  3. Уверенность (B2-под-проба): числовая самооценка РАЗДЕЛЯЕТ внутри модели — AUC ds 0.770 (CI90 0.6560.879) · glm 0.851 (0.7420.947) · mistral 0.825 (0.7190.915); критерий «≥0.70 и CI>0.5 у ≥2 моделей» ВЫПОЛНЕН. Словесная шкала хуже числовой: AUC 0.630 (0.5560.704), ΔAUC≈0.14 ≥ 0.05. Устойчивость: медиана размаха conf между тремя повторами 10 п., флипов ответа 9/45. НО: (а) все модели тотально overconfident — средняя conf 87.790.1 при точности 4456%: как ВЕРОЯТНОСТЬ шкала не значит ничего, работает только как РАНГ внутри одной модели; (б) средние шкал между моделями совпали (Δ<3 п.) при РАЗНОЙ точности ⇒ одинаковое число ≠ одинаковое качество. ⚠ Пре-рег-метрика сравнимости (|Δ средних| > 20) при этом НЕ сработала — она слепа ровно к этому случаю «одинаково overconfident при разной точности»; вывод «сырой кросс-модельный скор как решающее правило запрещён» — ПОСТ-ХОК уточнение неудачной операционализации, и держится он на пре-зарегистрированной ФОРМЕ C3conf, которая дала +0/0 делом; (в) согласуется с литературой (Kadavath 2022 · Tian 2023 · «Overconfidence is Key» 2024 — см. §D-индустрия). Форма жизни уверенности: ordinal-очередь ревью, не арбитр.
  4. Канал отказа: ⟦TM-NO-DST⟧ = 0 использований во всех 7 пассах — модели никогда не отказываются. Оговорка субстрата: D39.50 мерил размах сентинела на ХВОСТЕ расширенной эмиссии; наш субстрат — банк-строки голда, так что пере-подтверждена половина приора («роль всегда отвечает строкой»), не весь.

B4. Кластерная связность (возражение §4 промта — проверено)

Три семьи с голдом: 古月 (8 строк, разнодлинная — DetectSeries НЕ видит), серии 转 и 等 (равнодлинные — видит и со-батчит; в пробе со-батчены по форме движка):

Семья P1 (прод) S1 (соло) C3 (совет) E1 (улики-первым)
古月 консистентна («Гу Юэ» — раздельно, ПРОТИВ подписи) ХИМЕРА (4׫Гу Юэ» + 4׫Гуюэ») консистентна («Гуюэ» = подпись) консистентна
консистентна («ранг») консистентна консистентна ХИМЕРА («оборот»+«ранг»)
ХИМЕРА («класс Цзя»/«ранг И» — дефект D39.65) консистентна («уровень X», мимо голда) консистентна консистентна
  • Химера S1 на 古月 воспроизведена ПРИЧИННО на границе батча: семья разрезана батчами 0 и 2 (ключ-сортировка дала смежность, но пакер разрезал), и deepseek дал «Гу Юэ» ровно членам батча 2 и «Гуюэ» ровно членам батча 0. Это дефект класса D39.65 строка 21 (甲等→«класс»/乙等→«ранг» через границу батча), повторённый на СЕМЬЕ, которую серия-детектор не со-батчит. Механизм лечения известен и уже ратифицирован для серий (§1 D39.69) — его надо расширить на семьи (§D п.1).
  • E1 создал химеру там, где ВСЕ голосующие консистентны: для неспорного 一转 E1 взял P0-топ «первый оборот», для спорных членов — советское «ранг». Честно к пре-регу: критерий 4 §0 буквально зарегистрирован для C3 — и у C3 он НЕ сработал (совет химер не создал); химеру дала по-терминная МАРШРУТИЗАЦИЯ E1 — тот же класс дефекта, шире зарегистрированного носителя. Содержательный вывод стоит на E1-факте: любой роутинг (какому арбитру отдать строку) обязан быть кластерным, не построчным — иначе он ломает серию так же, как по-терминный argmax.
  • Совет химер не создал (модели внутренне консистентны и согласны 2:1 в одну сторону на всех строках семьи) — и один раз химеру ПОЧИНИЛ. Опасность совета — не химера, а систематически неверная конвенция при согласии слабых членов (C4: grok+deepseek-батч-2 давали «Гу Юэ»-большинство на части строк).

B5. Стоимость в терминах КНИГИ (обязательство §4 промта)

Измеренные цены пассов на 63-термовом голд-ростере (5 батчей, engine-faithful): deepseek-low ≈ $0.0063/пасс (среднее трёх; медиана $0.0068) · glm-5 $0.0185 · mistral $0.0128 · grok $0.0265. Пер-терм: ds ≈ $0.0001 · glm ≈ $0.0003 · mis ≈ $0.0002 · grok ≈ $0.0004.

Допущение о словаре (названо): книга 1000 глав ≈ 10003000 РАЗЛИЧНЫХ банк-строк (насыщение по Хипсу; стенд: 10 глав → 150 эмитированных при cap 200; альфавит кандидатов книги 13 246 — но эмиссия капится). На 2000 строк:

Механизм $ на книгу 1000 глав
Терминолог-соло (сегодня, low) $0.200.60
+ серия/семья-со-батч + intra-run чек + наблюдаемость (§D п.13) то же + центы
Совет 3 семейств полный $1.23.6
Рецензент спорных кластеров (2-я модель, доля спорных 50% по BANK-FULL) $0.51.5
Инжект-ось (для сравнения): ≤800 ток/чанк × ~4600 чанк-вызовов двух волн ≤$0.52 инпут-токенов ГРАНИЦА СВЕРХУ (реальный блок много меньше потолка; кэш удешевляет)

Рабочая гипотеза промта «в арбитраже можно покупать расточительно, в инжекте каждая строка платная» подтверждается НАПОЛОВИНУ: оси действительно разные (арбитраж насыщается, инжект рекуррентен), но на сегодняшних flash-ценах и 800-токовом потолке они СОИЗМЕРИМЫ ($ единицы за книгу и там и там), порядки разойдутся только на дорогих моделях/больших потолках. Расточительность в арбитраже дёшева — но §B3 показал, что покупать расточительно НЕЧЕГО: совет не приносит.


§C. Инжект/фетч: послушание и вред (проба C, $0.0097)

6 окон источника (500570 симв., 26 голд-термов каждое, разнесены по главам) × 4 арма × deepseek-flash-low, temp 0, формат движка байт-близко (блок = glossary_header + «src → dst», инъекция вторым system-сообщением — MessagesWithInjection, render.go:246-262). 24 вызова, все stop.

Арм Верные строки: dst в выходе Неверная строка: WRONG в выходе
A без инъекции 9/21 (43%) — спонтанное совпадение с каноном 0/6
B верный закон 20/21 (95%) 0/6
C НЕВЕРНАЯ строка законом 20/21 (по верным) 6/6 (100%)
D та же строка с ⟨проверить⟩ 21/21 (по верным) 6/6 (100%)

Вердикты по критериям §0 п.5:

  • Инъекция — мощный управляемый рычаг: 43% → 95% следования канону. Рычаг есть; recall банка (0.918, D39.58) не был продуктовой метрикой — вот продуктовая.
  • Вред симметричен и тотален: неверная строка законом принимается 6/6. В 5 из 6 окон неверный вариант ПОЛНОСТЬЮ вытеснил верный (единственное исключение — w1 真元, где модель употребила оба). Доктрина «банк обязан приходить верным автономно» (D39.59/67/77) получает цену ошибки числом: каждая неверная строка банка = ~100% заражение всех чанков, где терм встречается.
  • Маркер ⟨проверить⟩ на транслятор-проводе НЕ смягчает ничего: Δ послушания = 0 п.п. (6/6 против 6/6; критерий дефекта «<10 п.п.» сработал). Заявленная семантика «неподтверждённый кандидат» байт-честно доезжает до провода и поведенчески НЕ отличается от закона. N=6 — интервал широкий (точечная оценка 100%, нижняя граница 61%), но нулевую дельту на этом N не отличить от малой — а вот от «смягчает вдвое» уже отличить можно.
  • Оговорка: это ТРАНСЛЯТОР-провод (черновая волна). Редакторский провод (двухсекционный RenderEditorConstraintBlock с «вправе перевести иначе») НЕ мерен — см. критик полноты. Фетч-сторону (Select/precision) не трогали: recall уже измерен, эмбеддинг-ретривал закрыт D39.69 и данными этой сессии не реоткрывается.

§D. Рекомендации (Работа D) — инженерно, тремя корзинами

Сначала индустриальная рамка (веб-обзор этой сессии, 7 направлений, источники с URL в сырье агента; ключевые: DelTA ICLR'25 · CRAT · DITING/AgentEval'25 · WMT24-Literary zh→ru · WMT25-Terminology findings · Kadavath'22/Tian'23 (калибровка) · TBX ISO 30042/MQM/memoQ · Netflix KNP · Bergmanis&Pinnis EACL'21):

  • Индустриального стандарта «как арбитрировать перевод ТЕРМИНА» не существует. MBR/COMET/QE-метрики тренированы на предложениях и документированно слепы к именованным сущностям — к короткой строке неприменимы; word-level QE требует своей разметки. Человеческая индустрия (TBX/memoQ/Netflix KNP) решает это ПРОЦЕССОМ (роли+статусы+трассировка), автоматического арбитра ни у кого нет.
  • Наш дизайн на фоне академии не отстаёт, а опережает: ближайший аналог банка — DelTA (proper-noun records) — использует «первый перевод фиксируется», что мы опровергли у себя же (first-occurrence-тест D39.69); наш скоринг+терминолог строго сильнее. Пропущенных «стандартов харнессов» обзор НЕ нашёл.
  • Что индустрия ЗНАЕТ, а мы ещё нет (входы в корзины ниже): негативный слой термбазы (deprecated/forbidden, TBX) · лемма-инъекция/лемма-верификация для морфологически богатой цели (Bergmanis&Pinnis: +47.7 п.п. term accuracy на латышском; у нас decl-half уже есть) · причинный A/B «no/proper/random glossary» как штатная самопроверка ценности банка (WMT25) · эскалация только спорных с двумя оценщиками и арбитром (AgentEval) · вербализованная уверенность = ordinal внутри модели, никогда кросс-модельно (Kadavath/Tian — наш замер §B3 п.3 совпал с литературой точь-в-точь).

Корзина 1 — СТРОИТЬ СЕЙЧАС (дёшево, детерминированно, под измеренную нужду)

  1. Кластер-канал «семья по общей морфеме» в со-батчинг (лечит §A1; основание: химера 古月 воспроизведена причинно на границе батча — §B4; серия-со-батч уже доказал лечение — D39.65/D39.69 §1). Форма: детект «≥K поверхностей делят морфему из ≥N рун» БЕЗ транзитивного замыкания, голово-стороннее правило из script-series.txt-данных (пара без данных — инертна; ревью-вопрос общности проходит). Фолд-цена: меняется состав батчей → перекупка батчей бэнк-ролей (центы), волны/снапшоты не двигаются.
  2. Intra-run чек связности: CanonConflicts по парам consolidated×consolidated (лечит §A4; $0, чистая функция уже написана, нужен второй вызов + WARN/колонка в стоп-таблице). Фолд: нет (evidence). Ценность промерена на живом банке (value_demo.py): 18 невидимых сегодня противоречий на 149 финалов coldrun-a (12%) — 空窍→«кунцяо» при 开窍→«открытие точки», 元海空窍→«полость Юаньхая» при 元海→«Юаньхай», 四代族长 без «главы клана» и т.д.
  3. Наблюдаемость арбитража (лечит §A7): (а) печатать Variant.Signals в стоп-таблицу; (б) колонка «invented» = dst ∉ вариантов черновиков ($0-предикат; D39.65 мерил 1015/75 вручную — станет бесплатным счётчиком); (в) колонка conf терминолога (см. п.4). Фолд: нет.
  4. Уверенность как ordinal-очередь ревью (основание §B3 п.3: AUC 0.770.85 внутри модели, повтор стабилен ±10 п.): третье поле в ответе терминолога, в стоп-таблице сортировка «сначала неуверенное». ЗАПРЕЩЁННАЯ форма зафиксирована: кросс-модельное сравнение и «скор решает» (C3conf: +0; шкалы overconfident ~88 при точности ~50%). Фолд: правка промпт-файла = PromptSHA256 → перекупка батчей терминолога один раз. ⚠ Ловушка реализации: ParseReply сегодня джойнит ВСЁ после первого поля в dst (terminology.go:885 — защита от двойного пробела в имени) — числовой хвост-уверенность надо снимать ДО джойна, иначе conf молча въедет в dst и пройдёт wellFormedLemma.
  5. Голос §C2-3 по нормализованной цели в foldVariants — ПОНИЖЕНО до косметики после замера (value_demo.py): частотный топ честно сдвигается лишь у 1/75 строк со spread≥2 (первая версия замера давала 38 — ловушка тай-брейка, поймана самопроверкой). Реальная ценность — честная колонка spread для владельца (сегодня 月光蛊 показывает spread=7 при ~4 конвенциях), не качество выбора. Делать заодно с п.3, отдельного касания не стоит.

Корзина 2 — ИЗМЕРИТЬ ПРЕЖДЕ ЧЕМ РЕШАТЬ

  1. Рецензент-второе-семейство на СПОРНЫХ КЛАСТЕРАХ (наследник Q2/строки 5; это НЕ равноправный совет — тот закрыт корзиной 3). Числа этой сессии — вход: glm-соло 25/45 лучший; спорных 50% полного банка; роутинг обязан быть кластерным (E1-химера, §B4). Замер добора: рецензент только на кластерах с несогласием/низким conf, счёт «чинит/ломает/цена» против терминолог-соло. Слот при ре-пробе 74 уже ратифицирован (D39.70 Q2, D39.79 п.6). Инвариант §0 п.4 — явно, как требует промт: выход рецензента — та же draft/⟨проверить⟩-эмиссия и колонка несогласия в стоп-таблице; согласие двух моделей НЕ поднимает статус и НИЧЕГО не утверждает — эмиссионные ветки auto/draft не трогаются.
  2. KWIC-сэмплинг: первые-N против стратифицированных по книге (§A6; ~$0.02 на харнессе этой сессии; размер сетки НЕ пере-открывать — D39.50).
  3. Причинный A/B банка по-WMT25 (no/proper/random) на первой edit-волне добора идеала — цена/вред банка на продуктовой метрике; random-арм у нас теперь откалиброван пробой C (вред 100% на транслятор-проводе — ждём цифру редакторского контура).
  4. Редакторский провод двухсекционки (§C-оговорка): та же проба на editor.md с CONFIRMED-секцией против «вправе перевести иначе»-секции. Если и там Δ≈0 — вся конструкция «неподтверждённое С ПОМЕТКОЙ» (D39.42 п.3) стоит на несуществующем поведенческом различии, и это вопрос владельцу уровня доктрины.
  5. Негативный слой (TBX deprecated/forbidden): $0-замер на coldrun-финалах — как часто отвергнутые варианты подписанных термов рецидивируют в выходах; ненулевой поток → дешёвый линт по леммам отвергнутых форм (дом — существующий пост-чек, не новый механизм).
  6. Конвенция составных фамилий (Палладий: слитно) как данные пар-промпта терминолога/классификатора: дата-правка, чинит 8/45 голд-строк «бесплатно» (glm/mistral уже следуют ей сами). Замер: N составных фамилий на второй книге пары до/после. ⚠ это ПАР-ПРАВИЛО транскрипции (класс Z-B3-узкого правила, ратифицированного), не жанровый словарь — D39.47 не задет; подтверждение владельца всё же спрошено (§Вопросы), потому что «Гуюэ» стоит в его подписи, а не в нашем правиле.

Корзина 3 — ЗАКРЫТЬ ПО НУЖНОСТИ (все — числами этой сессии)

  1. Равноправный консилиум N семейств как прод-механизм — прирост к SC = одна конвенция (+3 строки одного кластера); лучший одиночка (25/45) > лучший совет (23/45); C4 хуже C3 (слабый член вычитает); цена ×35. Гипотеза владельца «консилиум без голоса» на этих данных НЕ окупается.
  2. Взвешенный арбитраж кросс-модельной уверенностью — C3conf ≡ C3 (+0/0); шкалы overconfident и несравнимы между моделями (наш замер + литература). Закрыть как решающее правило (ordinal-очередь — корзина 1 п.4 — живёт).
  3. Само-согласованность «одна модель N раз» — SCS1 = +0/0 при 9/45 флипах: разброс есть, информации в нём нет. (thinking-режим DeepSeek игнорирует temperature — управляемой вариативности для self-consistency-ансамбля просто нет.)
  4. Селекционный арбитраж (« выбери лучший из вариантов черновиков») — потолок 17/45 по построению (§B2), закрыть классом, не формой.
  5. Канал отказа/⟦TM-NO-DST⟧ как сигнал уверенности — 0 использований на 7 пассах × 3 семействах; D39.50 пере-подтверждён. Строить на отказе нечего.
  6. Эмбеддинг-фетч — закрыт D39.69; наши данные (recall не мерили, послушание уже 95% на точном матче) реопен-условия не создают.

Обязательные оси §6 промта, не закрытые корзинами выше

  • Холодный старт против накопленного банка: все пробы этой сессии — холодные (канон-якорь пуст, как в автономном первом прогоне). На накопленном банке появляется ⟦TM-CANON⟧ и фактор соседей — механика «дозревания» (подписанная строка чинит соседей через якорь) НЕ мерена никем; вход в замер добора идеала: та же проба с непустым каноном.
  • Вторая пара (ja→ru): не двигается этими данными; не-CJK-детектора нет (строка 35) — кластер-канал корзины 1 обязан прийти данными (script-series.txt-класс), не Go-веткой, тогда пара без данных инертна и ревью-вопрос общности проходит.
  • Серийный шаринг банка (48а/48б): не двигается; заметка — экспортируемый сид-YAML уже несёт конвенции (Гуюэ-класс) в следующую книгу серии, то есть шаринг = ещё один канал доставки конвенций, усиливающий довод корзины 1 п.11.

Свободная критика (процессное правило №4 — куда на самом деле смотрит качество банка)

Гипотеза владельца проверена и в своей сильной форме («равноправный совет», «уверенность решает») НЕ подтверждена. Но проверка показала, где качество банка лежит на самом деле, числами:

  1. Достоверность строк важнее арбитража формы — инъекция исполняется на 95% и заражает на 100%; один неверный dst = все чанки терма. Дешевле всего чинится КЛАСТЕРНЫМИ решениями (8/45 одной конвенцией) и наблюдаемостью (invented/conf/Signals), а не советом.
  2. Reachability: 8/53 подписанных термов банк вообще не видит (включая головной 蛊) — лучший арбитр бессилен без строки. Сид-половина строки 18 и Q7-замер стоят выше по рычагу, чем любой консилиум.
  3. Пометка ⟨проверить⟩ поведенчески пуста на транслятор-проводе — «худшее, что может сделать плохой вызов» (инвариант §0 п.4) на практике равно «положить неверный канон в книгу до подписи». Это усиливает и доктрину автономной верности банка, и цену п.1.
  4. Владельческий регистр («класс А/Б/В/Г», «Монах Цветочного Вина») автономно недостижим ПО ПОСТРОЕНИЮ (D39.47 прав) — доля таких строк в голде ≈ четверть промахов; единственный канал их доставки — сид/бриф/шаринг серии, и никакой арбитраж это не изменит.

Вопросы владельцу (короткий список)

  1. Мини-голд алиасов (§E-1 research/20, висит с 17.07): для кластер-канала корзины 1 он полезен, но не гейт. Если делать — конкретный запрос: подписать алиас-поверхности сущностей слайса-25 по списку, который сгенерит код (~2030 мин, метод уже описан в research/20 §E-1). Решение: делать/нет?
  2. Конвенция составных фамилий (корзина 2 п.11): подтвердить, что «Гуюэ слитно (ср. Сыма, Оуян)» — ПАР-норма транскрипции Палладия, а не вкус этой книги. Если да — дата-правка пар-промпта (батчи терминолога перекупятся один раз, центы). Если это вкус книги — канал доставки только сид, правка не делается.
  3. Двухсекционка редактора (корзина 2 п.9): санкция на ~$0.05-пробу редакторского провода. Если и там Δ≈0 — доктрину «неподписанное С ПОМЕТКОЙ» надо будет пере-обсуждать (сегодня она защищает меньше, чем записано).
  4. Сводный: корзину 1 (пп.15, $0-код + центовые перекупки батчей) — передавать бэкенду одним фикс-паком по образцу D39.71?

Критик полноты (против себя)

  • Один голд, одна книга, одна пара, 45 строк. Все точности — с широкими интервалами (±14 п.п.); парные сравнения честнее точечных, но 古月-кластер коррелирует 8 строк — эффективный N меньше номинального. Кросс-книжная воспроизводимость не проверена.
  • Era-конфаунд P1: прод-референс — терминолог на ДО-катоверных весах; S1P1=+2 может быть весами, а не свежестью. На вывод «совет не окупается» не влияет (сравнение C3↔SC↔S1 — одна эра), на «свежий соло бьёт прод» — влияет, оговорено.
  • Пробы — только холодный старт (без канон-якоря); поведение с непустым ⟦TM-CANON⟧ не мерено.
  • Проба C: N=6 неверных строк, один транслятор, один арм-порядок. Редакторский провод не мерен вовсе. Вред 100% — точечная оценка с нижней границей 61%.
  • gro1 видел на один терм большеоговорка СНЯТА адверсариальным раундом 2 пере-проверкой сырья: все 7 пассов видели идентичный 63-термовый ростер (二转 лёг в ростер ДО старта процесса пассов; ### 二转 стоит в батче 3 каждого пасса, 63/63 ответов у всех). Ранняя версия оговорки опиралась на память сессии, а не на сырьё — ошибка была консервативной (ослабляла выводы зря).
  • Словесная шкала уверенности мерена на одной модели (deepseek); вывод «числа > слова» — внутри-deepseek-овый.
  • Кластерные метрики — 3 семьи; регистры обращений и алиас-графы (два других класса из §4 промта) голдом не покрыты — мини-голд алиасов (вопрос 1) закрыл бы третий.
  • E1-правило «спорный» — одно из возможных; не тюнил и не перебирал (пре-рег), химера E1 может быть свойством именно этого правила; вывод «роутинг обязан быть кластерным» от этого не зависит (химера возникает у любого правила, режущего семью).
  • Инжект-смета книги — верхняя граница по потолку 800 ток.; фактический размер блока на живой книге не считан.

Адверсариальный проход (author≠reviewer)

  • Раунд 1 (до платных выводов): два независимых агента-скептика. Кодовый: 7/7 клеймов §A CONFIRMED с file:line (один нит — механика равной длины серий живёт в series.go:46-66, а не только 37-42; принято). Голд-скептик: числа воспроизведены пере-раном байт-в-байт; гипотеза «промахи несправедливы из-за нормализации» ОПРОВЕРГНУТА (0 несправедливых; ось пробела несёт подпись владельца в обе стороны — Гуюэ слитно, Жэнь Цзу раздельно); джойн сида чист (пере-джойн точным равенством дал тот же сплит 45/8); порядок вариантов BANK-FULL = §C2-3-ранжирование (байт-сверка со стоп-таблицей, 150/150).
  • Раунд 2 (по готовому отчёту, платные выводы §B/§C): два независимых агента (числа · логика/комплаенс). Числовой: все 11 точностей форм, все парные сравнения, AUC с CI (бутстрап сидирован — до 3-го знака), устойчивость, вся таблица пробы C и деньги до 6-го знака — CONFIRMED пере-раном; корреляция химеры S1 с границей батча подтверждена ШИРЕ голда (ds1-b0: все 6 членов слитно, включая не-голдовые 古月藻榭/古月陈博; ds1-b2: все 7 раздельно). Поймано и вправлено этим же лендингом: (1) «3×Гу Юэ» → 4× (счёт семьи); (2) ячейки 等-серии печатались скриптом как химера из-за грубого фильтра голов — метрика починена (голова = первое не-числительное слово), скрипт теперь печатает ровно таблицу §B4; (3) «медиана» → «среднее» у цены ds-пасса. Логический: пре-рег-комплаенс критериев 1/5 — буквальный; расхождение «порог +3 формально пройден, а совет закрыт» признано ЧЕСТНЫМ (вскрытие единиц обязательно по норме, коррелированный кластер 8 строк ≈ эффективный N~1 — и это уже стояло в тексте); критерий 4 переформулирован честно (сработал у E1, не у зарегистрированного C3); правило сравнимости шкал помечено пост-хок уточнением; оговорка про gro1/二转 ОПРОВЕРГНУТА сырьём и снята; инвариант «терминолог не может утвердить» рекомендациями §D не нарушен (проверено по-пунктно), к п.6 корзины 2 дописана явная draft/auto-клауза; чужие зоны не тронуты (git status: только свои файлы + PROGRESS-секция по мандату).

Заявление = команда (приёмка пере-ранит)

Все скрипты — eval/bank_arbitration/, питон eval/.venv/bin/python3:

Число Команда
53/45/8, голд build_gold.py
P0 12/45 · P1 18/45 · 27 промахов · 5-в-вариантах score_baselines.py
пассы ds/glm/mis/dsw consilium_probe.py --passes ds1,ds2,ds3,dsw,glm1,mis1 (+ retry_mis_b4.py после 429)
grok-пасс consilium_probe.py --passes gro1
формы S1/SC/C3/C3conf/E1, AUC, кластеры, деньги-2-путь arbitrate.py
серии BANK-FULL · spread≥2 50% · соло-точности · C4 · деньги extras_checks.py all
проба C: прогон / счёт inject_probe.py / inject_probe.py --score
A4-демо 18/149 · A5-демо 1/75 value_demo.py
§E ja/en: прогон / счёт multilang_probe.py / multilang_probe.py --score
§F: прогон / джойн 45 пар crosslang_bank.py --part all / python -c "from crosslang_bank import score_f1; score_f1()"

Сырьё (полные тела запросов/ответов, usage, цены): ~/books/gu-zhenren/bank-arbitration/*.json — 35 файлов консилиума + 24 инжекта. Провенанс голда — поле provenance каждой строки gold.jsonl.

§E. Достройка по вопросам владельца 04.08 (пре-регистрация ДО запуска — здесь; результаты ниже)

Вопрос владельца: «не слишком ли подвержен влиянию zh→ru пары? на диске есть ja и en книги». Признание честное: ВСЯ эмпирика §B/§C — одна пара. Два самых переносимых вывода до-меряются на isekai_majutsushi_jp.txt (ja→ru) и fifty_shades_1_en.txt (en→ru), multilang_probe.py, deepseek-low:

  • E-inject (2 ja-окна + 1 en-окно × 4 арма A/B/C/D, дизайн §C): критерии ТЕ ЖЕ, что §0 п.5 — маркер «пуст», если Δ послушания wrong-строке закон↔⟨проверить⟩ < 10 п.п.; вред реален при ≥50% принятия. Перенос подтверждён, если направление ja/en совпадает с zh (рычаг ↑, вред ~100%, маркер ~0).
  • E-family (ja): семья общего корня РАЗНОЙ длины 魔術/魔術師 намеренно разрезана границей двух батчей терминолог-структурного промпта. Критерий: если корневые конвенции dst разошлись через границу — батч-граничная химера НЕ zh-специфична.
  • Оговорки, названные до запуска: ja/en-паков в репо нет ⇒ промпты пробы НЕ engine-faithful (проба феномена, не движка); голда для ja/en нет ⇒ скорится ПОВЕДЕНИЕ (послушание/связность), не правильность против канона. Смета ≤$0.04; суб-потолок C не пересекается (отдельная достройка в общем потолке $1.00).

(результаты §E вписываются после прогона, пре-рег не правится)

§E-результаты ($0.006472, 14 вызовов, все stop; multilang_probe.py --score)

E-inject — направление zh-выводов ПЕРЕНОСИТСЯ на обе пары:

Пара A (без инъекции) B (закон) C (wrong закон) D (wrong ⟨проверить⟩)
ja→ru, верные строки 1/3 3/3 3/3 2/3
ja→ru, WRONG принят 0/2 0/2 2/2 2/2 (Δ=0)
en→ru, верные строки 2/2 2/2 2/2 2/2
en→ru, WRONG принят 0/1 0/1 1/1 1/1 (Δ=0)

Инъекция слушается ≈полностью, неверная строка принимается, маркер ⟨проверить⟩ не смягчает ничего — на ja и en ровно как на zh (§C). N крошечный (ja 2 окна, en 1) — это проверка НАПРАВЛЕНИЯ, не величины; единицы вскрыты глазами (en: «Кому: Кристиан Грэй» — неверная орфография въехала даже в шапку письма).

E-family — задуманный тест связности корня не состоялся, но поймал находку крупнее: на ja-входе батч 0 бэнк-структурного вызова вернул «переводы» УПРОЩЁННЫМ КИТАЙСКИМ (魔術→魔术 · 洗脳→洗脑 · 国王→国王) при чистом батче 1 (魔術師→маг · 魔力→мана · 勇者→герой). Это off-language класс на не-родной паре, и он подтверждает ДВЕ вещи: (1) экран языка ответа (ParseReply/OffLanguage, парослепой по построению) для будущей ja-пары — не гигиена, а несущая защита: он эти строки отбил бы громко; (2) root-связность 魔術↔魔術師 через границу батча осталась НЕизмеренной (батч 0 негоден) — честно в критик полноты. Оговорка §E-пре-рега в силе: промпты пробы не engine-faithful, это проба феномена.

§F. Кросс-пары по слову владельца 04.08: zh→en (близость к банку) и en→zh (Кристофф) — пре-регистрация

Слово владельца: «мало ориентироваться только на мой банк — он однобокий; оцени в т.ч. художественность лично на свой вкус; пары zh→en (близость к моему банку) и en→zh (книга Кристоффа)».

  • F1 zh→en: тот же 63-термовый ростер, тот же терминолог-протокол, target=английский (транскрипция pinyin). Метрики: (а) стратегия-близость — по каждому голд-терму сравнивается КЛАСС решения (смысловой перевод / транслит / гибрид) у en-выхода против подписанного ru владельца; доля совпадений классов = «примерная близость банка к тому, что выбрала бы свежая en-редакция»; (б) сверка с fan-каноном Reverend Insanity ПО ПАМЯТИ МОДЕЛИ-автора отчёта — помечается как справочная (память, не источник); неуверенные строки честно пропускаются; (в) личная оценка художественности en-выбора автором отчёта — субъективная, так и лейблится.
  • F2 en→zh: Empire of the Dawn (Кристофф, epub на диске; книга 2026 года — претрейн-контаминация минимальна). Майнинг ~12 рекуррентных термов + 2 окна прозы; терминолог-проход en→zh и перевод окон (deepseek-low и glm-5 — китайско-родная модель для контраста). Метрики: связность семей терминов; личная оценка художественности zh-прозы автором отчёта (регистр, каденс, кальки) — субъективная.
  • Критерий «близость к банку» (F1): ≥70% совпадения классов решения = «банк владельца НЕ однобокий, его выборы совпадают с независимой en-редакцией»; <50% = «банк несёт сильную ru-специфику» (обе формулировки легитимны — это описание, не экзамен).
  • Смета ≤$0.08. Оговорка: en→zh и zh→en паков в движке нет — проба переносимости ПОДХОДА, не движка.

§F-результаты ($0.011310, 11 вызовов, все stop; crosslang_bank.py, джойн — score_f1())

F1 zh→en: банк владельца НЕ однобокий — 41/45 (91%) совпадений класса решения с независимой свежей en-редакцией (порог пре-рега 70% взят с запасом; классификация ручная, автор отчёта; полный джойн печатается командой). Самое сильное:

  • Свежая en-редакция дала «Rank 1..9», «Grade A/B/C/D», «Aperture», «Gu Master», «Spring-Autumn Cicada», «Mortal» — то есть РОВНО классы подписей владельца («ранг», «класс А/Б/В/Г», «апертура», «гу-мастер», «Весенне-осенняя цикада», «смертный»), включая буквенный маппинг 甲→A, который ни один ru-черновик и ни одна ru-модель не выдали. Выбор владельца — не идиосинкразия, а конвергентная редакторская логика; ru-модели до неё не дотягиваются приором — ещё один довод за канал сид/бриф.
  • Сверка с fan-каноном Reverend Insanity ПО ПАМЯТИ автора отчёта (помечено: память, не источник): уверенно помню Gu Master · aperture · Spring Autumn Cicada · Rank N · A-grade aptitude · Fang Yuan · Gu Yue · Bai Ning Bing · Ren Zu · Hope Gu · Moonlight Gu · primeval stone/sea — свежий en-проход совпал почти всюду, а где разошёлся (元石 «Yuan Stone» против fan «primeval stone»), fan-канон оказался ближе к владельцу («первобытный камень» = дословно primeval stone). Банк владельца ≈ анг. fan-канон даже теснее, чем свежая модель.
  • 4 расхождения класса: 白家寨/熊家寨 (en транслит против семантики владельца — при том что 古月山寨 en сам перевёл «Gu Yue Village»: та же семейная несвязность 寨-семьи воспроизвелась в en-проходе, дефект A1 кросс-языковой) · 元石/元海 (en гибрид, владелец семантика).
  • Ру-специфика подтверждена ровно одна: слитность «Гуюэ» (en-канон пишет «Gu Yue» двумя словами — правило Палладия для составных фамилий действительно живёт только в ru-транскрипции).
  • Оговорка: en-проход видел ru-варианты черновиков как улики смысла (велено явно «not as English candidates»); следование им не слепое — на 元石 модель ушла от ru-улики.

F2 en→zh (Кристофф, Empire of the Dawn 2026 — контаминация минимальна):

  • Терм-таблицы: deepseek дал *идеальную корневую связность семьи -blood (冷血者/高血者/苍血者 — единый шаблон X血者), а glm-5 сломал корень ВНУТРИ одного батча (冷血者/高血族/苍白血 — три разных шаблона): со-батчинг необходим, но НЕ достаточен — межмодельная и внутримодельная дисперсия связности реальна и вне CJK-источника. Плюс deepseek выдумал 5 незапрошенных строк (Patience, Liathe, Ashdrinker…) — ровно класс, который экран want[key] в ParseReply отбивает; кросс-парное подтверждение нужности этого гарда.
  • Проза (2 окна × 2 модели, читал лично; оценки субъективные, так и лейблятся): оба черновика — добротный жанровый уровень, стилистическая разница меньше терминологической. deepseek: точнее к термам и образам («银钢为歌,转轮火枪为鼓» — отличная передача «silversteel their song…»; «墓志铭» для меча Epitaph — верно), местами буквален («完好无损» для unbroken — смысловой промах). glm: местами идиоматичнее («勒得我骨节作响», «任凭时光流转、潮汐更替,也无法锈蚀»), но с реальными дефектами: оставил английское слово в переводе («兄弟 forever»), выронил клаузу, «红痰» (красная мокрота) — регистр-провал, «克斯特尔»-класс ошибок у deepseek — транслит говорящего названия Kestrels против glm-ского верного «红隼». И несущая единица: glm сам разошёлся в имени Aaron между двумя соседними окнами (艾伦 ↔ 亚伦) — межчанковый дрейф имени, ровно то, от чего банк существует, воспроизведён на en→zh за два вызова.
  • Личный вывод по художественности (вкус автора, не мера): прозовое качество дешёвых моделей на en→zh и zh→en уже «редактируемо-издательское»; узкое место всех четырёх направлений одно и то же — дисциплина термов и конвенций, не слог. Ставка проекта на банк как центральную ценность этим подтверждается с третьей стороны.

§G. Дизайн-синк: как я бы доработал алгоритмы банка в бэкенде (код читан HEAD, не правлен)

Конкретика уровня функций — готовый вход для фикс-пака класса D39.71. Всё сохраняет инварианты: эмиссия auto/draft не трогается, терминолог не может утвердить, Select/пост-чек/эскалация без изменений.

G1. DetectFamilies рядом с DetectSeries (terminology/series.go). Вход тот же []Candidate + FamilyParams из ДАННЫХ (script-series.txt, новая колонка; пара без данных — канал инертен):

  • реалии: общий СУФФИКС-морфема длины ≥MinRootRunes при head-final письме (семьи 蛊-*, *-寨, -血); имена (тип после классификатора §2): общий ПРЕФИКС ≥2 рун (семья 古月-) — асимметрия имя/реалия тоже данные, не Go-ветка;
  • БЕЗ транзитивного замыкания: якорь группы = сама корневая морфема; кандидат входит в ≤1 семью, приоритет более длинного корня (специфичное бьёт общее), затем большей семьи; серия (G-существующая) сильнее семьи — серийные члены из семей исключаются (等-серия не должна утонуть в 等-семье);
  • выход — тот же map[string]int, мёржится с seriesID перед Batch (со-батч механизм уже готов, oversize-WARN уже есть). Цена фолда: состав батчей → RequestHash бэнк-батчей — перекупка батчей один раз (центы), волны/снапшоты не двигаются. Замер-основание: §B4 (химера на границе батча), §F2 (семья *-blood), §A1 (8/45 голда одной конвенцией).

G2. ConsolidationConflicts(cands, out) (terminology/terminology.go). Тонкий брат CanonConflicts: те же containment+lexemeSubset, но правая сторона — сами консолидации прогона. Вызов в runTerminologist после сборки out (рядом с :335), WARN с именованными парами + счётчик в terminologyResult + колонка стоп-таблицы. $0, не фолдится (evidence-сторона). Замер-основание: 18/149 невидимых противоречий на живом банке (value_demo.py).

G3. Наблюдаемость (mining.go + terminology.go): BankStopRow += Signals []string (уже вычислены — просто печать), Invented bool (норм-dst ∉ вариантов), Conf int; ParseReply — если ПОСЛЕДНЕЕ поле \d{1,3} — снять его как conf ДО джойна f[1:] (иначе conf молча въезжает в dst); строка «третье поле — уверенность 0100» в промпт-файл роли (дата-правка, PromptSHA → перекупка батчей тем же разом, что G1). reasoning_content в схему НЕ заводить — debug-сайдкар рядом со стоп-таблицей за флагом гейта. Основание: §A7, AUC 0.770.85 (§B3).

G4. Правило кластерного роутинга — в дизайн замера рецензента (строка 5): любой селективный арбитраж (спорные к рецензенту) маршрутизирует ТОЛЬКО целыми family/series-юнитами. Основание: E1-химера §B4. Это правило дизайна, кода сейчас не требует.

G5. foldVariants: счёт голосов по NormalizeTargetForm-фолду, показ сырых форм; рядом со spread — «конвенций» (folded spread). Косметика (двигает топ 1/75 — §D п.5), делать заодно с G3.

G6. Не делать (замеры этого пака): равноправный совет · кросс-модельные веса · self-consistency · селекция из вариантов · отказ-сигнал · эмбеддинг-фетч (§D корзина 3). Series-детектор, Merge, AttachKWIC-семантика (кроме строки 37-перфа), Select, пост-чек — не трогать.

Порядок: G1+G2+G3+G5 — один фикс-пак (одна перекупка батчей, голден не движется); G4 — вход замера строки 5 при ре-пробе 74; строка 37 (перф AttachKWIC через готовый Aho-Corasick из membank) — по желанию тем же паком.

Деньги

Проба Потолок Факт
B: ds1+ds2+ds3+dsw $0.021991
B: glm1 $0.018495
B: mis1 $0.012808
B: gro1 (опция) $0.026546
Итого B ≤$0.70 $0.079840
Проба C (инжект) ≤$0.30 $0.009713
§E мультиязычная достройка (по вопросу владельца, тот же день) $0.006472
§F кросс-пары zh→en / en→zh (по слову владельца, тот же день) ≤$0.08 $0.011310
ВСЕГО ≤$1.00 (слово владельца 04.08) $0.107335

Суб-потолки не тронуты и близко; СТОП-условий не наступало. Эффорты: deepseek — reasoning_effort:"low" во всех вызовах (в сырье каждый файл несёт поле effort); glm-5 — thinking disabled (форма движка); mistral/grok — вендор-дефолт. Слаги фактчекнуты live /models перед пассами.