textmachine/eval/dovodka/SESSION2-LOG.md

459 lines
54 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Журнал полигон-сессии №2 фазы Д (15.08) — рабочее состояние
> Пишется ПО ХОДУ (урок хендоффа §8) и на случай сжатия контекста (D39.121: сохранять список
> изменённых файлов · незакрытые находки и диспозиции · обязательства и открытые вопросы · команды).
> Заказ: `docs/POLYGON_EXP2223_REDO_SESSION_PROMPT.md`. Хендофф №1: `docs/POLYGON_PHASE_D_HANDOFF.md`.
> Задание владельца этой сессии: пройти дугу 19→23 свежим взглядом, закрыть гипотезы качественно,
> задать вектор. Плюс 15.08: «пересудить тир, но не подгонять; понять, кто ошибается из судей».
## 0. СЛОВО ВЛАДЕЛЬЦА, ПОЛУЧЕННОЕ В ЭТОЙ СЕССИИ (15.08)
| вопрос | ответ владельца | что с ним сделано |
|---|---|---|
| потолок денег | «Подтверждаю подъём расходов, сколько тебе нужно» | записан числом **$6.85** в `money_d.py`, заведена ФД-H $0.10 |
| кап агент-сессий 80 | «почему оставшиеся? ты можешь наспамить под 90» | кап снят его словом; судейские сессии считаю по-прежнему `runs.py` |
| проход `tier` | «Можно пересудить. Но не подгонять. Нужно понять, кто ошибается из судей» | построен `tier2.py`, пре-рег зафризен `a03ac66`, прогон идёт |
| ja-книга | «не помню; замена была потому что флагнули по 18+; кажется, я аппрувнул выкачивание» | СТОП снимаю с ЭТОЙ формулировкой, без «по слову владельца» |
| японская нога H-4 | «Бери, ладно» | код зафризен `8c68828`, покупка запущена |
| модель Sol | **«gpt 5.6 sol это и есть модель»** | ⇒ Sol = семейство OpenAI, см. §2 п.1 |
## 1. ЧТО СДЕЛАНО (все проверки прогнаны, все селфтесты зелены)
**Новый код (моя зона `eval/dovodka/`):**
* `gain.py` — КАЛИБРОВКА УСИЛЕНИЯ СУДЬИ. Зафризен `a03ac66`. Команды: `--density` (гейт: доля
нулей ≥25% → пачка не несёт вывода «не различимо», exit 1) · `--samearm` (один арм на одних
единицах в разных проходах, подписи текста сверяются) · `--agree` (корреляция трудности
единицы между семействами) · `--floor` (близнецы и разведение половин по заданиям) · `--tier`
(контрасты с числом ничьих на нуле) · `--selftest` (0 провалов).
* `tier2.py` — ПЕРЕ-СУДЕЙСТВО `tier`. Зафризен `a03ac66` ДО первого ответа. `--emit|--score|--selftest`.
**Починено:**
* `adjud.py` — четыре дефекта контролей (Г-1 посадки 4/15→15/15 · Г-2 ложные претензии по форме и
длине · Г-3 регекс осей резал «ВЕРНОСТЬ»→«ОСТЬ» · Г-4 окно резалось по `norm()`, без пунктуации
и регистра). Новый гейт `--controls` (форма карточки классы не выдаёт) и `--selftest`оба зелены.
Задания пере-выпущены; прежний прогон в `~/books/judging/adjud-d4.PRE-FIX/` + `adjud-key.PRE-FIX.json`.
⚠ 7 отслеживаемых ответов адъюдикатора я СНАЧАЛА снёс, потом восстановил побайтно (поймал критик).
* `itog_d4.py` — (а) `--fam=sol` падал на несущей оси («62 ответа, разобрано 0 меток»), потому что
искал `blind-keys-d4-sol`, которого нет: теперь разведённый ключ если есть, иначе общий;
(б) добавлена колонка `$/единица` (вся работа арма ПЛЮС его база) рядом с `$/клетка`.
* `sud.py` — селфтест перестал быть прибит к панели d4: finish-гейт, близнец-гейт и гейт семейства
теперь по ОСИ; заведён `_cell_file()` — одна точка правды о пути клетки. Сразу поймал две вещи (§2).
* `money_d.py` — санкция $6.85 записана числом, вся цепь подъёмов объявлена находкой, заведена ФД-H.
* `contour.py`/`ja_axis.py` — арм `J6` (второй редактор `glm-5` на ja), касса ФД-H, тег `dv-h-j6-*`.
**Отчёт `docs/experiments/23-editor-tier.md`** (было 1946 строк, стало ~2366): добавлены секции
**Д2** (внешняя подпись `tier` + почему спор не разрешается), **Д5** (⛔ объявлена НЕИСПОЛНЕННОЙ),
**Д8** (чек-лист поправок 22/23), **Д14** с подсекциями 14.114.13.
## 2. ГЛАВНЫЕ НАХОДКИ — числа, которые нельзя потерять
1. **Sol = `gpt-5.6-sol`, то есть семейство OpenAI (слово владельца 15.08).** Арм `T2` =
`gpt-5.6-terra`ТА ЖЕ семья (`eval/editor_tier/roster.py:102`, `OPENAI_FAMILY_ET`). Sol дал
`T1` +0.06 · `T3` 0.12 · **`T2` +8.12** — разницу нашёл только у своей семьи. Правило D13.3
(`eval/README.md` п.4) это запрещает. ⇒ **возражение Sol по `tier` как свидетельство не годится.**
Прочие оси чисты: в панелях Д3/Д4/Д6/Д1/`border` армов OpenAI нет вовсе.
2. **Пачка `tier`/claude лежит на полу шкалы.** Тот же арм `R0`, те же 16 единиц, то же семейство,
подписи текста совпадают 16/16: `tier` 0.69 ошибки/ед. при 9 нулях из 16, `border` **4.31** при
0 нулей; по-единично ниже в 15 из 16. В решающем контрасте 9 ничьих из 16, 7 из них на нуле.
**вывод пака 23 «сильный тир не отличим» СНЯТ.** Проход НЕ ИЗМЕРЕН обеими сторонами.
3. **Причина вжатия невосстановима.** Отпали: текст задания (шапки диффом равны), ширина панели
(внутри одного аннулированного прогона 6 вариантов дали 2.35, 4 — 2.78), один автор (попарная
схожесть оборотов 0.035). Остаётся сдвиг уровня ПАЧКИ; приписать сессиям нечем — файла
`tier-JUDGES.json` не существует. Цена дефекта «идентичность судей не персистирована».
4. **Патология НЕ общая.** Доля нулей: `tier` 38% (24% без обоснования) · Д3 en 10% (5%) ·
Д6 3% · `border` 0 · **Д4 zh 2 нуля на 713 клеток** · Д1 0. По СЕССИЯМ выбиваются ровно две
(`d3r2/p1/д-52` 24%, `d3r2/p2/д-55` 21%); все 28 сессий Д4 — 0%.
⇒ выводы по Д4/Д1/`border` этой болезнью НЕ заражены.
5. **Ручная сверка по исходнику (единица `38c99e5efb`).** 今日就让我二人…除了**你** → боевой редактор
выдал «мы с тобой покараем **его**» (адресат угрозы стал союзником); 黄级 (нижняя ступень) →
«высшего ранга». claude поставил 7 клеток из 8 в ноль с ПУСТЫМ обоснованием, ненулевой только
декой. Sol эти места назвал. **На этой единице прав Sol.**
6. **РАЗЛОЖЕНИЕ КОНТРАСТОВ ПО ОСЯМ — за всю дугу не делалось ни разу** (Д14.11):
`A1B/A0` 3.13 = ВЕРН 0.94 + ЯЗЫК 2.19 · `A3/A0` 1.87 = ВЕРН **0.26** + ЯЗЫК 1.61 ·
`A6/A0` 1.06 = ВЕРН **+0.12** + ЯЗЫК 1.19 · `A4/A0` 0.13 · `E0/D0` +1.25 = ВЕРН +0.94 +
ТЕРМИН +0.75 + ФОРМА +0.69 + ЯЗЫК +0.31 · `J0/J2` +0.11 = ВЕРН **0.00**.
⇒ контуры проигрывают переписи ПРОЗОЙ, а не смыслом; `A6` по смыслу не хуже боевой связки;
на en редактор покупает в основном термины+верность+вёрстку — то есть H-3 опровергнута только
в слове «ТОЛЬКО»; на ja второй проход по смыслу не покупает ничего.
**Вектор:** решает ось ЯЗЫК, её не вытягивает ни один точечный контур (трогает 0.23.7% знаков).
Искать надо СПЛОШНУЮ дешёвую переработку прозы, а не «дожать критика». Такого арма в дуге нет.
7. **Экономика:** `$/единица` (полная) zh: `A0` 0.00603 · `A4` 0.01419 · **`A3` 0.01546 = 2.56×A0** ·
`A1B` 0.00793 · `A2` 0.00408. en: `E0` 0.00885 · `E4` 0.01321. ⇒ «кандидат в прод вдвое дешевле»
ЛОЖНО — он в 1.52.4 раза дороже; это платная страховка канона.
⚠ Я сначала назвал владельцу `A3` = $0.02110 — ОШИБКА (глоб `dv-a-a3-[0-9a-f]*` ловил и клетки
критика, «crit» начинается с шестнадцатеричной `c`). Верно **0.01546**.
8. **`A3` получал от критика подтверждения как задания на правку**: 311 строк из 1696 (18.3%) —
«верно», «допустимо», «не ошибка» (`contour.py:611-619` берёт любую строку с «-»). Ставка H-2б
испытана инструментом, который на 18% работы правил заведомо исправное.
9. **Загрязнения панели en:** `E4``E0` 12/16 (объявлено) · `E3``D0` 0/16 (починено) ·
**`E1``D0` 5/16 — НИГДЕ не объявлено**.
10. **Норма нарушена на Д1:** клетка `dv-e-r1-de3916de62.json` с `finish=length` ушла судьям.
Без неё claude 0.100 → **+0.000**, Sol +2.533 → +2.143. Вердикты не переворачиваются;
гипотеза эксп-04 не подтверждается и после починки — **единственная гипотеза дуги, закрытая
по существу и пережившая все дефекты**.
11. **Деньги:** потрачено $6.002420 (два пути сходятся). Последняя цифра, приписанная слову
владельца в файлах, была $4.50 (`docs/PROGRESS.md:346`) ⇒ перерасход $1.50 (33%) до санкции
15.08. Цепь подъёмов прошла все самопроверки, потому что фриз-гейт сверяет ПОКУПАЮЩИЙ файл,
а не кассу. ⚠ **DeepSeek с 16.08 16:00 UTC: пик flash $0.44/$1.32, pro $1.32/$3.96** (было
$0.14/$0.28 и $0.435/$0.87), cache-hit pro ×612. DeepSeek — 61% расхода фазы.
12. **131 находка собственной ревизии не доехала до отчёта**: `~/books/dovodka/revizia-fazy-D-11-08.json`
(82) и `priemka-D4-14-08.json` (49). Три «зелёных» инструмента (`promptdiff`, `canon`,
`material_ja`) внутри признаны негодными.
13. **Д5 требование НЕ исполнено**: поле `why` в `canon-dissect.json` — мусор (`'этот'`, `'родов'`,
`'дочь'`). Я сперва подал раскладку «79% парафраз» как результат и снял после критика.
## 3. ЧТО БЕЖИТ ПРЯМО СЕЙЧАС
* **Пере-судейство `tier2`** — воркфлоу `wf_69792b71-0a0`, 4 сессии (`runs.py` #65#68, НЕ закрыты
`--done`). Ответы → `~/books/editor-tier/tier2/`. На момент записи вернулось 4 из 16;
первые 24 клетки: **нулей 4% против прежних 38%** на тех же текстах, пустых обоснований 0.
Счёт: `eval/.venv/bin/python eval/dovodka/tier2.py --score`.
* **Покупка ja-ноги H-4** — фоновая задача `bcwvbegaf`, команда `ja_axis.py --j6`, 9 клеток,
касса ФД-H (потолок $0.10, ожидание гарда 0.006/клетка). Проверить: `money_d.py --report`.
## 4. ЧТО ОСТАЛОСЬ СДЕЛАТЬ (по убыванию)
1. Досчитать `tier2 --score`, внести результат в отчёт секцией **Д15**. Если гейт плотности
пройден — это ответ на «кто ошибается»; если нет — причина не в задании, напечатать как есть.
2. **Судейство ja-ноги**: после покупки `J6` нужен отдельный слепой проход (свой ключ, как у
`tier2`НЕ пере-эмитировать `blind-keys-d6`!), панель `J0` vs `J6` + декой + пол + маржевый.
~23 сессии. Результат ОПИСАТЕЛЬНЫЙ (ось разведочная, n=9).
3. Закрыть сессии `runs.py --done <n>` (#65#68 и новые).
4. Пинг в `docs/PROGRESS.md` секция «Полигон» — итог сессии №2.
5. Реестр `requirements.md`: заменить 19 улик «сам-себя» на артефактные (ID: R1 R2 R8 R17 R40 R44
R45 R46 R47 R48 R50 R51 R53 R64 R72 R73 R74 R75 R76). ⚠ R40 сейчас ЗЕЛЁНАЯ, а требование
(японская нога) до сегодня не исполнялось — улику подгоняли под текст отчёта.
R55 красна из-за дефекта ПАРСЕРА (`conformance.py:80` не снимает `\|`), а не по существу.
6. Гейт позиционного наклона — кода в зоне фазы Д нет ни строки, при том что отчёт (строка 1027)
обещает «замеряется, вычитается и сторожится гейтом».
7. Разбор 131 находки внутренней ревизии против тела отчёта.
8. Эррата zh-канона: поправка границы слова живёт в `bank._rx`, в сохранённый банк не дошла
(завышение +0.0039) — правка закрытой оси, ратифицирует оркестратор.
## 5. ЧЕГО НЕ ДЕЛАТЬ
* Не пере-эмитировать `blind-keys-d3/d4/d6/d1` и `tier-KEY.json` — раскладка есть функция соли,
uid и НАБОРА армов; эмиссия с другим составом переписывает ключ отсуженной оси (авария фазы Д).
Новый проход = НОВЫЙ ключ со своей солью (так сделан `tier2`).
* Не править константы гейтов под зелень. `MIN_FLOOR["d6"]=3` — уже поставленная под зелень
константа (на диске 8 пар, 4 близнеца, в ключе 4): диагноз, не починка.
* Не поднимать `MIN_FLOOR`, не «чинить» `power.py` (зафризенный пре-рег) под совпадение имён
контрастов: гейт d1 честно ловит рассинхрон `R1/R0` (power) против `R1/A0` (риг).
* Не покупать DeepSeek после 16.08 16:00 UTC без пере-сметы — прайс ×2.24.4 на нашем миксе.
* Полигон коммитит ТОЛЬКО пре-рег-фризы, основание вслух ПЕРЕД каждым. Сделано дважды:
`a03ac66` (пре-рег `tier2` + `gain.py`), `8c68828` (покупающий код ja-ноги).
## 6. КОМАНДЫ
```
eval/.venv/bin/python eval/dovodka/gain.py --density --agree --floor --tier
eval/.venv/bin/python eval/dovodka/gain.py --selftest
eval/.venv/bin/python eval/dovodka/tier2.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 # d4 зелёный, d3 4, d6 1, d1 2
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
```
## 7. СОМНЕНИЯ — чего не принимать за твёрдое
1. **«Лечится заданием» — ГИПОТЕЗА, не факт.** Я отверг две альтернативы (ширину панели, одного
автора), но не все. Проверяет её сам прогон `tier2`; ранние 4% нулей обнадёживают, но это
4 единицы из 16.
2. **Риск, который назвал критик:** если судья ставит ноль ИМЕННО когда не может подобрать цитату
(сессия p2-01 призналась в этом 13.08), требование непустого «почему» могло бы усилить
занижение. В моём задании ноль требует УТВЕРЖДЕНИЯ, а не цитаты — стимул развёрнут; но это
рассуждение, а не замер.
3. **Ось ЯЗЫК, на которой держится вывод №6, — та, где эксп-20 §5.4 намерил худшее единогласие
судей (33% из шести осей).** Направление указано верно, но прибор там слабее всего.
4. **Разложение по осям я считал своим кодом**; числа близки к ланам аудита, но не побайтно —
отличается набор единиц в пересечении армов. Порядок величин устойчив, третий знак нет.
5. **Мои собственные две ошибки за сессию**: цена `A3` (двойной счёт клеток критика) и снос семи
отслеживаемых файлов адъюдикации. Обе поймали не мои гейты, а критик полноты и пере-счёт.
6. **`tier2` судит семейство claude.** Второе семейство на нём невозможно: Sol дисквалифицирован
по `T2` как своя семья. Значит пере-судейство даёт ОДНО семейство, и это ограничение вывода.
---
## 8. ЛЕНТА (дописывается по ходу)
* **19:5x** — ja-нога H-4 КУПЛЕНА: `dv-h-j6-*.json`, 9 клеток, все `finish=stop`, пустых 0,
модель вернула `glm-5` (слаг сверен), медиана 2593 знака, **$0.046329** при потолке ФД-H $0.10.
Пакет **$6.048749** из $6.85. Судейства ja-ноги ЕЩЁ НЕТ — нужен отдельный слепой проход.
* **19:5x** — `tier2`: 12 ответов из 16 на диске.
* **20:0x** — `tier2` ЗАКРЫТ на 16 единицах: плотность 3.77 (нулей 6% против 38%), пол 16 пар
sd 2.63 → порог 1.84, маржевый декой +2.50 ПРОЙДЕН, грубый 16/16. Контрасты `T1` 0.12 ·
`T2` +1.06 · `T3` +0.50 — все ниже порога; контроль `R0 vs F` 3.12 p=0.0042.
⇒ вывод пака 23 ВОССТАНОВЛЕН на приборе с сертификатом. Секция Д15. Сессии #65#68 закрыты.
* **20:1x** — ⛔ НАХОДКА ВЛАДЕЛЬЦА: DeepSeek подорожал, прайс не пере-снят. `roster.cost()`
ВЫЧИСЛЯЕТ `cost_usd` из зашитого пина (25.07: flash $0.14/$0.28, pro $0.435/$0.87), провайдер
сумму не возвращает ⇒ **$6.05 — это «сколько стоило бы по июльскому прайсу», а не списанное**.
DeepSeek = 61% расхода. Пере-счёт возможен точно и бесплатно (в клетках лежат все токены).
ЖДЁМ: владелец с оркестратором пере-снимают цены и вносят в документацию — НАПОМНИТЬ.
* **20:2x** — ja-нога: заведён `ja6.py` (свой ключ/соль, панель `J0`·`J6`·`D0`+декой+маржевый,
половины пола `J0`(p1)/`JFLO`(p2) РАЗВЕДЕНЫ ПО НАБОРАМ — дефект `tier` не повторяется, донор
декоя чередуется). ФД-H поднят 0.10 → 0.15 под покупку пола (9 генераций РЕДАКТОРА: пол оси Д6
снят с точечного фиксера и даёт 4 близнеца из 8). Фриз `22a8a6b`.
⚠ ПОРЯДОК ПО СЛОВУ ВЛАДЕЛЬЦА: сперва СВОЙ прогон (claude), потом пакет Sol.
* **20:4x** — ЗАКРЫТ ДОЛГ: **гейт наклона** `eval/dovodka/naklon.py` (селфтест на синтетике с
известным ответом). Прогнан по 7 проходам, пробоев НЕТ. Существенно: наклон крупный там, где
панель узкая (`border` +0.26, Д1 +0.28, Д6 +0.20 ошибки на шаг метки), но вредит его
ПРОИЗВЕДЕНИЕ на дисбаланс средних позиций армов, а оно ≤9% порога (Д1) и ≤5% (Д6).
Гейт роняет проход при поправке >25% порога.
* **20:5x** — ЗАКРЫТ ДОЛГ: дефект парсера `conformance.py:80` — не снимал markdown-экранирование
`\|` и рвал ячейку улики пополам. Следствие в ОБЕ стороны: **R55 был ложно-КРАСНЫМ** (требование
исполнено), **R37 — ложно-ЗЕЛЁНЫМ** (гейт замены японской книги не проверял ничего и теперь
честно красный: дословного слова владельца на замену в журнале нет). Осталось 2 провала:
R37 (провенанс ja-книги) и R64 (реестр не закоммичен — лендит оркестратор).
* **20:5x** — ЗАКРЫТ ДОЛГ: пинг в `docs/PROGRESS.md` секция «Полигон» (итог сессии №2).
* **20:5x** — `E1``D0` 5/16 объявлен в Д14.4 (долг закрыт там же).
* ⚠ Покупка пола ja-ноги дважды упиралась в таймаут оболочки (600с): редактор думает 6090 с на
клетку. Команда ИДЕМПОТЕНТНА (пропускает готовые), просто перезапускать.
* **21:xx** — `ja6.py --sol` собирает ПАКЕТ ДЛЯ SOL командой (не руками): изолированный каталог
`~/books/judging/ja6-sol/` + `ИНСТРУКЦИЯ.md` + `ПРОМТ-ДЛЯ-ХАРНЕССА.md`. Вшито: путь к ключу НЕ
называется (изоляция вместо «не открывай blind-keys/») · путь записи в свой каталог · правила
счёта В САМОМ ЗАДАНИИ (паритет П-4) · запрет дочерних агентов · все армы единицы в одной пачке ·
запрет молчаливого ноля с объяснением, откуда он взялся.
* ⚠ ПРЕ-РЕГ ОГРАНИЧЕНИЕ ja-ноги, записано ДО ответов: маржевый декой садится на 5 единиц из 9;
`--wide-plants` (на другой японской книге давал 8/9) ПРОВЕРЕН и НЕ помогает — те же 5/9.
Регексы посадок оказались не только пар-, но и КНИГО-зависимы.
* ⚠ Покупка пола зависла на клетке `dv-h-jflo-e9cad28783` (>7 мин, замок держит ЖИВОЙ процесс —
снимать нельзя). Класс известен: в паке 22 вызов держал замок 74 минуты. 7 пар из 9 уже есть;
если клетка не придёт — эмитировать с семью и объявить в пре-реге.
## 9. ЕСЛИ СЕССИЯ ОБОРВЁТСЯ ЗДЕСЬ — ЧТО ДЕЛАТЬ СЛЕДУЮЩЕМУ
1. `ls ~/books/dovodka/dv-h-jflo-*.json | wc -l` — пол ja-ноги. Было 7 из 9; одна клетка
(`e9cad28783`) зависала >9 мин, замок снимать ТОЛЬКО если процесс мёртв
(`ps -eo pid,cmd | grep "[j]a_axis.py --jfloor"`). Добор идемпотентен: `ja_axis.py --jfloor`.
Семи пар для описательной оси ДОСТАТОЧНО — можно эмитировать не дожидаясь.
2. `eval/.venv/bin/python eval/dovodka/ja6.py --emit` → 18 заданий (p1/p2) в
`~/books/judging/ja6/`, ключ `~/books/dovodka/blind-keys-ja6/` (судье НЕ давать).
3. Зарегистрировать сессии ДО запуска: `runs.py --claim ja6 p1 <ток> <ток> <ток> <ток>`.
4. Отсудить СВОИМ семейством (агенты, задание самодостаточно, промт-рамку взять из
`tier2`-воркфлоу: запрет diff/difflib, запрет дочерних агентов, изоляция каталога).
5. `ja6.py --score` → гейты (плотность, декой, пол, маржевый) и контраст `J6/J0`.
⚠ ЕСЛИ ХОТЬ ОДИН ГЕЙТ КРАСНЫЙ — пакет Sol НЕ отдавать, идти к владельцу.
6. Если зелено: `ja6.py --sol` → пакет в `~/books/judging/ja6-sol/`, отдать владельцу.
После его прогона: `ja6.py --score-sol`.
7. Закрыть сессии `runs.py --done <n>`, дописать секцию Д16 в отчёт, обновить пинг PROGRESS.
**НЕ ЗАБЫТЬ НАПОМНИТЬ ВЛАДЕЛЬЦУ:** пере-счёт денег под настоящий прайс DeepSeek (он с
оркестратором снимает цены). `roster.cost()` вычисляет `cost_usd` из пина 25.07 — весь леджер
фазы это НЕ измерение, а оценка по устаревшей таблице. Токены в клетках есть, пере-счёт мгновенный.
* **21:xx** — ja-нога ЭМИТИРОВАНА и пошла в судейство: 16 заданий (две единицы без набора p2 —
их клетки пола не докупились), сессии #69#72 зарегистрированы ДО запуска, воркфлоу
`wf_5b498c36-7bd`. Секция **Д16** записана в отчёт ДО ответов (пре-рег + три ограничения).
Зависший процесс покупки умер по таймауту, просроченный замок снят законно (процесс мёртв).
* **ГЛАВНЫЙ ВЫВОД СЕССИИ, если всё прочее потеряется:** дуга 19→23 отвечала на вопрос «какая
модель лучше редактор» (ответ устойчив: боевую связку не бьёт ни сильный тир за ×9 цены, ни
дешёвые контуры), но продуктовый вопрос владельца — translationese — она не мерила. Разложение
по осям: контуры проигрывают ПРОЗОЙ, а не смыслом (`A3` верность 0.26 при языке 1.61; `A6`
верность +0.12). Смысл дешёвые схемы держат, ткань — нет и не могут: фиксер трогает 0.23.7%
знаков. **Ни один арм за пять экспериментов не пробовал СПЛОШНУЮ ДЕШЁВУЮ ПЕРЕРАБОТКУ ПРОЗЫ**
переписать весь текст, но дешевле полного редактора. Там и лежит незакрытый вопрос.
* **21:xx** — ЯПОНСКАЯ НОГА ОТСУЖЕНА первым семейством, ВСЕ ГЕЙТЫ ЗЕЛЁНЫЕ. 9 единиц, 48 клеток,
замечаний годности 0. Плотность 2.38 (нулей 15%) · пол 7 пар sd 2.05 → порог 2.17 · грубый декой
+2.89 ПРОЙДЕН · маржевый +2.80 ПРОЙДЕН (на 5 единицах, объявлено ДО).
**`J0` dspro 1.44 · `JFLO` (вторая генерация ТОГО ЖЕ dspro) 1.86 · `J6` glm-5 1.89 · `D0` 4.22.**
`J6/J0` 0.44 p=0.6875 ниже порога · `J0/D0` +2.78 p=0.0039 перешёл.
⇒ **разница между ДВУМЯ редакторами (0.44) не больше разницы между двумя прогонами ОДНОГО
редактора (0.42)** — самый чистый способ сказать «не различимо».
**H-4 НЕ ПОДТВЕРЖДАЕТСЯ на всех трёх парах**: dspro первый на zh, en (1.31 против 2.72) и
ja (1.44 против 1.89). Требование заказа :115 исполнено ВПЕРВЫЕ. Секции Д16.1/Д16.2.
* **21:xx** — ПАКЕТ SOL СОБРАН: `~/books/judging/ja6-sol/` (16 заданий + ИНСТРУКЦИЯ.md +
ПРОМТ-ДЛЯ-ХАРНЕССА.md). Проверено: тела побайтно равны судимым (16/16, различие ровно в строке
пути записи) · утечки ключа НЕТ · в каталоге ничего кроме заданий и пустых ответов.
Отдан владельцу. После его прогона: `ja6.py --score-sol`. Сессии #69#72 закрыты (72 из 80).
* **21:xx** — ЗАКРЫТ ДОЛГ (частично): реестр требований. Шесть самореферентных улик заменены на
АРТЕФАКТНЫЕ, все шесть прошли: R40 (грепала слово «японской ноги» и стояла зелёной, когда ноги
НЕ БЫЛО → теперь считает клетки `dv-h-j6-*` и прогоняет `ja6.py --score`) · R73 (грепала
заголовок → теперь прогоняет селфтесты gain/naklon/adjud --controls) · R76 (грепала фразу →
`money_d.py --selftest`) · R2 · R57 (грепала имя константы → проверяет пойманный декой в сырье) ·
R61 (вела на гейт ЧУЖОГО пака `verify23.py`, который наклон фазы Д не проверяет → теперь
`naklon.py`). Самореферентных 19 → 16; провалов по-прежнему 2 (R37 провенанс ja-книги,
R64 реестр не закоммичен — лендит оркестратор).
* **16.08** — СОБРАН ПРИБОР ТКАНИ: `eval/dovodka/chtenie.py --emit|--score`. Слепое чтение
ВЛАДЕЛЬЦЕМ — минимальная форма П-6, который он принял 11.08 и который не был построен.
Пакет → `~/books/chtenie-vladeltsa/` (ЧТЕНИЕ-zh.md 94 КБ, ЧТЕНИЕ-en.md 20 КБ), ключ ОТДЕЛЬНО
в `~/books/dovodka/blind-keys-chtenie/` — не открывать до ответа.
zh: единица `ed068182cf`, 5 вариантов (черновик · A0 · A3 · A6 · A4), ~9.7 тыс. знаков каждый.
en: единица `27cb3a7e69`, 5 вариантов (черновик · E0 · E3 · E2 · E6), ~1.9 тыс. знаков.
Владелец пишет ПОРЯДОК от лучшего к худшему + по фразе на вариант в `ОТВЕТ-{zh,en}.md`,
затем `chtenie.py --score` де-слепляет. **Сверка его порядка с судейским счётом и есть ответ
на вопрос, мерил ли риг 19→23 то, что нужно продукту.**
* **16.08, СВЕРКА РЕВИЗИИ** (воскрешена после лимита): **65 находок из 131 в отчёт не попали.**
Критичные, требуют пере-проверки следующей сессией:
1. **H-1 МОЖЕТ ПЕРЕХОДИТЬ ПОРОГ.** Вердикт `A6/A0` определяют две пачки прогона, объявленного
«валидацией цепочки», судимого 11.08 по НЕ замороженному промту, паритет не проверялся.
Без них: пол n=13 sd 1.4058 → порог 1.0917, `A6/A0` 1.0938 → **ПЕРЕШЁЛ**. Отчёт печатает
«НЕ УСТАНОВЛЕНА». Вместе с Д14.11 (`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` — нет).
Полный список: `/tmp/claude-1000/.../tasks/wrfw8ajqx.output` (эфемерный! перенести в ~/books).
---
## 10. ФИНАЛ СЕССИИ №2 (16.08) — передача
**ПРОМТ-ПЛАН ПРЕЕМНИКУ: `docs/POLYGON_PHASE_D_PLAN_16-08.md`** (10 разделов, ~450 строк).
Он самодостаточен: словарь терминов · решения владельца дословно · что построено · что
установлено с числами · план из трёх шагов · долги · ловушки · мнение Fable · команды ·
чем закрывается работа · как разговаривать с владельцем. Читать ЦЕЛИКОМ, не грепом.
**Решение владельца 16.08, меняющее прибор:** «Штрафовать за вольность нельзя — живой язык один
из приоритетов бэкенда. Штрафовать можно только за перевирания смысла исходника. В остальном
можно менять, убирать англоязычность, переставлять текст». ⇒ рубрика судьи переписывается,
и старые судейские числа с новыми станут НЕСРАВНИМЫ. Санкция на траты и на пере-проведение
эксперимента дана.
**Слепое чтение 16.08 (читал Fable по поручению владельца, владелец мнение одобрил):**
zh Спирмен +0.80 (прокси держится, но `A3` — ставка владельца — у читателя ПОСЛЕДНИЙ, ниже
голого черновика) · **en Спирмен 0.10 (связи нет; однопроходка `E2` первая, боевая связка `E0`
третья)**. Читатель ВСЛЕПУЮ предсказал механизм: «у Т3 отклонений больше, а читается лучше;
счётчик должен был поставить его ниже» — так и вышло. Улики: `~/books/chtenie-vladeltsa/ОТВЕТ-*.md`.
**Персистировано человекочитаемым (владелец просил не jsonl):**
`~/books/dovodka/СВЕРКА-РЕВИЗИИ-16-08.md` — 65 неотражённых находок, 7 противоречий телу отчёта,
12 инструментов, признанных негодными внутри самой ревизии.
**Аудит собственного плана нашёл и закрыл пять пробелов:** не было словаря терминов (после
компакта план был бы нечитаем) · не сказано, что 16.08 уже наступило и подорожание, вероятно,
УЖЕ случилось · не перечислены все четыре места, где живёт рубрика · не названы пути ответов
слепого чтения · битая ссылка на несуществующий §5.4 · не было раздела «чем закрывается работа».
**Деньги:** $6.085489 из $6.85. ⚠ Это оценка по прайсу от 25.07, а не списанное: `roster.cost()`
вычисляет из зашитого пина. Владелец с оркестратором снимают цены — НАПОМНИТЬ.
**Судейских сессий:** 72 (кап 80 снят словом владельца).
**Коммиты сессии:** `a03ac66`, `8c68828`, `22a8a6b` — только пре-рег-фризы. Остальное лендит оркестратор.
## 11. ХВОСТ 16.08 — после полного перечитывания плана
* **Sol по японской ноге прогнан владельцем, контроли НЕ взял:** декой +2.22 и маржевый +1.80
против собственного порога 2.80. Пачка по норме аннулируется; направление совпало с моим
семейством (`J6/J0` 1.00 против 0.44). Вывод H-4 не меняется, но стоит на ОДНОМ семействе.
* **Починен `ja6.py read()`**: не видел плоский `answers/` внешнего пакета и печатал «ответов нет».
* **Цены пере-сняты — но только в бэкенде.** `models.yaml` несёт пик (`prices_checked 2026-08-15`),
`eval/tenant_panel/roster.py:33-35` — ПО-ПРЕЖНЕМУ июльский. Следующая покупка снова посчитается
неверно. Пере-счёт фазы: в кассе $5.40 (DeepSeek), по пику **$15.51 (×2.87)**, по офф-пику ~$8.95.
⇒ смета следующего захода ~$2.9 пик / ~$1.7 офф-пик; **правило ничьей может пере-решиться**
(`pro` подорожал втрое, `glm-5` — Z.AI, не дорожал; разрыв ×9 сжался).
* ⛔ **ОДНОПРОХОДКА ЛОМАЕТ БАНК — блокер, найден владельцем.** `terminologist.md:22`: терминолог
выбирает канон по ВАРИАНТАМ ЧЕРНОВИКОВ. Без черновика майнингу не из чего собирать свидетельства.
⇒ однопроходка — альтернатива только ВТОРОМУ проходу, не связке. И это объясняет, почему чтение
поставило её первой: на ОДНОЙ главе банк не нужен, на книге в 1500 глав имена разъедутся.
* **Порядок плана изменён по замечанию владельца:** рубрика → покупка новых армов → ОДНО чтение по
полной панели → судейство. Читать по всему один раз, а не дважды по кускам.
* **Полное перечитывание плана нашло шесть расхождений** — все внесены. Вывод для себя: «прочитал
структуру» ≠ «прочитал»; аудит по заголовкам пропустил устаревшую денежную секцию целиком.
* **16.08, финальные правки плана по замечаниям владельца:**
1. **Однопроходка — НЕ блокер.** Поправка владельца: «допустима, как вариант чтоб оттуда после
вырезать термины и edit точечным редактором их заменить». Её выход тоже перевод ⇒ годится
терминологу как свидетельство. Заведён кандидат **`K7`: однопроходка → майнинг банка из её
выхода → канон-фиксер**. На en он стоит столько же, сколько связка (~0.0091 против 0.00885),
а по слепому чтению однопроходка там читалась ЛУЧШЕ — самый дешёвый способ проверить.
2. **Промт черновика — из «ловушки» в КАНДИДАТА `K8`.** Был записан как наблюдение, хотя владелец
задал его как вопрос архитектуры. 22 строки против 41; у редактора есть блок дискурс-перевёрстки
и FEWSHOT из трёх примеров, у переводчика — одна строка. Замер стоит ЦЕНУ ЧЕРНОВИКА (~$0.03
на 16 единиц), самый дешёвый кандидат и ни разу не проверенный. ⚠ Сверить до замера, был ли
FEWSHOT перенесён в `A2` — из эрраты Э-5 это не следует.
3. **Панель черновой роли** (6 моделей эксп-22, ничья → побеждает дешёвый) внесена в §3.6а:
«поставить дипсик-про черновиком» уже проверено и не выиграло ⇒ низкое качество черновика —
свойство РОЛИ, а не модели.
4. **Три «зелёных» инструмента, признанных негодными внутри ревизии**, названы поимённо:
`promptdiff.py`, `canon.py`, `material_ja.py`.
5. **Точечный ремонт не выброшен ратификацией**: D39.117 п.3 принял его как механический
ПРЕ-ГЕЙТ ПЕРЕД редактором и «ремонт только с банком»; число «$0.0002 чинит всё» пало.
---
## 12. СЕССИЯ №3 (16.08, после компакта) — ЗАХОД Д17
**Работа по плану `eval/dovodka/PLAN-16-08.md`. Порядок шагов ПЕРЕСТАВЛЕН, основание числом:**
вендор переводит DeepSeek на пик/офф-пик в 16:00 UTC 16.08 (сноска прайс-страницы, факт-чек 15.08
в `models.yaml`). До перелома заход стоит **$1.06**, после — **$3.17**. Рубрика к покупке
отношения не имеет (она нужна судейству), поэтому: КУПИТЬ → починить рубрику → отсудить.
**Построено:** `eval/dovodka/zakhod.py` — покупающий код захода. Армы `Z8` (обогащённый черновик),
`Z8R` (он же + перепис), `Z1` (критик → ПОЛНЫЙ перепис), `Z7` (однопроходка + канон-фиксер),
`ZF` (вторая генерация связки = пол новой рубрики). Бесплатные `ZD`/`Z0`/`ZP` берутся у осей.
Касса: заведены ФД-I (zh) и ФД-J (en) по $0.65, пакетный потолок $6.85 → $8.15.
**Три находки ДО единой покупки (все — вычиткой и `--dry`, не гейтами):**
1. **FEWSHOT в промт не попадает НИ У КОГО**`prompts.load_template` его дропает, в проде
`stages[edit].few_shot: false`. Значит утверждение плана «у редактора есть FEWSHOT, у
переводчика нет» НЕВЕРНО как основание для `K8`. Асимметрия реальна, но она в секции
ДИСКУРС-ПЕРЕВЁРСТКИ, и переносится только она — иначе арм мерил бы то, чего в бою нет.
2. **`deepseek-v4-flash` в роли РЕДАКТОРА уже мерялся** (эксп-22 Ф3, арм `R3`): 2.54 против
боевого, проходит порог 2.03, плюс 3 клетки из 16 сожгли бюджет и одна вернула черновик
побайтно. ⇒ идея «сплошная дешёвая переработка прозы дешёвой моделью» НЕ пустая клетка,
она занята и проиграна. Из плана этот кандидат снят до покупки.
3. **Свой двойной экземпляр `contour.py`**: `en_axis` держит свой, и его `wire()` настраивает
хуки в НЁМ. Мой второй экземпляр остался с китайскими хуками — английские черновики читались
китайским путём, возвращали пусто и объявлялись «БРАКОВАН гейтом проекта», то есть английская
ось молча стала бы пустой. Поймано `--dry` до покупки.
**Починен фильтр замечаний критика** (`contour.critic_places` брал любую строку с дефисом):
на zh **198 строк из 863 (23%)** — согласия критика. Первая редакция моего фильтра требовала
разделителя «→» и теряла настоящие находки (2 из 3 выброшенных) — правило переделано на
двустороннее: выбрасываем, только если принимающая формула в ХВОСТЕ вердикта И нет маркера
дефекта. Проверено выборкой глазами. На en согласий почти нет (2 из 178).
**Пре-рег Д17** записан в отчёт ДО покупок: панель, правило решения, формула порога, мощность,
статус осей, чего заход не может. Правило расхождения эндпойнтов объявлено ДО данных: при
расхождении счёта и чтения побеждает ЧТЕНИЕ (приоритет владельца «живой язык»).
## 13. БЭКЛОГ: ЭКОНОМИКА МОДЕЛЕЙ ПОСЛЕ ПОДОРОЖАНИЯ (16.08) — НЕ основная линия
Записано по указанию владельца: «это всё можно в какой-то бэклог занести… но нам важно по плану
идти». Ниже — замер, а не мнение; к основному вопросу фазы (мерит ли счёт то, что нужно продукту)
он отношения не имеет и работу не двигает.
**Ростер пере-пинен** (`eval/tenant_panel/roster.py`, отдельным коммитом с заголовком чужого пака):
DeepSeek на пик `flash $0.44/$1.32/кэш $0.014` · `pro $1.32/$3.96/кэш $0.044`. Гейты эксп-22
пере-сняты после правки — `verify22.py` «ВСЕ ЧИСЛА ОТЧЁТА СХОДЯТСЯ», `itog22.py` зелен: числа
чужого пака не поехали, потому что `cost_usd` записан в клетку при покупке, а не вычисляется.
**Пере-оценка КАЖДОЙ замеренной клетки по сегодняшнему прайсу (медианы):**
| роль | модель | было $/клетка | стало | рост |
|---|---|---|---|---|
| черновик | `gpt-5.6-luna` | 0.00358 | 0.00358 | — |
| черновик | `gemini-3.1-flash-lite` | 0.00383 | 0.00383 | — |
| черновик | **`deepseek-v4-flash`** | **0.00097** | **0.00444** | ×4.59 |
| редактор | `glm-5` | 0.01163 | 0.01163 | — |
| редактор | **`deepseek-v4-pro`** | **0.00537** | **0.02235** | ×4.16 |
**Вывод 1 — правило ничьей на ЧЕРНОВОЙ роли пере-решается.** Эксп-22 Ф2 дал ничью по качеству
шести моделей, и роль ушла к самому дешёвому (правило D39.117). Flash был в 3.7× дешевле
следующего; теперь он ДОРОЖЕ и `gpt-5.6-luna`, и `gemini-3.1-flash-lite`. По букве нашего же
правила черновая роль обязана быть пере-выбрана. ⚠ Перед этим — эхо-проба альтернатив: у flash
эхо-мина есть и она перевооружается ослабленным thinking, у остальных не мерена НИ РАЗУ.
**Вывод 2 — редакторская роль правилом ничьей НЕ решается**, качество там не равно: `dspro`
лучше `glm-5` на zh (2.12) и en (1.41), не различимо на ja. Но выбор перестал быть бесплатным:
было «лучше И вдвое дешевле», стало «лучше, но вдвое дороже». Это продуктовое решение владельца,
а не вывод полигона.
**Себестоимость главы** (черновик + перепис): было $0.0063 → сейчас той же связкой $0.0268 →
на паре `flash-lite + glm-5` $0.0155. На книге в 1500 глав: $9.5 → $40.2 → $23.2.
**Дыра, которую замер не закрывает: вендор-риск не мерился вовсе.** 16.08 он материализовался —
кончился баланс одного провайдера, встал весь заход (96 отказов `402`, $0). Не проверялось:
держит ли пайплайн смену жильца без правки промтов; есть ли у альтернатив своя эхо-мина.
**Почему внутри захода Д17 модель всё равно одна.** Заход меряет АРХИТЕКТУРУ (число проходов,
что кому подаётся). Контраст мерит топологию только при модели-константе — иначе это конфаундер
эксп-19. Цена этого: вывод честно звучит «какая архитектура лучше ДЛЯ ЭТОЙ модели». Переносимость
закрывается отдельным дешёвым замером ПОСЛЕ захода: победившая архитектура на `glm-5`.