textmachine/eval/dovodka/PLAN-22-08.md

390 lines
41 KiB
Markdown
Raw Permalink 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 — ДОВЕСТИ ЭКСПЕРИМЕНТ ДО АРХИТЕКТУРНОГО ВЕРДИКТА
> ⚠⚠ **ЭТОТ ФАЙЛ — ПРОМТ ДЛЯ СЕССИИ ПОСЛЕ КОМПАКТА.** Он написан так, чтобы читающий его с нуля мог
> продолжить работу, не восстанавливая контекст из разговора. Читать ЦЕЛИКОМ, не грепом.
> Заведён по слову владельца 22.08: «составим план… это как промт. Я этот промт скормлю тебе же
> после компакта (ты потеряешь кучу контекста, и придётся восстанавливать его)».
>
> **Прежде чем что-либо делать — прочитай §0 и §1. Там записано, кто ты и во что не наступать.**
---
## 0. КТО ЧИТАЕТ ЭТОТ ФАЙЛ
Ты — **полигон-сессия TextMachine**. Зона записи: `eval/` и `docs/experiments/`. Чужие зоны
(`backend/`, `frontend/`, `platform/`) — только чтение. Коммитишь ТОЛЬКО пре-рег-фризы, формой
`git commit -m "…" -- <явные пути>`; `git add -A` и `git commit -a` запрещены.
Разговор с владельцем — по-русски, код и комментарии — по-английски. Владелец с бэкграундом
C++/userver; Go-решения объясняются по существу, не ссылкой на «так принято».
**Онбординг, если контекст пуст:** `CLAUDE.md` → этот файл → `eval/dovodka/KONSILIUM-22-08.md`
(итог консилиума двух экспертов, на нём стоит весь этот план) → `eval/dovodka/REVIEW-21-08.md`
(51 дефект глобального ревью) → отчёт `docs/experiments/23-editor-tier.md`, секции Д24Д30
(⚠ файл огромный, читать выборочно по секциям).
---
## 1. ЗАЧЕМ ВСЁ ЭТО: три вопроса владельца
**Вопрос 0 (метавопрос, главный):** живой художественный русский перевод **с консистентными
терминами по ВСЕЙ книге** (1000+ глав). Победить translationese; удержать имена, термины и голоса
на протяжении книги.
**Вопрос 1:** оптимальная архитектура пайплайна.
**Вопрос 2:** связка моделей для неё — **без привязки к одному вендору**. Дословно владелец:
«архитектура от вендора не зависит никак… даже на худших вендорах наша архитектура должна
отрабатывать лучше, чем худшие вендоры на другой архитектуре».
**ГЛАВНОЕ, ЧТО НАДО ПОНЯТЬ ПРО СОСТОЯНИЕ ЗНАНИЯ:** на вопрос 0 **не отвечает ни один наш
прибор**. Все панели мерят художественность ОДНОЙ главы; консистентность тысячи — ортогональная
ось, и она не мерилась ни разу. Это вывод консилиума, с ним согласны оба эксперта.
---
## 2. ЕДИНИЦА ИЗМЕРЕНИЯ — «ГЛАВА ГУ». Решение владельца 22.08
«Глава» у нас не единица: китайская и английская отличаются вдвое. Эталон — глава «Мастера Гу»:
```
1 глава Гу = 3 326 ЗНАКОВ исходника с пунктуацией (из них иероглифов ~2 690)
медиана; источник — ~/books/gu-zhenren/guzhenren-utf8.txt, сплит по заголовкам глав
⚠ пере-счёт скептика другим сплитом дал 2 301 главу и квартили 3 2933 490;
медиана сходится в пределах 1.5%, но СПЛИТ НАЗВАТЬ при следующем использовании
наша китайская единица = 2 156 знаков (иероглифов ~1 797) = 0.65 главы Гу
пере-счёт яблоки-к-яблокам: 0.670.68 — расхождение ≤5%, не влияет
наша английская единица = 1 642 знака = 0.49 — ⛔ СМЕШЕНИЕ АЛФАВИТОВ, см. ниже
```
**ОТКРЫТОЕ РЕШЕНИЕ ВЛАДЕЛЬЦА, БЕЗ КОТОРОГО СТАНДАРТ ДВУСМЫСЛЕН.** Коэффициент 0.49 получен
делением английских знаков на китайские — это разные алфавиты. По объёму СМЫСЛА английская единица
ближе к 1/5 главы Гу, и тогда **«стандарт 15 глав Гу» на английском = 5075 единиц, а не 30**.
**Какая конверсия правит стандартом — знаковая или смысловая — решает владелец.** До решения
английская панель «стандартного размера» рискует молча оказаться вдвое меньше замышленной.
⚠ По объёму СМЫСЛА английская единица ближе к 1/5 главы Гу (1 642 знака ≈ 280 слов).
**Мощность движется числом независимых ЧТЕНИЙ, а не объёмом текста.** Главы Гу — ценник
владельца, не физика прибора.
**Следствие, которое надо помнить:** все прошлые панели были **7.47.8 главы Гу**, а не «1215
глав». Номинальный объём наших вердиктов был завышен вдвое.
**СТАНДАРТ ПАНЕЛИ — 6 ГЛАВ ГУ. Решение владельца 22.08** («15 глав на китайском слишком много…
давай опустим до 6 глав мастера Гу, а то оценка фаблом на несколько архитектур, языков и
вендоров — это взрыв кардинальности»). В единицах: **9 китайских · 12 английских**.
**Конверсия — ЗНАКОВАЯ** (смысловая дала бы 30 английских единиц и противоречила бы самой цели
сокращения). ⚠ Английская единица по содержанию беднее китайской: межпарные АБСОЛЮТНЫЕ
сравнения этим загрязнены, внутрипарные контрасты — нет.
⚠⚠ **И это НЕ экономия, а честное следствие — записать именно так.** 6 глав Гу дают разрешение
2.61 места (zh) и 3.39 (en) — ХУЖЕ уже прогнанных панелей (7.8 главы Гу: 2.26 и 2.94).
Принято потому, что **ранговый прибор безнадёжен при ЛЮБОМ разумном размере**: эффект в одно
место стоит 4068 глав Гу. Разница между 2.26 и 1.63 — это разница между «не различаем» и «не
различаем». ⇒ **ранговый эндпойнт объявляется ОПИСАТЕЛЬНЫМ по построению, несущим становится
СЧЁТНЫЙ** — при 6 главах Гу он работает для частых классов.
**Драйвер расхода — число ПАНЕЛЕЙ, а не глав в панели.** Сессий израсходовано 98 из 200;
запланированные бесплатные шаги съедят ещё ~62. Урезание главы экономит единицы, отказ от
лишней панели — десятки. **Вторые чтения гнать на подвыборке 6 глав Гу, не на всей панели.**
⚠ Стандарт — для ПОКУПАЕМЫХ ранговых панелей. Бесплатные природные эксперименты (Шаги 1 и 4) идут
на 7.8 главы Гу — именно поэтому их ранговый эндпойнт заранее объявлен ОПИСАТЕЛЬНЫМ.
---
## 3. КАРТА: ГДЕ ЧТО ЛЕЖИТ
```
eval/dovodka/KONSILIUM-22-08.md итог консилиума — ОСНОВАНИЕ ЭТОГО ПЛАНА
eval/dovodka/REVIEW-21-08.md 51 дефект глобального ревью (11 блокеров)
eval/dovodka/PLAN-21-08.md прошлый план: реестр дефектов и что уже починено (§6)
docs/experiments/23-editor-tier.md отчёт: Д24 en-панель · Д26 zh-панель · Д27 аудит ·
Д28 вендоры · Д29 сводные таблицы · Д30 ЭРРАТА ревью
docs/experiments/00-provider-quirks.md вендор-ловушки. ЧИТАТЬ ПЕРЕД любой правкой вызовов
eval/dovodka/rol.py главный инструмент: сборка промтов, покупка, панели, своды
eval/dovodka/zakhod.py армы Z8/Z8R/Z1/Z7/ZF, отбор единиц, гейт цены
eval/dovodka/contour.py склейка ZP, критик, фиксер, банк, канон-гейт
eval/dovodka/money_d.py касса: фазы, потолки, фриз-гейт
eval/dovodka/runs.py журнал агент-сессий (кап 200)
~/books/dovodka/dv-*.json клетки моделей (сырьё)
~/books/dovodka/blind-keys-rol/ ключи слепых панелей + READERS-*.json
~/books/chtenie-rol/ пакеты чтения и ответы читателей
```
**Команды, которые понадобятся:**
```bash
eval/.venv/bin/python eval/dovodka/rol.py --selftest # гейты починок, ОБЯЗАТЕЛЕН
eval/.venv/bin/python eval/dovodka/rol.py --wire en [--arm=X] # ЧТО УХОДИТ В МОДЕЛЬ, читать вслух
eval/.venv/bin/python eval/dovodka/rol.py --emit-read <пара> --panel=A,B,C --tag=<тег> --each --n=16
eval/.venv/bin/python eval/dovodka/rol.py --verify-read <пара> --tag=<тег> # сверка сборки
eval/.venv/bin/python eval/dovodka/rol.py --score-arch <пара> --tag=<тег> [--anchor=RN] [--drop=uid8]
eval/.venv/bin/python eval/dovodka/rol.py --buy <пара> <АРМ> [--n=N]
eval/.venv/bin/python eval/dovodka/money_d.py --report | --selftest
eval/.venv/bin/python eval/dovodka/runs.py --claim <прогон> <проход> <ток…> | --done N | --report
```
---
## 4. ЧТО УЖЕ РЕШЕНО КОНСИЛИУМОМ (не пере-открывать без нового основания)
| решение | статус |
|---|---|
| **«Второй проход нужен» — СНЯТО как конфаунд.** Верно: «каждого слова обязана коснуться дорогая пишущая модель; число проходов — вопрос цены» | замерено |
| Дефолт — **одно дорогое письмо** с банком-законом; черновая стадия — конфиг профиля пары, причина пишется как «модель × длина входа × потолок вывода» | **принято ПО ЦЕНЕ при неразличимости схем** (не замер); причинность черновика — замерено (В6) |
| «Какая схема второго прохода» — **рычаг не подтверждён при разрешении прибора**. НЕ «схемы равны» | замерено |
| **Главный механизм качества — детерминированный слой**: узкий канон-фиксер + гейты на хвосты + ре-ген красной главы (~$0.03) | фиксер замерен; ре-ген принят без замера |
| Минимакс владельца: по браку несут **гейты**, по прозе — **ростер** | принято |
| ⛔ ЦЕЛЕВАЯ ФОРМА (не факт): «худший жилец — ДОРОЖЕ при том же браке; **по прозе деградирует честно и видимо**» | **ГИПОТЕЗА, решает Шаг 1; действительна лишь при идеально работающем слое. До закрытия Шага 1 НЕ основание для решений** |
| Вердикт о вендоре — **конъюнкция** порога И знакового p<0.05 | принято |
| **«Вендор-дефолт» как продуктовая конфигурация ЗАПРЕЩЁН** только явный пин уровня | принято |
| Дефолт письма `deepseek-v4-pro`; запасной `glm-5` с размышлением (**втрое-вчетверо дороже**, полосой) | замерено; **финальная формулировка — в Д31 после Шага 2** |
| Дешёвая линия (`gemini` на low, `luna`) **кандидаты, НЕ прод** до цензур-оси, zh-клеток и второго чтения | принято |
| `grok` в роли письма: **high — хуже, но НА ГРАНИ (+1.93 при MDE 1.93, знаковый p≈0.035, одно семейство); low — одним прибором из двух** (p=0.0923, по конъюнкции НЕ закрыт) | **ожидает второго чтения; финальный вердикт — только в Д31 после Шага 2** |
**КРИТЕРИЙ ПРИЁМКИ (в главах Гу). ⚠ Это НОРМАТИВ, а не замер:**
* **класс А** (пол · термин/имя · кусок исходного языка · полнота сцены · родство/ранги):
**1 фатала на 100 глав Гу по каждой оси, ПОСЛЕ гейтов и ре-гена** = 15 на книгу 1500 глав.
Счётчиков рода, родства и голосов **ЕЩЁ НЕ СУЩЕСТВУЕТ**; частота проверяема только гейтами
прод-прогонов 100 глав Гу, НЕ панелями.
* **класс Б** (доля глав, названных читателем машинными): **1 на 25 глав Гу**. База не грунтована
пере-снимается Шагом 5.1 ДО печати нормы.
* ⚠ **Редкий класс (ломается в ~10% глав) при 15 главах Гу НЕ РАЗРЕШАЕТСЯ** по редким печатать
частоту с интервалом, а не вердикт.
**Цена детерминированного слоя, которую нельзя прятать:** канон-фиксер несёт замеренный
однонаправленный штраф читаемости **0.58 места (6 глав хуже / 0 лучше, p≈0.03)**.
---
## 5. ШАГИ. ПОРЯДОК ВАЖНЕЕ СОДЕРЖАНИЯ
### ⭐ ШАГ 1 — ПАНЕЛЬ-0: «архитектура × слабый жилец». $0. ПЕРВЫМ
**Отвечает на минимаксный вопрос владельца.** На диске лежит природный эксперимент: арм `E6`
(glm-5 РЕДАКТОРОМ над боевым черновиком, `dv-g-e6-*`) и арм `RG` (тот же glm-5 ОДНОПРОХОДКОЙ,
`dv-n-rg-*`) **одни и те же 16 английских глав, один жилец, у обоих `reasoning=0`,
`finish=stop` 16/16**. Единственный варьируемый фактор топология.
Предварительный сигнал по клеткам (глава `001e6ac4`, окончания глаголов 1 л., жен/муж):
`D0` черновик 3/1 · `E6` редактор **3/2 — пол сохранён** · `RG` однопроходка **0/5 — пол сломан**.
Обратная сторона (`197f98eb`): разрядку «Т Е Р П Е Н И Е» потерял сам черновик потеряли и `E6`,
и `RG`. **буфер чинит только то, что черновик донёс.**
**НЕ ПЕРЕНОСИТЬ ЭТОТ ПРЕДВАРИТЕЛЬНЫЙ СИГНАЛ В ПАКЕТЫ ЧИТАТЕЛЕЙ.** Пакет не имеет права называть
ни вердикт другого прибора, ни существование контроля 6).
**Пре-рег (записать в отчёт ДО сборки пакетов):**
0. **БЛОКЕР СБОРКИ: `rol.py` НЕ ЗНАЕТ арм `E6`** единственное его вхождение там комментарий,
клетки `dv-g-e6-*` читают `contour.py`/`en_axis.py`, и **схема клеток другая** (нет полей `pair`
и `podacha`, `role=editor3`). Команда `--emit-read --panel=RG,E6,…` в текущем коде НЕ соберётся.
Сперва правка сборки: зарегистрировать источник `dv-g-e6-*`, учесть иную схему, уронить селфтест
на заведомо больном входе. Зона твоя, править можно. **Старые теги не пере-эмитировать.**
Промт `E6` для «wire-аналога» (п.5) берётся из рига фазы **ФД-G**, не из `rol.py`.
1. Состав панели: `RG` · `E6` · `Z0` · `ZF`. 16 английских глав пересечения, uid-список
зафиксирован ДО чтения. **Тег новый; существующие теги не пере-эмитировать.**
2. В шапке пре-рега напечатать: оба арма glm-5, `reasoning=0` на 16/16, `finish=stop` 16/16.
3. **ПЕРВИЧНЫЙ ЭНДПОЙНТ — ДЕФЕКТ-КЛАССЫ, НЕ МЕСТА.** Грепы объявить и снять ДО сборки пакетов:
пол рассказчика (окончания глаголов 1 л.) · авторские приёмы (разрядки) · куски исходного
языка · термины банка. Тест парный знаковый по главам.
3а. **Эталон грепов фиксируется ДО снятия**, иначе их можно подогнать под увиденное: для КАЖДОЙ
главы таблицей применим ли класс и какое значение верно по исходнику (пол рассказчика и т.п.).
Грепы валидируются на `D0`/`E0` с известным полом и **печатают строки-совпадения, не только счёт**.
3б. **Правило решения первичного эндпойнта:** первичная величина **число глав с 1 фаталом из
списка** (агрегат), парный знаковый тест p<0.05. По-классовые разбивки вторичные.
4. Вторичный эндпойнт ранги (`RG``E6`). При 7.8 главы Гу MDE2 места **заранее объявляется
ОПИСАТЕЛЬНЫМ**.
5. Сверки до чтения: исходник побайтно тот же (у `E6` нет поля `podacha` риг другой фазы);
потолки вывода напечатать; промт `E6` распечатать `--wire`-аналогом и **прочесть вслух**.
6. `--verify-read` EXIT=0; ключ до ответов; раскладка своя на каждую главу.
**Критерий готовности шага:** свод напечатан, дефект-классы посчитаны, вердикт сформулирован как
**«интеракция архитектура × жилец на ИСПЫТАННЫХ жильцах»** не «минимакс» (худший редактор не
искался; связка двухвендорна).
### ⭐ ШАГ 2 — ВТОРОЕ ЧТЕНИЕ `vendor2`. $0. БЛОКИРУЕТ ВЕРДИКТ ПО ВЕНДОРАМ
**БЛОКЕР, ЕСЛИ СДЕЛАТЬ НАИВНО: путь файла ответа ВПЕЧАТАН В САМ ПАКЕТ.** Значит «ответы в другой
каталог» невозможно без правки пакета, а правка пакета померяет разницу промтов, а не разброс
прибора. И читатель-2 получил бы путь к ответу читателя-1 перезаписал бы его либо увидел, и
согласие читателей оказалось бы **сфабриковано молча**.
**Правильная процедура:** ДО запуска перенести ответы первого чтения в `r1/` (счёт файлов до и
после ни один не потерян). **Пакеты не трогать вовсе**; читатели пишут по прежнему впечатанному
пути. После прогона собрать новые ответы в `r2/`. Ключи НЕ пере-эмитировать. Новые сессии.
Промт чтения тот же байт в байт.
Метрики, объявленные ДО: (i) корреляция порядков читатель-1/читатель-2 по главе; (ii) пере-счёт
всех контрастов на втором чтении, счёт перевёрнутых вердиктов, отдельно маржевые `RK`/`RE`;
(iii) доля дисперсии разностей читателей в дисперсии парной разности **это и есть «сколько в
пороге прибора»**; (iv) держится ли p у `RKT`.
Одно семейство меряет ШУМ, не ВКУС. Вкус закрывают только якорные главы владельца.
**Вердикт Д31 по вендорам НЕ ПЕЧАТАТЬ до метрики (ii).**
### ⭐ ШАГ 3 — ВТОРОЕ ЧТЕНИЕ `arch2`. $0
То же самое на архитектурной панели. Без него **ни одно «неразличимо» не имеет паспорта
разрешения**.
### ⭐ ШАГ 4 — ДУЭЛЬ «промт против без промта». $0
16 клеток `dv-n-re-*.БЕЗ-ПРОМТА.json` (gemini перевёл их вообще без инструкции вендор молча
выбросил второе системное сообщение) уже оплачены и лежат в карантине.
**Стандартный загрузчик их НЕ ПРОЧТЁТ**: суффикса `.БЕЗ-ПРОМТА` в `rol.py` нет нигде. Завести
**псевдо-арм под нейтральным именем** (например `RQ`) со своим загрузчиком карантинного суффикса.
Строк «БЕЗ-ПРОМТА» не должно быть ни в пакете, ни в ключе. Гейт правильности файлов: у
карантинных `prompt_tokens` 515 против 2951 у нормальных. `--verify-read` прогнать на новом теге.
Панель: `RE` · `RQ` (карантин) · `Z0` · `ZF`, 16 глав. **«Родство пары не прятать» относится к
СВОДУ: пакет о родстве молчит, как и обо всём прочем.** Решает **систематический знак**, а не
величина разрыва. Сверить у карантинных клеток `finish=stop` и
`prompt_tokens` 515 против 2951 у нормальных.
Даёт **вес ВСЕГО промта в единицах прибора**. Если даже полный промт не даёт устойчивого знака
у прибора нет разрешения для промт-инженерных выводов, и это печатается рядом с каждым «не хуже».
### ⭐ ШАГ 5 — ДВЕ БЕСПЛАТНЫЕ ПЕРЕ-СНЯТИЯ БАЗЫ
1. **База класса Б не грунтована.** «6% машинных глав» надо пере-снять из **40 уже лежащих
ответов** читателей, объявив формулировку вопроса. До этого норму класса Б не печатать.
2. **Счётчики отладить на купленных срезах** (род по морфологии · удержание канона по позиции ·
голоса · девизы). **Покупать 15 глав Гу с несуществующими счётчиками купить сырьё без
прибора** (класс В20 ревью: оплаченные клетки, которых не прочёл ни один прибор).
### ШАГ 6 — ПОЧИНКА ПРОВЕНАНСА РИГА. $0. ДО ЛЮБЫХ ПОКУПОК
* Клетки обязаны хранить `call_kwargs` и `reasoning_text` сейчас **прямого доказательства
того, что ушло по проводу, на диске нет**, только косвенность по токенам.
* Свод обязан печатать **паспорт разрешения** под каждым вердиктом:
```
ПАСПОРТ: прибор=ранговый · слепое чтение fable-5 · 1 чтение/глава · семейств 1
n=15 ед (7.4 глав Гу) · k=10 армов · sd контраста 4.2 · MDE 3.07 места
пол |Z0ZF|=2.80 (случайное 4.0; НИЖНЯЯ граница: общий черновик, читатель опознаёт родство)
правило: |Δ|>MDE И знаковый p<0.05 · клетки: [теги]
слеп к: эффектам <MDE · кросс-главной консистентности · расхождению вкуса прибора с владельцем
```
### ШАГ 7 — ⭐⭐ КРОСС-ГЛАВНЫЙ ПРИБОР. ~$2. ЕДИНСТВЕННЫЙ ЗАМЕР ПОД ВОПРОС 0
**15 глав Гу ПОСЛЕДОВАТЕЛЬНО** одной книги одним профилем + счётчики из Шага 5.
Единица анализа **персонаж×глава и термин×глава**, не глава.
**САМОЕ ОПАСНОЕ МЕСТО ВСЕГО ПЛАНА.** Если гнать полигон-ригом БЕЗ живого банка и терминолога,
замер консистентности померяет пайплайн **без носителя консистентности** и ответ на вопрос 0
будет ложно-отрицательным ПО ПОСТРОЕНИЮ.
**И ВТОРАЯ ПОЛОВИНА ТОЙ ЖЕ МИНЫ, ПРОВЕРЕНА 22.08: в банке НЕТ ПОЛЕЙ ПОЛА.** В `bank-en.json`
имена персонажей есть, а полей пола/рода/характер-листов нет вовсе. Значит английские прогоны, на
которых владелец увидел плывущий пол, шли с банком, которому НЕЧЕГО было сказать про пол, а
движковое поле `Gender` (`store/glossary.go:27`) на этих данных никогда не работало.
**Решение «банк чинит пол» не имеет НИ ОДНОГО замера, даже косвенного.** Хорошая новость: «пол
плывёт у всех» его и не опровергает механизма просто не существовало.
**Перед прогоном засеять в банк характер-листы** (пол минимум для именованных персонажей), иначе
прибор консистентности снова померяет пайплайн без носителя, и по оси пола это будет тот же
ложно-отрицательный ПО ПОСТРОЕНИЮ.
**В пре-реге назвать до покупки:** книга 蛊真人 · **15 её родных глав ПОДРЯД, диапазон указать
числами** · профиль боевой, **С ЖИВЫМ БАНКОМ и засеянными характер-листами**, движковым путём · исполнитель. Если движковый
прогон вне зоны полигона **пинг оркестратору ДО покупки**. Счётчики бегут по экспорту.
Слои: дрейф рода по персонажам · удержание банка по позиции в книге · маркеры речевого портрета ·
повторяемые формулы и девизы.
**Оба тезиса этого шага имеют ПРЯМУЮ ЦИТАТУ ВЛАДЕЛЬЦА** (его ответы `chtenie-vladeltsa-z17`,
вскрыты 22.08): дрейф пола «Рейн» между отрывками он нашёл САМ у всех четырёх армов и пометил
«что счётчик не увидит»; генерационную лотерею тоже сформулировал сам «сравнивать нужно по
нескольким прогонам на метод». Это не наша выдумка, это его наблюдение.
Честно записать: один прогон одного профиля это **n=1 по пайплайну**. Он ОТКРЫВАЕТ классы
дефектов, но НЕ сравнивает схемы.
Тот же прибор готовая in-loop телеметрия боевого прогона. Покупается один раз.
### ШАГ 8 — ОСТАЛЬНЫЕ ПОКУПКИ, по убыванию
| что | цена | что закрывает |
|---|---|---|
| пере-покупка английской базы `ZP` | ~$0.4 | несущий контраст Д23 стоит на арме с ЧУЖИМ (китайским) мандатом. **Либо чиним, либо ЯВНО пишем «контраст условный». Молча уронить нельзя** |
| З-2: критик **точечная** правка над однопроходкой | ~$0.35 | ядро V6 владельца; мерился только фиксер над ДЕШЁВЫМ черновиком, перенос запрещён. **ПЕРЕД ПОКУПКОЙ — $0-долг К-3** (`PLAN-21-08.md:81`): фильтр замечаний критика выбрасывает **20.7% строк на китайском против 0.6% на английском (×34)**, и «выброшенное действительно согласия» НЕ ПРОВЕРЕНО. У фильтра уже была история: прошлая редакция съела 10 настоящих находок. Если он ест находки вердикт по ядру V6 сместится к «критик бесполезен» ещё ДО покупки |
| З-1: `RN` + канон-фиксер | ~$0.10 | лучший промт с детерминированной страховкой, не пробован |
| цензур-ось всей дешёвой линии | ~$0.20.6 | без неё «gemini за $9 на книгу» продуктово пусто. Порог отказов объявить ДО пробы; wire-лог отделяет отказ от таймаута |
| `KE`: grok-редактор на `low` над **ЗАМОРОЖЕННЫМ** `D0` | ~$0.15 | **только если Шаг 1 покажет буфер.** `RK` пере-читается в той же панели (гард от регрессии к среднему) |
| **якорные главы владельцу** | $0 (его время) | **СВЕРЯЮТСЯ ОБЕ ОСИ РАЗДЕЛЬНО, не только итоговый порядок.** Основание вскрытые 22.08 ответы владельца `~/books/chtenie-vladeltsa-z17/`: **читаемость совпала с прибором точь-в-точь** (Т3>Т2>Т1>Т4, «в книгу Ту обоих), а **ось ВЕРНОСТИ разошлась радикально** — владелец ставит смелый текст по верности ПЕРВЫМ, прибор ПОСЛЕДНИМ («больше всех вольностей»). Наши панели ранжируют по правилу смысл→брак→художественность, то есть ось расхождения стоит ПЕРВОЙ. **Риск: прибор системно топит смелое письмо там, где владелец бы не топил** |
| дозная калибровка | $00.1 | карта «дефекты ↔ места». Порченым клеткам свой префикс и помета «в своды не брать» |
---
## 6. ГАРДРЕЙЛЫ И ЛОВУШКИ — читать перед каждым шагом
**Деньги. ⛔ СОСТОЯНИЕ НА 22.08: пакетный резерв $1.26 (17.04 из 18.30), в ФД-N свободно $0.29.**
Шаг 7 (~$2) и Шаг 8 целиком (~$1.11.65) в резерв НЕ ВЛЕЗАЮТ — нужна НОВАЯ фаза и слово владельца
ДО начала. Это штатный вопрос, а не авария: сессия после компакта иначе упрётся в гард на первой
же покупке и не поймёт, почему.
Потолки фаз поднимать решением сессии ЗАПРЕЩЕНО: называть сумму и ждать слова
владельца. Пакетный потолок не трогать вовсе. Срабатывание гарда = СТОП и вопрос.
Фриз-гейт отказывает покупке из незакоммиченного файла и из stdin — это правильно, фризить ПЕРЕД
покупкой.
**Панели.** Пере-эмиссия с другим составом армов переписывает раскладку уже прочитанной панели —
ответы становятся мусором молча. Новый состав = новый тег, всегда.
Резать панель, ось или кандидата решением сессии ЗАПРЕЩЕНО.
**Читатели.** Идентичность в файл ДО запуска · `runs.py --claim` ДО запуска · аудит
транскриптов ПОСЛЕ (⚠ **инструмента `--audit-read` НЕ СУЩЕСТВУЕТ** — либо руками по образцу
Д24: вызовов/путей/глав на читателя, либо построить его Шагом 6) · пакет не имеет права называть ни вердикт другого прибора, ни существование
контроля · один читатель на главу (главы большие).
**Провод.** Аномалия (флейк, 404 живой модели, новый `finish_reason`, игнор параметра) → сперва
**официальная дока вендора**, потом диагноз. Не гадать.
DeepSeek: НИКОГДА не отключать thinking. Слаг ≠ модель: веса меняются молча.
**Класс дефекта, который поймал нас пять раз за два дня — «реализация не то, чем названа»:**
промт нёс мандат чужой пары · размышление молча гасилось нашим кодом · вендор молча терял второе
системное сообщение · опубликованные числа не совпадали с сырьём · два арма панели оказались одним
текстом. **Ни один гейт этого не поймал — ловит только чтение того, что реально уходит в модель.**
`--wire` перед каждой покупкой, и прочесть вслух в отчёте.
**Нулевые выводы — единственные, которым дефекты этого класса ПОМОГАЮТ:** любой такой дефект
раздувает разброс и производит «неразличимость». Прежде чем печатать «схемы неразличимы»,
спроси себя, не куплена ли эта неразличимость дефектом.
**⛔ EXIT=0 и «СБОРКА ГОДНА» — НЕ СЕРТИФИКАТ.** `--verify-read` печатает побайтно совпадающие армы,
но сборку НЕ роняет; `--score-arch` возвращает 0 всегда. Дубли и контроли свода читать ГЛАЗАМИ —
именно так панель из 11 армов однажды показывала читателю 10 текстов.
**Мандат самопроверки (решение владельца 12.07).** Каждый шаг закрывается ревью ИСПОЛНЕНИЕМ:
своего кода · сформированных запросов к моделям · полученных результатов. Полигон регулярно
ошибается, и это искажает эксперименты.
**Тесты и гейты под зелень не подгонять.** Несогласие с тестом — вопрос владельцу, не правка.
---
## 7. ЧЕМ ЗАКРЫВАЕТСЯ РАБОТА
Эксперимент считается доведённым до архитектурного вердикта, когда:
1. **Шаг 1 закрыт** — известно, буферизует ли топология слабого жильца, и вердикт назван в
терминах интеракции на испытанных жильцах.
2. **Шаги 23 закрыты**у каждого «неразличимо» есть паспорт разрешения, и известно, сколько в
пороге от прибора, а сколько от текста.
3. **Шаг 4 закрыт** — известен вес всего промта в единицах прибора.
4. **Шаг 7 закрыт**у вопроса 0 впервые появился прибор.
5. Долг по английской базе `ZP` либо закрыт покупкой, либо **явно объявлен условным**.
6. Отчёт получил секцию **Д31** с вердиктом по вендорам (по конъюнкции!) и паспортом.
7. **Долг В21 — сверка кассы ДВУМЯ путями** — закрыт либо ЯВНО перенесён (несведённого $10.44,
потолки Д17.5 врут в 6×). В прошлом плане он был, в этот не переехал — после компакта о нём
не вспомнит никто.
8. Пинг в `docs/PROGRESS.md`, секция «Полигон» — там уже висит пинг №19 о движковом дефекте
(Gemini теряет глоссарий на эскалации), ответа нет.
## 8. ЧЕГО НЕ ДЕЛАТЬ
* **Не покупать новые главы ради различения схем середины.** Цена: эффект 1.0 места ≈ 40 глав Гу
(zh) / 68 (en); эффект 0.5 места ≈ 160 / 271. Там решают цена и хвосты, а не чтение.
* **Не печатать «схемы равны»** — только «рычаг не подтверждён при разрешении прибора».
* **Не называть английские армы продакшеном** — английского пар-пакета в `backend/prompts/` нет
вовсе, он живёт только в полигоне.
* **Не чинить `contour.base_a0` гашением текста** — проверено исполнением: единица выпадает из
отбора, и `chosen()` молча подставляет другую. Гейт годности стоит на СБОРКЕ панели.
* **Не лезть в `backend/`** — пинговать оркестратора.