Record that the active null was ratified in July as the D39.7 floor gate, so phase D bought back a norm it already owned, and tie the result to the owner's three questions

This commit is contained in:
heaven 2026-09-03 00:24:42 +03:00
parent 9181a3aa8f
commit 81a9554038

View file

@ -0,0 +1,125 @@
# Нормы судейских замеров: что фаза Д подтвердила ценой денег и четырёх суток
**02.09, полигон.** Не новые нормы. **Почти всё ниже проект уже знал** — и фаза Д собрала грабли
заново. Файл заведён именно поэтому: норма, записанная там, где её не читают перед работой,
не работает.
## 0. Главное признание: активный ноль был ратифицирован в июле
**D39.7 (18.07)** несёт риг-стандарт: *per-vote персист · полно-evidence окна · **floor-гейт***.
Дословно оттуда: «все floor-относительные; **floor судейского шума = 0.126 per-cell, A0↔A0
matched full-chunk**». `A0↔A0` — это два прогона ОДНОЙ конфигурации, то есть **ровно тот активный
ноль**, который фаза Д «открыла» 02.09, купив реплику `low₂` за $0.659678.
`eval/README.md:9` перечисляет этот стандарт первым инвариантом полигона.
⇒ Первая редакция слепого чтения нарушила ратифицированную норму, объявила результат
(18:6 «дешёвая рука лучше») и **сняла его только после того, как норма была исполнена**.
Стоимость незнания: реплика + две панели (219 судей) + четверо суток.
## 1. Что обязана нести любая судейская панель
| Норма | Носитель | Как её нарушила фаза Д |
|---|---|---|
| **Активный ноль (floor-гейт)** — пара прогонов ОДНОЙ руки, того же размера, что боевая выборка | D39.7, `eval/README.md:9` | в редакции 1 отсутствовал; результат оказался неотличим от шума |
| **Полно-evidence окна** — судье показан ВЕСЬ материал, к которому относится вопрос | D39.7 | судьям показывали 5579% черновика в 10 юнитах из 15 |
| **Оба порядка** — пара судится и как (A,B), и как (B,A) | норматив оркестратора | нарушено в ОБЕИХ редакциях |
| **per-vote персист** | D39.7 | исполнено ✅ |
| **Слепые метки авто-QA** | D39.20 | исполнено ✅ (имена файлов обезличены после того, как первая раскладка называла их `p7-…`/`null-…`) |
| **Детерминированный скорер > судьи, где возможен** | норматив оркестратора | не применялся вовсе; применён только 02.09 (`dreif.py`) |
| **Вывод на агрегате до вскрытия единиц запрещён** | D39.61 | вывод редакции 1 сделан на агрегате |
## 2. Что фаза Д добавляет к норме (этого в носителях не было)
1. **Ничья определяется ПОРОГОМ, а не совпадением текстов.** Схема первой панели давала судье
поле «тексты идентичны», и ничья фактически привязалась к побайтному совпадению: на активных
нулях судьи объявили победителя в **29 голосах из 30**, потому что два непустых текста всегда
чем-то различаются. Ничья обязана быть исходом «различие ниже порога», иначе её не будет.
2. **Потолок списка дефектов становится метрикой.** В схеме стоял `maxItems: 6`; в **73 голосах
из 74** побеждал вариант с меньшим числом претензий, а половина списков упиралась в потолок.
Судья считал дефекты, а счётчик насыщался — вердикт стал функцией потолка.
3. **Мощность гарда объявляется вместе с гардом.** Гард нулей на 10 парах берёт порог значимости
только на раскладах 9:1 и 10:0; перекос 8:2 он пропускает. Непрохождение такого гарда
**не есть доказательство исправности прибора**, и это надо печатать рядом с ним.
4. **Правило решения обязано покрывать ВСЁ пространство исходов.** Первая редакция дала 60% при
пороге 70% и p<0.05 исход не попал ни в одну ветку, и выбор ветки стал свободой после чисел.
5. **Знаменатель фиксируется один.** Доля бралась из n=30, а значимость из n=24; при
последовательном счёте срабатывала ветка с ПРОТИВОПОЛОЖНОЙ диспозицией.
6. **Тест, где ничьи в знаменателе, а H₀=50%, — невалиден:** при доле ничьих 0.20 ошибка I рода
17.8%, а не 5%.
## 3. Нормы для детерминированных приборов (из `dreif.py`)
1. **Шум-пол печатается рядом с КАЖДЫМ числом**, а не в конце отчёта. Порог — консервативный
(наибольшая из шумовых оценок): ось, где шум случайно вышел 0.0%, иначе объявит значимым любое
ненулевое различие.
2. **Гейт на нулевой знаменатель и на пустой разбор.** Прибор напечатал «дрейф 0%», потому что
парсер искал `src:` вместо формата «ключ⇥передача» и не совпал ни разу. Ноль на заведомо
непустом входе — **отказ прибора**, а не результат. (Тот же класс: Д50, гейт `assert_measured`.)
3. **Второй, независимый путь к тому же числу.** Дрейф считается и сопоставлением по тексту, и
полем `spread`, которое печатает сам движок.
4. **Прибор проверяется на себе.** Замер ложных тревог `dreif.py`: 2 из 12 (17%) — основа «Гао Ван»
находилась внутри «Гао Вань», где в тексте 82 вхождения и все одной формы. Починено
схлопыванием укороченных форм.
5. **Печатать, чего прибор НЕ проверяет** — секцией в самом выводе.
## 4. Как это повлияло на три вопроса владельца
Вопросы — по `eval/dovodka/PLAN-22-08.md` §1.
### Вопрос 0 (метавопрос, главный): живой русский с консистентными терминами по ВСЕЙ книге
Состояние знания до фазы, дословно: «**на вопрос 0 не отвечает ни один наш прибор**. Все панели
мерят художественность ОДНОЙ главы; консистентность тысячи — ортогональная ось, и она не мерилась
ни разу».
**Что изменилось.** Впервые есть **прибор** на эту ось и первые числа — бесплатно, на уже
оплаченном: 912% терминов имеют больше одной передачи, 68% меняют форму между главами;
независимым путём (`spread` движка) — **30 записей банка из 102 несут >1 передачу, максимум 7 форм
у одного ключа** (`元石`: юаньши · камень юань · изначальный камень · первородный камень…).
Реальный дрейф после чистки ложных тревог: «Фан Юань / Фанъюань», «Мо Бэй / Мобэй»,
«гу-мастер / мастер гу», «дом Мо / клан Мо / род Мо».
**И жёстко подтверждено, что судьями эту ось не взять:** панель на изолированном куске
доказанно реагирует на шум так же, как на сигнал.
⚠ Прибор меряет 17 глав = 0.74% книги, а дрейф накопителен. Ось открыта, но не пройдена.
### Вопрос 1: оптимальная архитектура пайплайна
Фаза **не испытывала топологий** (это бумажные ресёрчи `research/29`). Продвижение — в другом:
- **Локализация проблемы.** Дрейф терминов **не зависит от режима редактора**: разница между
режимами 0.51.8% против шум-пола 2.4%. Значит консистентность рождается на стадии черновика
и банка, и искать её надо там, а не в редакторе, куда уходит 8595% денег.
- **Найден разрыв в цепи, а не в механизме.** Штатный детектор консистентности не просто выключен
(`coverage.enabled: false`) — **у него не было входа**: из 102 записей банка ни одна не доведена
до `approved`, `decl` пуст у всех. Механизм построен, цепочка не замкнута.
- **Гибридная политика оценена без единой траты:** дешёвая рука падает в $0-гейт в 2 клетках из 60
(3.3%) ⇒ книга $96 против $90 чистого дешёвого и $269 дорогого. Страховка стоит 7%.
### Вопрос 2: связка моделей без привязки к вендору
Здесь фаза дала **острый негативный урок, прямо в цель вопроса**.
«Дорогой режим» в нашем замере — это **не наш выбор уровня, а вендорский умолчальный**: параметр
не эмитится вовсе, едет собственный дефолт DeepSeek, который вендор **двигал дважды за лето**
(31.07 и 30.08), и фактический уровень нигде в артефактах не записан (`reasoning_tokens`=0).
⇒ Мы сравнивали с движущейся мишенью, и замер **невоспроизводим** в строгом смысле. Для вопроса 2
это точный ответ на «зависит ли архитектура от вендора»: **езда на вендор-дефолте есть скрытая
привязка к вендору** — не по API, а по поведению, и она не видна ни в конфиге, ни в логе.
Второй факт той же оси: единственная не-DeepSeek рука (`glm-5`) дала **дефект целевого языка**
шесть непереведённых «cultivation» в русском тексте, которых **не поймал ни один $0-гейт**.
Мультивендорность требует гейтов на язык вывода, которых сейчас нет.
⚠ Чего фаза по вопросу 2 НЕ дала: связка мерена на ОДНОМ вендоре в двух режимах плюс один ценовой
контроль. Ни бейк-офа вендоров, ни проверки «худший вендор на нашей архитектуре против лучшего на
чужой» не было.
## 5. Что из этого — работа, а что запись
Записью закрывается только §1§3. **§4 не закрывает ни один из трёх вопросов**: вопрос 0 получил
прибор и первое число, вопрос 1 — локализацию и цену политики, вопрос 2 — предупреждение.
Три вопроса остаются открытыми, и это правильный статус, а не осторожность.