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

385 lines
38 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 текстов).