Freeze the blind-read pre-registration and its key before any judging, with null controls that void the instrument if judges pick winners on identical texts

This commit is contained in:
heaven 2026-09-02 19:38:52 +03:00
parent 590256aa35
commit dd23f452d5
2 changed files with 378 additions and 0 deletions

View file

@ -0,0 +1,299 @@
[
{
"pair_id": "p7-ch9-c0",
"kind": "real",
"prompt": "p7",
"chapter": 9,
"chunk": 0,
"arm_A": "p7-off",
"arm_B": "p7-low"
},
{
"pair_id": "null-ch8-c0",
"kind": "null",
"prompt": "-",
"chapter": 8,
"chunk": 0,
"arm_A": "p9-low",
"arm_B": "p9-low"
},
{
"pair_id": "p9-ch12-c0",
"kind": "real",
"prompt": "p9",
"chapter": 12,
"chunk": 0,
"arm_A": "p9-low",
"arm_B": "p9-off"
},
{
"pair_id": "p7-ch8-c0",
"kind": "real",
"prompt": "p7",
"chapter": 8,
"chunk": 0,
"arm_A": "p7-low",
"arm_B": "p7-off"
},
{
"pair_id": "p9-ch8-c0",
"kind": "real",
"prompt": "p9",
"chapter": 8,
"chunk": 0,
"arm_A": "p9-off",
"arm_B": "p9-low"
},
{
"pair_id": "p7-ch5-c0",
"kind": "real",
"prompt": "p7",
"chapter": 5,
"chunk": 0,
"arm_A": "p7-off",
"arm_B": "p7-low"
},
{
"pair_id": "p9-ch16-c0",
"kind": "real",
"prompt": "p9",
"chapter": 16,
"chunk": 0,
"arm_A": "p9-low",
"arm_B": "p9-off"
},
{
"pair_id": "p7-ch16-c0",
"kind": "real",
"prompt": "p7",
"chapter": 16,
"chunk": 0,
"arm_A": "p7-low",
"arm_B": "p7-off"
},
{
"pair_id": "p9-ch2-c0",
"kind": "real",
"prompt": "p9",
"chapter": 2,
"chunk": 0,
"arm_A": "p9-low",
"arm_B": "p9-off"
},
{
"pair_id": "p9-ch3-c0",
"kind": "real",
"prompt": "p9",
"chapter": 3,
"chunk": 0,
"arm_A": "p9-low",
"arm_B": "p9-off"
},
{
"pair_id": "p9-ch10-c0",
"kind": "real",
"prompt": "p9",
"chapter": 10,
"chunk": 0,
"arm_A": "p9-low",
"arm_B": "p9-off"
},
{
"pair_id": "p7-ch3-c0",
"kind": "real",
"prompt": "p7",
"chapter": 3,
"chunk": 0,
"arm_A": "p7-low",
"arm_B": "p7-off"
},
{
"pair_id": "p9-ch12-c1",
"kind": "real",
"prompt": "p9",
"chapter": 12,
"chunk": 1,
"arm_A": "p9-off",
"arm_B": "p9-low"
},
{
"pair_id": "p7-ch1-c0",
"kind": "real",
"prompt": "p7",
"chapter": 1,
"chunk": 0,
"arm_A": "p7-off",
"arm_B": "p7-low"
},
{
"pair_id": "null-ch7-c0",
"kind": "null",
"prompt": "-",
"chapter": 7,
"chunk": 0,
"arm_A": "p7-low",
"arm_B": "p7-low"
},
{
"pair_id": "p7-ch10-c0",
"kind": "real",
"prompt": "p7",
"chapter": 10,
"chunk": 0,
"arm_A": "p7-off",
"arm_B": "p7-low"
},
{
"pair_id": "p7-ch13-c0",
"kind": "real",
"prompt": "p7",
"chapter": 13,
"chunk": 0,
"arm_A": "p7-low",
"arm_B": "p7-off"
},
{
"pair_id": "p7-ch7-c0",
"kind": "real",
"prompt": "p7",
"chapter": 7,
"chunk": 0,
"arm_A": "p7-low",
"arm_B": "p7-off"
},
{
"pair_id": "p9-ch7-c0",
"kind": "real",
"prompt": "p9",
"chapter": 7,
"chunk": 0,
"arm_A": "p9-off",
"arm_B": "p9-low"
},
{
"pair_id": "p9-ch3-c1",
"kind": "real",
"prompt": "p9",
"chapter": 3,
"chunk": 1,
"arm_A": "p9-low",
"arm_B": "p9-off"
},
{
"pair_id": "p9-ch15-c0",
"kind": "real",
"prompt": "p9",
"chapter": 15,
"chunk": 0,
"arm_A": "p9-off",
"arm_B": "p9-low"
},
{
"pair_id": "p7-ch6-c0",
"kind": "real",
"prompt": "p7",
"chapter": 6,
"chunk": 0,
"arm_A": "p7-low",
"arm_B": "p7-off"
},
{
"pair_id": "null-ch13-c0",
"kind": "null",
"prompt": "-",
"chapter": 13,
"chunk": 0,
"arm_A": "p9-off",
"arm_B": "p9-off"
},
{
"pair_id": "p7-ch2-c0",
"kind": "real",
"prompt": "p7",
"chapter": 2,
"chunk": 0,
"arm_A": "p7-off",
"arm_B": "p7-low"
},
{
"pair_id": "p9-ch6-c0",
"kind": "real",
"prompt": "p9",
"chapter": 6,
"chunk": 0,
"arm_A": "p9-off",
"arm_B": "p9-low"
},
{
"pair_id": "p7-ch12-c1",
"kind": "real",
"prompt": "p7",
"chapter": 12,
"chunk": 1,
"arm_A": "p7-low",
"arm_B": "p7-off"
},
{
"pair_id": "p7-ch3-c1",
"kind": "real",
"prompt": "p7",
"chapter": 3,
"chunk": 1,
"arm_A": "p7-low",
"arm_B": "p7-off"
},
{
"pair_id": "p9-ch9-c0",
"kind": "real",
"prompt": "p9",
"chapter": 9,
"chunk": 0,
"arm_A": "p9-off",
"arm_B": "p9-low"
},
{
"pair_id": "p7-ch15-c0",
"kind": "real",
"prompt": "p7",
"chapter": 15,
"chunk": 0,
"arm_A": "p7-off",
"arm_B": "p7-low"
},
{
"pair_id": "p9-ch13-c0",
"kind": "real",
"prompt": "p9",
"chapter": 13,
"chunk": 0,
"arm_A": "p9-low",
"arm_B": "p9-off"
},
{
"pair_id": "p7-ch12-c0",
"kind": "real",
"prompt": "p7",
"chapter": 12,
"chunk": 0,
"arm_A": "p7-off",
"arm_B": "p7-low"
},
{
"pair_id": "p9-ch1-c0",
"kind": "real",
"prompt": "p9",
"chapter": 1,
"chunk": 0,
"arm_A": "p9-off",
"arm_B": "p9-low"
},
{
"pair_id": "p9-ch5-c0",
"kind": "real",
"prompt": "p9",
"chapter": 5,
"chunk": 0,
"arm_A": "p9-low",
"arm_B": "p9-off"
}
]

View file

@ -0,0 +1,79 @@
# Пре-регистрация: слепое парное чтение — цена сниженного усилия редактора
**Заморожено 02.09 ДО первого суждения.** Правило решения, пороги и гарды записаны раньше чисел.
Материал: проба `prereg-4axes` (см. `docs/experiments/23-editor-tier.md` §Д54). Судьи — Opus.
## 1. Вопрос
Проба ответила на цену: снижение усилия режет размышление ×3.5 и боевую цену знака ×2.5.
Качество при этом **не судилось** — вне скоупа по построению (§12 промта пробы).
**Вопрос замера:** стал ли текст хуже, когда редактор думал вчетверо меньше?
⚠ Это вопрос о РЕДАКТУРЕ, не о переводе целиком: черновик у всех рук идентичен побайтно
(проверено, sha текста совпадает по 66 клеткам), различие вносит только стадия `edit`.
## 2. Материал
15 юнитов, у которых финальный текст (`chunk_status.final_hash`) непуст у ВСЕХ четырёх рук
deepseek. Юниты с браком выпали по построению: 4 таймаута `p7-off` + 1 пустой `p9-off`.
`glm-off` ИСКЛЮЧЁН: опознаётся по латинице (6 вхождений «cultivation»), слепота по нему
невозможна, и ценовым контролем он в качество не проектировался.
**30 боевых пар** = 15 юнитов × 2 промпта (p7, p9). В каждой паре — `off` против `low` на ОДНОМ
промпте, то есть чистая ось усилия. Плюс **3 нулевых контроля**, где A и B — один и тот же текст.
## 3. Что видит судья
Черновик (общий вход редактора) + два отредактированных варианта под метками A и B. Порядок
рандомизирован блочно: высокое усилие стоит на позиции A в 7 юнитах из 15 на каждом промпте.
Судья не знает ни рук, ни того, чем варианты различаются, ни что различие вообще существует.
Три независимых судьи на пару, разные линзы: **естественность русского** · **точность
относительно черновика** · **художественность и голос**. Консенсус — большинство 2 из 3.
## 4. Первичный исход и тест
**Исход:** доля из 30 пар, где консенсус судей предпочёл руку высокого усилия.
**Тест:** двусторонний биномиальный против H₀ = 50%. Ничьи в знаменатель входят, в числитель нет.
Кластеризация признана ограничением: p7 и p9 на одном юните делят черновик, 30 пар — не 30
независимых наблюдений. Поэтому вторичный анализ — по 15 юнитам (пара засчитывается юниту, если
оба промпта согласны).
## 5. Правило решения (записано до чисел)
| Исход | Что заключаем |
|---|---|
| **E-A** доля за `off` ≥ 70% И p < 0.05 | Экономия имеет цену качества. `low` в бой не ставить без доработки. |
| **E-B** доля за `off` в [40%; 70%] ИЛИ p ≥ 0.05 | **Различие не предъявлено** на этом n. `low` допустим к проверке на объёме — но «не предъявлено» ≠ «доказано равенство». |
| **E-C** доля за `low` ≥ 70% И p < 0.05 | Сниженное усилие ЛУЧШЕ. Требует объяснения, до него в бой не ставить. |
| **E-D** нулевые контроли дали победителя в ≥2 из 3 | ⛔ **ПРИБОР НЕГОДЕН.** Результат не читается, что бы ни показали боевые пары. |
**Мощность честно:** n=30 при трёх судьях различает сдвиг примерно от 25 процентных пунктов.
Разницу в 510 п.п. этот замер не увидит, и отрицательный результат её не исключает.
## 6. Вторичные исходы (не решают, но записываются)
- **Претензии на юнит** — планка владельца из D39.20 (≤2 на главу). Считаем среднее по рукам.
- **Классы дефектов** — что именно судьи называют; сырьё для будущих детерминированных гейтов.
- **Позиционный биас** — доля побед позиции A независимо от руки. Отклонение от 50% на боевых
парах при чистых нулевых контролях = предупреждение, не отмена.
## 7. Гарды
1. **Гейт слепоты пройден до сборки:** ни латиницы, ни CJK, ни служебных меток — 0 на 60 клетках.
2. **Ключ отложен** в `KEY-do-not-show-judges.json`; судьям уходит только `pairs-blind.json`.
3. **Нулевой контроль** ловит судью, который обязан выбрать победителя (см. E-D).
4. **Позиционный баланс** блочный, а не случайный — рандомизация первой редакции дала 10/30.
5. Seed рандомизации `20260902` зафиксирован до сборки пакета.
## 8. Чего замер НЕ доказывает
- Не сравнивает `glm-5` с deepseek — он исключён.
- Не судит ось промпта: и E3 пробы (p=0.487), и обе текстовые меры (p=1.000, p=0.107) говорят
«ниже разрешения». Пары внутри промпта, а не между ними.
- Не измеряет верность китайскому оригиналу: исходник в снапшоте не хранится, опорой служит
черновик. Искажение, унаследованное от черновика, обеими руками унаследовано одинаково.
- Не заменяет чтение владельцем. Судья-модель — прибор, а планка «≤2 претензии» — его.