textmachine/eval/dovodka/PLAN-16-08.md

59 KiB
Raw Blame History

ЗАКРЫТ И ВЫПОЛНЕН. Это ПРОШЛЫЙ курс (16.08); он привёл к заходу Д17 и исчерпан им. Живой курс — PLAN-17-08.md, состояние на сегодня — HANDOFF-21-08.md. Читать целиком НЕ надо: здесь только исторические основания решений захода Д17.

ПРОМТ-ПЛАН полигон-сессии: фаза Д, продолжение после сессии №2 (16.08)

Пишется САМОМУ СЕБЕ на случай сжатия контекста и передачи. Читать ЦЕЛИКОМ, не грепом: прошлая передача потеряла целый пункт заказа именно из-за чтения грепом. Предыдущие слои: заказ docs/POLYGON_EXP2223_REDO_SESSION_PROMPT.md (207 строк, читать целиком) · хендофф №1 docs/POLYGON_PHASE_D_HANDOFF.md · рабочий журнал eval/dovodka/SESSION2-LOG.md (рядом). Отчёт фазы — docs/experiments/23-editor-tier.md, секции Д0Д16 (~2500 строк).


0. ГЛАВНОЕ В ОДНОМ АБЗАЦЕ

Дуга экспериментов 19→23 честно ответила на вопрос «какая модель лучше в роли редактора» и устойчиво его закрыла. Но она мерила счёт локальных ошибок, а продуктовая цель владельца — живая русская проза без translationese, и под неё прибора нет. 16.08 слепое чтение показало, что на английской оси порядок по счёту ошибок и порядок по читаемости не связаны вовсе (Спирмен 0.10), причём наш прибор штрафовал ровно то, что покупает читаемость — вольность обращения с буквой. Владелец постановил: штрафовать можно только за перевирание смысла, за вольность — нельзя. Это меняет шкалу, и старые судейские числа с новыми сравнивать будет нельзя. ⇒ Следующий шаг — не новые модели, а починка прибора, затем маленький честный заход.

0.1 Словарь — расшифровать до чтения дальше

  • Боевая связка (то, что стоит в продакшене): дешёвая модель deepseek-v4-flash переводит главу начерно → дорогая deepseek-v4-pro получает исходник ПЛЮС черновик и переписывает всё заново. Два вызова. В таблицах обозначена A0 (китайская ось), E0 (английская), J0 (японская).
  • Однопроходка: ОДИН вызов дорогой модели, которой дают исходник и объединённую инструкцию — переводчика плюс редактора. Ни черновика, ни второго прохода. Обозначена A2 / E2 / J2.
  • Точечный контур: черновик + нечто, что находит места ошибок (детерминированные флаги ЛИБО LLM-критик) + фиксер, правящий ТОЛЬКО указанные места. Обозначен A1/A1B (флаги) и A3 (критик). Трогает единицы процентов текста, остальное остаётся черновиком — в этом его слабость.
  • Канон-фиксер ПОСЛЕ: боевая связка плюс отдельный проход, восстанавливающий термины банка (A4 / E4). Единственный арм, чинящий канон, не двигая судейскую ось; цена аддитивна.
  • Гипотезы владельца: H-1 «проблема в черновике» (хороший черновик + точечный редактор не хуже связки) · H-2а «флаги → фиксер не хуже переписа» · H-2б «смысловой критик → фиксер ЛУЧШЕ переписа» (главная ставка) · H-3 «на английском перепис не нужен» · H-4 «перевес dspro — свойство китайской пары».
  • Пол (шумовой): пара из двух генераций ОДНОГО лечения. Разница их оценок = шум прибора, из неё строится порог различимости. Половины обязаны судиться РАЗНЫМИ сессиями.
  • Декой: намеренно испорченный вариант в пачке. Грубый — ловит «судья вообще смотрит?». Маржевый — тонкая порча размером с искомый эффект, ловит «судья способен увидеть разницу такого размера?». Без второго вывод «не различимо» неотличим от слепоты прибора.

1. РЕШЕНИЯ ВЛАДЕЛЬЦА — дословно и с последствиями

дата что сказал что это значит механически
15.08 «Подтверждаю подъём расходов, сколько тебе нужно» потолок записан числом $6.85 в money_d.py; на 16.08 потрачено ~$6.09
15.08 про кап агент-сессий: «почему оставшиеся? ты можешь наспамить под 90» кап 80 снят его словом; runs.py продолжает считать СУДЕЙСКИЕ сессии (на 16.08 — 72)
15.08 «Можно пересудить [tier]. Но не подгонять. Нужно понять, кто ошибается из судей» исполнено, см. §3.2
15.08 «gpt 5.6 sol это и есть модель» Sol = семейство OpenAIего возражение по tier дисквалифицировано (судил свою семью)
15.08 про японскую ногу: «Бери, ладно» куплено и отсужено, см. §3.3
15.08 про ja-книгу: «не помню; замена была потому что флагнули по 18+; кажется, я аппрувнул выкачивание» дословной санкции на ЗАМЕНУ нет; R37 реестра честно красный; в отчёте писать этой формулировкой, НЕ «по слову владельца»
16.08 «Штрафовать за вольность нельзя — живой язык один из приоритетов бэкенда. Штрафовать можно только за перевирания смысла исходника. В остальном можно менять, убирать англоязычность, переставлять текст» МЕНЯЕТ РУБРИКУ СУДЬИ. См. §4.1 — это первый пункт плана
16.08 «Новые траты я разрешаю, перепровести эксп я разрешаю» санкция на заход §4.3
16.08 про цены DeepSeek: «мы с оркестратором проводим пересчёт его цен и внесём в документацию, после я тебе скажу (или ты мне напомни)» НАПОМИНАТЬ. См. §5.1 — это блокер денежных выводов

2. ЧТО УЖЕ ПОСТРОЕНО И РАБОТАЕТ (не переделывать)

Всё в зоне eval/dovodka/, все селфтесты зелёные, линтер чист.

файл что делает команды
gain.py калибровка усиления судьи — ловит пачку, легшую на пол шкалы --density (гейт: нулей ≥25% → пачка не несёт «не различимо») · --samearm · --agree · --floor · --tier · --selftest
naklon.py гейт позиционного наклона (норма требовала, кода не было) без флагов — все 7 проходов; --pass=d4; --selftest (синтетика с известным ответом)
tier2.py пере-судейство прохода tier починенным заданием --emit · --score · --selftest
ja6.py японская нога H-4: панель J0/J6/D0 + контроли; ⚠ read() чинён 16.08 — считает и разведённые p{1,2}-answers своего семейства, и ПЛОСКИЙ answers/ внешнего пакета --emit · --score · --sol (пакет внешнему судье) · --score-sol · --selftest
chtenie.py прибор ткани: слепое чтение человеком --emit · --score
adjud.py адъюдикация находок; контроли починены (4 дефекта) --emit · --controls (гейт неразличимости классов) · --score · --selftest
itog_d4.py свод оси; чинён: считает ОБА семейства, печатает полную цену единицы --axis=d4|d3|d6|d1 --fam=claude|sol --gates
sud.py судейский риг; селфтест перестал быть прибит к китайской панели --axis=<ось> --selftest
money_d.py касса, потолок $6.85, фазы ФД-A…ФД-H --report · --selftest
runs.py журнал судейских сессий, запись ДО запуска --claim <прогон> <проход> <ток>… · --done <n> · --status
conformance.pyeval/) сверка с буквой заказа; починен парсер eval/conformance.py eval/dovodka/requirements.md --plan

Три коммита-фриза сессии №2 (полигон коммитит только пре-рег-фризы, основание вслух ПЕРЕД каждым): a03ac66 (пре-рег tier2 + gain.py) · 8c68828 (покупающий код ja-ноги) · 22a8a6b (покупающий код пола ja-ноги + журнал). Остальное дерево НЕ коммичено — лендит оркестратор.


3. ЧТО УСТАНОВЛЕНО — с числами, которые нельзя потерять

3.1 Прибор: строгость счёта есть свойство ПРОГОНА, а не оси

Тот же арм R0, те же 16 единиц, то же семейство судей, подписи текста совпадают 16/16: проход tier дал 0.69 ошибки на единицу при 9 нулях из 16, проход border4.31 при нуле нулей; по-единично ниже в 15 из 16. Размах внутри семейства claude 1.41…6.47.

межпроходные сравнения абсолютных чисел недействительны. Под это попадает вывод «дешёвая модель на японском проваливается сильнее других пар» (5.44 против 2.78 — разные прогоны) и все заимствованные пороги. Внутри одной пачки сравнения законны — там сдвиг сокращается в контрасте.

Доля нулей по проходам claude: tier 38% (24% без обоснования) · Д3 en 10% · Д6 3% · border 0 · Д4 zh 2 нуля на 713 клеток · Д1 0. По сессиям выбиваются ровно две (d3r2/p1/д-52 24%, d3r2/p2/д-55 21%). ⇒ выводы Д4/Д1/border этой болезнью НЕ заражены.

3.2 Проход tier пере-сужен — вывод пака 23 восстановлен

Пре-рег зафризен a03ac66 ДО первого ответа. Те же тексты, новый ключ со своей солью, старый не тронут. Правки: убран CTRLfloorA (был побайтно равен боевому арму T1 в 16/16), добавлен маржевый декой, запрещён молчаливый ноль, в рубрику внесены пропускавшиеся классы.

Результат на 16 единицах, 126 клеток, замечаний годности 0:

арм              старый   новый    сдвиг        гейты
R0 боевой          0.69    3.44     +2.75    плотность 3.77, нулей 6% (было 38%) — ГОДНО
T1 glm-5.2         1.00    3.56     +2.56    пол 16 пар sd 2.63 → порог 1.84
T2 gpt-5.6-terra   0.25    2.38     +2.12    грубый декой 16/16
T3 grok-4.5        0.62    2.94     +2.31    МАРЖЕВЫЙ ДЕКОЙ +2.50 против 1.84 — ПРОЙДЕН
F голый черновик   2.56    6.56     +4.00

Вердикт: T1 0.12 · T2 +1.06 · T3 +0.50 — все ниже порога 1.84; контроль R0 vs F 3.12 p=0.0042. ⇒ «сильный тир не отличим от боевого редактора» ВОССТАНОВЛЕН и впервые стоит на приборе с доказанной чувствительностью. Возражение Sol (+8.69) не воспроизводится (+1.06) и вдобавок дисквалифицировано: gpt-5.6-terra — семейство самого Sol.

⚠ Пере-судейство сделано ОДНИМ семейством: второе на этом контрасте дисквалифицировано.

3.3 Японская нога H-4 — куплена, отсужена, гейты зелёные

J6 = glm-5 поверх той же японской базы, 9 клеток, $0.046329, все finish=stop. Плюс свой пол (7 из 9 вторых генераций редактора; один вызов завис на 9+ минут — класс известен).

J0  deepseek-v4-pro   1.44      J6 vs J0  0.44  p=0.6875  ниже порога 2.17
JFLO вторая генерация 1.86      J0 vs D0  +2.78  p=0.0039  редактор бьёт черновик
J6  glm-5             1.89      грубый декой +2.89 ПРОЙДЕН · маржевый +2.80 ПРОЙДЕН
D0  черновик          4.22

Разница между ДВУМЯ редакторами (0.44) не больше разницы между двумя прогонами ОДНОГО редактора (0.42). Это самый чистый способ сказать «не различимо».

Второе семейство прогнано владельцем 16.08 (ja6.py --score-sol) и СВОИ КОНТРОЛИ НЕ ВЗЯЛО: плотность 5.06 (нулей 6%) · пол 7 пар sd 2.64 → порог 2.80 · грубый декой +2.22 против 2.80 — НЕ ПРОЙДЕН · маржевый +1.80 — НЕ ПРОЙДЕН. Декой пойман ПО НАПРАВЛЕНИЮ, но собственный шум Sol так широк, что даже намеренная грубая порча в его порог не укладывается ⇒ на японской оси у Sol нет разрешения, его пачка по норме аннулируется. Направление при этом совпало: J6/J0 1.00 (мои 0.44), J0/D0 +4.00 (мои +2.78). Вывод по H-4 не меняется, но опирается на ОДНО семейство. Третий раз за фазу пол Sol оказывается вдвое шире — свойство его харнесса, а не оси.

H-4 не подтверждается на всех трёх парах: deepseek-v4-pro первый на zh, на en (1.31 против 2.72) и на ja (1.44 против 1.89). Порядок редакторов от языка не зависит. Требование заказа (:115) исполнено ВПЕРВЫЕ.

3.4 Разложение контрастов ПО ОСЯМ — за всю дугу не делалось ни разу

A1B/A0  3.13 = ВЕРНОСТЬ 0.94 + ЯЗЫК 2.19
A3/A0   1.87 = ВЕРНОСТЬ 0.26 + ЯЗЫК 1.61      ← ставка владельца
A6/A0   1.06 = ВЕРНОСТЬ +0.12 + ЯЗЫК 1.19      ← носитель H-1
A4/A0   0.13
E0/D0   +1.25 = ВЕРНОСТЬ +0.94 + ЯЗЫК +0.31 + ТЕРМИН +0.75 + ФОРМА +0.69
J0/J2   +0.11 = ВЕРНОСТЬ  0.00 + ЯЗЫК +0.11

⇒ дешёвые контуры проигрывают переписи прозой, а не смыслом; носитель H-1 по смыслу боевой связке не уступает вовсе; на английском редактор покупает в основном термины, верность и вёрстку — то есть H-3 опровергнута только в слове «ТОЛЬКО»; на японском второй проход по смыслу не покупает ничего.

3.5 Экономика — полная цена ЕДИНИЦЫ, а не вызова

zh:  A2 однопроходка 0.00408 · A0 связка 0.00603 · A1B 0.00793 · A4 0.01419 · A3 0.01546 (2.56×A0)
en:  E2 однопроходка 0.00471 · E0 связка 0.00885 · E4 0.01321
черновик flash 0.00096 · перепис dspro 0.00507 · gpt-5.6-terra 0.04408 (×9) · grok-4.5 0.05276

⇒ «кандидат в прод вдвое дешевле» ЛОЖНО — он в 1.52.4 раза дороже; это платная страховка канона. Ставка H-2б стоит 2.56× боевой связки и по счёту ошибок хуже неё.

3.6 СЛЕПОЕ ЧТЕНИЕ 16.08 — ПЕРЕВОРАЧИВАЕТ АНГЛИЙСКУЮ ОСЬ

Пакет ~/books/chtenie-vladeltsa/ (ЧТЕНИЕ-zh.md, ЧТЕНИЕ-en.md), ответы там же: ОТВЕТ-zh.md и ОТВЕТ-en.md — это улики, их не терять. Ключ отдельно в ~/books/dovodka/blind-keys-chtenie/chtenie-KEY.json. Пере-счёт: chtenie.py --score. Читал не владелец лично, а Fable по его поручению; владелец мнение одобрил и сам отметил, что «нашёл меньше замечаний, перевод читаемый».

ось порядок судьи (счёт ошибок) порядок читателя Спирмен
zh (единица ed068182cf) A0 > A4 > A6 > A3 > черновик A4 > A0 > A6 > черновик > A3 +0.80
en (единица 27cb3a7e69) E0 > E3 > E2 > черновик > E6 E2 > E6 > E0 > E3 > черновик 0.10
  • На китайском прокси держится; перестановка A0/A4 внутри шума. Но читатель поставил A3 (смысловой контур, ставка владельца) последним, ниже голого черновика.
  • На английском связи нет вовсе. Однопроходка E2 — первая у читателя, третья у судьи; наша боевая связка E0 — третья у читателя, первая у судьи.
  • Читатель назвал механизм ВСЛЕПУЮ и попал: «у Т3 локальных отклонений от оригинала больше, чем у Т2, а читать его заметно лучше. Счётчик ошибок должен был поставить Т3 ниже Т2 — если так и вышло, порядок разошёлся не случайно, а системно». Т3 = E2, Т2 = E0. Так и вышло.

⚠ Одна единица на ось, английская всего 1.9 тыс. знаков, читатель — модель. Это калибровка, а не замер: она говорит «прибор и читатель расходятся», а НЕ «однопроходка лучше связки».

3.6а Черновая роль: панель мерялась, победила ценой

Эксп-22 мерил ШЕСТЬ кандидатов черновой роли: deepseek-v4-flash (медиана $0.00096) · gemini-3.1-flash-lite ($0.00385) · deepseek-v4-pro ($0.00387) · gpt-5.6-luna ($0.00357) · glm-4.7 ($0.00656) · grok-4.3 ($0.00976). Вердикт — ничья по качеству, побеждает самый дешёвый (правило D39.117). То есть «поставить дипсик-про черновиком» УЖЕ проверено и не выиграло. ⇒ Низкое качество черновика — свойство не модели, а РОЛИ (и, возможно, промта — см. K8 в §4.3).

Двухступенчатость бьёт однопроходку на всех трёх парах ПО СЧЁТУ ОШИБОК: zh 4.00 против 6.51 · en 1.31 против 2.38 · ja 2.22 против 2.39. ⚠ Но на английском слепое чтение дало обратный порядок (§3.6), и это расхождение не разрешено.

3.7 Что уцелевает независимо от смены шкалы

  1. Редактор поверх дешёвого черновика покупает много — три языка, два семейства судей, слепое чтение (черновик внизу везде).
  2. Дорогие редакторы не бьют deepseek-v4-pro при цене ×9 — на приборе с сертификатом.
  3. Выбор редактора от языка не зависит.
  4. Банк терминов работает; банк-дисциплина и качество прозы — разные умения (gemini: канон 0.986 против 0.884 у боевого при равной судейской оси).
  5. Схемы «залатать черновик точечно» проиграли и по счёту, и по чтению. ⚠ Но точечный ремонт не выброшен ратификацией: D39.117 п.3 отклонил его как ЗАМЕНУ редактора и принял как «механический ПРЕ-ГЕЙТ ПЕРЕД редактором» и «ремонт ТОЛЬКО с банком». Число «$0.0002 чинит всё» из эксп-20 при этом мерилось при ИДЕАЛЬНОЙ детекции и как несущее — пало; в фазе Д оно всё ещё служило основанием армов и прогнозов. Не переиспользовать без оговорки.
  6. Гипотеза эксп-04 «проза gemini — аутлаер» не подтверждается (после снятия запрещённой клетки с finish=length точечная оценка ровно 0.000).
  7. Потери канона у боевого редактора — в основном пере-формулировка, а не пропажа термина (⚠ но автоматическая КЛАССИФИКАЦИЯ этих мест негодна — секция Д5 отчёта объявлена НЕИСПОЛНЕННОЙ, см. §5.3).

4. ПЛАН. Порядок здесь важнее содержания

4.1 ШАГ ПЕРВЫЙ — ПОЧИНИТЬ СУДЬЮ ПОД ПРАВИЛО ВЛАДЕЛЬЦА ($0)

Правило 16.08: штрафовать только за перевирание смысла исходника; за вольность — нельзя. Живой язык — приоритет продукта; переставлять текст, убирать англоязычность, менять структуру разрешено.

Рубрика живёт в ЧЕТЫРЁХ местах, править надо все, иначе семейства разъедутся: eval/dovodka/judge-prompts/core.md (ядро обвязки) · claude.md и sol.md (обвязки семейств) · константы HEAD в эмиттерах sud.py, tier2.py, ja6.py (шапка САМОГО задания — именно она достаётся обоим семействам и обеспечивает паритет П-4). После правки прогнать paritet.py и promptdiff.py.

Что сделать в рубрике:

  • ВЕРНОСТЬ остаётся и сужается до искажений факта: инверсия адресата реплики · снятое или добавленное отрицание · подмена числа, разряда, ранга, единицы · выдуманный или потерянный факт · перевёрнутое состояние действия/идиомы. Это и есть «перевирание смысла».
  • ЯЗЫК разворачивается: сейчас он ловит «то, чего носитель не напишет». Оставить ТОЛЬКО это (калька, канцелярит, несуществующее слово, рассогласование) и явно запретить штрафовать за: перестановку предложений, слияние/дробление абзацев, замену оборота на более живой русский, синонимическую замену, добавление связок. Прямо написать судье: «вольность ради живой русской фразы — НЕ ошибка; ошибка — только то, что носитель не напишет».
  • ФОРМА: сейчас не входит в несущую сумму. Проверить, не штрафует ли она ИСПОЛНЕНИЕ мандата перевёрстки (такое уже переворачивало знак вывода однажды).
  • ТЕРМИН отдан детерминированному банк-гейту, судью им не грузить.

Последствие, которое обязано быть напечатано: после смены рубрики старые судейские числа с новыми несравнимы. Все панели дуги останутся действительными только внутри своей шкалы.

⚠ Пере-судить по новой рубрике придётся хотя бы боевую связку против однопроходки на обеих осях — иначе новую шкалу не с чем сверить.

⚠⚠ ПОРЯДОК ИЗМЕНЁН ПО ЗАМЕЧАНИЮ ВЛАДЕЛЬЦА 16.08. Первая редакция ставила чтение ПЕРЕД покупкой новых армов. Это половина работы впустую: читать старые армы, зная, что панель меняется, незачем. Правильный порядок — починить рубрику → докупить новые армы → ОДНО слепое чтение по ПОЛНОЙ панели (старые + новые) → отсудить починенной рубрикой. Тогда чтение делается один раз и отвечает сразу на оба вопроса: следит ли счётчик за читаемостью И какая архитектура читается лучше. Читай §4.2 и §4.3 в этом порядке: сначала 4.3 (покупка), потом 4.2 (чтение по всему).

4.2 ШАГ ТРЕТИЙ — ПРИБОР ТКАНИ НА НОРМАЛЬНОМ n ($0, только агент-сессии)

Одна единица на ось ничего не решает. Нужно слепое ранжирование на 812 единицах на ось, двумя-тремя независимыми читателями (агенты РАЗНЫХ семейств: claude, Sol через владельца, Fable).

Контроли (они уже описаны в пре-реге П-6, 23-editor-tier.md:1114-1122):

  • декой обязан ранжироваться последним;
  • половины шумового пола — соседями (если читатель разводит две генерации одного лечения далеко, его ранжирование — шум);
  • порядок вариантов перемешан, метки слепые, ключ вне рабочего каталога.

Готовый скелет — chtenie.py; нужно расширить с одной единицы на выборку и добавить контроли.

Исход решает всё дальнейшее: ранги согласуются со счётом ошибок → счёт остаётся дешёвым прокси; расходятся (как сейчас на en) → до починки прибора новые платные замеры бессмысленны.

4.3 ШАГ ВТОРОЙ — МАЛЕНЬКИЙ ЧЕСТНЫЙ ЗАХОД (санкция владельца 16.08 есть)

Смета по НОВОМУ прайсу: ~$2.9 на пике, ~$1.7 на офф-пике (прежняя оценка «около доллара» считалась по июльскому пину). Покупать офф-пик; перед покупкой пере-пинить roster.py (§5.1).

Три схемы, обе пары (zh и en), 16 единиц на пару, базы частично куплены:

  1. боевая связка — контроль (черновик → полный перепис);
  2. однопроходка — один вызов, объединённый мандат (на en она прочиталась лучшей);
  3. черновик → критик → ПОЛНЫЙ ПЕРЕПИС по его замечаниям (K1) — сильнейшая форма идеи владельца. ⚠ Отличие от проигравшего A3: там правщик был ТОЧЕЧНЫМ и трогал проценты текста; здесь перепис полный, а буллеты критика лишь ОБУСЛОВЛИВАЮТ его.

Эндпойнты — оба сразу: починенный счёт ошибок (§4.1) И ранг читаемости (§4.2). Пре-рег до покупок: мощность, пороги, правило расхождения, статусы осей.

ОДНОПРОХОДКА ЛОМАЕТ БАНК ТЕРМИНОВ — блокер, найден владельцем 16.08, проверен исполнением. backend/prompts/zh-ru/terminologist.md:22: «Варианты черновиков (строка drafts:) — это свидетельства, а не голосование». Терминолог видит всю книгу сразу и выбирает канонический перевод термина, опираясь на то, КАК ЕГО ПЕРЕДАВАЛИ ЧЕРНОВИКИ по кускам. Без черновика майнингу не из чего собирать свидетельства. ⇒ Однопроходка не альтернатива связке, а альтернатива только ВТОРОМУ проходу. Черновик нужен не только ради качества, но и ради банка. Честное сравнение — не «связка против однопроходки», а «черновик + перепис» против «черновик + нечто другое поверх него». ⇒ И это объясняет, почему слепое чтение поставило однопроходку первой, а продуктовым решением это не становится: на ОДНОЙ главе банк не нужен — термины внутри главы согласованы сами собой; на книге в 1500 глав та же схема даст разъезжающиеся имена. ⚠ ПОПРАВКА ВЛАДЕЛЬЦА 16.08 — это НЕ блокер, а недостающий кусок архитектуры. Дословно: «однопроходка допустима, как вариант чтоб оттуда после вырезать термины и edit точечным редактором их заменить». Выход однопроходки — тоже перевод, значит он годится терминологу как свидетельство; банк майнится ИЗ НЕГО, а термины приводятся к канону точечным редактором. ⇒ Кандидат K7: однопроходка → майнинг банка из её выхода → канон-фиксер. Точечный редактор здесь адекватен дефекту: термины локальны, а канон-фиксер УЖЕ замерен и работает (покрытие 0.892→0.937 на zh, 0.927→0.956 на en; судейскую ось не двигает). Цена единицы: zh 0.00408 + 0.00816 = ~0.0122 против 0.00603 у связки (дороже); en 0.00471 + 0.00436 = ~0.0091 против 0.00885 (вровень). ⇒ на английском K7 стоит столько же, сколько связка, и по слепому чтению однопроходка там читалась ЛУЧШЕ — это самый дешёвый способ проверить, не выиграла ли она случайно. ⇒ Что при этом остаётся правдой: банк без черновика не собирается, поэтому однопроходка не может быть просто «связкой минус первый проход» — ей нужен свой источник свидетельств.

Кандидат K8, самый дешёвый из всех: ОБОГАТИТЬ ПРОМТ ЧЕРНОВИКА. Вопрос владельца 16.08: «почему такое низкое качество черновика? может, промт черновика от редактора сильно отличается и черновик тут выступает в роли недоведённого до ума инструмента?» — подтверждено текстом: backend/prompts/zh-ru/translator.md = 22 строки, editor.md = 41, и разница не в объёме, а в том, что есть ТОЛЬКО у редактора: весь блок ДИСКУРС-ПЕРЕВЁРСТКИ (четыре шага, как передавать китайский паратаксис русской гипотаксической прозой) + FEWSHOT с ТРЕМЯ разобранными примерами + правило чэнъюй обоими компонентами. У переводчика от всего этого одна строка «избегай канцелярита и калек». ⇒ Замер: тот же черновик тем же deepseek-v4-flash, но с промтом, куда перенесены блок перевёрстки и FEWSHOT. Цена — ЦЕНА ЧЕРНОВИКА ($0.00096/единица, входные токены длиннее и кэшируются), то есть ~$0.03 на 16 единиц. Самый дешёвый кандидат в списке и не проверенный ни разу. ⚠ Контраргумент, который надо снять замером, а не рассуждением: арм A2 (однопроходка с УРАВНЕННЫМ мандатом) уже нёс мандатные части промта редактора и всё равно проиграл по счёту ошибок — но перенесён ли в него FEWSHOT, из эрраты Э-5 не следует. Сверить ДО замера: если примеров там не было, K8 не дублирует A2, а закрывает его дыру.

⚠ Обязательно в панель — арм голого черновика на китайской оси: его там нет, и поэтому вклад самого контура не отделим от разрыва «черновик против переписа».

⚠ Если запускать K1: сначала починить contour.py:611-619critic_places() берёт ЛЮБУЮ строку, начинающуюся с дефиса, без разбора вердикта, из-за чего фиксеру уходили подтверждения критика («верно», «допустимо», «не ошибка») — 311 строк из 1696 = 18.3%. Ставка владельца была испытана инструментом, который на пятой части работы правил заведомо исправное.

4.4 ЧЕГО НЕ ДЕЛАТЬ СЕЙЧАС

  • Новых панелей моделей — вопрос «какой редактор» закрыт устойчиво.
  • Роутинга «платить дорого только там, где нужно» — закрыт отрицательно (отборщики-монетки).
  • Второго последовательного переписа — итеративный дрейф, и обратная связка уже проигрывала.
  • Дифф-контракта вместо переписа — дороже на thinking-модели и не берёт распределённый дефект.
  • Любых покупок DeepSeek до пере-снятия прайса (§5.1).

5. ДОЛГИ И ОТКРЫТОЕ

5.1 ДЕНЬГИ — ЛЕДЖЕР НЕ ИЗМЕРЯЕТ, А ВЫЧИСЛЯЕТ (блокер)

roster.cost() ВЫЧИСЛЯЕТ cost_usd из зашитого пина; провайдер сумму не возвращает.

СТАТУС НА 16.08: цены пере-сняты владельцем с оркестратором — но ТОЛЬКО в бэкенде. backend/configs/models.yaml несёт новый пик (prices_checked: 2026-08-15): flash $0.44/$1.32 cache-hit $0.014 · pro $1.32/$3.96 cache-hit $0.044. eval/tenant_panel/roster.py:33-35 ПО-ПРЕЖНЕМУ СТАРЫЙ (pro 0.435/0.003625/0.87, помечен «live 08.08»). Значит СЛЕДУЮЩАЯ покупка полигона снова посчитается по июльскому прайсу: касса покажет неправду, а проекционный гард зарезервирует втрое меньше нужного и пропустит покупку. ⇒ ПЕРВОЕ ДЕЙСТВИЕ ПЕРЕД ЛЮБОЙ ПОКУПКОЙ — пере-пинить roster.py. Это риг эксп-22 (чужой пак): по норме — отдельный коммит с его заголовком плюс пере-снятие его гейтов (verify22.py, itog22.py).

ПЕРЕ-СЧЁТ ФАЗЫ ПО НОВОМУ ПРАЙСУ (сделан 16.08, 473 клетки DeepSeek: pro 430, flash 43):

счёт сумма
в кассе (июльский пин), часть DeepSeek $5.3996
та же работа по пиковому прайсу $15.5050×2.87
та же работа по офф-пику (50%) ~$8.95
не-DeepSeek клетки (не пере-считывались) $2.3852

Деньги УЖЕ списаны по ценам, действовавшим в момент покупки, — там пин был верен, перерасхода нет. Число важно для БУДУЩЕГО, и оно двигает три вещи:

  1. смета заходов утраивается (см. §4.3);
  2. потолок $6.85 в кассе больше ничего не охраняет, пока roster.py не пере-пинен;
  3. правило ничьей может пере-решиться. Оно звучит «при равном качестве берём дешёвого», и по нему deepseek-v4-pro побеждал glm-5 и сильный тир при разрыве ×9. Теперь pro подорожал втрое, а glm-5 (Z.AI) не дорожал — разрыв сжался. На этом правиле стоит вся рекомендация по редакторской роли; пере-считать её ценой ОБЯЗАТЕЛЬНО.

Отдельная девиация к объявлению: последняя цифра потолка, приписанная слову владельца в файлах, была $4.50, а расход дошёл до $6.00 ДО санкции 15.08. Цепь подъёмов прошла все самопроверки, потому что фриз-гейт сверяет ПОКУПАЮЩИЙ файл в стеке, а не кассу — потолки правятся в рабочем дереве и действуют немедленно.

5.2 СВЕРКА ВНУТРЕННЕЙ РЕВИЗИИ: 65 находок из 131 в отчёт не попали

Источники: ~/books/dovodka/revizia-fazy-D-11-08.json (82) и priemka-D4-14-08.json (49). Требуют пере-проверки исполнением — я их принял со слов сверки, сам не верифицировал:

  1. H-1 МОЖЕТ ПЕРЕХОДИТЬ ПОРОГ. Вердикт A6/A0 определяют две пачки прогона, объявленного «валидацией цепочки», судимого 11.08 по НЕ замороженному промту; паритет обвязок для них не проверялся. Без них: пол n=13 sd 1.4058 → порог 1.0917, A6/A0 1.0938 → ПЕРЕШЁЛ. Отчёт печатает «НЕ УСТАНОВЛЕНА». Вместе с §3.4 (A6 по верности +0.12) картина другая.
  2. Пачка 69de717f3f осталась в замере, хотя её сессия аннулирована за сравнение вариантов. Снятие двигает пороги обоих семейств и все контрасты.
  3. Унаследованный гейт честности пола свод не гоняет; на данных claude его вердикт — «ПОЛ СМЕЩЁН, боевые числа снимаются» (сдвиг +1.8 между наборами p1/p2). claude несёт оба CONFIRM.
  4. Два пре-рег-правила о маржевом гейте противоречат: по букве П-1 пачка Sol аннулируется → у H-2а остаётся одно семейство → «эскалация», а не CONFIRM.
  5. Порог назван смещённым в противоположные стороны двумя находками; ни одна не в отчёте ⇒ калибровка порога неизвестна ПО ЗНАКУ.
  6. Донор декоя во всех 62 пачках оси Д4 — A0 (тот же дефект, что объявлен у tier и починен в ja6).
  7. A4/A1B: клетки оплачены при НУЛЕВОМ изменении текста; A4/A0 на 4 из 31 нулевой ПО ПОСТРОЕНИЮ (то же вскрытие сделано для E4, для A4 — нет).

⚠ Среди неотражённого — 12 инструментов, признанных негодными ВНУТРИ самой ревизии, и трое из них гейты числят ЗЕЛЁНЫМИ: promptdiff.py (объявленное расхождение матчится по ПРЕФИКСУ строки; отсутствующий файл пар-пакета гейт не роняет) · canon.py (снятая ревью классификация всё равно пишется в артефакт — отсюда негодность секции Д5) · material_ja.py (фильтр AI-меток объявлен механическим, кода его не существует). Прежде чем опираться на любой из них — вскрыть.

Полный список сохранён человекочитаемым: ~/books/dovodka/СВЕРКА-РЕВИЗИИ-16-08.md (35 КБ). Кроме 65 неотражённых находок там 7 прямых противоречий телу отчёта и 12 инструментов, признанных негодными внутри самой ревизии — эти два числа в §5.2 выше не раскрыты, читать в файле.

5.3 Прочие открытые долги

  • Адъюдикация английской оси — контроли починены и проверены замером, прогона не было. ⚠ adjud.py намертво прошит на китайскую ось (ключи blind-keys-d4, каталог sud-d4, армы A3/A0) — для английской нужна параметризация.
  • Секция Д5 объявлена НЕИСПОЛНЕННОЙ: поле why в ~/books/dovodka/canon-dissect.json — мусор («этот», «родов», «дочь»), классификация внутренней ревизией снята и всё равно писалась. Честное закрытие — ручная пере-классификация 24 мест ($0).
  • E1 побайтно равен черновику на 5 единицах из 16 — объявлено в Д14.4, но панель не пере-считана без них.
  • Реестр требований: 16 самореферентных улик из 89 (было 19, шесть заменил на артефактные). Провалов два: R37 (провенанс ja-книги) и R64 (реестр не закоммичен — лендит оркестратор).
  • Селфтесты sud.py: d4 зелёный, d3 4 провала, d6 1, d1 2 — все настоящие, диагнозы в журнале. ⚠ MIN_FLOOR["d6"]=3 — константа, поставленная под зелень; НЕ править, это вопрос владельцу.
  • Пакет Sol по японской ноге отдан: ~/books/judging/ja6-sol/ORCHESTRATOR.md. После прогона — ja6.py --score-sol. Пять промтов сессий, p1 и p2 разведены (проверено: 0 промтов смешивают).
  • Эррата zh-канона: поправка границы слова живёт в коде, в сохранённый банк не дошла (завышение +0.0039) — правка закрытой оси, ратифицирует оркестратор.

6. ЛОВУШКИ — на чём споткнёшься

  1. НЕ пере-эмитировать существующие слепые ключи. Раскладка меток — чистая функция от соли, uid и НАБОРА армов; эмиссия с другим составом переписывает ключ отсуженной оси, и разбор сопоставит ответы с ЧУЖИМИ армами. Новый проход = НОВЫЙ ключ со своей солью (так сделаны tier2, ja6, chtenie).
  2. Пакет внешнему судье — ТРЁХУРОВНЕВЫЙ, как в фазе Д: ORCHESTRATOR.md («по одному агенту на промт») + prompts/*.md + задания. Двухдокументная форма эксп-23 НЕ годится: харнесс владельца читает всё одной сессией, и половины шумового пола попадают одному судье. Путь к ключу в пакете не называть — «не открывай blind-keys/» значит показать пальцем.
  3. Правила счёта — в САМОМ задании, не только в обвязке: асимметрия инструкций между семействами купила часть расхождения в 12 раз на проходе tier (норма паритета П-4).
  4. Запрет дочерних агентов вписывать явно — сессия с ними перестаёт быть тем составом, который зарегистрирован до запуска.
  5. Замок кассы снимать ТОЛЬКО у мёртвого процесса (ps -eo pid,cmd | grep ...). Покупка идемпотентна — просто перезапускать. Редактор думает 6090 с на клетку, зависания до 9+ минут бывают (в паке 22 вызов держал замок 74 минуты); ставить timeout ≥900 и не опрашивать часто.
  6. Фриз-гейт кассы: покупающий код обязан быть ЗАКОММИЧЕН до покупки. Полигон вправе фризить — основание вслух ПЕРЕД коммитом, форма git commit -- <явные пути>, никогда git add -A.
  7. --wide-plants на японской книге НЕ помогает (проверено: 5 из 9 в обоих случаях). Регексы посадок оказались не только пар-, но и КНИГО-зависимы.
  8. Не считать по половине пачки. Пороги, снятые на неполном поле, читаются увереннее, чем есть (на этом уже горела ось Д1: порог вырос 1.00 → 1.47, когда пол добрал пары).
  9. Промт черновика и промт редактора радикально асимметричны (22 строки против 41): у редактора есть весь блок дискурс-перевёрстки и FEWSHOT с тремя разобранными примерами, у переводчика — одна строка «избегай канцелярита». ⚠ Но арм A2 (однопроходка с УРАВНЕННЫМ мандатом) это учитывал и всё равно проиграл по счёту ошибок — проверить, перенесён ли в него FEWSHOT, это самая сильная часть промта и в эррате она не упомянута.

7. МНЕНИЕ FABLE-5 (архитектурный аудит 16.08) — что взять

Полный отчёт был в эфемерном транскрипте; существенное:

  • Подозрение о самоподгонке харнесса подтверждается наполовину: прибор не мерит ткань, а эндпойнт под неё (П-6) принят владельцем 11.08 и не построен. Но ядро вывода («перепис покупает много») не артефакт — держится независимыми контурами и внешней литературой.
  • Три механизма смещения В ПОЛЬЗУ большого переписывающего вызова: боевой промт редактора прошёл три редакции и валидирован тем же классом судейства, а контуры шли первой редакцией с багами в свою сторону; мандат вёрстки исполняет только перепис, а судья за вёрстку штрафует; отрицательные результаты трижды оказывались свойством прибора, а не армов.
  • Идея владельца испытана НЕ в сильнейшей форме. Пустая клетка — «критик-буллеты → ПЕРЕПИСЫВАТЕЛЬ» (K1). Вторая пустая — «перепис → критик → точечная починка» (страховка смысла ПОСЛЕ переписа, там точечная форма адекватна дефекту, потому что остаточные ошибки локальны).
  • Внешние данные: на вебновелльном бенчмарке zh→en DeepSeek-V3 (5.16) выше GPT-4o (5.09); китайские модели систематически бьют западные на китайском исходнике. То есть «фронтир не выигрывает» правдоподобно и снаружи. Но если преимущество фронтира есть, оно в ткани, а её автометрики и LLM-судьи не видят (LitEval: опознают человеческий перевод ≤20%).
  • Кандидаты сверх K1: перепис → критик → фиксер · два переписа + слепой селектор (два прогона одного редактора расходятся как два разных — это замерено на JFLO) · монолингвальная полировка ткани без исходника · перепис с окном соседних глав. Все дешевле $0.015 на единицу.
  • Чего Fable не установил: валидность счёта ошибок как прокси (П-6 не построен); долю знаков, которую трогает фиксер (спан-счёт даёт 0.23.7%, difflib — 8.5% медиана и до 81%); перенос выводов на другие книги и пары.

8. КОМАНДЫ

eval/.venv/bin/python eval/dovodka/gain.py --density --agree --floor --tier
eval/.venv/bin/python eval/dovodka/naklon.py                 # все проходы; --selftest
eval/.venv/bin/python eval/dovodka/tier2.py --score
eval/.venv/bin/python eval/dovodka/ja6.py --score            # и --score-sol после прогона Sol
eval/.venv/bin/python eval/dovodka/chtenie.py --score
eval/.venv/bin/python eval/dovodka/adjud.py --selftest ; --controls
eval/.venv/bin/python eval/dovodka/itog_d4.py --axis=d4      # --axis=d3|d6|d1, --fam=sol
eval/.venv/bin/python eval/dovodka/sud.py --axis=d3 --selftest
eval/.venv/bin/python eval/dovodka/money_d.py --report ; --selftest
eval/.venv/bin/python eval/dovodka/runs.py --status
eval/.venv/bin/python eval/conformance.py eval/dovodka/requirements.md --plan

Шум SyntaxWarning фильтровать. Интерпретатор — eval/.venv/bin/python из корня репо.


9. ЧЕМ ЗАКРЫВАЕТСЯ РАБОТА (иначе непонятно, что считать сделанным)

  1. Секция в отчёте docs/experiments/23-editor-tier.md на каждый шаг плана. Нумерация уже занята по Д16 включительно — следующая свободная Д17.
  2. Пре-рег ДО покупок и ДО первого судейского ответа, зафризенный коммитом с основанием вслух. Пре-рег обязан нести: состав панели · правило решения · пороги · мощность (MDE против ЦЕЛИ) · статус оси (несущая/описательная) · что замер НЕ может.
  3. Гейты зелёные ИЛИ красные с диагнозом. Константы под зелень не подгонять — это норма проекта, нарушение = аннулирование куска.
  4. Пинг в docs/PROGRESS.md секция «Полигон» (фронт и платформа туда не пишут, полигон пишет).
  5. Обновлённый eval/dovodka/SESSION2-LOG.md (рядом) или его преемник — по ходу, не в конце.
  6. CONFIRM/DENY владельцу — только с артефактом-носителем. Полигон не ратифицирует.
  7. Дерево НЕ коммитить, кроме пре-рег-фризов; лендит оркестратор.

10. КАК РАЗГОВАРИВАТЬ С ВЛАДЕЛЬЦЕМ

  • Он просил меньше аббревиатур и продуктовых формулировок: не «H-2б» и «A3», а «схема критик-плюс-точечная-правка». Термины расшифровывать при первом употреблении.
  • Он не всегда читает длинные тексты — важное выносить в первые строки.
  • Он ловит дефекты процесса лучше гейтов: за сессию №2 нашёл структуру пакета Sol (я ошибся), устаревший прайс (леджер оказался не измерителем) и слепоту прибора к вольности. Его реплики проверять исполнением, а не отмахиваться.
  • Обязательство с адресатом вне зоны закрывается ТОЛЬКО изменением файла вне зоны. «Выпущено», «ждёт владельца», «объявлено в отчёте» — маркеры дефекта.
  • Полигон не ратифицирует выводы. CONFIRM/DENY — владельцу через оркестратора, с носителем.