textmachine/docs/experiments/19-editor-contract-q4b.md

662 lines
67 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.

# 19. Контракт редактора: ДИФФ против FULL-REGEN (арм Q4b) + покрытие инъекции
**Полигон-сессия 0405.08.2026.** Расширение зоны по слову владельца 05.08: «довести до конца
найденный пиздец, доказать на конкретике, как пользоваться редакторами правильно».
Носитель — **строка 106 бэклога**: «Слой 3 НЕ достроен: контракт редактора = full-regen, а целевой —
узкие мандаты + ДИФФЫ». Арм **Q4b** пре-регистрирован в `15-segmentation-empirics.md:108` и
**не прогонялся НИ РАЗУ**. Зона: `eval/editor_contract/` + этот файл + пинг в PROGRESS «Полигон».
Потолок пробы **$0.40**. Не коммичу, кроме пре-рег-фриза.
> **РЕВЬЮ-ШАПКА ПРИЁМКИ (оркестратор №15, D39.108, 06.08) — ПРИНЯТ; вердикт гейта Q4b «диффы откладываются» подтверждён ре-раном.** Санкция расширения зоны подтверждена владельцем 06.08. **Поправки приёмки к телу:** (1) §2.1: строка «80 операций / 78 применено» и поправка-1 «честный знаменатель 78/81 = 0.963, операция-удаление потеряна молча, формат не умеет удаление» УСТАРЕЛИ против замороженного рига — `score.py` после ФИКС-2 даёт **81/79 = 0.975**, блок-удаление парсится И применяется (значение комплаенса и вердикт гейта не двигаются). (2) Вся колонка «канон вне блока» (§0.1/§2.3) снята ДО-фризовым стемом и не воспроизводится замороженной командой §2.9: комитнутый скорер даёт черновик **16/41 (39%)**, A0 14 · A5 15 · A1 22, D1 16·16·17 (мед 16), F1 22·16·18 (мед 18), D2 17·16·16, F5 15·19·19; причина — ужесточение стемов (方正 «Фанчжэн» слитно выпал, и по голду НОВЫЙ стем прав). Направления не переворачиваются; вывод «блок поднимает канон вне блока» остаётся отменённым. (3) Рассинхрон с эксп-20: объяснение арма E (§6.5 «обеднён знаменатель») ОПРОВЕРГНУТО репликацией с выверенным зеркалом — эффект 6.7× сохранился (эксп-20 §3.4); «дифф дороже» сужен до пары модель×целевой-язык (dspro ru 2.83 / en 0.67). В тело не вносилось — здесь шапка первична.
**Установлено твёрдо.** Дифф-контракт `research/19` §C1 механически исправен: формат-комплаенс
0.975 на базовых окнах и **0.966 на боевой единице** (порог 0.90), **малформед 0 на 90 вызовах**,
детерминированный аппликатор самопроверен 15/15. Вопрос «умеет ли модель в диффы на русской прозе»
закрыт положительно; опасение `research/19` («слабые модели на edit-форматах хуже, чем отдавая
текст целиком») не воспроизвелось.
**Экономика против диффа, реплицировано трижды:** отношение цены дифф/full-regen = 2.913 (база) ·
1.677 (арм L) · **2.468 (боевая единица, дефолтный режим, 6 клеток из 6)**. Размышление — 95% цены
диффа, растёт с объёмом ВХОДА (×2.78 при входе ×3.24, p=0.0003) и сужением мандата НЕ снимается.
**Причина удорожания НЕ вскрыта.** Обе гипотезы остались непроверенными: «несъёмный thinking» —
арм L не исполнен (посылка про ручку `low` не выдержала пере-счёта, §6.2); «русская фертильность» —
арм E конфаундирован неполным зеркалом промпта на проводе (§6.5).
**Что упало:** «do-nothing промптом не покупается» — ПАЛО. Узкий fidelity-only мандат даёт
`NO_CHANGE` 4/18 против 0/36 у промпта со стиль-мандатом. Сужение мандата покупает дисциплину, но
не деньги.
**⚠ Требует действия оркестратора.** Правка `00-provider-quirks.md` §3б, сделанная этой же сессией
0405.08 («ручка `low` на `deepseek-v4-pro` работает, срезает размышление на треть»), **ОТОЗВАНА**:
решающее правило «диапазоны не пересекаются» при n=3/3 воспроизводится нулевым вмешательством.
Строка §3а (`low``high` для pro) возвращена в силу; звено про `xhigh` устояло. Если отозванная
правка процитирована где-то ещё — сверить.
**Решение по строке 106.** Закрывать её выводом «диффы не берём» ПРЕЖДЕВРЕМЕННО. Корректный
статус: full-regen остаётся каноном не потому, что дифф-контракт плох, а потому что на этой модели
и в этом режиме он дороже — при невскрытом механизме удорожания. Что домерить — §6.9.
**Деньги.** Базовый прогон $0.194006 из потолка $0.40; четыре фальсификации $0.349566 из $0.50;
контроль `glm2` к пробе 18 — $0.081326. Ни один потолок не пробит, ни одна клетка не выброшена.
**Дисциплина.** Пре-рег обеих проб зафризен ДО платных вызовов (`4d1d9e5`); прогон верифицирован
инструментом (`verify_run.py`); результаты прошли адверсариальное ревью (5 линз × скептик,
15 находок, 4 выжили) — их правки уже внесены. Отчёт содержит §6.6 «что снято» и §6.7 «девиации».
---
## §0. Что уже установлено — и почему это не закрывает вопрос
Проба 18 (`18-editor-wire-probe.md`) на боевом проводе `deepseek-v4-pro`:
единый закон-блок исполняется 21/21 клеток; неверная строка банка принимается 6/6 и вытесняет
верную 5/6; редактор без блока ломает 512 из 20 канонических клеток черновика (два розыгрыша);
и он же вносит собственные дефекты (тихий обрыв при `finish=stop`, 五百年→«полувекового»).
**Чего проба 18 не могла сказать:** является ли это свойством МОДЕЛИ или свойством КОНТРАКТА
роли. Действующий контракт — full-regen с обязательной ДИСКУРС-ПЕРЕВЁРСТКОЙ и прямым мандатом
«варьируй лексику» (`editor.md`), то есть модель просят переписать текст целиком. Целевой контракт
(`09-target-architecture.md` §Слой 3, спека `research/19` §C1C2) — узкие правки диффом. Разницу
никто не мерил.
### §0.1 $0-находка ДО пробы: дыра пайплайновая, а не редакторская
Инъекция селективна и ограничена бюджетом 800 токенов (`pipeline-c1.yaml`), поэтому блок несёт
только сработавшее в чанке. Замер по уже оплаченному сырью пробы 18 (`editor_contract/offblock.py`;
знаменатель — 41 клетка: ПОДПИСАННЫЕ строки голда, встречающиеся в исходнике окна и отсутствующие
в блоке; 18 уникальных сущностей; `转`/`炼化` не скорятся — нет устойчивого стема):
| | канон подписанных ВНЕ блока |
|---|---|
| **черновик** (вход редактора) | **18/41 (44%)** |
| редактор full-regen БЕЗ блока (A0 · A5) | 16/41 · 17/41 |
| редактор full-regen + закон-блок (A1) | 24/41 |
**Разброс армов 16…24 лежит ВНУТРИ дисперсии одиночного розыгрыша, измеренной той же пробой
(7 клеток из 21) ⇒ утверждать «редактор ломает подписанные сущности вне блока» эти данные НЕ
позволяют.** Что они позволяют утверждать твёрдо: **канон по подписанным строкам вне
инъецированного подмножества = 44% уже в ЧЕРНОВИКЕ.** `花酒行者` («Монах Цветочного Вина») пришёл
неканоническим из транслятора — редактор его не ломал. Дыра общая для обеих ролей, потому что
инъекция селективна у обеих.
⇒ Осей две: **контракт правки** (эта проба) и **покрытие инъекции** (шире пробы; вход для владельца).
---
## §1. ПРЕ-РЕГИСТРАЦИЯ (записано ДО первого платного вызова)
Дата фиксации: 2026-08-05, до любых платных вызовов этой пробы.
### 1.1 Материал (переиспользован из пробы 18, $0)
Те же 6 окон `pick_windows()`; те же черновики арма B транслятора (`inj-w{k}-B.json`); те же 12
посаженных дефектов (`DEFECTS`, дословный список — §0.5 пробы 18). Прямая сравнимость с уже
оплаченными армами A1/A5 — по построению.
### 1.2 Армы (60 вызовов `deepseek-v4-pro`, провод = edit-стадия c1)
| Арм | Вызовов | Контракт | Блок | Черновик |
|---|---|---|---|---|
| **D1** | 18 (6×3) | ДИФФ | закон-блок §B | чистый |
| **D2** | 18 (6×3) | ДИФФ | нет | с посадками |
| **F1** | 12 (6×2) | full-regen | закон-блок §B | чистый |
| **F5** | 12 (6×2) | full-regen | нет | с посадками |
F1/F5 — ДОБОР реплик до N=3: у пробы 18 по одному розыгрышу (A1, A5), а её собственная находка —
одиночный розыгрыш нельзя цитировать как величину. Реплики различаются только недетерминизмом
провайдера (`temperature` в thinking-режиме DeepSeek игнорируется, quirks 00).
### 1.3 Дифф-контракт (спека `research/19` §C2, реализация `editor_contract/`)
Промпт `prompts/editor-diff.md`: мандаты верности/терминов/стиля из `editor.md` СОХРАНЕНЫ,
**переверстка ИСКЛЮЧЕНА** (по §C1/§C3 reflow — отдельный проход, арм Q4c), «пустой список правок —
полноценный ответ» (`NO_CHANGE`) — дисциплина do-nothing из §C3.
Формат — anchored search/replace, без номеров строк. Apply (`apply.py`, детерминированный,
самопроверен 9/9 юнит-кейсами до первого платного вызова): нормализация пробелов и классов
пунктуации («»""„ · —–- · … · '); якорь не найден → REJECT; **якорь неоднозначен (≥2 совпадений)
→ REJECT, а не тихое применение первого**; пересечение спанов → REJECT; малформед → операции нет.
Отброшенная операция оставляет черновик как есть — blast-radius одной правки, а не чанка.
### 1.4 Метрики (все детерминированные, $0; судейского рига НЕТ и он вне скоупа)
1. **Формат-комплаенс** = applied / ops_total по всем дифф-вызовам. Плюс доли reject по причинам и
доля `NO_CHANGE`/малформед.
2. **Канон В блоке** — 21 клетка, метод пробы 18 (с развязкой конфаунда 真元/元海).
3. **Канон ВНЕ блока** — 41 клетка, §0.1.
4. **Фикс-рейт посадок** — 12 дефектов, метод пробы 18 (regex + обязательный глаз).
5. **Атом-omission** ($0, детерминированно): по каждому предложению исходника — присутствие
многозначных ЧИСЕЛ и отрицательной полярности где угодно в выходе. Не длино-зависимо.
6. **Внесённые дефекты**: обвал непробельной длины >40% против черновика и числовой дрейф
(форма regression_guard); плюс глазная вычитка.
7. **Деньги и выходные токены** — COGS-ось (выход редактора ≈ 90% COGS, `research/15`).
### 1.5 Критерии (стоп-гейт Q4b дословно из `exp15:147`, пороги не мои)
> «Q4b: формат-комплаенс <90% ИЛИ fidelity-first trap хуже full-regen → диффы откладываются
> (закрыть D21.4/D21.10 явно); ≥90% и атом-omission=0 → дифф-редактор в прод-кандидаты.»
Операционализация, фиксируется здесь:
- **комплаенс** — п.1 ≥ 0.90;
- **fidelity-first trap** — п.4 (фикс-рейт посадок) дифф-арма НЕ ХУЖЕ full-regen-арма на тех же
посадках; знаменатель 12, оба арма усредняются по репликам;
- **атом-omission = 0** — п.5 на дифф-армах;
- канон (пп.23) и COGS (п.7) — **сопутствующие**, порогов не имеют, печатаются числом.
- Средние исходы на N=6×3 печатаются как «неопределённо», не абсорбируются.
### 1.6 Смета (напечатана ДО первого платного вызова)
`probe.py --plan`: 60 вызовов (36 дифф + 24 full-regen), вход ≈114 265 ток. → $0.0497.
Выход: ожидаемо 105 600 ток. → **ИТОГО $0.1416**; пессимистично 336 000 ток. → $0.3420;
абсолютный потолок (все 60 в cap 16000) $0.8849 — недостижим: перед КАЖДЫМ вызовом стоит
**проекционный гард** (не вызываем, если накопленное + худший исход вызова пробьёт $0.40),
плюс живой стоп $0.35.
### 1.7 Границы вывода, объявленные заранее
- Проза и переверстка НЕ сравниваются: дифф-арм по спеке их не делает. Вывод «дифф лучше/хуже»
относится к верности, терминам и деньгам, не к художественности.
- Судейского рига нет — никаких клеймов о качестве, которые требуют судьи.
- Одна книга, одна пара, 6 окон, единица ~500 ру-токенов выхода (боевой потолок 3200).
- Модель одна — `deepseek-v4-pro`. `research/19` предупреждает: слабые модели на edit-форматах
РАБОТАЮТ ХУЖЕ, чем отдавая текст целиком (aider: GPT-3.5 46% whole против 30% diff), и вся
эмпирика форматов правок снята на КОДЕ, на прозе не мерена. Отрицательный исход ожидаем и легитимен.
---
## §2. Результаты
60 вызовов `deepseek-v4-pro`, все `finish=stop`, **$0.194006 при потолке $0.40**. Реплики ×3 на арм.
> **⛔ Первая редакция §2 частично отозвана (05.08).** Приёмка воркфлоу дала 19 подтверждённых
> дефектов; несущие: (1) аппликатор диффов молча портил 6 из 36 выходов — карта офсетов строилась по
> NFKC-тексту, а резался оригинал, при этом риг рапортовал `applied=ops_total, rejected=0`;
> починен, самотест расширен 9/9 → **15/15**, все 36 выходов пере-применены из сохранённых ответов
> за $0, числа ниже — уже пере-считанные; (2) я сузил зафризенный знаменатель посадок 12→6 ПОСЛЕ
> результатов — возвращено, по замороженной формулировке гейт **не пройден** (11/12 против 12/12);
> (3) метрика полярности ловила `не ` внутри слов («мне», «камни», «крайне») — 21 ложное из 58,
> клейм «~10× преимущество на омиссии» **снят**, под токенной метрикой остаётся ~1.3× в шуме;
> (4) выигрыш на 成/分 был посчитан по одному окну из двух — исправлено ниже.
> Механика проверок и воспроизведение — `eval/premise_review/README.md`; полный текст ретракции —
> в истории git (коммит `4d1d9e5`), в отчёте он не воспроизводится по норме владельца 04.08.
### 2.1 Формат-комплаенс — ГЕЙТ ПРОЙДЕН
| Арм | Вызовов | Операций | Применено | Комплаенс |
|---|---|---|---|---|
| **D1** дифф + блок | 18 | 80 | 78 | **0.975** ✓ |
| **D2** дифф, посадки | 18 | 78 | 74 | **0.949** ✓ |
Reject: якорь не найден 4 · неоднозначен 1 · пересечение 1 · пустой 0. **Малформед — 0 из 36.**
**Среднее** 4.44 и 4.33 правки на вызов (медианы 4.5 и 4.0 — в первой редакции ярлык «медиана» стоял
ошибочно, здесь и в `score.py:78`).
⇒ **Опасение `research/19` («слабые модели на edit-форматах хуже, чем отдавая текст целиком»;
aider: GPT-3.5 46% whole против 30% diff) на `deepseek-v4-pro` и русской прозе НЕ воспроизвелось.**
Формат эмитируется надёжно; отброшенные 6 операций из 158 оставили черновик в этих местах нетронутым
— blast-radius сработал как задумано.
**Две поправки к этому разделу:**
1. **Дыра парсера рига.** `ec-D1-w4-r2` содержит 10-й блок с ПУСТОЙ заменой (удаление сноски
«— Прим. перев.»); `OP_RE` (`apply.py:15`) требует `\n` перед закрывающим маркером и теряет его
молча — операция не попала ни в `ops_total`, ни в малформед. **Честный знаменатель D1 = 78/81 =
0.963** (гейт всё ещё пройден). Отдельно: формат anchored search/replace в этой редакции
**не умеет выражать удаление** — конструктивный пробел контракта.
2. **Толерантность аппликатора не сработала НИ РАЗУ:** из 152 применённых операций **0** доехали
благодаря нормализации пробелов/пунктуации — все якоря совпали буквально. Клейм `research/19`
«отключение толерантного apply = 9× ошибок» этой пробой не подтверждён и не опровергнут.
### 2.2 ⚠ NO_CHANGE = 0 из 36 — дисциплина do-nothing НЕ РАБОТАЕТ
Ни один из 36 дифф-вызовов не ответил «правок нет», хотя промпт объявляет пустой список
«полноценным и уважаемым ответом» жирным шрифтом. Модель всегда находит ~4.3 правки.
`research/19` §C1 п.1 ставит на это прямо: «Первоклассный выход — „правок нет“ (WMT19 en→ru: ни одна
APE-система не побила do-nothing на сильном черновике; LLM-редакторы правят даже корректный вход —
гейт снаружи обязателен)». **Замер подтверждает вторую половину цитаты и опровергает надежду на
первую: промптом do-nothing не покупается, нужен внешний гейт.**
### 2.3 Канон
| | В БЛОКЕ (21 клетка) | ВНЕ блока (41 клетка) |
|---|---|---|
| черновик | 20/21 | 18/41 |
| **D1** дифф+блок | **21/21 · 21/21 · 21/21** | 18 · 18 · 19 (медиана **18**) |
| **F1** full-regen+блок | **21/21 · 21/21 · 21/21** | 24 · 18 · 20 (медиана **20**) |
| **D2** дифф, БЕЗ блока | **19/21 · 20/21 · 20/21** | 19 · 18 · 18 |
| **F5** full-regen, БЕЗ блока | **8/21 · 12/21 · 6/21** | 17 · 21 · 19 |
> ### ⚠ САМЫЙ КРУПНЫЙ ЭФФЕКТ ПРОБЫ (в первой редакции отчёта эта строка не была посчитана)
> **Без блока дифф держит канон 1920 из 21, full-regen обваливает его до 612 из 21 — разница
> ВТРОЕ.** Строка `元海` отдельно: дифф 4/6 · 5/6 · 6/6 против full-regen 0/6 · 1/6 · 1/6.
> Это ровно та ось, где §0.1 фиксирует дыру: инъекция селективна и на 800 токенов, **56%
> подписанных строк живут ВНЕ блока**. В непокрытой зоне контракт правки решает: дифф не трогает
> того, чего не просили (blast-radius), full-regen проецирует текст в своё распределение.
> Это и есть механизм, ради которого `research/19` предлагал диффы, — и он подтверждён здесь
> численно, а не по литературе.
**Два вывода, оба поправляют пробу 18:**
1. **В блоке контракт не различает: оба 21/21 во всех трёх розыгрышах.** Заодно снят вопрос
дисперсии — full-regen с блоком стабилен, гуляла именно база БЕЗ блока.
2. **Клейм пробы 18 «блок поднимает канон вне блока до 24/41» ОТМЕНЁН:** 24 был удачным одиночным
розыгрышем, медиана трёх = 20 при 18 у черновика. Разница внутри шума.
Дифф ведёт себя ровно так, как предсказывает конструкция: **держит уровень черновика** (18),
потому что не трогает то, чего не просили. Full-regen колеблется 1824.
### 2.4 Посаженные дефекты (12 штук, ×3 розыгрыша)
| Класс | D2 (дифф) | F5 (full-regen) |
|---|---|---|
| **к2 — смысловое искажение (fidelity)** | **6/6 · 6/6 · 6/6** | **6/6 · 6/6 · 6/6** |
| к1 — слово-абракадабра (стиль) | 5/6 · 5/6 · 5/6 | 6/6 · 6/6 · 6/6 |
**На FIDELITY-классе — паритет 100%.** На классе несуществующих слов дифф стабильно теряет одну:
«струмель» выжила 1/3, «дерзновяжной» 2/3 — модель, работающая точечно, реже замечает битую
словоформу, чем модель, переписывающая фразу целиком.
### 2.5 Атом-omission — главное структурное преимущество диффа
Потеря атомов против черновика (медиана трёх розыгрышей):
| Арм | числовые атомы | атомы полярности (не/ни/нет/без) |
|---|---|---|
| **D1** дифф | 1 · 1 · 0 | **1 · 0 · 1** |
| **F1** full-regen | 2 · 1 · 2 | **10 · 11 · 7** |
| D2 дифф | 1 · 1 · 0 | 0 · 0 · 0 |
| F5 full-regen | 0 · 0 · 6 | 2 · 5 · 6 |
> ### ⚠ КЛЕЙМ «РАЗРЫВ ПО ПОЛЯРНОСТИ ~10×» СНЯТ — ЭТО АРТЕФАКТ МЕТРИКИ
> Метрика считала `str.count` по подстрокам `"не "`, `"ни "`, `"нет"`, `"без "`. Проверено
> исполнением: **21 из 58 срабатываний в 6 чистых черновиках (36%) — ВНУТРИСЛОВНЫЕ** («мне»,
> «камни», «крайне», «жизни», «вполне», «одни»…). Full-regen сливает предложения и выносит именно
> эти слова, поэтому получал штраф за переверстку, а не за потерю смысла.
> **Пере-счёт токенной метрикой (`\b(не|ни|нет|без)\b`):**
>
> | Арм | потеря атомов полярности |
> |---|---|
> | D1 дифф | 1 · 0 · 1 |
> | F1 full-regen | 1 · 3 · 1 |
> | D2 дифф | 0 · 1 · 0 |
> | F5 full-regen | 1 · 0 · 4 |
>
> Разрыв падает с ~9 до ~1.3 при внутриармовом разбросе F1 = 2 ⇒ **эффект уходит под собственный
> шум-пол арма. «Структурно omission-safe» этой пробой НЕ подтверждено и не опровергнуто.**
> Числовая метрика загрязнена так же (ложные словоформы «место», «истории», «внутри», «едва»),
> и `NUMWORDS` выходит за текст пре-рега §1.4, где сказано «многозначных ЧИСЕЛ» — девиация.
**Числовые «потери» диффа — ложные срабатывания:** «десятых» исчезает потому, что дифф ПРАВИЛЬНО
приводит доли `成` к процентам, как предписывает `editor.md` (подробнее — §2.6, это выигрыш, а не потеря).
### 2.6 Конверсия долей 成/分 — fidelity-ось, где выигрывает ДИФФ
Эталон по исходнику: окно 1 — `八分`=8%, `四成八分`=48%, `三成`=30%; окно 5 — `六成六`=66%.
`editor.md` предписывает эту конверсию прямым текстом («доля 成 — десятые: 六成六 = 66%»).
| Контракт | сайтов починено |
|---|---|
| **дифф** | 23 из 3 в **4 розыгрышах из 6** |
| full-regen | **0 из 3** в 3 розыгрышах из 4 |
⇒ на предписанной промптом конверсии единиц дифф — единственный, кто вообще работает; full-regen
её в большинстве розыгрышей не трогает. **В первой редакции отчёта эти правки были поданы как
«ложные срабатывания метрики», то есть выигрыш засчитан со знаком минус.**
**Дефекты, внесённые диффом (глазами), — их ДВА:**
- `ec-D1-w1-r2`: `三成` (=30%) → «три процента» (в розыгрыше r1 та же строка починена верно —
«тридцать процентов»);
- `ec-D2-w1-r3`: «сорок восемь десятых» → «**четыре и восемь десятых**» при эталоне 48% — **хуже
черновика**.
Обвалов длины (форма regression_guard) — 0 из 72 во всех четырёх армах.
### 2.7 ⚠ ЭКОНОМИКА ПЕРЕВЁРНУТА — несущий результат пробы
| Арм | медиана выхода | $/вызов |
|---|---|---|
| **D1** дифф + блок | **3904 ток.** | **$0.004157** |
| **F1** full-regen + блок | 1384 ток. | **$0.002686** |
| D2 дифф | 4138 ток. | $0.003780 |
| F5 full-regen | 1368 ток. | $0.001846 |
**Дифф-редактор в 1.52 раза ДОРОЖЕ full-regen.** Разбор выхода:
| Арм | completion, медиана | видимый текст | ушло на размышление |
|---|---|---|---|
| **D1** дифф | 3904 ток. | ≈162 ток. | **3742 ток. (96%)** |
| **F1** full-regen | 1449 ток. | ≈612 ток. | 837 ток. (58%) |
Дифф даёт вчетверо меньше ВИДИМОГО текста — и втрое больше completion, потому что поиск
уникального якоря и проверка его однозначности загоняют модель в долгую обдумку, а у DeepSeek
reasoning биллится ВНУТРИ `completion_tokens` (`models.yaml`, `reasoning: subset`).
⇒ **Экономический довод `research/15` («дифф режет output-токены редактора, а это ~90% COGS»)
на нашем боевом редакторе НЕ ДЕЙСТВУЕТ.** Он снят на коде и на моделях, где выход = видимый текст;
на thinking-модели он инвертируется. Ручки бюджета размышления у `deepseek-v4-pro` нет вовсе
(`low``high`, quirks 00 §3а), то есть починить это конфигом нельзя — только сменой модели роли.
### 2.8 Вердикт по пре-регистрированному стоп-гейту
Гейт дословно: «формат-комплаенс <90% ИЛИ fidelity-first trap хуже full-regen диффы откладываются;
90% и атом-omission=0 дифф-редактор в прод-кандидаты».
| Условие | Факт | Исход |
|---|---|---|
| комплаенс 0.90 | 0.975 / 0.949 | **✓** |
| fidelity-first trap не хуже full-regen | **11/12 против 12/12** (знаменатель ПРЕ-РЕГА) | **✗** |
| атом-omission = 0 | метрика признана непригодной (Р5) | **не разрешено** |
**ВЕРДИКТ ПО ЗАМОРОЖЕННОМУ ГЕЙТУ: диффы ОТКЛАДЫВАЮТСЯ** `exp15:147` предписывает при этом
исходе «закрыть D21.4/D21.10 явно». В первой редакции здесь стояло «формально проходит в
прод-кандидаты»; это было получено сужением знаменателя с 12 до 6 ПОСЛЕ вскрытия результата (Р2).
Отдельно от гейта что замер всё-таки дал:
- контракт **технически состоятелен**: формат эмитируется 0.950.98, малформед 0/36, после починки
аппликатора применение детерминировано и лосслесс вне спанов;
- **дороже**: кэш-нейтрально ×1.63 медианно, но по окнам 0.693.23 в одном окне из шести дифф
ДЕШЕВЛЕ, так что «дороже» верно как среднее, а не как свойство каждого вызова;
- механизм цены: **96% completion диффа — размышление** (прямая улика: `reasoning_content` медиана
10 244 знака у диффа против 2 504 у full-regen, при видимом тексте 486 против 1 835);
- **СНЯТО адверсариальным ревью 05.08 (см. §6.2).** Здесь стояло: «вывод конфигом не чинится
ФАЛЬСИФИЦИРОВАН собственным замером: ручка `low` на pro РАБОТАЕТ и срезает размышление на треть
(диапазоны трёх армов не пересекаются)». Пере-счёт показал, что решающее правило «диапазоны не
пересекаются» при n=3/3 воспроизводится НУЛЕВЫМ вмешательством два блока ДЕФОЛТА на побайтно
одном запросе разделяются так же и с тем же размером эффекта. вывод «конфигом не чинится»
возвращается в статус **НЕ фальсифицированного** (а не «подтверждённого»): рычаг цены не показан
ни существующим, ни отсутствующим;
- **do-nothing промптом не покупается** (NO_CHANGE 0/36) но тестировался промпт со СТИЛЬ-мандатом
(51 из 80 операций D1 чистая лексика), а цитата `research/19` §C1 относится к fidelity-only
проходу, который не гнался.
**Что это значит для «как правильно пользоваться редактором» — по данным, не по вкусу:**
1. **Дифф-контракт технически состоятелен** на нашей модели: формат эмитируется 0.950.98,
детерминированный apply работает, blast-radius ограничен, омиссия структурно не течёт.
2. **Но окупается он только там, где выход ≠ размышление.** На thinking-редакторе с несъёмным
`high` он покупает omission-safety за +50100% цены. Это торг, а не улучшение.
3. **Оба контракта одинаково исполняют закон банка (21/21)** вопрос диффов НЕ про терминологию.
Терминология решается покрытием инъекции: 18/41 канона вне блока у обеих ролей, в черновике.
4. **Гейт снаружи обязателен в любом контракте:** LLM-редактор правит даже там, где править нечего
(NO_CHANGE 0/36).
### 2.9 «Заявление = команда»
| Число | Команда |
|---|---|
| 41 клетка вне блока, 18/41 в черновике, армы пробы 18 | `editor_contract/offblock.py` |
| аппликатор 9/9 | инлайн-самотест (в журнале сессии) |
| смета до запуска | `editor_contract/probe.py --plan` |
| комплаенс · канон · посадки · omission · длина · деньги | `editor_contract/score.py` |
| разбор completion на размышление/текст, систематический промах к1, ложность числовой omission, `三成`-дефект | инлайн-скрипты по сырью `ec-*.json` |
### 2.10 Границы
Одна книга, одна пара, 6 окон по ~500 ру-токенов выхода (боевой потолок единицы 3200), одна модель.
Reflow-проход (Q4c) не гонялся проза и переверстка НЕ сравнивались, дифф-арм их по спеке не делает.
Судейского рига нет: ни одного клейма о художественном качестве. Метрика полярности штрафует
легитимную переверстку 2.5а). Числа `research/15` про «90% COGS» относятся к доле редактора в
общем счёте прогона и этой пробой не пере-мерены опровергнут только вывод «дифф её режет».
---
## §3. ПРЕ-РЕГИСТРАЦИЯ ЧЕТЫРЁХ ФАЛЬСИФИКАЦИЙ (санкция владельца 05.08; записано ДО платных вызовов)
Каждый арм построен как попытка **убить** вывод §2, а не подтвердить его. Потолок **$0.50**,
живой стоп $0.44 + проекционный гард. Харнесс `eval/editor_contract/final_probes.py`, префикс `fp-*`.
| Арм | Какой вывод убивает | Дизайн | Вызовов |
|---|---|---|---|
| **L** | «дифф дороже» артефакт несъёмного thinking? | тот же материал §2, оба контракта, `reasoning_effort:"low"` квалификатор «ручка признана рабочей замером 05.08» СНЯТ по ревью 05.08 посылка не выдержала пере-счёта, §6.2 | 36 |
| **G** | «комплаенс 0.950.98» снят на окнах ВПЯТЕРО короче боевых? | единица **~3200 ру-ток. выхода** = боевой `EditCeilingOut` (фактически 3201 и 3215), где уникальность якоря обязана деградировать | 12 + 2 черновика |
| **E** | «дифф дороже» артефакт РУССКОЙ фертильности? | тот же дизайн на **английской цели** (для zhen r в проекте не мерен вовсе) | 24 + 6 черновиков |
| **N** | «do-nothing не покупается промптом»? | **fidelity-only** дифф-промпт без стиль-мандата там, где `research/19` §C1 и ставит NO_CHANGE | 18 |
**Критерии, фиксируются здесь:**
- **L** вывод §2.7 падает, если на `low` отношение цены дифф/full-regen опускается **1.0** по медиане
окон; держится, если остаётся >1.0. Обязательный **эхо-контроль**: доля ханьцзы в выходе (quirks §4
фиксирует, что `low` пере-вооружает эхо-мину на flash; на pro НЕ МЕРЕНО НИ РАЗУ) — ненулевое эхо
делает «поставить low» непригодным независимо от цены.
- **G** — вывод §2.1 падает, если комплаенс на боевой единице **<0.90** (порог `exp15:147`).
Ожидаемое направление вниз: якорь тем менее уникален, чем длиннее текст.
- **E** вывод §2.7 падает, если на английской цели отношение цены **1.0**. Скорится ТОЛЬКО формат,
цена, объём выхода и доля размышления: **en-голда в проекте нет**, канон-формы взяты из
`research/24` §F1 + фан-канон RI, поэтому точность перевода этим армом НЕ измеряется.
- **N** вывод §2.2 падает, если доля `NO_CHANGE` на fidelity-only промпте **>0** (в §2 было 0/36).
Средние исходы печатаются как «неопределённо», не абсорбируются. Девиации объявляются.
---
## §4. РЕВЬЮ ПОСЫЛКИ (сделано ДО платных вызовов, требование владельца 05.08)
Владелец 05.08: «важно ревьювить не только результат но и посылку». Поводом были два подряд
дефекта посылки, невидимых в результатах: аппликатор молча портил 6 из 36 выходов, рапортуя
`applied=ops_total, rejected=0`; арм zh→en поехал бы поверх РУССКИХ черновиков. Харнесс и
воспроизведение — `eval/premise_review/` (README там же), всё $0 поверх персистированного сырья.
### 4.1 Что доказано исполнением
| Посылка | Инструмент | Итог |
|---|---|---|
| Риг пробы C воспроизводит движковые `RenderBatch`/`Batch` | overlay-тест по НАСТОЯЩЕМУ движку (`premise_batch_test.go.txt`; в `backend/` ничего не писалось) | 63/63 блока байт-в-байт; `DetectSeries` из язык-слоя даёт те же 4 серии, что риг задавал руками; состав батчей совпал, [16,16,17,13,1], все под 6000 рун |
| Числа §C посчитаны верно | `recount.py` — свой парсер, своя нормализация, свой знаменатель, ничего не импортируется из `arbitrate.py` | воспроизвелись все 6 клеток: glm-5 25/45 · mistral 23 · flash 20 · pro 16 · terra 18 · luna 18 |
| Посадки дефектов пробы A корректны | `strict_defects.py` | 12/12 регексов валидны (`fix_rx` ловит оригинал, `bad_rx` — нет, на посаженном наоборот); канон черновиков 20/21 воспроизведён |
| Аппликатор диффов | `selftest_apply.py` | 15/15, включая NFKC-классы, на которых прежняя версия ломалась |
| Константы боевой единицы | сверка с `internal/chunk/chunker.go` | `EditCeilingOut=3200` · `FertCJK=1.1978` · `FertOther=0.3852`, формула та же (chunker.go:95) |
| Запросы четырёх армов — то, что заявлено | `dryrun_arms.py` | блок закона и черновик одинаковы в diff/full, различается ТОЛЬКО контракт; плейсхолдеров нет; арм E английский |
### 4.2 Найденные дефекты посылки
1. **Метрика посадок пробы A считала ИСЧЕЗНОВЕНИЕ, а не восстановление**: зачёт шёл по
`not re.search(bad_rx, out)`, поэтому удаление фразы целиком засчиталось бы как правка.
Пере-считано строго (`снят И fix_rx совпал`): восстановлено **47 из 48** клеток по четырём
армам, «выпало» 3. Дефект метрики реален, **вывод не двигается**.
2. **Асимметрия reasoning-режимов в §C** — объявлена в отчёте 18 §D п.5, но замером не закрыта.
**Закрыта 05.08** контролем `glm2` (18 §C.5): чемпион с мышлением 24/45 против 25/45 без него.
3. **`since_ch: 0`** в риге против непустого значения в проде: блок короче на 12 руны на
кандидата, а батч 2 стоит на 5967/6000 ⇒ в проде граница батча могла бы сдвинуться. На
сравнение моделей не влияет — батчи у всех кандидатов одни и те же.
4. **`long_units` набирает абзацы ЗА потолок** (3201 и 3215 ру-ток.), тогда как движок группирует
ДО превышения (`chunker.go:370`). Разница в один токен, но направление противоположное.
5. **Английский черновик нельзя делать боевым `zh-ru/translator.md`**: он параметризован лишь в
строке 1, а в строках 9/10/14 русский зашит ПРОЗОЙ («по нормам русского языка», «Пиши живым
литературным русским языком», «опираясь на существующие русские переводы»). Первый прогон дал
черновики на русском (E0: 1499 знаков кириллицы против 22 латиницы) — арм измерял бы русскую
фертильность под видом английской. Заведено зеркало `prompts/translator-en.md`, черновики
пере-сняты: 0 кириллицы, канон-формы блока соблюдены.
### 4.3 Ложные тревоги (проверены, дефекта нет)
- `parse_common.py` «отсутствует» — живёт в `eval/bank_autonomy/`, путь добавляется в `sys.path`.
- `parse_common` «теряет» `aliases`/`related`/`since_ch` — этих полей в bank-stop нет вообще.
- Знаменатель §A «21 вместо 27» — `元海` исключён намеренно, он скорится отдельно (в A2
инъецирован неверной формой): 27 клеток 6 окон = 21.
- Первая версия `dryrun_arms.py` объявила у fidelity-промпта «стиль-мандат» — подстрочный регекс
поймал ЗАПРЕТ («Стиль… НЕ ТРОГАЙ ВООБЩЕ»). Тот же класс ложных срабатываний, что `не ` внутри
«мне/камни» в §2.5. Проверка исправлена на полярность.
---
## §5. ПРОГОН ЧЕТЫРЁХ ФАЛЬСИФИКАЦИЙ: верификация исполнения
Владелец 05.08: «после прогона так же понять, что он прошёл правильно». Проверялась не осмысленность
результатов, а санитария — `eval/premise_review/verify_run.py`, $0.
| Проверка | Итог |
|---|---|
| П1 множество тегов ровно запланированное, без пропусков и лишних | 90 вызовов, L 36 · N 18 · G 12 · E 24 |
| П2 нет обрывов по потолку вывода | `finish=stop` на всех 90 |
| П3 модель на проводе одна | `deepseek-v4-pro` ×90 |
| П3а режим арма L — ПРЯМО из артефакта, а не косвенно | `extra_body={"reasoning_effort":"low"}` на всех 36 вызовах L, `{}` на N/G/E |
| П4 у каждого диффа есть файл применения | пропусков нет; отказы: `notfound` 1, `ambiguous` 5, `overlap` 0, `empty` 0, **малформед 0** |
| П5 деньги сходятся вторым путём | вызовы $0.344919 + черновики $0.004647 = **$0.349566**, совпало с печатью скрипта до 1e-6 |
| П6 короткие дифф-ответы объяснены | 9 коротких, все 9 — настоящий `NO_CHANGE` |
Потрачено **$0.349566** из потолка пре-рега $0.50; проекционный гард не срабатывал, ни одна клетка
не выброшена.
---
## §6. ВЫВОДЫ ЧЕТЫРЁХ ФАЛЬСИФИКАЦИЙ (после адверсариального ревью 05.08)
Результаты прогона прошли второй рубеж: пять независимых линз атаковали выводы на убийство, каждая
находка проверялась скептиком на состоятельность. 15 находок, **4 выжили, все с вердиктом «убивает»**.
Три из них бьют по формулировкам автора, одна — по правке источника истины, сделанной этой же
сессией. Ниже — уже исправленные формулировки; что именно снято, перечислено в §6.6.
### 6.1 Механизм: размышление масштабируется с ВХОДОМ, а сужением задачи не снимается
Доля `reasoning_chars` в выходе дифф-контракта медианно **0.95** (ec-D1 0.953 · ec-D2 0.942 ·
fp-LD 0.955 · fp-N 0.979 · fp-GD 0.980 · fp-ED 0.992) против **0.55** у русского full-regen
(ec-F1 0.573 · ec-F5 0.515, n=24). Видимый текст диффа — единицы процентов его цены.
- **Сужением МАНДАТА размышление не покупается.** Fidelity-only промпт срезал правки 4.50→1.94 на
вызов (81/18 → 35/18) и видимый текст 486→244 зн., а размышление не упало: 10244→11301 медианно,
MW p=0.752, среднее 11868→10128, выросло в 3 окнах из 6 ⇒ эффект не показан ни в одну сторону.
- **От объёма ВХОДА зависит, и сильно.** На боевой единице `prompt_tokens` 2084→6761 (×3.24),
размышление диффа 10244→28511 (×2.78, MW **p=0.0003**) при неизменном видимом выходе (486→428 зн.).
- **От найденной работы тоже зависит:** внутри ec-D1 Спирмен `rho(размышление, правки)=+0.781`
(p=0.0003) и `rho(размышление, длина выхода)=+0.651` (p=0.003).
**Правильная формулировка:** размышление масштабируется с объёмом входа и с найденной работой, но
не снимается сужением задачи. Поэтому дифф не даёт той экономии выхода, ради которой затевался.
⚠ Прежняя формулировка автора — «размышление не зависит от объёма работы» — **опровергнута**: она
строилась на одном контрасте (широкий→узкий мандат) и игнорировала корреляцию с входом и с правками.
### 6.2 Арм L — НЕ исполненная фальсификация; и посылка, и правка квирков отозваны
Измеренное отношение цены дифф/full — **1.677 по медиане окон** (w0 1.94 · w1 3.72 · w2 2.55 ·
w3 1.42 · w4 1.07 · w5 0.53; медиана клеток 1.396; 11 клеток из 18 >1). Число верно и воспроизведено.
**Но фальсификация не проведена**, потому что её посылка — «ручка `reasoning_effort:"low"` на
`deepseek-v4-pro` признана рабочей замером 05.08 (`00-provider-quirks.md` §3б)» — не выдержала
пере-счёта по всему доступному сырью:
| Улика | Что показывает |
|---|---|
| Решающее правило §3б «диапазоны не пересекаются» при n=3/3 | минимально достижимый двусторонний p=0.100 — дизайн не может достичь значимости по построению |
| **Нулевой контраст**: два блока ДЕФОЛТА на побайтно одном запросе (sha `92924c85b5fc`) | разделяются ТАК ЖЕ (p=0.100) и с тем же размером ×1.47, что и «эффект ручки» (13421/9125=1.47) |
| Объединённый пул на побайтно одном входе, дефолт n=6 против low n=6 | диапазоны ПЕРЕСЕКАЮТСЯ, MW p=0.589 и по `completion_tokens`, и по `reasoning_chars` |
| По арму целиком | дифф думает 8.1% (p=0.367), full-regen **+29.0%** (p=0.983) — разнонаправленно, что несовместимо с механизмом «срезает треть» |
| `prompt_tokens` при побайтно одинаковых messages | 2124 у дефолта И у `low`, 2203 у `xhigh` ⇒ провайдер серверно реагирует на xhigh и НЕ реагирует на low |
| По всей папке: 12 sha-групп, разыгранных обоими армами (39 вызовов) | low ниже дефолта лишь в 7 из 12, MW p=0.379 |
⇒ Гипотеза «премия диффа — артефакт несъёмного thinking» **остаётся НЕПРОВЕРЕННОЙ**. Арм L
засчитывается как **вторая независимая репликация вывода «дифф дороже»** на 36 свежих вызовах
(параметр ушёл на провод 36/36 в обеих подветвях ⇒ отношение внутренне контролируемо; клетки LD/LF
разнесены на 22110 с и дрейфом не объясняются), а НЕ как выдержанная проверка гипотезы.
**Мощность оговаривается явно:** утверждать «ручка нулевая» данные не позволяют — MW при n=6/6
ловит истинный эффект ×0.67 лишь в 37% случаев (бутстрап 20k). Корректный статус — **воздействие не
верифицировано**, при том что бремя лежит на посылке: клейм «работает» сделан на n=3/3 и
воспроизводится нулевым вмешательством.
**Опора, которая переживает падение статуса арма L.** «Дифф дороже» реплицирован **трижды**, причём
один раз на дефолтном эффорте и новом материале:
| Замер | Отношение дифф/full | Клеток >1 |
|---|---|---|
| база §2 (ec-D1/ec-F1) | 2.913 по окнам (2.313 по клеткам) | 10 из 12 |
| арм L (`low`) | 1.677 по окнам | 11 из 18 |
| **арм G, боевая единица, `extra_body={}`** | **2.468** | **6 из 6** |
### 6.3 Арм G — вывод §2.1 УСТОЯЛ, но арм слабее, чем кажется
Комплаенс на боевой единице **28/29 = 0.966 ≥ 0.90**: `notfound` 1, **`ambiguous` 0**, `overlap` 0,
малформед 0. Пре-регистрированный порог не пробит, деградации уникальности якоря не видно.
**Обязательный хвост:** знаменатель — 29 операций с 5 результативных вызовов на 2 текстах (шестой,
`fp-GD-u1-r1`, дал NO_CHANGE и вышел из знаменателя как 0/0). «Неоднозначных 0 из 29» при верхней
95% границе Клоппера–Пирсона **11.9%** и базовой доле 1/81 = 1.2% означает: арм не отличает 0% от
десятикратного к базе. Утверждать можно «катастрофической деградации нет», но не «деградации нет».
### 6.4 Арм N — вывод §2.2 ПАЛ: do-nothing покупается сужением мандата
`NO_CHANGE` **4 из 18** на fidelity-only промпте против **0 из 36** на промпте со стиль-мандатом.
Дисциплина «ничего не делать, если черновик хорош» уговорами не берётся, а **сужением мандата —
берётся**. Это ровно то, что `research/19` §C1 и предписывал тремя узкими проходами.
Атрибуция причины переписана по §6.1: сужение мандата покупает NO_CHANGE и режет правки, но
**размышление им не срезается** — то есть узкий проход даёт дисциплину, а не дешевизну.
### 6.5 Арм E — формально пал, НЕ засчитан; причина пере-обоснована ПО ПРОВОДУ
Медиана отношения цены **0.617** по 12 парам (0.629 по-оконно), 10 клеток из 12 <1 по букве
критерия вывод §2.7 на английской цели падает. **Не засчитан из-за неполного зеркала промпта.**
Названная автором причина «в зеркале нет ПРИМЕРОВ перевёрстки» **была ложной**: примеров не
было и у русского компаранда, потому что `editor_wire_probe.py:43` `FEW_SHOT = False` дропает блок
`---FEWSHOT---` (проверено на 48/48 русских full-вызовов). Настоящее различие на проводе:
| Что | ru full | en full |
|---|---|---|
| системный промпт | 3071 зн. / 16 непустых строк | 1174 зн. / 10 строк (0.38) |
| блок ДИСКУРС-ПЕРЕВЁРСТКА (`editor.md:15-19`) | есть, 1199 зн. = 39% | **отсутствует вовсе** |
| размышление full-regen | 2183 зн. (ec-F1+F5) | **14711 зн.** (×6.7) |
| размышление диффа | 10244 зн. | 8650 зн. (×0.84) |
Прорежение **асимметрично именно по контрактам**: отношение en/ru системного промпта 0.38 на full
против 0.65 на диффе обеднён преимущественно знаменатель. Дифф на английском ведёт себя как на
русском (даже думает чуть меньше), а «перевернулся» full-regen. вопрос пре-рега премия диффа
артефакт русской фертильности?») **остаётся без ответа**; для ответа нужен полный en-компарандум.
### 6.6 Что снято этим ревью
1. Слово **«УСТОЯЛ»** у арма L фальсификация не проведена 6.2).
2. **`00-provider-quirks.md` §3б, звено (а)** `low` на pro срезает размышление на треть, бюджет
управляем») отозвано; строка §3а `low``high` для pro») НЕ опровергнута и возвращается в силу
до замера с мощностью. Звено (б) про `xhigh` **сохраняется и усиливается**: min(xhigh) 17588 >
max(дефолта) 15720, p=0.0238.
3. **Баннер «вывод „конфигом не чинится“ ФАЛЬСИФИЦИРОВАН»** — снят; вывод возвращается в статус
НЕ фальсифицированного (не «подтверждённого»).
4. **Квалификатор в дизайне арма L** «ручка признана рабочей замером 05.08» — удалён.
5. **Обоснование эхо-девиации** «единичные знаки — цитаты в сносках» — ложно, заменено (§6.7 п.1).
6. **Формулировка §6.1** «размышление не зависит от объёма работы» — опровергнута корреляциями.
### 6.7 Объявленные девиации и оговорки
1. **Девиация от эхо-критерия.** Пре-рег: «ненулевое эхо делает `low` непригодным независимо от
цены»; скорер применил порог 5%. Наблюдено 2 вызова, 4 знака. `fp-LD-w4-r1` (`修行`) — дословный
SEARCH-якорь по сноске САМОГО черновика, REPLACE пуст, операция сноску удаляет ⇒ модель знаков не
порождала. `fp-LF-w3-r2` (`潜能`, доля 0.117%) — сносок в выходе нет, знаки внутри повествования
(«символом жизненной潜能»), черновик в этом месте несёт корректное «жизненного потенциала» ⇒
**порождённая моделью микро-утечка исходника**. Порог 5% строже боевого гейта
(`disposition.go` `cjkEchoThreshold = 0.15`) и на два порядка выше наблюдённого; явление quirks §4
(выход исходником целиком, доля 0.830.999) не наблюдалось. **Low-специфичность НЕ показана:** на
дефолтном эффорте ханьцзы тоже есть (ec-D1 2/18, ec-D2 1/18 — та же сноска черновика). ⇒ по БУКВЕ
пре-рега рекомендация «поставить редактору `low`» остаётся **закрытой независимо от цены**.
2. **Две конвенции медианы в одном скорере**: арм L — медиана по-оконных медиан, арм E — медиана
клеток. Обе устойчивы (L по клеткам 1.396; E по окнам 0.629), вердикты не переворачиваются, но
конвенции надо привести к одной.
3. **Межсессионный дрейф крупный и реальный.** Шесть дефолтных розыгрышей побайтно одного запроса в
хронологическом порядке: 1952 → 9104 → 10818 → 11157 → 13421 → 15720 знаков размышления, строго
монотонно (вероятность 1/720). Любое сравнение блоков, разнесённых во времени, конфаундировано;
защищены только парные внутриблочные отношения.
4. **Дыра в самом ревью посылки:** §5/П3а проверяло, что параметр УШЁЛ на провод, но не что он
ПОДЕЙСТВОВАЛ. Через неё посылка арма L и проехала. Инструмент под П3а дописан
(`verify_run.py`), предупреждение об этом различии печатается в самом отчёте прогона.
5. **Контроль §C.5 отчёта 18** (`glm2`) добавлен после прогона и вне пре-рега — объявлен там же.
### 6.8 Что это даёт продукту (строка 106)
- **Дифф-контракт механически исправен.** Формат-комплаенс 0.975 на базе, 0.966 на боевой единице,
**малформед 0 на 90 вызовах**, аппликатор 15/15 на самотесте. Контракт `research/19` §C1 работает —
вопрос «умеет ли модель в диффы» закрыт положительно.
- **Экономически он проигрывает full-regen, и это реплицировано трижды** (2.913 · 1.677 · 2.468),
включая боевой размер единицы на дефолтном режиме.
- **Причина проигрыша НЕ установлена.** Обе гипотезы остались непроверенными: «несъёмный thinking»
(арм L не исполнен, §6.2) и «русская фертильность» (арм E конфаундирован, §6.5). Установлено
только, что размышление — 95% цены диффа, растёт с входом и не снимается сужением мандата.
- **Узкий проход покупает дисциплину, а не деньги:** fidelity-only даёт NO_CHANGE 4/18 против 0/36,
но размышление не режет.
**Строку 106 закрывать выводом «диффы не берём» ПРЕЖДЕВРЕМЕННО.** Правильный статус: полный
ре-ген остаётся каноном не потому, что дифф-контракт плох, а потому что на этой модели и в этом
режиме он дороже — при том, что механизм удорожания не вскрыт, а два его кандидата не проверены.
### 6.9 Что домерить, чтобы закрыть по-настоящему
1. **Отличимость `low` от дефолта** — интерливинг дефолт/low в ОДНОМ блоке (защита от дрейфа §6.7 п.3),
n≥10 на арм. До этого замера `00-provider-quirks.md` §3а остаётся в силе.
2. **Полный en-компарандум** — зеркало `editor-en.md` с блоком дискурс-перевёрстки, чтобы вопрос
фертильности получил ответ.
3. **Дифф на модели без несъёмного размышления** — единственный прямой тест гипотезы §6.2.
4. **Качество правок** — ни один арм его не мерил; дифф может быть дешевле или дороже и при этом
делать ХУЖЕ. Судейского рига в скоупе не было и нет.