# 23. Сильный тир редакторской роли и граница `glm-5` **Полигон-сессия, 09.08.2026.** Номер 23 присвоен оркестратором №16 при лендинге 10.08. Зона: `eval/editor_tier/` + этот файл. Санкция владельца на потолок пака $4.00 (09.08). > ⚠⚠ **РЕВЬЮ-ШАПКА ПРИЁМКИ (оркестратор №16, 10.08) — шапка первична над телом.** Числа пака > подтверждены независимым пересчётом мимо харнесса (border/tier/деньги/репликация/внешний судья — > до знака; LOO по сессиям устойчив; аннулированные прогоны воспроизводятся из сырья, «фантомные» > −0.29/−0.42 подтверждены невыводимыми). **Мандат пака, потолок $4.00 и санкции подтверждены > владельцем задним числом 10.08.** **Выводы НЕ ратифицированы** — владелец признал постановку > неполной и заказал **фазу Д** (`docs/POLYGON_EXP2223_REDO_SESSION_PROMPT.md`): добивка > gemini · внешняя подпись `tier` · несущие оси en/ja · edit-контур · канон-вскрытие; отчёт фазы — > секции Д0–Д8 этого файла. Поправки приёмки к телу (чек-лист §Д8 промта), главные: счёт > агент-сессий = **58**, не 50 (§6/§14) · противоречие §9/§13 против §12в о внешнем контуре · > наклон `border` по текущему сырью **+0.708**, не +0.646 · боевые `aj-border*` — пере-штампованные > копии `replication-runA` (mtime 23:31:54), исходный mtime-провенанс судейства утрачен · в голосах > `replication-runB` — judge-имена прогона A (`ingest` читает JUDGES-файл прогона A). > ⚠ **ЗАКАЗА НА ЭТОТ ПАК НЕ СУЩЕСТВУЕТ.** Промта на эксп-23 в `docs/` нет: пак назначен сессией > себе самой, владелец санкционировал только ДЕНЬГИ. Оркестратор уже пометил его как незаявленный. > Пре-рег и реестр требований, на которые ссылается этот отчёт, написаны той же сессией и заказом > не являются — читать их как самообязательство, а не как контракт. Содержательно пак закрывает > дыру, объявленную самим эксп-22 (§13а: сильный тир был срезан из панели), но и она была не > заданием, а его находкой. Список к подписи владельца — §14. > **СТАТУС: замер закончен.** Потрачено **$2.907359** при пакетном потолке $4.00; судейство обоих > проходов пере-снято после приёмки (`tier` — из-за отсутствия декоя, `border` — из-за подменённой > базы арма, §0 и §3), пере-прогоны покупок не потребовали. > Числа пере-считываются `eval/editor_tier/itog23.py` из персистированного сырья и сторожатся > `eval/editor_tier/verify23.py` — ненулевой код возврата значит «отчёт не сдаётся». > > ⚠ **Чего гейты НЕ доказывают, вопреки прежней редакции этой шапки.** (1) Гейт чисел сторожит, > что число ПРИСУТСТВУЕТ в тексте, а не что предложение вокруг него истинно; пороговые и > сравнительные утверждения проверяются только чтением. (2) `eval/conformance.py --final` гонялся > против реестра требований, который живёт в сессионном scratchpad и в репозиторий не попадает, — > читатель его пере-снять не может, и «соответствие заказу проверено» отсюда не следует; вдобавок > большая часть его улик — греп формулировок ЭТОГО ЖЕ отчёта, то есть отчёт проверял сам себя. > (3) Прежняя редакция `verify23.py` пропускала проход, по которому нет ни одного голоса, и > печатала «все числа сходятся» с нулём проверок — ровно так аннулированный `border` прошёл гейт. > Починено; но каждый из трёх дефектов прошлые редакции этой шапки называли доказательством. ## ИТОГ — ВХОД ДЛЯ РЕШЕНИЯ ВЛАДЕЛЬЦА ⚠ **ЧИТАТЬ §0 ПЕРВЫМ.** Судейство этого пака аннулировалось ДВАЖДЫ, по двум разным причинам: первый прогон — потому что в нём не создавался декой; второй, в части прохода `border`, — потому что у арма `R0` на половине единиц была подменена база. Оба дефекта нашла приёмка, не автор. Ниже — числа третьего, принятого судейства: оба прохода с полным набором контролей, декой пойман в 16/16 и 32/32 единиц, отбраковок ноль. **Оба несущих ответа пака отрицательные, и это не осторожность формулировки, а результат.** Ни сильный тир четырёх провайдеров, ни пограничный `glm-5` не отличимы от боевого редактора `deepseek-v4-pro` на пороге, который кладёт собственный шум прибора. Рекомендация эксп-22 остаётся в силе — теперь на панели, где сильный тир присутствует, а не срезан. По правилу ничьей D39.117 это тем более так: `deepseek-v4-pro` из неразличимых ещё и самый дешёвый. ### 0. ДВА АННУЛИРОВАННЫХ ПРОГОНА И ЧЕМУ ОНИ УЧАТ Хук декоя возвращал ригу ИМЯ арма вместо ТЕКСТА; порча садилась в строку «R0», давала 0 замен при пороге 2 и декой МОЛЧА не создавался — ноль контролей в обоих проходах. Нашло это адверсариальное ревью, которому было поручено искать вне карты отчёта; сам отчёт при этом ссылался на правило «сессия без пойманного декоя аннулируется». **Один и тот же оплаченный материал дал ПРОТИВОПОЛОЖНЫЕ ответы:** ``` контраст без декоя (run1, аннулир.) с декоем (run2, ТОЖЕ АННУЛИРОВАН) принято (run3) T2 gpt-5.6-terra +2.00 «БЬЁТ» +0.50 ниже порога +0.50 T3 grok-4.5 +1.81 «БЬЁТ» +0.19 ниже порога +0.19 R2 glm-5 −0.09 «эффекта нет» −1.53 «ЗНАЧИМО ХУЖЕ» −0.81 ниже порога ``` ⚠ **Поправка фазы Д (чек-лист приёмки №16 п.7): прежде колонка называлась «с декоем (принято)», и в строке `R2` под этим заголовком стояло −1.53 — число АННУЛИРОВАННОГО run2.** Принятые числа `tier` (`T2`/`T3`) действительно из run2, а принятое число `border` — из run3, потому что run2 аннулирован именно по проходу `border` (подменённая база `R0`, §3). Один заголовок на две колонки разного статуса и порождал ошибку; теперь статус подписан у каждой. ⚠ **Однофакторной эта таблица является только по строке `border`.** В проходе `tier` между двумя прогонами изменилось ДВА: появился декой И появился позитивный контроль `F` (ключи: армы run1 `[R0,T1,T2,T3]`, семейство из 3 строк · принятый `[R0,T1,T2,T3,F]`, семейство из 4). Делитель Холма изменился 3→4, но ни один вердикт от этого не двигается. Чистая улика — `border`: там состав армов совпадает и добавлен ровно декой. Кроме того обе пачки судили разные, нигде не зафиксированные популяции судей (см. §8), так что «менялось только X» вообще не доказуемо этим дизайном — правильная формулировка «наблюдаемое различие сопровождало появление декоя». ⚠ **Строка `border` в этой таблице — улика ПРО ДЕКОЙ, но ни одно её число не является ответом пака про `glm-5`.** Оба сравниваемых прогона несли один и тот же дефект базы `R0` (§3): он в сравнении удерживается постоянным, поэтому разница −0.09 против −1.53 по-прежнему говорит о влиянии декоя, — но правильный ответ снят третьим прогоном и равен −0.81. Не смешивать два утверждения: «декой меняет вердикты» пак показал, «вердикт по `glm-5` такой-то» — только в §3. ⚠ **Урок шире декоя.** Каждый из трёх прогонов давал внутренне связную таблицу, и каждый раз неверным оказывался НЕ вывод из чисел, а само основание под числами: сперва отсутствующий контроль, потом подменённая база. Ни один из двух дефектов не был виден в результатах — оба нашлись только чтением кода и сверкой сырья. Отсюда практическое правило, а не мораль: пока контроль не напечатан числом рядом с боевым перевесом, «результат» — это гипотеза о работе прибора, а не о моделях. Тексты не менялись, деньги не тратились — менялось наличие заведомо испорченного текста в судейской пачке. **Механизм:** декой задаёт судье масштаб настоящей ошибки. Без него судья сравнивает хорошее с хорошим и раздувает мелочь до величины реальной разницы (отсюда ложные +2.00) либо, наоборот, не находит разницы там, где она есть (отсюда ложный ноль). Косвенное подтверждение: в аннулированном прогоне половина единиц отбраковывалась за ненулевые оси БЕЗ цитат — судьям было нечего цитировать, они регистрировали различия, а не ошибки. В пере-прогоне отбраковка — ноль. ⇒ **Одна отсутствующая проверка дала две ошибки РАЗНОГО знака.** Контроль чувствительности судьи — не формальность протокола, а условие осмысленности любого числа пака. ### 1. СИЛЬНЫЙ ТИР НЕ ОТЛИЧИМ ОТ БОЕВОГО РЕДАКТОРА 16 единиц, побайтно одна якорная база, Холм по четырём. Порог различимости — шумовой пол СВОЕГО прохода, **1.02**. ``` T1 glm-5.2 −0.19 [−0.56, +0.12] Холм 1.0000 ниже порога различимости T2 gpt-5.6-terra +0.50 [−0.06, +1.12] Холм 0.5977 ниже порога различимости T3 grok-4.5 +0.19 [−0.12, +0.62] Холм 1.0000 ниже порога различимости R0 vs F (КОНТРОЛЬ) +2.06 [+1.19, +3.00] Холм 0.0039 ✔ боевой редактор ПОКУПАЕТ поверх черновика ``` **Формулировка выбрана буквально.** Вердикт пре-рега — «ниже порога различимости при данном n», а не «различий нет»: у `T2` интервал доходит до +1.12, то есть накрывает значения ВЫШЕ порога 1.02. Утверждать равенство армов эти данные не позволяют — они позволяют утверждать, что эффект меньше того, что прибор на 16 единицах способен развести. **Позитивный контроль — ключ к чтению.** Прибор находит +2.06 там, где разница реальна (редактор против голого черновика), и не находит ничего между редакторами. Значит малость перевесов — это свойство армов, а не слепота прибора. Контроль `F` добавлен ПОСЛЕ аннулирования первого прогона: он впечатан в ключ до появления первого ответа судьи (пре-регистрация соблюдена), и на вердикты T1–T3 не влияет — при семействе из 3 и из 4 поправка Холма даёт одни и те же величины. ⇒ **Посылка 1 ПОДТВЕРЖДЕНА: дороговизна качества не покупает.** Сильный тир четырёх провайдеров не даёт различимого выигрыша над `deepseek-v4-pro`. ### 2. ВЫВОД ЭКСП-22 УСТОЯЛ И ТЕПЕРЬ ПОДПЁРТ ПОЛНОЙ ПАНЕЛЬЮ Эксп-22 рекомендовал `deepseek-v4-pro` и сам объявил (§13а), что вывод верен лишь ВНУТРИ панели, потому что сильный тир был срезан. Дыра закрыта: тир проверен и не лучше. **Рекомендация остаётся, и теперь она стоит на панели, включающей сильный тир OpenAI, xAI и Z.AI.** ### 3. ГРАНИЦА `glm-5` НЕ РАЗРЕШЕНА: ЭФФЕКТ НИЖЕ ПОРОГА РАЗЛИЧИМОСТИ 32 единицы (16 эксп-22 + 16 новых), порог — шумовой пол СВОЕГО прохода, **1.48**. ``` R2 glm-5 vs R0 боевой −0.81 [−1.81, +0.28] Холм 0.1601 ниже порога различимости контроли: ДЕКОЙ −4.88 поймано 32/32 ✔ · ПОЛ −1.00 [−2.06, +0.06] честен · побайтных дублей нет ``` ⛔ **Это ТРЕТЬЕ судейство прохода; первые два аннулированы.** Второе давало −1.53 [−2.19, −0.84], Холм 0.0002, и на нём стояли вывод «граница разрешена ПРОТИВ `glm-5`» и закрытие Резерва D39.22. Приёмка нашла в нём подменённую базу: на 16 из 32 единиц арм `R0` был редактурой боевого редактора поверх ЧУЖОГО черновика, а не поверх якорного, — контраст сравнивал армы над разными основаниями. Причина в именовании эксп-22, где арм редактуры назван по ЧЕРНОВИКУ-жильцу, а не по редактору. **Что изменилось в третьем прогоне** (покупок не потребовал, тексты те же): база `R0` сверена побайтно с якорной редактурой эксп-22 — 16/16 · донор декоя уравнен по армам (было: порча во всех 32 единицах делалась из `R0`, а `R0` — второй арм ЕДИНСТВЕННОГО контраста прохода; стало 16 из `R0`, 16 из `R2`) · идентичность судейских сессий персистирована (прежде во всех голосах стоял `judge='?'`) · пере-суживание довело выборку до полных 32 единиц, отбраковок ноль. **Проверка, что уравнивание донора не подменило вывод:** на 16 единицах с донором `R0` перевес −0.81 и на 16 с донором `R2` тоже −0.81 — вклад донора неотличим от нуля. ⚠ **Поправка фазы Д: `p` пере-считаны ТОЧНО, а были оценкой.** При n>20 риг брал Монте-Карло (200 000 розыгрышей, фиксированное зерно) — отсюда одна и та же величина печаталась в отчёте как 0.1603 и как 0.1608, то есть заявление «числа воспроизводятся до знака» на ней не выполнялось. Перевесы целые, поэтому распределение суммы ±xᵢ берётся динамикой по достижимым суммам ТОЧНО и мгновенно: **p = 0.1601** (боевой прогон и `runA`), **0.3339** (`runB`). Ни один вердикт не двигается; двигалась только третья значащая цифра, и теперь она воспроизводима. **Расщепление по половинам** (обе половины на правильной базе): ``` все 32 единицы −0.81 p 0.1601 16 старых эксп-22 −1.62 p 0.0449 16 новых 0.00 p 1.0000 ``` Половины расходятся: на старых 16 единицах перевес почти достаёт до порога, на новых он ровно ноль. Ни одна не проходит порог 1.48, но расхождение половин само по себе больше, чем удобно объяснять шумом, и различаются они ещё и составом глав. Это и есть граница того, что пак может сказать. Прежняя интерпретация — «прежний результат ВЕРЕН, а не артефактом малого n» — не воспроизвелась: контраст эксп-22 (−2.12 на 16 единицах) при удвоении n и починенных контролях сжался до −0.81. ⇒ **Ожидание пре-рега оправдалось: перевес сжался, а не устоял.** ⚠ Что здесь НЕ утверждается. «Ниже порога» не значит «армы равны»: интервал тянется от −1.81 до +0.28. Знак отрицателен во всех трёх прогонах и в эксп-22, то есть слабое свидетельство против `glm-5` есть — на этом приборе и этом n оно не доходит до различимого. Разрешается граница только ростом мощности (больше единиц или менее шумный судейский контур), а не пере-чтением этих чисел. ### 4. ЦЕНА (замер, 1500 единиц на книгу) ``` арм p50 edit p95 edit p50 связка книга p50 книга p95 × к R0 R0 deepseek-v4-pro 0.00769 0.01573 0.00897 $13.45 $25.13 — T1 glm-5.2 0.01725 0.01955 0.01879 $28.18 $31.66 2.09× T2 gpt-5.6-terra 0.04408 0.04841 0.04544 $68.17 $74.88 5.07× T3 grok-4.5 0.05276 0.06441 0.05397 $80.96 $97.88 6.02× якорный черновик (общая база связки, входит в каждую связку): p50 0.00122 ``` ⚠ **Прежняя редакция этой таблицы сравнивала связку с не-связкой.** В строке `R0` стояло `0.00545` — медиана ДВУХ клеток скрина эксп-22, не этих шестнадцати, — а книжные столбцы при ней были посчитаны по СВЯЗКЕ «черновик+редактор», тогда как у `T1`–`T3` те же столбцы шли по одной редактуре. Нескладность была видна в самой строке: 0.00545 × 1500 = $8.18, а напечатано $13.45. Ни один гейт её не трогал: пере-счёт спрашивал у эксп-22 метод `edit_cost`, которого у него нет, и строка молча выходила нулевой. Починено в `itog23.py`/`verify23.py`; теперь оба семейства колонок печатаются рядом и сторожатся. **Вывод «сильный тир в 2–6 раз дороже» от починки не изменился** — он и считался по связкам, просто напечатан был не тем числом. ⇒ **Решение однозначно и не требует продуктового суждения:** сильный тир стоит в 2–6 раз дороже и не даёт различимого выигрыша. Платить не за что. ### 5. ОТКАЗНОЙ РЕЖИМ KIMI — КЛЕТКА ЗАМЕРЕНА ПОД СВОИМ ПОТОЛКОМ (посылка 2 согласуется, но не различает) `kimi-k3` в редакторской роли — **пустой выход при 99.9% доли размышления**, $0.0804 за клетку. Особый режим (одна клетка вместо полного скрина), объявленный ДО покупок, сэкономил ≈$1. ⚠ **Клетке был выдан СВОЙ потолок вывода: `max_out=4000` против 16000 у всех остальных** (`screen.py:47`), и сырьё показывает `finish=length · completion 4000 · reasoning 3997 · content пуст`. То есть модель уперлась в мой потолок, ещё не выйдя из фазы размышления. Прежняя редакция называла только «одну клетку вместо полного скрина» и умалчивала о потолке, а квирк-реестр проекта (`00-provider-quirks.md`) описывает ровно этот симптом как нехватку бюджета и предписывает ≥16000. Поэтому: **вердикт по ЦЕНЕ твёрдый** — $0.080406 уже выше порога роли $0.06, а при 16000 клетка стоила бы ≈$0.26; **вывода об отказном режиме вендора эта клетка не даёт** — она не различает «модель отказывается работать» и «мой потолок обрезал её на размышлении». Эксп-22 снимал `kimi-k2.6` другим замером; повторением того результата это считать нельзя. Девиация — в §8. ### 6. ДЕНЬГИ И ДИСЦИПЛИНА ``` ФA скрин $0.481038 / 1.10 ФC панель+пол $2.080125 / 2.30 ФB единицы $0.346196 / 0.45 ПАК $2.907359 / 4.00 ``` Ни один потолок не пробит, деньги сведены двумя путями (расхождение ≤7e-6). Пере-прогон судейства покупок не потребовал. Дополнительная санкция владельца на $5 не понадобилась. ⚠ **Потолок ФC поднимался ДВАЖДЫ; вот точная хронология по коммитам и mtime сырья.** ``` 03:21:57 фриз f1f9947 ФC 1.80 → 1.95, объявлено в коде фазы 04:37:39 первая покупка панели ← 76 мин ПОСЛЕ фриза 05:17:43 последняя покупка панели ← панель фактически стоила $1.798638 05:36:25 фриз 1f6d6ae ФC 1.95 → 2.30 05:37:25 первая покупка шумового пола ← 60 с ПОСЛЕ фриза ``` Ни один доллар не потрачен под незафризенным операционным потолком. **Обе прежние редакции этого абзаца были неверны, и во взаимно противоположные стороны:** сначала «поднят до покупок фазы» — умалчивая, что подъёмов было два; затем «правка попадает в середину окна покупок» — а она в него не попадает вовсе, второй подъём случился через 19 минут ПОСЛЕ последней покупки панели. Вторая формулировка была самооговором, написанным при пере-чтении по памяти, без сверки с `git log`. ⚠ **Основание подъёма названо замером, а было проекцией.** «Панель $1.844» — это оценка `--c-plan` по медианам цен фазы A, а фактическая панель стоила **$1.798638**, то есть влезала и в исходные $1.80. Честное основание второго подъёма другое и его надо назвать прямо: своему шумовому полу нужно было ещё $0.281487, и проекционный сторож кассы при потолке 1.95 отказал бы последним клеткам. Взят подъём из объявленного планом резерва пака ($0.65), пакетный потолок $4.00 не двигался. Расход резерва на СВОЙ шумовой пол — не то назначение, под которое резерв объявлялся («ре-гены эхо-мины и ретраи»), и правило пре-рега «не влезает — СТОП и пинг» исполнено не было: артефакта пинга нет. Вопрос владельцу — §14. ⚠ **Позиционная поправка замерена и вычтена по ОБОИМ проходам.** `tier`: наклон **−0.006** ошибки на шаг метки, после вычитания −0.18 / +0.49 / +0.18 — вердикты не меняются. `border`: наклон **+0.708** (раскладка этого прохода короче, и позиция весит заметно больше), поправка двигает контраст с −0.81 до −0.90 при p 0.0873 — вердикт «ниже порога различимости» не меняется ни до, ни после поправки, хотя после поправки контраст подходит к границе значимости ближе, чем до неё. ⚠ **Поправка фазы Д (чек-лист приёмки №16 п.6): здесь стояло +0.646, а сырьё даёт +0.708.** Величина, на которую делается поправка боевого контраста, печаталась не из тех голосов, из которых считается сам контраст. Числа с поправкой (−0.90, p 0.0873) при этом верны — они пере-сняты и сходятся. Причина расхождения не установлена: промежуточные состояния разбора не сохранились, а голоса с тех пор пере-снимались дважды (гонка §8 п.10 и пере-разбор репликации ниже). **В прибор — сделано:** `verify23` сторожит наклон ЧИСЛОМ по каждому проходу; прежде он не трогал его вовсе, хотя поправка на наклон — часть решающего правила. **Агент-запусков: 58 при капе 60.** Первый (аннулированный) прогон 16 + пере-суживание 9 + пере-прогон `tier` 12 + адверсариальное ревью 1 + пере-судейство `border` 12 + репликация 8 (§12а). ⚠ **Поправка фазы Д (чек-лист приёмки №16 п.4): в этой строке и в §14 п.9 стояло 50 — репликация из счёта выпала.** Число 58 совпадает с §12а, где оно и было напечатано верно; расходились между собой две строки одного отчёта. ⚠ Первые 38 сочтены МНОЙ, а не механизмом: `log_run` был написан и ни разу не вызван, `agent-runs.json` не создавался, во всех голосах стоял `judge='?'`. С пере-судейства `border` учёт персистируется — на диске 20 записей (12 боевых + 8 репликации), раскладка «кто какие единицы судил» в `border-JUDGES.json` и `replication-runB-JUDGES.json`, в каждом голосе имя сессии. ⚠ **«Считает механизм» сказать нельзя** — файл записан РУКОЙ, скриптом, уже после судейства: в коде `log_run` зовётся из одного места и единственную пометку `note='судейская сессия'` произвести может, а три остальные, что стоят в записях, — нет. Значит: раскладка судей по единицам персистирована и пере-снимаема, а **СЧЁТЧИК КАПА НЕ РАБОТАЕТ** — на диске 20 против 58 фактических, и он пропустил бы ещё 60. Причина механическая: `log_run` вызывается из `--ingest`, то есть ПОСЛЕ суб-агента, а сторожить кап можно только записью ДО запуска. Проход `tier` не покрыт вовсе: `tier-JUDGES.json` не создан, во всех его голосах стоит `judge='?'`, и восстановить это задним числом нечем. **Починено в фазе Д, не здесь:** `eval/dovodka/runs.py` пишет запись ДО запуска суб-агента, кап проверяет перед записью и вдобавок ОТКАЗЫВАЕТ выдать те же токены незакрытой сессии — механический замок против гонки §8 п.10. Селфтест 12/12. ⚠ **ПРОВЕНАНС КАТАЛОГОВ СУДЕЙСТВА `border` УТРАЧЕН (поправка фазы Д, п.8).** Боевые `aj-border` и `aj-border-votes` — пере-штампованные копии `replication-runA-*`: содержимое побайтно совпадает (`diff -rq` чист), а mtime всех файлов равен **2026-08-09 23:31:54**, то есть моменту копирования, а не моменту судейства. Задания `aj-border-tasks` сохранили исходный mtime 17:55:26. Что из этого следует: содержательно боевой прогон и есть `runA`, и все его числа пере-снимаемы; но доказать ВРЕМЕНЕМ, когда именно судились боевые ответы, по диску больше нельзя — а гейт свежести разбора, заведённый после гонки (§8 п.10), опирается именно на mtime. Для этого пака он теперь сравнивает копии с копиями. Объявляю как ограничение, восстановлению не подлежит. ⚠ **ГОЛОСА РЕПЛИКАЦИИ НЕСЛИ ИМЕНА СУДЕЙ БОЕВОГО ПРОГОНА (поправка фазы Д, п.9).** `absjudge.ingest` читает карту судей по имени ПРОХОДА (`blind-keys/border-JUDGES.json`), а репликация судила ТЕ ЖЕ 32 токена вторым жребием и лежала в своих каталогах — поэтому все 32 её голоса получили имена `agent-02…agent-12` вместо собственных `agent-B1…B8`. Перевесы от этого не двигаются (имя судьи в разность не входит, и §12а пере-снимается до знака: −0.62, ДИ [−1.78, +0.53], p 0.3327, пол −1.00, порог 1.77, декой −4.50 при 32/32), но разложение дисперсии по сессиям и любое «согласие судей» считались бы по ложной раскладке. **Починено механизмом:** у рига появились крючки `DIRS_HOOK` и `JUDGES_HOOK`, у прогона — свои каталоги и своя карта; `judge.py --run <прогон> <проход> --ingest` пере-разобрал обе репликации. `replication-runA-JUDGES.json` при этом заведён копией боевой карты — `runA` и есть боевой прогон, и теперь КАЖДЫЙ прогон несёт собственную карту, а не наследует её от имени прохода. ## §7 ЧЕТЫРЕ ПОСЫЛКИ — СВЕРКА С ФАКТОМ | # | посылка (записана ДО замера) | факт | итог | |---|---|---|---| | 1 | сильный тир НЕ обязан выигрывать; вероятный исход — не побьёт `deepseek-v4-pro` | ни один из троих не различим (−0.19, +0.50, +0.19 при пороге 1.02) | **ПОДТВЕРЖДЕНА** | | 2 | отказной режим размышления — свойство ВЕНДОРА, `kimi-k3` воспроизведёт отказ | пустой выход при 99.9% размышления — но клетка шла под СВОИМ потолком 4000 (§5) | **СОГЛАСУЕТСЯ, НЕ РАЗЛИЧАЕТ**: замер не разводит отказ вендора и обрыв на размышлении моим потолком | | 3 | граница `glm-5` разрешима ростом n, а не сменой судьи | при n=32 и починенных контролях перевес сжался до −0.81, порога 1.48 не проходит (§3) | **ОПРОВЕРГНУТА как ожидание «разрешится», ПОДТВЕРЖДЕНА как прогноз «сожмётся»** | | 4 | внешний контур нужен, но не заменяет мощность; отсутствие Sol не блокирует | пак закрыт без Sol; семейный слепой участок остался | **ПОДТВЕРЖДЕНА частично** | ⚠ Посылка 3 разошлась с прогнозом в другую сторону, чем объявлялось раньше. Пре-рег ожидал, что при удвоении n перевес сожмётся; аннулированный прогон дал «устоял и стал значим», и это записали как «ожидание не оправдалось». На исправленной базе перевес сжался — то есть прогноз пре-рега был верен, а неверна была промежуточная запись. Сама посылка («разрешима ростом n») не подтвердилась: удвоение n границу не разрешило, оно её закрыло в «не различимо». ⚠ **Выводы, которые эта сессия объявляла и которые оказались неверны.** Порядок важен, потому что объявлений было три волны, и каждая была подписана как окончательная. 1. По числам ПЕРВОГО (аннулированного) прогона: «сильный тир бьёт боевой редактор», «вывод эксп-22 перевёрнут», «граница разрешена в ноль», «посылка 1 опровергнута» — все четыре неверны, держались на числах без контроля чувствительности судьи. 2. По числам ВТОРОГО прогона: «граница разрешена ПРОТИВ `glm-5`, результат эксп-22 реплицирован на n=32» и закрытие Резерва D39.22 — сняты: половина материала шла с подменённой базой (§3). 3. В самом отчёте после этого ещё держались §13 («тир оказался лучше», «D39.22 закрыт В ПОЛЬЗУ `glm-5`») — прямо против §1 и §3 того же документа, — и §12 с порогами из аннулированного прогона. То есть отчёт какое-то время противоречил сам себе, и это тоже нашла приёмка. Общий механизм у всех трёх волн один: связная таблица принималась за истинную, а смелость вывода работала аргументом в его пользу. Ни одну из волн не остановил автор. ## §8 ДЕВИАЦИИ И ДЕФЕКТЫ — ОБЪЯВЛЯЮ 1. **Половина первого прохода отвергнута разбором** (8 из 16; во втором — 10 из 32). Причина одна: судьи ставили ненулевой счёт по оси, не подпирая цитатой, а разбор выбрасывает такую единицу ЦЕЛИКОМ. Это дефект МОЕЙ формулировки: в задании сказано, что обоснование обязательно, но не сказано, что цена нарушения — потеря всей единицы. Пере-суживание с явной ценой снизило отбраковку до нуля. Стоило 9 агент-запусков; денег не стоило. 2. **ЭХО-МИНА НА БОЕВОЙ БАЗЕ, И ГЕЙТ ПРОТИВ НЕЁ БЫЛ НАПИСАН, НО НЕ ПОДКЛЮЧЁН.** `et-unit-draft-deepseek-v4-flash-63ab55ac5c`: 2243 знака при исходнике 2182, `finish=stop` — и в этих 2243 знаках **1798 иероглифов при НУЛЕ кириллицы**. Это не «пересказ вместо перевода», как утверждала прежняя редакция пункта, а классическая эхо-мина: модель вернула исходник. Прежняя редакция объявляла и то, что «ни один гейт пака этого не ловит» — тоже неверно: `bakeoff.draft_reject_reason` ловит её штатно (пере-снято: вердикт «эхо исходника»), просто фаза B звала только проверку «строка не пуста». Гейт подключён; на этом паке он забраковал бы ровно эту единицу и больше ни одной из шестнадцати. **Чувствительность вывода к ней замерена:** без неё контраст границы −0.74 (p 0.21) против −0.81 (p 0.16) на всех 32 — порог 1.48 не проходит ни так, ни так, вердикт §3 не меняется. Что здесь верно и что было сформулировано неточно: вход у обоих армов контраста ДЕЙСТВИТЕЛЬНО одинаковый — это одна и та же база, — но оба редактора выдали полную длину, то есть достроили пропущенное из исходника и решали на этой единице ДРУГУЮ задачу (перевод, а не редактуру). Единица оставлена и объявлена. **В прибор: гейт «длина клетки против длины ИСХОДНИКА с поправкой на пару языков»; сравнение с медианой соседних клеток этот случай не ловит, а на разноязычных пулах даёт ложные срабатывания (см. снятый пункт ниже).** 3. **СНЯТО — было ложным срабатыванием, и оно уже ушло оркестратору.** Прежняя редакция объявляла, что в сырье эксп-22 три клетки боевого редактора (`8e50448cea`, `b065a92dc0`, `53f1a12dff`) оборваны до 22% длины, и отдавала это оркестратору как незамеченный дефект чужого пака. Пере-проверка: все три — из АНГЛИЙСКОГО пула (`manifest.json`, ключ `en`), их исходники ~1630 знаков, выходы 1590/1596/1638 при `finish=stop`, то есть ≈100% исходника. «22%» получалось только от сравнения с медианой пула, где преобладают zh-единицы с трёхкратным расширением. По собственному критерию этого отчёта («<70% медианы СВОЕЙ единицы») таких клеток ноль. Оркестратору: пункт отозван, дефекта эксп-22 здесь нет. ⚠ Прежняя редакция писала, что ложный пункт «уже ушёл оркестратору» — носителя у этого не было: отчёт не отслеживался git, в журнале и D-логе исходного утверждения нет. Носитель появился только сейчас, вместе с отзывом, — запись в `docs/PROGRESS.md` секции «Полигон» и §15 отчёта эксп-22. 4. **Девиация протокола судейства.** Две сессии сообщили, что СРАВНИВАЛИ варианты между собой («чтобы точнее процитировать различия»), хотя задание требует оценивать каждый вариант только против исходника. Смещение от такого сравнения бьёт по арму-одиночке, а в проходе `tier` одиночка — как раз боевой редактор. Величину смещения по двум сессиям не оценить; факт объявлен. **В прибор: запрещать не только сравнение, но и чтение вариантов рядом.** 5. **Двусмысленная инструкция про оборванный вариант — относилась к клетке, которой в принятой конфигурации нет.** Я велел судье «оценивать как есть и не достраивать»; судья прочитал это как «не штрафовать за обрыв». Клетка, на которой это наблюдалось, попадала в пачку только через дефект базы R0 (§0) и в исправленном ключе отсутствует; в другом голосе того же прогона судья пропуск, наоборот, засчитал. Формулировка всё равно неверна и правится («оценивать как есть» и «не штрафовать за неполноту» — разные вещи), но как НАБЛЮДЕНИЕ пункт снят: воспроизводимого случая в принятых данных нет. 6. **Реализация скрина применила критерий, которого нет в пре-реге.** Код переиспользовал вердикт эксп-22 целиком, вместе с ПЕРЕВОДЧЕСКИМ порогом $0.02, — а пак скринит редакторов, и пре-рег называет только редакторский порог $0.06. Лишний порог снял `gpt-5.6-terra` и `grok-4.5`, то есть обоих, ради кого пак существует. Снимать критерий после результата — подгонка, поэтому печатаются ОБА вердикта: пре-рег-критерий как несущий, полный критерий эксп-22 как справка (§10). Провенанс: фризы `c0dd228` 02:44:28 и `87247e2` 02:45:04, первая покупка **02:45:35** — запас 31 секунда, а не минута, как читалось. ⚠ «План старше обоих» с диска НЕ доказуемо: план пака лежит в эфемерном scratchpad и в git не фризовался (`git log --all -- '*plan23*'` пуст), колонка улик его реестра дописывалась по ходу. Неизменяемый провенанс здесь несут только фриз-коммиты и запись сессии — то же снижение, что уже сделано в §6. 7. **Я СНЯЛ ЗАМКИ У ЖИВОГО ПОКУПАЮЩЕГО ПРОГОНА.** Увидев в каталоге сырья зависшие `*.lock` и решив, что они остались от упавшего процесса, я удалил их, пока покупки ещё шли. Атомарный замок (`money.py:219`, `O_CREAT|O_EXCL`) — единственное, что разводит параллельных покупателей; именно его отсутствие стоило эксп-22 верхней границы невозвратной пере-оплаты ≤$0.846103 на 176 клетках (его §-о деньгах). Ущерба не случилось только потому, что второго покупателя в тот момент не существовало: удача, а не дисциплина. Ни один гейт этого не ловит и поймать не может — удаление файла руками вне кассы. **В прибор:** снимать замок только тем же процессом, что его поставил, а «зависший» замок опознавать по живости PID, а не по виду каталога. 8. **Коллизия само-импорта, четырежды.** Модули пака (`roster`, `screen`, `money`, плюс тестовый файл) грузились по имени и подхватывали одноимённые модули эксп-22 вместо своих. Один случай прошёл МОЛЧА и исказил замер: селф-тест проверял 11 моделей из 15 и печатал зелёное. Чинено явной загрузкой по пути (`_load`), но найдено это чтением вывода, а не гейтом. 9. **Фриз фазы A попутно изменил риг ЧУЖОГО пака.** Тот же коммит `c0dd228` тронул `eval/tenant_panel/material.py` (приколка единиц манифестом) и `money.py` под заголовком про editor-tier. Зона не нарушена (весь `eval/` — зона полигона) и изменение объявлено в §11, но код, породивший уже принятые числа эксп-22, изменён задним числом под чужим заголовком. Гейты эксп-22 после этого пере-снимались; их зелёность после правки — в §14, вопрос 7. 10. **ГОНКА ДВУХ КРУГОВ СУДЕЙСТВА И РАЗБОР В ЕЁ СЕРЕДИНЕ.** Пять единиц прохода `border` (`13514e13f0`, `15f002335d`, `1ffe99dc43`, `225001778a`, `87dd50b129`) я отдал на пере-суживание ДВАЖДЫ, не дождавшись первого круга: второй круг записал ответы, я прогнал `--ingest` в 18:36:56, а первый круг дописал те же самые файлы в 18:38–18:41. В итоге голоса были от одного круга, а сырьё на диске — от другого, и расходились они по всем пяти единицам. Числа при этом сходились с отчётом, потому что и отчёт, и гейт читали ГОЛОСА: ни `verify23`, ни `itog23` не сравнивали их со временем ответов. Нашёл аудит закрытия заказа, не автор и не первая приёмка. **Как разрешено.** Голоса пере-снят с текущего сырья — правило «сырьё на диске главнее», а не «то, что уже напечатано»: иначе опубликованное число было бы невоспроизводимо для читателя. ⚠ Оба набора я видел ДО выбора правила, и это надо знать при чтении: первый круг давал −0.59 (порог 1.43), второй −0.81 (порог 1.48). Вердикт «ниже порога различимости» одинаков в обоих, а вот расщепление половин при этом заметно двигается (было −1.44/+0.25, стало −1.62/0.00) — то есть устойчив здесь только знак и вывод, но не величины по подвыборкам. **В прибор — сделано:** `verify23` роняет пак, если хоть один ответ судьи новее своего голоса. Это первый гейт пака, сторожащий не число, а ПОРЯДОК СОБЫТИЙ. 11. **Моя ошибка чтения по ходу.** На n=14 я озвучил «преимущество не различимо», зная, что две единицы ещё не вернулись. Вывод на неполных данных — та же ошибка, что и вывод на агрегате без вскрытия единиц. ⚠ **Поправка фазы Д (чек-лист приёмки №16 п.10): нумерация этой секции была сломана.** На диске шёл ряд 1–6, 8, 9, 10, 7, 7 — два разных дефекта под номером «7», и ссылка §14 п.7 вела на «§8 п.8», которого не существовало. Пункты пере-нумерованы по порядку в документе (тексты не тронуты), ссылки на них поправлены. Причина сбоя видна по содержанию: пункты 7 и 11 дописаны последними, аудитом закрытия заказа, и вставлены в хвост без сверки с уже занятыми номерами. ## §9 ЧТО НЕ ПЕРЕНОСИМО * **Проход `tier` по-прежнему снят ОДНОЙ модельной семьёй.** Для `border` ограничение снято внешним судьёй (§12в); тексты `tier` он не читал, и вывод «сильный тир не отличим» подписи вне Claude не имеет. * **ОДНОЙ МОДЕЛЬНОЙ СЕМЬЁЙ СНЯТЫ НЕ ТОЛЬКО ЧИСЛА, НО И ВСЯ ПРИЁМКА.** Это признаётся здесь впервые и это отдельный дефект, а не повтор предыдущего пункта. D39.120 требует на текстовых и оценочных линзах хотя бы одного опровергателя ДРУГОГО модельного семейства; владелец сверх того прямо разрешил сессии запустить агентов Fable-5 под ревью. Ни то, ни другое не исполнено: все судьи, все линии приёмки, все опровергатели и весь аудит закрытия заказа отработали на Opus-5. То есть монокультура, которую отчёт объявляет ограничением ЗАМЕРА, ровно в той же мере поражает и МЕХАНИЗМ ПРОВЕРКИ замера — а именно он трижды подписывал числа, оказавшиеся артефактами. Разрешение владельца на другое семейство лежало неиспользованным всё время работы пака. * **Внешний контур есть у `border` и НЕТ у `tier`** — ⚠ поправка фазы Д (чек-лист приёмки №16 п.5). Прежняя редакция этого буллета гласила «все судейские числа сняты одной модельной семьёй, внешнего судейского контура нет и здесь», то есть прямо против §12в того же отчёта, где подпись судьи вне Claude по проходу `border` напечатана числами (−1.00 при пороге 3.53, декой 32/32). Верная форма: для `border` ограничение СНЯТО, для `tier` — стоит в полную силу (первый буллет этой секции). Отдельная линия — Sol-пакет (а) эксп-22: прогнан владельцем 09.08, но арбитраж не состоялся (эксп-22 §16: три единицы на контраст, дрейф шкалы ×2.6, знак совпал в 3 парах из 9); пакет (б) не запускался. Ограничение по `tier` несущее, а не формальное: его вывод — что перевесы сильного тира НЕ доходят до порога, — есть утверждение о том, чего судья не различил, и оно тем слабее, чем однороднее судьи. Отдельно: идентичность судей `tier` не персистирована (§6), поэтому согласие между ними даже внутри семьи посчитать нечем. * **Декой во всех единицах принятого прохода `tier` посажен из одного и того же арма — R0** (замер по ключу: 16/16), а R0 стоит вторым армом в каждом контрасте этого прохода. Если само присутствие испорченного близнеца двигает оценку донора, оно двигает её в одну сторону во всех трёх контрастах сразу. Прямой улики за или против нет: ни один сохранённый голос не содержит рассуждения «это копия другой метки». Косвенная — R0 против голого черновика даёт +2.06, а T1/T2/T3 против него же +1.88 / +2.56 / +2.25, то есть R0 лежит ВНУТРИ разброса панели, грубого смещения донора не видно. Для прохода `border` донор с этого пере-прогона уравнен: 16 единиц из R0, 16 из R2. * **Одна книга, одна пара языков, 16 единиц панели.** Всё, что зависит от свойств текста, обязано пере-меряться. * **Вывод про `gemini-3.1-pro` по-прежнему отсутствует** — он не входил в этот пак. * **`kimi-k3` замерен ОДНОЙ клеткой** по объявленному особому режиму И под своим потолком вывода (§5): твёрдым остаётся только вердикт по ЦЕНЕ; ни о качестве его прозы, ни об отказном режиме вендора этот замер не говорит. ## §10 ФАЗА A — СКРИН СИЛЬНОГО ТИРА Пороги взяты у эксп-22 БЕЗ изменения — порог из прошлого пака единственное, что защищает состав от подгонки, а состав здесь и есть предмет спора. ``` модель вердикт ед. $/ед edit размышл причины gpt-5.6-terra прошёл 4 0.04250 6.6% grok-4.5 прошёл 4 0.05481 69.5% glm-5.2 прошёл 4 0.01792 0.0% kimi-k3 ПРОВАЛ 1 0.08041 99.9% Г5 цена editor > $0.06 · Г6 выход пуст ``` **Справка — полный критерий эксп-22** (с переводческим порогом $0.02, которого в пре-реге этого пака нет): `gpt-5.6-terra` ПРОВАЛ ($0.03668), `grok-4.5` ПРОВАЛ ($0.03445), `glm-5.2` прошёл ($0.01396), `kimi-k3` ПРОВАЛ. Разница между двумя колонками — целиком §8 п.6. Цены — с ВЕНДОР-страниц 09.08: `gpt-5.6-terra` $2.00/$0.20/$12.00 · `kimi-k3` $3.00/$0.30/$15.00 · `grok-4.5` $2.00/$0.30/$6.00 · `glm-5.2` $1.40/$0.26/$4.40. Слаги — живой листинг `/models` того же дня. Попутно закрыта дыра эксп-22: его цена `gpt-5.6-luna` не подтверждалась живьём (Cloudflare 403) и ехала из прошлых паков — страница открылась и подтвердила её ровно. ## §11 МАТЕРИАЛ 16 НОВЫХ единиц из 16 разных глав (22, 25–30, 32–36, 39–42), знаков 2077…2251, медиана 2141, макс. попарная близость 0.091. Пересечений с эксп-22 — ноль: его главы исключены ЦЕЛИКОМ, иначе «новые» единицы были бы соседними абзацами тех же глав и делили бы с ними сцену и лексику, а прирост мощности оказался бы мнимым. Гейт прав пересчитан по СВОЕМУ пулу (верхний дециль по плотности эротических маркеров), а не перенесён константой «2» из эксп-22. ⚠ **Побочный эффект докачки глав, который пришлось чинить.** Материал эксп-22 отбирался «из середины распределения длин» по содержимому диска; докачка с 18 глав до 42 СДВИНУЛА его единицы (главы 3–18 → 2,5,9…41), то есть его гейты стали бы считать по материалу, который никто не покупал. Единицы эксп-22 приколоты к его манифесту отбора; все четыре его гейта после этого зелёные. Правило отбора теперь применяется только когда манифеста ещё нет. ## §12 КОНТРОЛИ РИГА (читать ДО боевых чисел) ``` проход ДЕКОЙ (порча против чистого) ПОЛ (истинная разница ноль) БЛИЗНЕЦ tier −3.94 поймано 16/16 ✔ −0.62 [−1.38, +0.06] порог 1.02 пара CTRLfloorA≡T1, ноль border −4.88 поймано 32/32 ✔ −1.00 [−2.06, +0.06] порог 1.48 побайтных дублей нет ``` **Декой** — посаженная в чистый текст деградация — обязателен в каждом проходе: судейская сессия, не поймавшая его отрицательным знаком, аннулируется целиком (так эксп-22 списал 6 агент-запусков). Пол ЧЕСТЕН: ноль внутри интервала, и порог различимости берётся ИЗ НЕГО — это решающее правило пака, поэтому §1 читается против 1.02, а §3 — против 1.48. ⚠ **Прежняя редакция этой секции печатала пороги 1.65 и 1.58 — они из ПЕРВОГО, аннулированного прогона** (пере-снято: `annulled-run1` даёт ровно 1.65 и 1.58). Секция объявлена «читать ДО боевых чисел» и задаёт порог различимости, так что отчёт выдавал читателю два разных порога на одну величину: §1 читался против 1.02, а §12 печатал 1.65 — и при напечатанном 1.58 тогдашний вывод §3 в порог не проходил вовсе, то есть документ противоречил сам себе по несущему вердикту. Средние −0.29 и −0.42 из той же строки не воспроизводятся НИ ИЗ ОДНОГО набора голосов на диске и при n=16 недостижимы арифметически (среднее целых ошибок кратно 1/16); откуда они взялись — не установлено, промежуточные состояния разбора не сохранились. Гейт этого не ловил: он сверял лишь наличие слова «пол». Починено — `verify23.py` теперь сторожит и величину пола, и порог, и величину декоя числом. ⚠ **«БЛИЗНЕЦ» в проходе `tier` — не контроль.** Единственная побайтно совпадающая пара пачки это `CTRLfloorA` и `T1`, в 16 единицах из 16, и совпадают они по построению: первой половиной шумового пола `panel.floor_pair` отдаёт саму боевую клетку `T1`, докупается только вторая генерация. «Перевес ровно ноль в 16/16» означает лишь, что один и тот же текст под двумя метками получил одну оценку внутри одного ответа судьи; воспроизводимость оценки из этого НЕ следует, и как контроль эта строка пуста. Замерено и смежное: связи между оценкой пары и боевым перевесом нет (корр. −0.05). Против такого переиспользования прямо предупреждает комментарий в риге эксп-22 — я его воспроизвёл. **В прибор: половиной пола брать отдельную генерацию, не клетку панели.** ## §12б ПОРОГ БЫЛ ЗАНИЖЕН НА 19% — РАЗЛОЖЕНИЕ ДИСПЕРСИИ Найдено после сдачи, вопросом владельца «ты не преуменьшаешь?». Шумовой пол этого рига меряет пару, у которой ОБЕ половины судит один и тот же судья, — значит межсудейская разница в него не попадает по построению, а боевые перевесы её несут. Порог, взятый из такого пола, занижен. Разложение дисперсии перевеса по 8 сессиям прохода `border` (n=32): ``` внутри сессии sd 2.903 между сессиями sd 1.030 ← в шумовой пол НЕ попадает se среднего 0.513 наивная → 0.629 с учётом межсессионной (×1.23) ПОРОГ 1.48 напечатанный → 1.76 честный ``` Пересчёт вердиктов по честному порогу — **ни один не двигается**, и все, кроме одного, крепнут: ``` R2 glm-5 vs R0 −0.81 · 1.48 → 1.76 · ниже порога T1 glm-5.2 −0.19 · 1.02 → 1.53 · ниже порога T2 gpt-5.6-terra +0.50 · 1.02 → 1.68 · ниже порога T3 grok-4.5 +0.19 · 1.02 → 1.55 · ниже порога R0 vs F КОНТРОЛЬ +2.06 · 1.02 → 1.94 · РАЗЛИЧИМ ``` **Почему занижение порога не породило ложных выводов.** Заниженный порог делает вывод «различимо» слишком лёгким. Все несущие выводы пака отрицательные — заниженный порог им не помогает, а мешает; единственное положительное утверждение это позитивный контроль, и он проходит с запасом даже по строгому порогу. Направление риска здесь — что пак ПРОЗЕВАЛ реальную разницу, а не выдумал её. ⚠ **Для прохода `tier` межсессионная компонента ЗАИМСТВОВАНА с `border`.** Оценить её на своих данных нельзя: идентичность судей `tier` не персистирована, во всех голосах стоит `judge='?'` — прямое следствие дефекта учёта (§6). Задним числом не восстановить. ⚠ **Эмпирическая проверка этой поправки — §12а.** Прямая репликация новым жребием судей дала расхождение средних 0.19 при ожидании ≈1.0, то есть поправка скорее консервативна. Уточнять её по двум прогонам нельзя — это оценка по n=2. **В прибор:** шумовой пол обязан браться парой, чьи половины судят РАЗНЫЕ сессии. Тогда он ловит обе компоненты, и порог не требует ручной поправки. ## §12в ВНЕШНИЙ СУДЬЯ ВНЕ СЕМЬИ Claude — ПРОХОД `border` ЗАКРЫТ ТРЕТЬЕЙ ПОДПИСЬЮ Заказано владельцем после того, как он указал: все выводы пака сняты агентами одной модельной семьи, и мнения судьи другой семьи о КАЧЕСТВЕ этих переводов никто не спрашивал. Замечание было верным — предыдущая попытка внешнего контура (Sol-пакет эксп-22) судила тексты ЧУЖОГО пака и развалилась по устройству (эксп-22 §16). **Что сделано.** Внешнему судье (не-Claude, локально, руками владельца, 4 сессии по 8 единиц) отданы ТЕ ЖЕ файлы заданий `aj-border-tasks/*.txt`, которые судили агенты пака: тот же исходник, те же армы под теми же слепыми метками, тот же декой и тот же шумовой пол в пачке. Поэтому его счёт сопоставим с моим текст-в-текст. Пере-снимается командой `eval/.venv/bin/python eval/editor_tier/solscore.py`; ответы в `~/books/editor-tier/sol-border/`. ``` судья уровень перевес R2 пол порог вердикт внешний, не-Claude 11.0 −1.00 −1.88 3.53 ниже порога различимости мой прогон A 7.0 −0.81 −1.00 1.48 ниже порога различимости мой прогон B 7.0 −0.62 −1.00 1.77 ниже порога различимости ``` Принято 32 из 32 единиц, отказов ноль, ДЕКОЙ пойман **32/32**. ⇒ **Ограничение «все судейские числа сняты ОДНОЙ модельной семьёй» для прохода `border` снято — но снято СЛАБО, и это надо читать вместе с числами.** Вывод «граница `glm-5` не разрешена, эффект ниже порога различимости» подпись судьи вне Claude имеет. ⚠ Поправка фазы Д, найденная приёмкой другого модельного семейства: **у внешнего прибора шумовой пол sd 5.05 и порог 3.53**, а боевой контраст прохода −0.81. Значит внешний судья не мог противоречить нулевому вердикту НИ ПРИ КАКОМ исходе, кроме эффекта вчетверо больше замеренного — он и позитивный контроль масштаба +2 не развёл бы. Подпись под отрицательным выводом на таком приборе почти автоматична, и «ограничение снято» звучит сильнее, чем даёт замер. Честная форма: **внешний контур подтвердил, что эффекта РАЗМЕРА, ВИДИМОГО ЕМУ, здесь нет; про эффекты меньше 3.5 ошибок он не высказывался.** ⇒ И следствие вперёд: та же оговорка накроет внешнюю подпись прохода `tier` (заказ фазы Д, п.Д2) — там боевые перевесы 0.19…0.50, то есть на порядок ниже разрешения внешнего прибора. Объявляется ЗАРАНЕЕ, до прогона, а не после: подпись будет означать «внешний судья тоже не увидел», а не «внешний судья подтвердил равенство». Для прохода `tier` внешней подписи по-прежнему нет: судья его текстов не читал. **Замер межсемейного расхождения — побочная находка, для рига ценнее самого вердикта.** ``` согласие по единицам (корреляция перевесов) знак совпал внешний ↔ мой A +0.317 22/32 внешний ↔ мой B +0.334 24/32 мой A ↔ мой B +0.627 26/32 ``` Расхождение МЕЖДУ семьями примерно вдвое больше, чем ВНУТРИ семьи. И прибор другой семьи заметно грубее: его шумовой пол sd 5.05 против 2.12 у моих, отсюда порог 3.53 против 1.48 — он честен, но разрешает вдвое хуже. Практическое следствие: **для вопроса «есть ли разница вообще» судьи разных семей взаимозаменяемы; для контраста тоньше двух ошибок на единицу смешивать их в один пул без нормировки нельзя** — различаются и шкала, и разрешение. ## §12а РЕПЛИКАЦИЯ ПРОХОДА `border` НОВЫМ ЖРЕБИЕМ СУДЕЙ Заказана владельцем как проверка методики: «давай перегоним и посмотрим». Меняется РОВНО один фактор — состав судейских сессий. Ключ, слепые метки, посадка декоя, тексты и задания те же файлы, не пере-выпускались. Правило публикации записано ДО запуска: прогон A остаётся опубликованным, B — проверка; при расхождении вердиктов находкой считается само расхождение, а не удобный прогон; складывать A и B в один набор запрещено — это разные жребии. ``` прогон A прогон B перевес R2 vs R0 −0.81 −0.62 95% ДИ [−1.81,+0.28] [−1.78,+0.53] p (Холм) 0.1601 0.3339 шумовой пол −1.00 −1.00 порог прохода 1.48 1.77 декой −4.88, 32/32 −4.50, 32/32 уровень (медиана) 7.5 6.8 ``` **Вердикт «ниже порога различимости» воспроизвёлся.** Расхождение средних |A−B| = **0.19** при пред-объявленном ожидании ≈1.0 — то есть прибор на уровне ВЫВОДА заметно устойчивее, чем следовало из моей же оценки межсудейской компоненты. Корреляция перевесов по единицам +0.63, знак совпал на 26 единицах из 32. ⚠ **Что при этом НЕ воспроизводится — отдельные единицы.** Разность перевесов по-единично имеет sd 2.78 при среднем +0.19: на ОТДЕЛЬНОЙ главе армы не упорядочены, новый жребий судей переставит их местами примерно в каждой пятой. Устойчиво только среднее по единицам. Риг об этом предупреждает в собственном выводе, теперь это подпёрто прямым замером, а не рассуждением. **Цена:** 8 агент-сессий, по паку стало 58 из капа 60. Покупок не потребовалось. Оба прогона лежат рядом: `~/books/editor-tier/replication-runA-*` (опубликованный) и `replication-runB-*`. ## §13 ДИСПОЗИЦИИ ⚠ Прежняя редакция этой секции несла выводы АННУЛИРОВАННОГО прогона («тир оказался лучше», «D39.22 закрыт в пользу `glm-5`») — прямо против §1 и §3 того же отчёта, который сам перечисляет эти выводы как снятые. Секция, из которой переносится закрытие строк реестра, была последней, где я не сверился с собственными числами. * **Строка про сильный тир (дыра эксп-22 §13а)** — **ЗАКРЫТА**: тир проверен, различимого выигрыша над боевым редактором нет, а стоит он в 2–6 раз дороже (§1, §4). Платить не за что; рекомендация эксп-22 (`deepseek-v4-pro`) остаётся и теперь стоит на панели, включающей сильный тир OpenAI, xAI и Z.AI. Решения владельца по цене НЕ требует — требовало бы при обратном знаке. * **Резерв D39.22 (`glm-5`)** — **ЗАКРЫТИЕ НЕ ОБЪЯВЛЯЮ, подаю ПРЕДЛОЖЕНИЕ.** Это ратифицированное решение владельца, и права закрывать его полигон-сессии не давалось; эксп-22 от закрытия воздержался. Замер: на 32 единицах с полным набором контролей `glm-5` от боевого редактора **не отличим** (−0.81 при пороге 1.48, §3), то есть основания «он значимо хуже», на которое сессия дважды ссылалась, НЕТ. Предложение: снять резерв как контраст, требующий отдельного разбора, и вести `glm-5` по общему правилу ничьей D39.117 — а оно оставляет `deepseek-v4-pro`, поскольку тот дешевле. Отдельно к решению: ToS-гейт Z.AI на прод-выбор `glm-5` никуда не делся (§9 эксп-22). * **Sol (строка 150)** — пакет (а) прогнан владельцем 09.08 и дал отрицательный результат по своей задаче (эксп-22 §16); пакет (б) НЕ запускать до починки оснастки: та же конструкция, `N_UNITS_B = 3`. ⚠ **Поправка фазы Д (п.5):** здесь стояло «внешнего судейского контура у обоих паков по-прежнему нет» — неверно и против §12в. Контур ПОСТРОЕН и сработал, но на заданиях абсолютного рига, а не на пакетах конструкции Sol, и покрывает он проход `border`. Не покрыты: проход `tier` (задания `aj-tier-tasks` внешнему судье не отдавались) и оба контраста эксп-22, ради которых пакеты (а)/(б) и делались. * **Строка 153 и вторая база Ф3** — не гнались, как и в эксп-22. ## §14 CONFIRM / DENY — К ПОДПИСИ ВЛАДЕЛЬЦА Ниже — всё, что этот пак принял на веру, назвал решением или сделал вне объявленного. Ни один пункт не считается ратифицированным, пока не подтверждён; пометка «со слов сессии» означает, что артефакта в репозитории нет и проверить нечем, кроме записи разговора. | # | что | статус | |---|---|---| | 1 | **Мандата на пак 23 не существует** — промта нет, пак самоназначен, санкционированы только деньги | подтвердить задним числом или отменить | | 2 | Потолок пака **$4.00** и запас **$5** — со слов сессии, в репо артефакта нет | подтвердить провенанс | | 3 | **Резерв D39.22** закрывать не мне: это решение владельца (§13) | принять к сведению | | 4 | Правило «судейская сессия без пойманного декоя аннулируется целиком» живёт только в промте ЧУЖОГО пака; я применил его к себе дважды | ратифицировать как норму или отменить | | 5 | Потолок ФАЗЫ поднимался дважды в ходе пака, резерв ушёл не на объявленное назначение, пинга не было (§6); пакетный потолок не пробит | норма или запрет | | 6 | Учёт агент-запусков до этого пере-прогона вёлся мной, а не механизмом (§6); с пере-судейства `border` он персистируется, но задним числом первые 38 восстановить нечем | принять со слов или считать неучтённым | | 7 | Фриз фазы A пака 23 попутно изменил риг эксп-22 (§8 п.9). Его гейты пере-сняты сейчас — `verify22.py` и `itog22.py` зелёные, код возврата 0 | к сведению; вопрос только в том, нормально ли править чужой пак под своим заголовком | | 8 | Провенанс цен OpenAI и xAI — снимка вендор-страницы нет, только живой листинг `/models` и комментарий в коде | принять или требовать снимок | | 9 | Пере-судейство прохода `border` — 12 агент-сессий, денег $0; всего по паку **58 сессий** при капе 60. ⚠ Поправка фазы Д (п.4): здесь стояло «50» и «теперь считает механизм» — первое не считало репликацию (§12а), второе прямо опровергнуто §6: на диске 20 записей против 58 фактических, СЧЁТЧИК КАПА НЕ РАБОТАЕТ. Персистирована только раскладка судей по единицам | санкция задним числом | --- # ФАЗА Д — ДОВОДКА ЭКСП-22/23 (заказ владельца 10.08) Исполнение `docs/POLYGON_EXP2223_REDO_SESSION_PROMPT.md`. Это НЕ новый эксперимент: выводы паков 22 и 23 признаны владельцем непоказательными **по постановке** и заморожены до этой фазы. Зона — `eval/dovodka/` + правки рига паков 22/23 + эти секции. ## Д0 ПРЕ-РЕГ (зафризен своим коммитом ДО первой покупки) ### Д0.1 Гипотезы владельца — ДОСЛОВНО из заказа > **H-1 «Проблема в черновике»**: flash даёт полумусор, полный перепис нужен именно поэтому; > связка «качественный черновик + ТОЧЕЧНЫЙ редактор» ≥ боевой связки по качеству при сравнимой цене. > > **H-2а «Флаговый edit-контур»**: детерминированные флаги (батарея + канон-гейт) → точечный > фиксер — не хуже full-regen по судье, дешевле по деньгам, НЕ ломает канон. > > **H-2б «Смысловой edit-контур» (главная ставка владельца, 10.08)**: LLM-критик, читающий и > ПОНИМАЮЩИЙ текст («найди всё проблемное») → точечный фиксер — дороже (поиск ≈2.14× переписа), > но качество выше и full-regen, и флагового контура: «флагами всё не отследишь». Цена заложена > в смету сознательно — гипотеза о КАЧЕСТВЕ, не об экономии. > > **H-3 «en: перепис не нужен»**: на en→ru редактору остаются только синк глоссария и точечные правки. > > **H-4 «dspro-китайскость»**: перевес dspro в редакторской роли — свойство пары zh→ru; на en/ja > порядок жильцов может смениться (dspro — китайская модель, книга — китайская). ### Д0.2 ⛔ ДВА АРМА ЗАВЕДЕНЫ ПРИЁМКОЙ, А НЕ АВТОРОМ — и без них две гипотезы не мерились Первая редакция плана этой фазы **не отвечала на H-1 и H-4**, и нашла это не сессия, а приёмка другого модельного семейства (Fable-5, разрешение владельца D39.120 наконец использовано): * **H-1** говорит о связке «КАЧЕСТВЕННЫЙ черновик + точечный редактор». Ни один арм плана такой связки не содержал: `A1`/`A3` ставят фиксер на flash-черновик — то есть на полумусор по самой формулировке гипотезы, — а `A2` есть однопроходка вовсе без редактора. Гипотеза «отвечалась» бы интерполяцией между армами, где взаимодействие «фиксер × качество базы» не меряется вовсе. ⇒ заведён арм **A6 = dspro-черновик эксп-22 + оба контура**. Черновики уже куплены ($0 за базу). * **H-4** говорит о смене ПОРЯДКА жильцов на другой паре. Порядок проверяется только панелью из НЕСКОЛЬКИХ редакторов, а на en-оси редактор стоял один — `deepseek-v4-pro`. Фаза сказала бы «сколько покупает редактура на каждой паре» (это H-3), но не «остаётся ли dspro лучшим». ⇒ заведён арм **E6 = второй редактор `glm-5` на en поверх той же базы**. Стоимость починки $0.48; потолок фазы поднят владельцем $4.00 → **$4.50** ровно под неё. ### Д0.3 Мощность каждой оси — ДО покупок (`eval/dovodka/power.py`) ``` ось n k sd MDE ЦЕЛЬ потолок p СТАТУС Д4 edit-контур zh 32 5 2.12 1.29 1.50 0.0000 НЕСУЩАЯ Д3 en→ru несущая 16 5 2.12 1.83 2.00 0.0002 НЕСУЩАЯ Д6 ja→ru разведка 9 3 2.90 3.33 2.00 0.0117 ⛔ ОПИСАТЕЛЬНАЯ Д1 gemini добивка 16 1 2.12 1.83 2.00 0.0000 НЕСУЩАЯ ``` **ЦЕЛЬ — искомый эффект, объявленный ДО денег.** Без неё MDE не решает ничего: печатать «MDE 1.83» и не сказать, меньше он искомого или больше, — ровно та форма, за которую погорела en-ось эксп-22 (там при n=6 и k=6 потолок p был 0.1875, то есть значимость недостижима ПО ПОСТРОЕНИЮ, и выяснилось это после денег). Ось объявляется описательной, если MDE больше цели ЛИБО значимость недостижима. ⚠ **Следствие, которое надо знать заранее:** при n=12 (минимум промта) ось Д1 имела бы MDE 2.11 против цели 2.00 и была бы ОПИСАТЕЛЬНОЙ. Несущей её делает решение владельца взять полные 16. ⚠ **Прайор шума — не свой пол.** Своего пола у будущего прохода нет по построению; берётся худший из замеренных на той же структуре армов (`border`, sd 2.12). **Решает СВОЙ пол**, и если он выйдет хуже прайора, ось пере-классифицируется в описательную ТОГДА ЖЕ — до чтения боевых перевесов. ### Д0.4 ⛔ ЗАПАС ЭКВИВАЛЕНТНОСТИ для H-2а — иначе «не хуже» доказать нечем H-2а утверждает, что флаговый контур **НЕ ХУЖЕ** полного переписа. Риг устроен так, что «ниже порога различимости» **не означает «равны»** — это записано во всех отчётах и здесь не меняется. Значит подтвердить H-2а обычным контрастом невозможно в принципе: отсутствие значимой разницы не есть равенство, и CONFIRM был бы сделан формулировкой, а не числом. **Пред-объявляю правило non-inferiority:** `A1` (и `A3`) признаётся «не хуже» `A0`, если **нижняя граница 95% ДИ контраста выше −1.50** — той же величины, что объявлена целью оси Д4 (треть собственного эффекта редактора +4.44 в эксп-22 Ф3). Три исхода и все три названы заранее: * нижняя граница > −1.50 **и** верхняя < +1.50 → **НЕ ХУЖЕ** (H-2а подтверждена по качеству); * верхняя граница < −1.50 → **ХУЖЕ** (H-2а опровергнута); * интервал накрывает −1.50 → **НЕ УСТАНОВЛЕНО** при данном n, и это честный третий исход, а не провал: мощность объявлена, доборы обсуждаются с владельцем. ### Д0.5 Оси, армы и семейства контрастов (впечатываются в ключ ДО первого ответа) **Д4 — edit-контур zh, 32 единицы (16 эксп-22 + 16 эксп-23), база одна и замороженная:** ``` A0 боевой full-regen (deepseek-v4-pro поверх якорного черновика) КУПЛЕН, $0 A1 черновик + детерминированные флаги (батарея + канон-гейт) → фиксер «ВМЕСТО редактора» A2 dspro-однопроходка УРАВНЕННОГО мандата (строка 153 бэклога) без редактора вовсе A3 черновик + СМЫСЛОВОЙ LLM-критик → фиксер ← СТАВКА ВЛАДЕЛЬЦА H-2б «ВМЕСТО редактора» A4 A0 + канон-фиксер ПОСЛЕ «ПОСЛЕ редактора» A6 dspro-ЧЕРНОВИК + оба контура ← носитель H-1, база куплена эксп-22 семейство: A1/A0 · A2/A0 · A3/A0 · A4/A0 · A6/A0 Холм по пяти ``` «До редактора» не мерится сознательно: перепис затирает любую починку. **Д3 — en→ru, 16 единиц Кристоффа:** боевая связка · dspro-однопроходка уравненного мандата · черновик + оба контура · **E6 второй редактор `glm-5`** · контроль `E0 vs D0`. Холм по пяти. **Д6 — ja→ru, 9 единиц:** связка · однопроходка · контроль. **Статус — РАЗВЕДКА, объявлен здесь.** ### Д0.6 Нормы рига, принятые этой фазой (каждая куплена дорого прошлым паком) * **Декой в каждой пачке**; сессия, не поймавшая его отрицательным знаком, аннулируется целиком. * **Шумовой пол — парой, чьи половины судят РАЗНЫЕ сессии.** Обе половины — ОТДЕЛЬНЫЕ генерации; боевая клетка половиной пола не берётся (в эксп-23 `CTRLfloorA ≡ T1` в 16/16, и контроль был пуст). Порог берётся из своего пола без ручной поправки: пол, судимый разными сессиями, ловит и межсессионную компоненту, которая в эксп-23 занижала порог на 19%. * **Все армы единицы — в одном задании одной сессии** (урок Sol §16 эксп-22, подтверждён с двух сторон: нарушив — замер разваливается, соблюдя — работает на том же судье). * **Судейские сессии регистрируются ДО запуска** (`eval/dovodka/runs.py`, кап 80, атомарный `O_CREAT|O_EXCL`-замок с проверкой живости PID, селфтест 16/16). Гонка сессий по одному токену механически невозможна — в эксп-23 она стоила расхождения голосов и сырья на 5 единицах из 32. * **Клетка с `finish=length` в судейскую пачку НЕ допускается** — ни боевым армом, ни половиной пола. Класс замерен: в эксп-22 таких судимых слотов семь, две из них в шумовом полу обеих фаз, одна в базе всех контрастов (§15 эксп-22). * **Позиционный наклон** замеряется, вычитается и сторожится гейтом числом. * **Донор декоя уравнен по армам**; судье запрещено сравнивать варианты между собой и читать их рядом. * **Пар-промпты проходят механический гейт** (`eval/dovodka/promptdiff.py`): всё вне объявленных пар-специфичных секций обязано совпадать с боевым zh побайтно, мандатные оговорки не теряются, а каждое законное расхождение объявлено с причиной. Урок эксп-19 (арм конфаундирован неполным зеркалом) закрыт механизмом, а не обещанием. * **$0-детекторы получают свой контроль наравне с судьями.** Норма заведена этой фазой после того, как приёмка замерила ложноположительную частоту канон-классификатора: 82.5% на случайных окнах при наблюдённых 79% — прибор был слабее нулевой модели. **Всякий классификатор, чьё число идёт в отчёт, обязан печатать рядом свою частоту срабатывания на случайном входе.** ### Д0.7 ⚠ Что внешняя подпись может и чего не может — объявляется ДО прогона Внешний судья вне семьи Claude имеет шумовой пол sd 5.05 и порог различимости 3.53 (§12в). Это значит, что под ОТРИЦАТЕЛЬНЫМ выводом его подпись почти автоматична: возразить он мог бы только эффекту вчетверо больше замеренного. Поэтому заранее: * для прохода `tier` (перевесы 0.19…0.50) внешняя подпись будет означать «внешний судья тоже не увидел», а НЕ «внешний судья подтвердил равенство»; * для несущего вердикта Д4 по H-2б, где ставка — тонкий выигрыш, внешний контур не добавит и не отнимет; его ценность — поймать КАТАСТРОФУ, которой внутрисемейные судьи не заметили. Это ограничение прибора, а не отговорка: сказано до того, как числа получены. ### Д0.8 Смета по ЗАМЕРЕННЫМ ценам и фазовые потолки (`eval/dovodka/plan.py`) ``` ФД-A Д4 edit-контур zh (A1·A2·A3·A4, n=32 + свой пол) 0.877 ФД-B Д3 en→ru несущая 0.556 ФД-C Д6 ja→ru разведка (n=9) 0.154 ФД-D Д7 самооценка 0.050 ФД-F H-1: A6, dspro-черновик + оба контура (n=16) 0.280 ФД-G H-4: E6, второй редактор glm-5 на en (n=16) 0.200 ФД-E Д1 добивка gemini, 16 клеток 2.352 ИТОГО 4.470 / 4.50 · резерв 0.030 ``` Цены — медианы по СЫРЬЮ уже купленных клеток обоих паков, не по прайсу. Прайс DeepSeek пере-снят живьём 10.08 и **не изменился** (flash $0.14/$0.28, pro $0.435/$0.87); вендорская сноска о готовящемся значительном повышении на странице присутствует и учтена оговоркой, а не числом. ⚠ **Резерв $0.03 — это 0.7% пакета, и сессия объявила это риском ДО покупок.** Ре-гены эхо-мины и ретраи в паках 22/23 съедали до +16% сверх сметы фазы. Честным потолком без стопов посреди фазы сессия называла $4.80; владелец выбрал $4.50. **Срабатывание проекционного гарда = СТОП и вопрос владельцу**, а не сокращение оси решением сессии. ### Д0.9 Прогнозы (калибруют удивление; совпадение НЕ цель) 1. **A3 (смысловой критик) НЕ побьёт A0 различимо.** Основание: все замеренные различия между близкими редакторскими контурами лежат в 0.2–2.5, а MDE оси 1.29. Прогноз конкретен: перевес A3/A0 ляжет в полосу −1.0…+1.0. **Если владелец прав и ставка сыграет, я ошибусь — и это лучший исход фазы.** 2. **A4 (канон-фиксер ПОСЛЕ переписа) даст лучшее покрытие канона из всей панели**, не двигая судейский перевес: он чинит ось, по которой боевой редактор худший в эксп-22 (0.882). 3. **A1 (флаги) окажется «не хуже» по правилу Д0.4, но дешевле в разы.** Основание: флаговый контур эксп-20 чинил по указанному месту за ~$0.0002. 4. **H-1 подтвердится частично:** A6 (dspro-черновик + контур) побьёт A1/A3 на flash-черновике, но не побьёт A0. Основание — находка эксп-22 §13: редактор работает компрессором различий черновика (разброс 7.25 → 2.12). 5. **На en контроль редактора снова окажется около нуля** (эксп-22: +0.00 при n=6), но теперь при n=16 и объявленной цели 2.00 это будет замер, а не отсутствие мощности. 6. **`gemini-3.1-pro-preview` не отдаст 16 клеток с первой волны.** Прогноз: 503-серии повторятся, потребуется ≥2 суток окна; собрано будет 12–15 из 16. ### Д0.10 Чего эта фаза НЕ меряет Топология «черновик → редактор» (решена эксп-21) · банк как фактор · выбор жильца черновой роли (решён эксп-22) · качество прозы `gemini` как продуктовый выбор — при $221 за книгу против $8 у боевого он невозможен ни при каком исходе, меряется только гипотеза «аутлаер прозы» эксп-04. ### Д0.11 ЭРРАТА ПРЕ-РЕГА (11.08, ДО докупок; история не переписывается) Ревью 82 находок двумя направлениями плюс опровергатель на каждую находку (67 выжили) вскрыло, что зафризенный Д0 расходится с кодом и что три арма куплены не теми, какими объявлены. Ниже — каждое расхождение и его диспозиция. **Ни одно число выше НЕ правится задним числом**; правится код, а таблицы Д0.3/Д0.5 читать через эту эррату. **Э-1. Таблица Д0.3 напечатана ДО починки D-1 и коду не соответствует.** В отчёте `Д4 k=5 MDE 1.29` и «Холм по пяти» (:805, :810); `power.py` держит `k=3` (первичное семейство по одному контрасту на гипотезу). Ни одна версия кода числа 1.29 не даёт: это множитель Холма БЕЗ поправки ×1.23. Действительна раскладка кода, а не таблицы отчёта. **Э-2. ⛔ MDE считался по ОСИ при плановом n, а контрасты живут на РАЗНЫХ n.** `A6/A0` — носитель H-1 — стоит на 16 единицах по построению: черновик dspro эксп-22 есть только у 16 старых единиц. Мощность на него никто не считал. Это дословный класс провала en-оси эксп-22, ради недопущения которого написан `power.py`. Введена поконтрастная таблица; статус объявляется по контрасту. **Э-3. ⛔ Множитель мощности брал квантиль НОРМАЛИ, тогда как sd — ОЦЕНКА** (пол прошлого пака, n=16, df=15). При честном t всё меняется: ось Д4 даёт MDE 1.64 против цели 1.50, а все три первичных контраста — 1.67 · 1.67 · 2.32. **При заимствованном прайоре sd 2.12 ось Д4 ОПИСАТЕЛЬНАЯ.** Несущей её делает только СВОЙ пол: при sd ≤ 1.91 контрасты `A1/A0` и `A3/A0` становятся несущими (замеренный пол `tier` эксп-23 — 1.45, то есть шанс реален). `A6/A0` требует sd ≤ 1.37 и при n=16 не спасается ничем — H-1 остаётся описательной, пока база dspro не расширена на новые единицы. ⇒ **Порядок покупок изменён: СВОЙ ПОЛ ПЕРВЫМ.** Покупать армы, не зная пола, значит рисковать всей сметой оси, которая может не дать вывода ни при каком исходе. Объявлено до покупки пола. **Э-4. Арм A1 куплен БЕЗ батареи** (30 клеток, $0.2269). `battery.run_unit` получал `dict` вместо `battery.Unit` и падал `AttributeError` на 32/32, ошибку глотал голый `except`. Флаги A1 = 100% канон-гейт при объявленном «батарея + канон-гейт». Починено; при живой батарее мест 181 против 74. ⚠ Наивная починка была бы ХУЖЕ поломки: значения проверок — словари, и прежний фильтр `isinstance(v,(int,float))` вымел бы в список мест ЗНАМЕНАТЕЛИ («проверка sentences дала 90»). Введён явный whitelist полей-нарушений. **Старые 30 клеток пере-покупаются.** **Э-5. Арм A2 не существовал.** `PR.translator_msgs(src)` звался с одним аргументом при сигнатуре `(src, block, en=False)` → TypeError; сторож `hasattr` проверяет имя, а не арность, поэтому ветка «арм пропущен, объявить в отчёте» была НЕДОСТИЖИМА. Вдобавок `block=None` снял бы банк-закон D39.104. Собран уравненный мандат (строка 153 бэклога): промт переводчика ПЛЮС мандатные части промта редактора, включая дискурс-перевёрстку и правило чэнъюй, плюс банк-закон. **Э-6. «A6 = оба контура» — один арм двух контуров нести не может.** Куплённый `A6` есть СМЫСЛОВОЙ контур; флаговый заводится армом `A6F` на той же базе. **Э-7. `places[:40]` молча резал список критика.** A3 потерял 512 замечаний из 1491 (34%), A6 — 374 из 886; резался КОНЕЦ главы, не случайная выборка. Кап поднят до 200 (максимум найденного — 150), в запись клетки добавлено поле `places_found` рядом с `places`. **Э-8. Единица `63ab55ac5c` исключена из оси.** Её якорный черновик — эхо исходника; штатный гейт проекта `bakeoff.draft_reject_reason` его бракует, но ветка новых 16 единиц (`PAN23.draft_b`) гейт не применяла вовсе. Клетки A1/A3 на ней оплачены ($0.0231) и в судейскую пачку НЕ идут. n оси 31. **Э-9. Две клетки A4 с `finish=length`** (41599f30df, f6da9f76b2) недопустимы в пачку по норме Д0.6 и пере-покупаются. ⚠ Поправка к промежуточному чтению: они же фабриковали 12 из 13 «новых канон-потерь» арма A4 — без них A4 чинит 19 и заводит 1. **Э-10. Проекционный гард не был СТОПом.** При отказе `buy.purchase` возвращает `skipped=True` и файла не пишет, а `contour.py` возврат выбрасывал: цикл шёл дальше по единицам И по следующим армам, прогон завершался кодом 0. Так A4 остался на 22 клетках из 32, а объявленная норма «срабатывание гарда = СТОП и вопрос владельцу» существовала только в прозе. Механизирована. **Э-11. Клетка «мест не нашлось» больше не выбрасывается.** Прежде единица молча выпадала, и A1 приходил на судейство с n=30 против 32 у A3 — контрасты переставали быть парными, причём выпадали ровно те единицы, где контур не даёт ничего, то есть смещение шло В ПОЛЬЗУ арма. Теперь выход арма на такой единице = его вход, клетка пишется с нулевой ценой и полем `free`. **Э-12. Режим `--floor` был объявлен в шапке и не существовал** (разбор аргументов знал только `--selftest` и `--run`, прочее молча уходило в `--plan` с кодом 0). Реализован парой независимых генераций одного лечения на единицу, как требует норма Д0.6. **Э-13. Смета промахнулась структурно.** `plan.py` кладёт фиксера в 0.60× переписа — замерено 2.41×; критика в 2.14× — замерено 0.99× (он выдаёт короткий список, а не текст; множитель 2.14 из заказа описывал стоимость ПОИСКА как задачи, а не длину ответа). Потолок фазы поднят владельцем 11.08 до **$5.40**. ⚠ Резерв при этом $0.00, и это объявлено риском ВТОРОЙ раз: честный остаток $4.277 плюс потраченные $1.140 дают $5.417. Д1 добирает **15 клеток gemini из 16** именно поэтому, а пре-рег Д0.3 говорит, что несущей ось Д1 делают полные 16. **Э-14. Гейт чужого пака `verify22.py` красный** (EXIT=1) — в хендоффе значился зелёным. Причина не в отчёте: число «верхняя граница двойной оплаты» выводится из mtime файлов, а дерево `~/books` пере-штамповано, поэтому граница считается нулевой. Чужая зона: не правлю, объявляю пингом. **Что ревью ОПРОВЕРГЛО (снято, чтобы не осталось в обороте).** Канон-гейт `contour.py` подозревался в том, что меряет не то: 96% его флагов — не пропажа термина, а меньшая частота. Прогнан контроль, которого не было: срабатывание на выходе ЧУЖОЙ единицы 67.1% против 28.5% на своём — прибор специфичен в 2.4 раза и нулевую модель проходит. Счётная сверка ПОКРЫТИЯ — дословно то, что заказано (промт :91-94). Подозрение снято; остаётся мягкая правка формулировки флага. ### Д0.12 СУДЕЙСТВО: ДВА СЕМЕЙСТВА, ОБА $0 — подход объявлен ДО вердиктов Решение владельца 11.08 дословно: **«НИКАКИХ ВЫЗОВОВ ПО АПИ, всё локально у нас на харнесах codex/claude»**; второй судья — **локальный харнесс Sol 5-6**, и его роль владелец назвал так: «ты судишь свою часть, он — второе мнение твоего судейства / твоей слепоты». Платных судей в смете нет ни цента; появление такой строки = дефект. **Зачем вообще второе семейство — замерено, а не предположено.** Проход `tier` пака 23 разошёлся между семействами в 7–12 раз и пережил все три нормировки рига (контраст внутри единицы · порог из своего пола · декой как единица измерения), то есть спор СОДЕРЖАТЕЛЬНЫЙ, а не шкальный. Разбор установил: находки Claude — ПОДМНОЖЕСТВО находок Sol (74 из 100 внутри, при случайном уровне 0.14, p=0.0000); Claude поставил ровно ноль в 47 клетках из 128, из них 31 с пустым обоснованием; в тексте боевого редактора лежат РЕАЛЬНЫЕ инверсии смысла, которым Claude поставил ноль (`箭在弦上,不得不发` → «Стрела уже слетела с тетивы» — смысл обратный). Одно семейство свою слепоту не видит по построению — вот что покупает второе. **Шкалы НЕ синхронизируются.** Каждое семейство судит против СВОЕГО шумового пола и своего порога. Это не компромисс, а следствие устройства рига: сравнивается не абсолютный уровень, а контраст внутри единицы. Попытка «привести Sol к Claude» была бы подгонкой прибора под ответ. **Границы второго судьи объявлены заранее (Д0.7 и здесь).** Шумовой пол Sol — sd 5.05, порог различимости 3.53. Для тонких контрастов Д4 (ожидаемые перевесы 0.2–2.5) это значит: подпись Sol под отрицательным выводом почти автоматична и читается как «внешний судья ТОЖЕ не увидел», а НЕ как «внешний судья подтвердил равенство». Ценность Sol здесь — поймать КАТАСТРОФУ, которой внутрисемейный судья не заметил, и это ровно то, что он сделал в паке 23. #### Правило расхождения — ПРЕ-РЕГИСТРИРУЕТСЯ, потому что его отсутствие и погубило вывод пака 23 | что наблюдаем | вердикт фазы | |---|---| | оба семейства перешли СВОЙ порог в ОДНУ сторону | **CONFIRM** | | Claude перешёл, Sol нет | **НЕ ПОДТВЕРЖДЕНО ВТОРЫМ СЕМЕЙСТВОМ** — для тонких контрастов это ОЖИДАЕМЫЙ исход при пороге Sol 3.53, опровержением НЕ является | | Sol перешёл, Claude нет | **СЛЕПОТА ПЕРВОГО СУДЬИ** — клетки, которые цитирует Sol, читаются руками; находка идёт в отчёт как дефект ПРИБОРА, не как свойство арма | | перешли в ПРОТИВОПОЛОЖНЫЕ стороны | **СПОРНО** — CONFIRM не выдаётся, расхождение печатается числом и становится находкой об инструменте | Правило симметрично и записано ДО того, как получен хоть один вердикт фазы Д. Выбирать удобное семейство постфактум запрещено этим абзацем. #### Нормы, обязательные для ОБОИХ семейств Декой в каждой пачке; семейство, не поймавшее декой отрицательным знаком, аннулируется на этой пачке целиком · все армы единицы — в ОДНОМ пакете (пачка на единицу, метки слепые и перемешаны) · судье запрещено сравнивать варианты между собой, оценка только против исходника · клетка с `finish=length` в пачку не допускается · шумовой пол — ПАРОЙ, чьи половины судят РАЗНЫЕ сессии · идентичность судьи персистится ДО запуска (`runs.py --claim`, кап 80) · позиционный наклон замеряется, вычитается и сторожится гейтом. #### Изоляция внешнего судьи — единственный работающий контроль Пост-фактум детектора «подглядывал ли судья в ключ» не существует; изоляция и есть контроль. Поэтому задания Sol готовятся в ОТДЕЛЬНОМ рабочем каталоге, где нет ни ключа слепых меток, ни кода, и путь записи ответа указывает ТУДА ЖЕ. Оба правила куплены дорого: пак 23 сперва НАЗВАЛ внешнему судье путь к ключу (написать болтливому агенту «не открывай `blind-keys/`» = показать пальцем), а затем велел писать ответы в боевой каталог `aj-tier/`, который харнесс владельца затёр бы поверх отсуженного. **Закрытие пункта — только изменением файла ВНЕ зоны.** «Пакеты подготовлены и ждут» закрытием не является: закрыто = непустой каталог ответов + пере-счёт скриптом класса `solscore`. #### $0-калибровка осей ПЕРЕД боевым судейством (`eval/editor_tier/axiscal.py`) Прежде чем сравнивать семейства на боевых числах, обе семьи раскладываются по УЖЕ пойманному декою: доля пойманного дефекта известного типа и правильность отнесения его на ось. Меряется не «строгость вообще», а чувствительность и ложная тревога КАЖДОГО семейства ПО КАЖДОЙ ОСИ. ⚠ Граница прибора названа заранее: посадка даёт ГРУБЫЕ дефекты, а спор семейств живёт в маргинальном режиме — на грубых обе семьи упираются в потолок. И если посадка узнаваема (у декоя пака 22 был почерк, судьи называли его метку), меряется узнаваемость, а не чувствительность. Поэтому axiscal — прибор ОГРАНИЧИВАЮЩИЙ, а не сертифицирующий. ### Д0.13 ПРАВКИ ПРИЁМКИ ДРУГОГО СЕМЕЙСТВА (Fable-5, 11.08) — приняты ДО первого вердикта Владелец заказал независимый разбор дизайна судейства агентом вне семьи Claude, с прямым условием не подсказывать ответ: агенту дали материал, код, замеры расхождения семейств и вопрос, но НЕ дали ни Д0.12, ни роли Sol, ни правила расхождения. Ниже принятое. Правки легитимны ровно до первого судейского ответа фазы Д — после него менять пороги и правила запрещено собственным законом проекта. **П-1. Правило расхождения переписано: адъюдикация вместо назначения виноватого.** Таблица Д0.12 в двух клетках решала спор ЯРЛЫКОМ («Sol перешёл, Claude нет» = дефект прибора; «Claude перешёл, Sol нет» = ожидаемо), а не уликой. Следствие, названное приёмкой: фаза ПО ПОСТРОЕНИЮ не могла бы подтвердить эффект, который видит только Sol, — даже когда ручное чтение его цитат подтверждает реальные инверсии, а в проходе `tier` случилось ровно это. Принято: | наблюдение | вердикт | |---|---| | оба семейства перешли СВОЙ порог в одну сторону | **CONFIRM** | | перешёл ОДИН (любой) | **эскалация к адъюдикации** его находок: ≥80% выборки цитат верифицируются слепо как реальные И знаковый тест по одним верифицированным дельтам даёт p<0.05 → CONFIRM с пометкой «вынесен одним семейством, подтверждён адъюдикацией»; иначе НЕ ПОДТВЕРЖДЕНО | | перешли в ПРОТИВОПОЛОЖНЫЕ стороны | вердикта об арме нет; адъюдикация обоих пулов на единицах максимального расхождения; печатается как находка об ИНСТРУМЕНТЕ | | семейство не поймало декой ЛИБО не прошло маржевый контроль (П-2) | его пачка аннулируется | Основание: расхождение счётов между детекторами с разными точками отсечения есть ОЖИДАЕМОЕ состояние, а не сигнал тревоги, поэтому правило, ключующееся на счётах, обречено кодировать заранее назначенное недоверие. Единственная семейно-инвариантная валюта — находка (цитата + ось + место), и риг уже требует цитату на каждую ненулевую ось, то есть сырьё для этого есть. Адъюдикатор видит исходное предложение, предложение перевода и суть претензии, и НЕ видит ни метку арма, ни автора находки. Пороги 80% и p<0.05 объявлены ЗДЕСЬ и потом не меняются. **П-2. ⛔ МАРЖЕВЫЙ ДЕКОЙ — чувствительность прибора размером с маржу.** Дыра, которой у фазы не было вовсе. Вывод «не хуже» (Д0.4, маржа −1.50) требует доказанной способности прибора видеть эффект размера маржи: нечувствительный прибор объявляет «не хуже» автоматически. Действующий декой грубый (2–6 посадок, ловится 32/32) и о МАРГИНАЛЬНОМ режиме не говорит ничего — `axiscal.py` это признаёт в собственной шапке. Заводится второй декой с ДВУМЯ тонкими посадками классов, реально пропущенных в `tier`: правдоподобная, но неверная передача идиомы · смена адресата реплики · потерянный разряд числа. **Семейство, чей замеренный перевес на маржевом декое не пересекает его собственный порог, не имеет права выдавать «не хуже» при этой марже** — его вердикт по H-2а/H-2б понижается до описательного. Посадки — ДАННЫЕ (вне репо, как ключи слепых меток), строятся один раз до вскрытия слепоты; общность движка не задета. Без этого гейта наиболее вероятный итог фазы — «A1 не хуже A0 и дешевле в разы» — неотличим от «прибор не видит, чем A1 хуже». **П-3. Изоляция нужна ОБОИМ семействам, и постфактум-аудит существует.** Д0.12 утверждала, что детектора подглядывания нет и изоляция есть единственный контроль. Для внешнего харнесса это верно, для агент-сессий — НЕТ, и это проверено исполнением: (а) оплаченная клетка несёт поле `arm` открытым текстом рядом с `content`, поэтому судья с диском деанонимизирует слепую метку ОДНИМ грепом по фрагменту варианта (проверено: греп по фрагменту выдал имя арма); (б) транскрипт агент-сессии логирует вызовы инструментов, то есть аудит «куда лазил судья» возможен. Принято: задания ОБОИХ семейств выдаются в изолированный рабочий каталог, где нет ничего кроме заданий; транскрипты судейских сессий сохраняются обязательно; $0-греп-аудит на запрещённые пути (`blind-keys/`, `dv-*`) гоняется после каждой пачки. Формула становится «изоляция ПЛЮС журнал». **П-4. Паритет обвязок семейств.** Единственный неустранимый конфаунд прохода `tier`: промт харнесса Sol нёс правила плотности счёта («две одинаковые ошибки — это два», «4 задания за сессию»), которых у Claude не было, — часть расхождения в разы могла быть куплена ИНСТРУКЦИЕЙ, а не моделью. Норма: обвязки обоих семейств диффуются и архивируются ДО прогона по образцу `promptdiff.py`, расхождения только объявленные. **П-5. Оси перевешены.** Несущая сумма судьи — **ВЕРНОСТЬ + ЯЗЫК**. **ТЕРМИН** уходит в описательные: детерминированный канон-гейт по банку сильнее LLM-судьи на этой оси, а `axiscal` показал, что посадок на ТЕРМИН нет вовсе, то есть чувствительность судей по ней даже не проверяема; заодно исчезает двойной счёт между судейской и детерминированной осями. **ФОРМА** в несущую сумму не входит: она наполовину механизируема $0-детекторами и однажды уже переворачивала знак вывода, штрафуя ИСПОЛНЕНИЕ мандата перевёрстки. **П-6. Второй эндпойнт — слепое ранжирование ткани (описательный на этой фазе).** Счёт локальных ошибок систематически смещён ровно в сторону вопроса владельца: фиксер трогает 0.2–3.7% знаков, а остальные 96% остаются черновиком, поэтому серая-но-безошибочная проза получит «не хуже», а читатель скажет «хуже». Победа над translationese — глобальное свойство ткани, дискретными ошибками не представимое; плюс патчворк (десятки точечных правок в чужой ткани) может рвать связность, не порождая ни одной счётной ошибки. Заводится второй проход: best-worst ранжирование армов ВНУТРИ единицы по издательской пригодности. Ранги шкало-свободны, поэтому разница строгости семейств на них не действует. Гонится ПОСЛЕ того, как счёты забанкованы, чтобы не заражать их. Свои контроли: декой обязан ранжироваться последним, половины пола — соседями. **Решение владельца 11.08: берём.** **П-7. «Побеждает» — лексикографические гейты, а не композит.** Веса композита не защитить, поэтому порядок: (1) канон — покрытие и единообразие на выходе не ниже A0 минус объявленный допуск (потеря канона по слову владельца есть дефект безусловно, значит это ГЕЙТ, а не вес); (2) батарея — ноль катастрофических флагов; (3) среди прошедших — судейский вердикт ВЕРНОСТЬ+ЯЗЫК по П-1 при подтверждённой чувствительности П-2; (4) среди «не хуже» побеждает цена. ⚠ **Оговорка Гудхарта, обязательная к печати:** армы `A1`/`A1B` оптимизированы ровно против тех детекторов, которыми их мерят, — фиксер ел их флаги. Поэтому для них детерминированная ось может только ДИСКВАЛИФИЦИРОВАТЬ, короновать не имеет права; «меньше срабатываний флагов» как критерий победы для арма, питавшегося флагами, циркулярен. **П-8. СПАН-ДЖОЙН — единственная форма, в которой обе оси говорят об одном.** У детерминированных флагов есть МЕСТА, у судейских находок — ЦИТАТЫ. Пересечение спанов даёт число, прямо решающее спор H-2а против H-2б: **доля верифицированных ошибок, лежащих ВНЕ покрытия детерминированных флагов**. Близко к нулю — «флагами всё не отследишь» опровергнуто и флагового контура достаточно; велика — нужен смысловой критик, и известно, насколько. Стоит $0: цитаты уже обязательны, места уже есть. **П-9. Исполняемость печатается рядом с судейским числом.** Контур раскладывается на множители: `A1 = (флаги нашли) × (фиксер исполнил) × (исполнил верно)`. Первые два детерминированы, и уже замерено, что канон-фиксер исполняет **46%** прямых указаний — это ПОТОЛОК арма, известный до всякого судейства. Если судейская дельта не коррелирует с числом исполненных починок, меряется шум. **Что приёмка предложила, а фаза НЕ берёт, с основанием.** Перенос части сметы Д1 в мощность H-1: предложен без знания раскладки — расширение базы A6 УЖЕ профинансировано внутри $6.00, а сверх него деньги мощности H-1 не покупают, потому что ограничение здесь материал, а не бюджет. Отдельно проверено: пул новых единиц среза равен 22, а взято 16, то есть ось расширяема до 37 единиц; но +6 единиц ($0.91) покупают что-либо ТОЛЬКО если свой пол ляжет в узкое окно 1.91…2.08 — при поле лучше они не нужны, при поле хуже не спасают. Решение отложено до замера пола, который уже куплен и судится бесплатно. Это единственный пункт, где фаза сознательно не исполняет приёмку сразу.