textmachine/docs/experiments/22-tenant-panel.md

38 KiB
Raw Blame History

22. Панель жильцов: кто занимает роль черновика и роль редактора

Полигон-сессия, 08.08.2026. Исполнение docs/POLYGON_TENANT_PANEL_SESSION_PROMPT.md (санкция владельца 08.08, D39.117). Зона: eval/tenant_panel/ + точечные проверки eval/role_topology/ + этот файл + пинг в PROGRESS «Полигон».

СТАТУС: ПРЕ-РЕГ Ф0/Ф1 — зафризен этим коммитом ДО первой платной покупки. Потолки промта: Ф0 ≤$0.40 · Ф1 ≤$1.00 · Ф2 ≤$2.00 · Ф3 ≤$1.60; сумма ≤$5.00. Числа отчёта пере-считываются eval/tenant_panel/itog22.py, сторожатся eval/tenant_panel/verify22.py; ненулевой код возврата = отчёт не сдаётся.


§0 ПРЕ-РЕГ. Секция Ф0/Ф1 (зафризена до трат)

0.1 Вопрос и что НЕ мерится

Топология «дешёвый черновик → дорогой редактор-переписыватель» решена эксп-21 и здесь не пере-меряется. Открыт вопрос ЖИЛЬЦОВ обеих ролей: черновиком за всю историю проекта была одна модель (deepseek-v4-flash), а выбор редактора проверен на паре из двух движков.

Не мерится и не варьируется: банк как фактор (наличие/отсутствие — чужой слот, строки 5/36б); топология как таковая; контракт редактора (full-regen против диффов — строка 106).

«Правильного ответа» не существует: армы равноправны, движок по паре и по модели не ветвится (§0.1 12-go-style-notes.md), поэтому любой исход — строки конфига, а не код.

0.2 Материал: невиданный zh-срез

Эксп-21 главный zh-замер сделал на 蛊真人, которую его же проба оценила как узнанную моделью 4/5 — наравне с положительным контролем. Промт эксп-22 заказывает срез повторно и жёстко.

Метод поиска (объявляется, потому что «нашёл в вебе» без метода не проверяем):

  1. Площадка отбиралась по механическому критерию — текст главы отдаётся сервером. Проверено curl: 七猫 и 番茄 отдают JS-каркас без текста; 纵横中文网 (zongheng.com) отдаёт <div class="content"> с полной главой. Пиратские агрегаторы не рассматривались.
  2. Из блока новинок главной снято 17 книг; у каждой прочитано поле 首发时间 — дату первой публикации печатает сама площадка на странице главы.
  3. Отобрана книга с датой первой публикации в июле 2026 (то есть заведомо позже любого правдоподобного среза обучения) и жанром, совпадающим с продуктовым (东方玄幻 — то же семейство, что 蛊真人).

Книга среза: 《阴阳天帝诀》, 玄幻奇幻 / 东方玄幻, zongheng.com/detail/1569059, 首发时间 2026-07-13, на день замера 71 глава / 15万字, 393 суммарных клика.

Проверка непереведённости (метод и его границы объявляются вместе):

  • поиск по названию (zh) и транслитерации — совпадений нет;
  • поиск, ограниченный восемью ru/en-площадками переводов (tl.rulate.ru, ranobelib.me, ranobes.com, ranobehub.org, novelupdates.com, ficbook.net, mlate.ru, bllate.org) — совпадений нет;
  • ⚠ прямой поиск в формах этих площадок механически НЕ подтверждён: novelupdates отдаёт 403, rulate игнорирует параметр запроса (отдаёт весь каталог, 83 555 переводов), ranobelib и ranobes — SPA. Это объявленная граница проверки, а не подтверждение;
  • базовая ставка: 393 суммарных клика за 26 дней — вероятность существования перевода пренебрежима, но это аргумент, а не замер.

⚠ ГЕЙТ ПРАВ, объявлен ДО отбора единиц. Срез — взрослая вебновелла: слой насилия плотный (это рабочий случай продукта, его меряли все прежние паки), но у ДВУХ якорных провайдеров панели лейбл sexually-explicit в договоре стоит FORBIDDEN (quirks 00, таблица прав: deepseek ToU §3.4(5); zai п. g) «Submitting … sexually explicit»). Поэтому из пула единиц сняты две главы с наибольшей плотностью эротических маркеров (верхний дециль по 18 главам): гл. 1 и гл. 2. Честная граница: после снятия остаётся ровно 16 глав на 16 единиц, то есть отбор «из середины распределения длин» вырождается в «все оставшиеся». Это ограничение, а не замысел.

⚠ ОБЪЁМ СРЕЗА ОГРАНИЧЕН ВНЕШНЕ. Скачано 18 глав (40 008 знаков), после чего площадка поставила анти-краулерную капчу на IP; снижение темпа до 3 с, куки живой сессии владельца и мобильный хост её не сняли. 16 единиц из 18 глав получены; добор до 71 главы не выполнен.

Единицы (детерминированный отбор, методика эксп-21 §0): дедуп по подписи со снятым заголовком главы, ключ артефакта — хеш источника (не позиционный индекс), сортировка по (длина, uid). 16 единиц zh: 2073…2517 знаков, медиана 2194; 16 разных глав (у эксп-21 — 16 единиц из 12 глав, то есть по кластеризации срез чище); максимальная попарная близость 0.069 (эксп-21: 0.060). Хеши единиц — ~/books/tenant-panel/manifest.json.

Ось переноса en (обязательна): Kristoff, «Empire of the Dawn» (узнавание 1/5 по эксп-21), 6 единиц из отбора эксп-21 — 3 страты fr, 3 страты plain; единица 129b73ad5a выброшена (выходные данные и библиография, а не проза — §8 эксп-21).

Порог контаминации — объявлен эксп-21 и здесь не двигается: узнавание ≥3/5 = материал непригоден. Проба — узнавание + клоуз по 5 отрывкам (contam.py). Две поправки против эксп-21: проба идёт двумя моделями (gpt-5.6-luna для сопоставимости и deepseek-v4-flash — боевой жилец черновой роли; §4 п.9 эксп-21 оставил это открытым) и с двумя опорами — положительный контроль 金瓶梅 и книга эксп-21 蛊真人 (там 4/5). Не пройдёт порог — материал меняется на резервную книгу 《吞仙葫》 (detail/1573203, 首发 2026-07-23), объявленную здесь ДО замера.

0.3 Починки эксп-21 §8 — закрыты, проверены исполнением

eval/tenant_panel/checks21.py, ненулевой код возврата = покупки запрещены. Все четыре пункта списка §8 оказались УЖЕ закрытыми самим эксп-21 (список не был вычеркнут). Проверено запуском, а не чтением; где возможно — на том артефакте, из-за которого пункт появился:

§8 Чем проверено Итог
гейт ре-гена ловит и ЦЕЛЕВУЮ письменность четыре входа с известным ответом + исторический артефакт bo2-DRAFT-34749d6ccc-r2 (латиница 1.00) отвергается «выход не на целевом языке»
карта раскладки слепого чтения вне каталога пакетов blind_read.KEYS ≠ PACKETS, карт в каталоге пакетов нет закрыт
персист обоснований судьи absjudge --selfcheck (три регрессии) + 120/120 боевых клеток прохода abs4 несут текст закрыт
три лживых докстринга сверка докстринга с исполняемым кодом (REPS_PER_ORDER, run_draft, кортеж JUDGES) противоречий нет

0.4 Каcса и фриз — механизм, а не обещание

eval/tenant_panel/money.py. Три урока эксп-21, каждый стоил денег:

  • новый тег покупок не попадал в глоб кассы (трижды; последний раз гейт ложное число СЕРТИФИЦИРОВАЛ) ⇒ теги объявлены в одном месте, и --selftest проверяет по одному тегу за раз, что каждый даёт кассе фазы и кассе пака ровно свою сумму;
  • потолки фаз пробивались ⇒ каждая покупка проходит ДВА проекционных гарда: фазовый и пакетный ($5.00);
  • покупки шли кодом вне зафризенного дерева ⇒ покупка отказывает, если файл вызывающего не отслеживается git ИЛИ отличается от закоммиченного. «Фриз ДО покупок фазы» стал механизмом.

Проверено исполнением: 7/7 тегов видны обеими кассами, проекционный гард отказывает при нулевом потолке, фриз-гейт отвергает покупку из НЕ-файла.

0.5 Ф1 — кандидаты, пороги, прогнозы

Живой листинг /models 08.08 (role_topology/list_models.py): deepseek 2 · zai 8 · kimi 12 · gemini 59 · xai 10 · mistral 53; openai — ReadTimeout, пере-снять до скрина. gemini-3.1-pro-preview в листинге ЖИВ — обязательный кандидат Ф3 доступен.

Ростер (11 моделей, roster.py), цены сверены 08.08 по прайс-страницам вендоров. Живая сверка удалась по DeepSeek · Z.AI · Gemini · Kimi (страницы сохранены); не удалась по OpenAI (Cloudflare 403), xAI (308→403; Wayback свежее эксп-21 не имеет) и Mistral (прайс рендерится JS) — там цены перенесены из эксп-21 с датой его сверки, и это объявлено.

Три поправки к role_topology/prices.py, найденные живой сверкой:

  • у Gemini кэш-цена выделена вендором и в 810 раз ниже входной ($0.20 против $2.00 у 3.1-pro; $0.15 против $1.50 у 3.6-flash; $0.025 против $0.25 у flash-lite) — эксп-21 ставил кэш = входу и ЗАВЫШАЛ цену Gemini;
  • у Z.AI появились glm-4.7-flash (бесплатный) и glm-4.7-flashx ($0.07/$0.40) — тир дешевле боевого черновика; в live-/models их НЕТ, поэтому в ростер не берутся, а проверяются $0-пробой существования слага;
  • DeepSeek на прайс-странице 08.08 объявляет ПОВЫШЕНИЕ цен («significant increase expected») — это бьёт по проекции себестоимости книги и едет с ИТОГом.

Рез по прайсу (промт разрешает при >16 кандидатах; каждому провайдеру оставлен слот): сняты gpt-5.6-terra, kimi-k3, glm-5.1, glm-5.2, glm-5-turbo, grok-4.5, mistral-medium-latest — каждый доминирован одноимённым семейством при той же роли (основания пер-модельно в roster.CUT).

Пороги скрина — содержательные, из требований пайплайна, записаны ДО замера (screen.py). Порог, не способный отсеять никого, — не порог; но пороги выводятся из требований, а не подгоняются под желаемый состав:

Гейт Что и почему Провал
Г1 ФОРМАТ на боевой единице сервис-преамбула, markdown-заголовки, обрыв — ровно те классы, которые боевой санитайзер считает вердикт-гейтом (D30.3) нарушение более чем в одной единице из двух
Г2 ЭХО/УТЕЧКА доля исходной письменности; боевой порог disposition.go = 0.15 любая единица выше 0.15 ЛИБО ханьцзы во ВСЕХ единицах
Г3 ОТКАЗ на чувствительном фрагменте вебновелла упирается в насилие; тихий отказ на главе N рвёт конвейер отказ
Г4 ЦЕЛЕВОЙ ЯЗЫК эксп-21 оплатил и принял английский выход (латиница 0.79) доля кириллицы среди букв < 0.5
Г5 ЦЕНА/ЕДИНИЦА считается из usage, не из прайса; роль черновика имеет объявленный порог draft: > $0.02/ед · editor: > $0.06/ед
Г6 УПРАВЛЯЕМОСТЬ РАЗМЫШЛЕНИЯ класс, уже стоивший проекту волны (quirks §10) finish=length при пустом выходе

Урок эксп-20 применяется: механический показатель ≠ качество, поэтому спорных кандидатов СТИЛЬ-осей скрин не решает — они доводятся до Ф2/Ф3.

Прогнозы (калибруют удивление; совпадение НЕ цель).

  1. Скрин убьёт 24 кандидата из 11; наиболее вероятные — kimi-k2.6 (многословность размышления → обрыв), grok-4.3 (кредиты xAI исчерпаны 07.08), mistral-large-latest (преамбула в выходе), gemini-3.1-flash-lite (формат).
  2. Разброс панели ЧЕРНОВИКОВ будет БОЛЬШЕ разброса панели редакторов. Основание — §16.2 эксп-21 (тот же редактор над другим черновиком: 7.66 против 5.91) и §12 (A_law/B 0.69, ноль внутри интервала).
  3. gemini-3.1-pro НЕ окажется аутлаером прозы: гипотеза эксп-04 снята мёртвым поколением и слабым ригом. Прогноз: его перевес над deepseek-v4-pro ляжет НИЖЕ шумового пола.
  4. Победитель черновой роли будет решаться ценой, а не качеством: прогноз — перевесы черновиков лягут в полосу 13 ошибки при поле ≈1.9, то есть правило ничьей D39.117 (самый дешёвый жилец) окажется рабочим, а не декоративным.
  5. Частота эхо-мины deepseek-v4-flash на этой книге — 2540% (приор эксп-21: 38% на zh, 0% на en).

⚠ Числа-приоры взяты из эксп-21 для сметы и дизайна, не как ожидания: новый замер их не обязан воспроизвести, расхождение = находка.

0.6 Смета и план агент-запусков

Смета считается по ФАКТИЧЕСКИМ $/вызов эксп-21 из сырья (медианы по scr-* и bo4-*), масштабированным на длину единицы (2194/1683 = ×1.31) и на отношение цен вендоров.

Фаза Что покупается Смета Потолок
Ф0 контаминация 3 книги × 5 отрывков × 2 модели = 30 вызовов; терминолог 1 вызов $0.02 $0.40
Ф1 11 моделей × 2 единицы × 2 роли = 44 вызова $0.62 (до $0.80, если Gemini-pro много думает) $1.00
Ф2 ≤5 жильцов + якорь × 22 единицы (черновик) + боевой редактор поверх каждого + шумовой пол $1.27 при панели из 5 $2.00
Ф3 ≤5 редакторов × 16 единиц поверх замороженного flash-черновика (клетка dspro переиспользуется из Ф2) $1.50 $1.60
сумма $3.41 $5.00

Правило усечения панели Ф2, объявляется ЗАРАНЕЕ. Если смета не влезает в $2.00, панель режется так, чтобы СОХРАНИТЬ ЦЕНОВУЮ ОСЬ: обязательны якорь deepseek-v4-flash, самый дешёвый прошедший и самый дорогой прошедший; середина добирается по возрастанию цены до упора в потолок. Причина: вопрос пака — «покупает ли дорогой черновик качество», и панель, срезанная по цене сверху, на него ответить не может. Каждый снятый кандидат печатается с его числами.

План агент-запусков (кап промта ≤60; 1 запуск = одна судейская сессия суб-агента).

Стадия Пакетов Текстов в пакете Запусков
Ф2 zh — черновики + редактор поверх каждого 16 единиц ≤5 черновиков + ≤5 редактур + декой + пара пола ≈ 13 16
Ф2 en — ось переноса 6 единиц ≤5 черновиков + декой ≈ 7 3
Ф3 zh — панель редакторов 16 единиц ≤5 редакторов + база + декой + пара пола ≈ 9 8
Довесок D_/A на сырье эксп-21 16 единиц 2 текста + декой 4
план 31
резерв на сессии, аннулированные декоем 12
потолок 43 из 60

0.7 Что фризится этим коммитом

eval/tenant_panel/ целиком (material.py · checks21.py · roster.py · money.py · prompts.py · bank.py · contam.py · screen.py) + эта секция отчёта. Дальнейшие фазы получают свои секции и свои фриз-коммиты; amend фриза запрещён, девиации объявляются в отчёте.


§1 Ф0 — ИСПОЛНЕНО

1.1 Контаминация среза: чисто на двух моделях при живом положительном контроле

Проба узнавания + клоуза, 5 отрывков на книгу, две модели (tp0-cont-*, $0.005709):

книга         модель                узнано  клоуз   вердикт (порог: узнавание ≥3/5)
slice22       gpt-5.6-luna           0/5     0/5     следов нет
slice22       deepseek-v4-flash      0/5     0/5     следов нет
gu-zhenren    gpt-5.6-luna           1/5     0/5     следов нет
gu-zhenren    deepseek-v4-flash      3/5     3/5     НЕПРИГОДЕН
jinpingmei    gpt-5.6-luna           4/5     4/5     НЕПРИГОДЕН
jinpingmei    deepseek-v4-flash      5/5     5/5     НЕПРИГОДЕН

Материал среза чист по объявленному порогу, и проба при этом работает: положительный контроль опознан 4/5 и 5/5.

Находка, которой у эксп-21 не было: КОНТАМИНАЦИЯ ЗАВИСИТ ОТ МОДЕЛИ. На 蛊真人 luna даёт 1/5 («следов нет»), а deepseek-v4-flash — 3/5 узнавания И 3/5 клоуза, то есть знает конкретику. Эксп-21 мерил ОДНОЙ моделью и оставил это открытым пунктом (§4 п.9); здесь видно, что одна модель занижает оценку — и занижает её как раз для той модели, которая населяет черновую роль. Практика: пробу контаминации гонять на ЖИЛЬЦАХ, а не на удобной дешёвой модели.

1.2 Банк среза

Терминолог-прогон (gpt-5.6-luna, $0.002444) по 26 частотным кандидатам майнинга → 26 строк термин ⇥ перевод. Ручная правка сессии: выброшены четыре (瞬间 «мгновенно», 声音 «голос, 仿佛«словно»,庭院` «двор») — это общеязыковая лексика, канон на неё превратил бы метрику покрытия в замер словарного совпадения. Остальные 22 приняты как есть, ручных ПОДМЕН нет.

Банк: 22 термина, знаменатель 1124 упоминания на 16 единицах (у эксп-21 — 8 терминов, 228 упоминаний). Помечен signed: false — ручной канон сессии, НЕ подпись владельца (D39.47).

⚠ Девиация: регексы канонных форм расширены под русское словоизменение ПОСЛЕ фриза Ф0 и ПОСЛЕ покупки терминолога (то есть $0 и на результат прогона не влияет). Причина — короткие склоняемые слова («род Цинь») не находились в форме «рода Цинь»: метрика занижалась бы у всех армов одинаково, но занижалась. Регрессии на реальные формы банка — в bank.py --selfcheck.

1.3 Sol-пакет (а) выпущен

20 пакетов (~/books/tenant-panel/sol/), парный протокол, слепые метки, ОБА порядка, две контрольные пары с посаженной деградацией, инструкция владельцу отдельным файлом. Контрасты и основание отбора — в шапке sol.py: A/F (заказан промтом), B/F (тот же заголовочный вопрос, разрыв судей 1.90) и A_law/A — единственный контраст, где судьи расходятся знаком (+0.91 против 0.20), а расхождение знака меняет вердикт, а не точность.

§2 Ф1 — ПРОФИЛЬ-СКРИН: ЧТО ПОКАЗАЛ И ЧТО ПОЧИНИЛ

2.1 Таблица по КАЖДОМУ кандидату — и вошедшему, и нет

модель                     вердикт  $/ед transl  $/ед edit  ханьцзы  размышл  причины
deepseek-v4-flash           прошёл      0.00089    0.00264      14    21.4%
deepseek-v4-pro             прошёл      0.00384    0.00545       6    15.7%
gpt-5.6-luna                прошёл      0.00367    0.00437      16     5.0%
gemini-3.1-flash-lite       прошёл      0.00398    0.00490      12     0.0%
glm-4.7                     прошёл      0.00656    0.00853       6     0.0%
glm-5                       прошёл      0.00959    0.01303       4     0.0%
grok-4.3                    прошёл      0.00984    0.01452       0    20.9%
kimi-k2.6                   ПРОВАЛ      0.05661    0.06773       0   100.0%  Г1 (3 клетки) · Г5 обе роли · Г6 пустой выход
mistral-large-latest        ПРОВАЛ      0.02016    0.02661       0     0.0%  Г5 цена translator $0.0202 > $0.02
gemini-3.6-flash            ПРОВАЛ      0.07320    0.06354       0     0.0%  Г5 цена обеих ролей

Скрин убил 3 из 11 — против 2 из 12 у эксп-21, и убил по СОДЕРЖАТЕЛЬНЫМ порогам, а не по удобству состава.

mistral-large-latest провалился с запасом в 1% ($0.02016 против порога $0.02). Порог объявлен до замера и не двигается, но честная форма вердикта — «на границе», а не «дорог».

kimi-k2.6 — единственный, кто отдал ПУСТОЙ выход: 3 клетки из 4 пришли finish=length с нулевым content при 100% доли размышления, каждая по $0.0650.070. Это ровно тот класс, который уже стоил проекту волны (quirks §10), и он воспроизвёлся на новом вендоре.

2.2 Три починки, найденные ИСПОЛНЕНИЕМ по ходу Ф1

Что сломалось Как поймано Правка
эхо-мина на ПЕРВОЙ же покупке: черновик единицы 474f822806 вернулся полным китайским исходником (finish=stop, ханьцзы 1785, кириллица 0.00) вскрытие единицы глазами сразу после покупки в скрин добавлен боевой гейт годности + N ре-генов; цена ре-гена ложится в леджер
касса считала цену по таблице эксп-21: buy.priced звал role_topology/prices.cost, где новых моделей нет — прогон упал KeyError: kimi-k2.6 на середине падение прогона прайс-таблица пака подставлена в кассу явно; заведена проверка «цена считается для ВСЕХ моделей ростера»; сверка уже купленных записей новой таблицей — 0 расхождений
детектор markdown ловил разделитель сцены: *** (стандартный русский типографский разделитель) считался протёкшей разметкой ⇒ ПРОВАЛ получали glm-5 и gemini-3.1-flash-lite вскрытие клеток перед выводом (D39.61) детектор приведён к БОЕВОМУ (checks/sanitizer.go + D33.2: декоративный разделитель не заголовок); порог «нарушений более чем в одной клетке» НЕ менялся — менялось, что считается нарушением

⚠ Третья правка сделана ПОСЛЕ того, как первые вердикты были видны. Это признак подгонки, и защита от него одна: правка меняет ДЕТЕКТОР, а не ПОРОГ; она приводит его к боевому гейту, а не к желаемому составу; и она проверена регрессиями на девяти входах с известным ответом (***, * * *, # # #, ## ***, **жирный**, ### Глава 1, …).

2.3 Провод-факты для quirks

  • gemini-3.1-pro-preview отдаёт HTTP 503 «This model is currently experiencing high demand» сериями. Четыре вызова подряд — четыре 503 за 35 секунд, $0; через минуту тот же слаг ответил с первой попытки. Страница статуса Google инцидентов не показывала. ⇒ адаптер обязан иметь отступ на 5xx, иначе клетка теряется по причине, которая замером не является.
  • kimi-k2.6 без ручки эффорта выжигает бюджет: 3 клетки из 4 finish=length, content пуст, 100% выхода — размышление. Ручки управления размышлением у Kimi в quirks не описано.
  • gemini-3.6-flash дороже в роли ПЕРЕВОДЧИКА ($0.0732), чем в роли РЕДАКТОРА ($0.0635) — при том, что редакторский вход длиннее вдвое. То есть размышление у него растёт на задаче перевода с нуля, а не на объёме входа.
  • DeepSeek объявил на прайс-странице повышение цен («We plan to raise the overall pricing for DeepSeek API services in the near future, with a significant increase expected»). Проекция себестоимости книги в ИТОГе едет с этой оговоркой.

§0-Ф2 ПРЕ-РЕГ ФАЗЫ 2 (зафризен своим коммитом ДО покупок Ф2)

Панель (6 клеток = якорь + 5 жильцов, потолок промта «до 5 + якорь»). Правило состава объявлено в §0.6 и применено механически: прошедших скрин кандидатов черновой роли шесть, слотов пять, поэтому сохранена ЦЕНОВАЯ ОСЬ — обязательны якорь, самый дешёвый и самый дорогой прошедшие, середина добирается по возрастанию цены.

D0 deepseek-v4-flash      $0.00089/ед   ЯКОРЬ (боевой черновик)
D1 gpt-5.6-luna           $0.00367/ед   самый дешёвый прошедший
D2 deepseek-v4-pro        $0.00384/ед
D3 gemini-3.1-flash-lite  $0.00398/ед
D4 glm-4.7                $0.00656/ед
D5 grok-4.3               $0.00984/ед   самый дорогой прошедший

Снят правилом: glm-5 ($0.00959/ед, скрин ПРОШЁЛ) — шестой по цене из шести, вытеснен границей «до 5 жильцов». Он не выбывает из пака: в Ф3 он входит как ратифицированный резерв. Ценовая ось панели — 11× от края до края, то есть вопрос «покупает ли дорогой черновик качество» на ней задаваем.

Что покупается: черновик каждого жильца на 16 zh + 6 en единицах (с банкнотой на zh; пара en идёт БЕЗ блока — подписанного глоссария для книги Kristoff не существует, девиация унаследована от эксп-21) + боевой редактор A_law-конфига (deepseek-v4-pro, full-regen + закон-блок) поверх КАЖДОГО черновика + шумовой пол.

ШУМОВОЙ ПОЛ. Якорный арм гоняется ДВАЖДЫ end-to-end (p1, p2) на тех же 16 zh-единицах: свой черновик и своя редактура в каждом прогоне. Истинная разница — ноль по построению, поэтому измеренный разброс есть шум ПАЙПЛАЙНА (генерация черновика + генерация редактуры + судья), а не только редактора: у эксп-21 пол мерил повтор редактора над замороженным черновиком и потому был нижней границей. Пол применяется к Ф2 И Ф3; перевес ниже пола печатается вердиктом «ниже порога различимости» — это статус «не разрешено ригом», запрета печатать числа нет.

⚠ Пол кладётся ОТДЕЛЬНОЙ парой p1/p2, а не «боевая клетка + её повтор»: иначе одна половина пола побайтно совпала бы с армом E0 в том же судейском пакете, судья увидел бы один текст дважды, а контроль «близнец» сработал бы на боевом арме.

СЕМЕЙСТВО КОНТРАСТОВ Ф2 (zh и en раздельно), объявляется ЗДЕСЬ и впечатывается в ключ судейского прохода ДО первого ответа:

E1 vs E0 · E2 vs E0 · E3 vs E0 · E4 vs E0 · E5 vs E0   — финал поверх черновика жильца против
                                                          финала поверх якоря (5 гипотез)
E0 vs D0                                               — КОНТРОЛЬ: покупает ли боевой редактор
                                                          поверх якорного черновика

Поправка Холма — по шести. Контрасты D_i vs D_0 (черновик как ТЕКСТ) и разложение по осям объявляются описательными: поправку не несут и решений не определяют. Основание такого сужения — продуктовое: решение владельца принимается по ФИНАЛУ (что уедет в книгу), а не по черновику; эксп-21 §9 показал, чем кончается семейство, объявленное задним числом.

КРИТЕРИИ (объявляются ДО покупок, как требует промт).

  • «X бьёт Y» засчитывается, если перевес больше шумового пола (порог различимости = 2.8·SE пола при 80% мощности) И p Холма < 0.05 по объявленному семейству.
  • Перевес ниже пола печатается как «ниже порога различимости» с числом, а не замалчивается.
  • Правило ничьей (ратифицировано D39.117): при неразличимости рекомендация = самый дешёвый жилец. Это правило ОТЧЁТА, а не ожидание результата.
  • Детерминированные оси (эхо, батарея, покрытие канона, цена) читаются НЕЗАВИСИМО от судьи: они шума не имеют, и расхождение с судейским порядком — находка (строка 152 бэклога).

СМЕТА Ф2 по фактическим ценам скрина: $1.4533 (черновики 132 вызова + редактуры 132 + пол 32) при потолке $2.00. Не влезет — стоп и пинг, не резать молча.

АГЕНТ-ЗАПУСКИ Ф2: 16 (zh, по одной единице на сессию: 6 черновиков + 6 редактур + декой + пара пола = 14 текстов) + 3 (en, по две единицы: 6 черновиков + 6 редактур + декой = 13 текстов).