16 KiB
Пре-регистрация 2: слепое чтение на ИСПРАВЛЕННОМ материале + активные нули
Заморожено 02.09 ДО первого суждения и ДО платного вызова. Заменяет
PREREG-BLIND-READ.md, чьи семь эррат перечислены в RESULT-BLIND-READ.md.
Первая редакция дала счёт 18:6:6 — он НЕ является входом сюда и НЕ влияет на правила ниже.
1. Что чиним и зачем
Первая редакция сломалась в двух местах, и оба чиним здесь:
-
Э-1 (главное). Судьям показывали черновой чанк 0, тогда как стадия
editСКЛЕИВАЕТ несколько черновых чанков (35 draft-единиц против 20 edit-единиц). В 10 юнитах из 15 опора покрывала лишь 55–79% судимого текста, и линза точности на трети материала работала вслепую. ⇒ Здесь черновик = склейка всех draft-чанков, покрывающих edit-единицу, с гейтом покрытия.⚠ Это дефект СБОРКИ ПАКЕТА, а не базового прогона. Проверено исполняющей сессией пробы по финальным черновикам (35 чанков):
finish=stop9 ·banknote_export26 ·length0 — обрезанных среди отгруженных нет ни одного. Единственный обрыв черновой волны (гл. 17 чанк 0) починил ретрай. Прежняя формулировка «усечённый черновик» могла читаться как обвинение материалу — материал цел, неверно резал его мой сборщик.⭐ Границы юнита берём из МАНИФЕСТА ДВИЖКА, а не из эвристики:
<project_db>.manifest.json, полеchapters[].units[]даётfirst_chunk_idxиchunk_count. Юнит собирается из чанковfirst_chunk_idx … first_chunk_idx + chunk_count − 1; недостающий чанк ⇒ юнит ОТСУТСТВУЕТ, а не склеивается частично.⚠ Это капкан СТЕНДА, а не разовая описка (установлено сверкой с сессией пробы: тот же дефект независимо возник у неё в ковариате длины входа, где
chunk_count > 1у 15 юнитов из 20). Ключ(глава, индекс)у edit-юнита и у draft-чанка СОВПАДАЕТ, поэтому неверная склейка не даёт ни исключения, ни пустоты, ни бросающегося в глаза расхождения длин — только тихо неверное число. В этой книге юнит редактуры почти всегда шире одного чанка черновика. -
Э-5. Первичный тест был математически невалиден (ничьи в знаменателе против H₀=50% дают ошибку I рода 17.8%). ⇒ Здесь тест — точная перестановка меток на уровне ЮНИТА, которая ничьи трактует корректно и разом решает вопрос зависимости пар.
2. Активные нули — контроль, которого не было
Прежний нулевой контроль сравнивал текст с его побайтной копией и доказывал лишь, что судья узнаёт копию. Референсного распределения для перекоса у замера НЕТ.
Здесь: 10 пар low₁ против low₂ — двух независимых прогонов ОДНОЙ дешёвой руки (p9-low)
при temperature: 0.4. Это чистый шум генерации: рука, промпт, усилие, черновик, снапшот и
конфиг совпадают.
Как получается low₂: копия базы p9-low.db, из которой удалены артефакты стадии edit
(чекпойнты, chunk_status, статус jobs), после чего движок вызывается тем же конфигом. Кэш
пуст ⇒ вызовы уходят заново. Ничего, кроме кэша, не меняется; стадии draft и terminology
не трогаются вовсе. ⚠ --resnapshot НЕ применяется. Процедура и её проверка — §7.
3. Материал
Те же 15 юнитов, 30 боевых пар (15 × 2 промпта), off против low на одном промпте.
Плюс 10 нулевых пар low₁/low₂. Итого 40 материалов × 3 линзы = 120 судей Opus.
Линзы, порядок вариантов, блочная балансировка позиций и обезличенные имена файлов — как в первой редакции (там они отработали: ключ цел, 662 цитаты из 688 лежали в своей руке, 0 в чужой).
4. Первичные исходы — их ДВА, и они объявлены здесь
| Линза | Роль | |
|---|---|---|
| P1 | точность относительно черновика | блокирующий: именно он был сломан Э-1 и именно он защищает тезис «не хуже» |
| P2 | художественность | содержательный: в первой редакции нёс весь сигнал (19:8, p=0.052) |
Тест для обоих: точная перестановка знака метки руки на уровне юнита (2¹⁵ = 32768 масок), двусторонняя, статистика — разность числа побед. Поправка Холма на два первичных исхода.
Линза естественности — вторичная и описательная. Она в первой редакции голосовала за более далёкий от черновика вариант в 25 случаях из 28: это детектор величины правки, а не качества.
«Консенсус 2 из 3» первичным исходом НЕ ЯВЛЯЕТСЯ и публикуется только как описание. Причина записана заранее: линзы не независимы (каппа естественность×точность = −0.32, согласие ниже случайного), и мажоритарное правило усиливает одну ось вместо усреднения трёх.
Полный список публикуемых сравнений (фиксируется до чисел, иных не будет): P1, P2, линза естественности, консенсус, гард нулей, позиционный биас, связь победы с длиной, связь победы с близостью к черновику, покрытие черновика. Девять. Вторичные подаются только с пометкой, что поправку они не проходили.
5. Правило решения — покрывает всё пространство исходов
Проверяется СТРОГО в этом порядке; первая сработавшая строка и есть исход.
| № | Условие | Заключение |
|---|---|---|
| 0 | Гард нулей провален (см. §6) | ⛔ ПРИБОР НЕГОДЕН. Боевые числа не читаются вовсе. |
| 1 | Гейт покрытия провален (§6) | ⛔ Материал негоден, замер не состоялся. |
| 2 | P1: low проигрывает по точности, Холм-p < 0.05 |
Цена качества ЕСТЬ. Экономия платится содержанием. low в бой не ставить. |
| 3 | P2: low выигрывает, Холм-p < 0.05, и строка 2 не сработала |
low не хуже по точности и лучше художественно — на этом материале. Гипотеза сильная, но объёмный тест обязателен. |
| 4 | P1: off не выигрывает значимо И P2 не значим |
Различие не предъявлено. Ни одна рука не показала превосходства на этом n. |
| 5 | P2: off выигрывает, Холм-p < 0.05 |
Дорогая рука лучше художественно. Экономия имеет цену. |
⚠ Ни один исход не означает «ставить low в бой». Решение о бое требует ещё и проверки на
объёме, где живёт дрейф терминов и голосов — к нему этот прибор слеп по построению (§8).
6. Гарды (проверяются ДО чтения боевых чисел)
-
Гард нулей. На 10 парах
low₁/low₂тем же тестом. Перекос с p < 0.05 по любой из двух первичных линз ⇒ строка 0: прибор награждает шум, боевой счёт не читается. Ожидание при исправном приборе: перевес около нуля, много ничьих.⚠ ДОПОЛНЕНО 02.09 ДО получения чисел судейства (замечание сессии пробы: как отличить «прибор врёт» от «нулей мало»). Посчитано: при n=10 порог p<0.05 достигается ТОЛЬКО на раскладах 9:1 и 10:0; расклад 8:2 даёт p=0.109 и гард его пропустит. Мощность: если прибор реально награждает шум с силой боевого перекоса первой редакции (75%), гард сработает лишь в ≈25% случаев. Поэтому:
- Непрохождение гарда НЕ ЕСТЬ доказательство исправности прибора. Формулировка «нули чисты» без оговорки о мощности запрещена.
- Основной диагностический критерий — не p, а СРАВНЕНИЕ С БОЕВЫМИ. Считаются две величины: (а) доля определившихся (не-ничьих) на нулях против доли на боевых парах — точный тест Фишера на таблице 2×2; (б) перекос среди определившихся на нулях против боевого.
- Толкование: если судьи объявляют победителя на чистом шуме так же охотно, как на разных руках (Фишер p ≥ 0.05, то есть разницы в доле ничьих НЕ видно), это улика, что прибор не различает шум и сигнал, — даже когда сам перекос на нулях незначим. Такой исход переводит результат в «ослаблен»: боевые числа публикуются с явной пометкой, что часть сигнала может быть шумом, и вывод строки 3 не объявляется.
- Дополнительный порог: если перекос на нулях среди определившихся ≥ 0.5 боевого перекоса, это то же предупреждение независимо от p.
- Эти критерии диагностические; блокирующей остаётся только строка 0 с p < 0.05.
-
Гейт покрытия. Для КАЖДОГО материала: доля текста варианта, покрытая показанным черновиком, ≥ 0.90 (выравнивание по словам). Материал ниже порога в пакет не идёт. Прежние 55–79% не прошли бы этот гейт ни разу.
-
Гейт слепоты, исправленный после Э-3: одиночные латинские буквы тоже считаются (прежний искал
[A-Za-z]{2,}и пропустил 23–25 букв на руку). Порог — не ноль, а СИММЕТРИЯ: разница между руками ≤ 20%, иначе рука опознаваема. -
Ключ отложен, судьям уходит только текст; md5 ключа фиксируется здесь и сверяется после.
-
Позиции сбалансированы блочно, 7 юнитов из 15 ставят дорогую руку первой на каждом промпте.
7. Процедура low₂ и её проверка (исполняется ДО судейства)
cp p9-low.db low2.db— работаем только с копией.- Удалить из копии артефакты стадии
edit;draft,terminology, снапшоты и банк не трогать. - Сверить ДО вызова: снапшот
editсовпадает сp9-low,memory_versionсовпадает,draft-тексты совпадают побайтно. Расхождение ⇒ остановка, вызовов не делать. - Потолок:
--ceiling-usdна базу + резерв одной волны; ожидаемая цена ≈ $0.66 по фактуrequest_logпервой редакции. Расход сверх $1.20 ⇒ остановка и доклад владельцу. - После прогона сверить:
draft-тексты не сдвинулись;edit-тексты ОТЛИЧАЮТСЯ отlow₁(иначе кэш не был сброшен и «активный ноль» вырожден — тогда гард нулей не исполнен, строка 0).
8. Чего замер не даст (унаследовано и не чинится здесь)
- Дрейф терминов и голосов между главами — пары судятся изолированно; прибор слеп.
- Воспроизводимость дорогой руки:
reasoning: "off"не эмитит параметр, едет вендор-дефолт, который DeepSeek двигал 31.07 и 30.08; фактическое усилие в артефактах не записано. - Неравный потолок вывода: мысль биллится внутри
completion_tokens, поэтому дорогая рука упиралась в лимит в 10 и 9 клетках из 20 против 1 и 1. Ось остаётся грязной в пользуoff. - Переносимость: 0.63% книги, холодный банк, 13 из 15 юнитов — начала глав.
- Планка владельца ≤2 претензии (D39.20) этим прибором неизмерима: счётчик дефектов кэпится на 4 (Э-6). Не публикуется вовсе.
- Мощность: n=30 при перестановочном тесте различает сдвиг примерно от 25 п.п. Отрицательный результат меньшую разницу не исключает.