115 lines
15 KiB
Markdown
115 lines
15 KiB
Markdown
# Реестр требований фазы Д — сверка с буквой заказа
|
||
|
||
Источник: `docs/POLYGON_EXP2223_REDO_SESSION_PROMPT.md`, прочитан ПОСТРОЧНО, включая придаточные.
|
||
Так заведено потому, что все шесть пропусков эксп-22 стояли не в нумерованных блоках, а в
|
||
придаточных предложениях, и «критик полноты», писанный той же головой, их не увидел.
|
||
|
||
**Этот файл обязан быть закоммичен ДО покупок.** `eval/conformance.py --final` отказывается
|
||
сверять незакоммиченный реестр: гейт против таблицы, которую можно дописать под результат,
|
||
ничего не доказывает — так эксп-23 получил зелёную сверку против реестра из scratchpad.
|
||
|
||
Проверка:
|
||
```
|
||
eval/.venv/bin/python eval/conformance.py eval/dovodka/requirements.md --plan # по ходу
|
||
eval/.venv/bin/python eval/conformance.py eval/dovodka/requirements.md --final # перед сдачей
|
||
```
|
||
|
||
Колонка «улика»: `$ команда` — обязана вернуть код 0; `путь` — артефакт обязан существовать и быть
|
||
непустым; `—` — улики ещё нет (в режиме `--plan` законно, в `--final` = провал).
|
||
|
||
⚠ Улика вида «греп собственного отчёта» доказывает, что НАПЕЧАТАНО, а не что СДЕЛАНО. Гейт такие
|
||
улики считает отдельно и печатает их долю; здесь они помечены в тексте требования словом «печать».
|
||
|
||
<!-- ТРЕБОВАНИЯ -->
|
||
|
||
| ID | требование (цитата или сжатие промта) | улика |
|
||
|---|---|---|
|
||
| **РАМКА** | | |
|
||
| R1 | Отчёт фазы — секции Д0–Д8 в `23-editor-tier.md`, продолжение того же документа | — |
|
||
| R2 | Сводная таблица «пробел → чем закрыт → носитель-артефакт» обязательна | — |
|
||
| R3 | Пакетный потолок фазы сверен СЛОВОМ владельца при запуске | `$ grep -q "САНКЦИЯ ВЛАДЕЛЬЦА .4.00" eval/dovodka/plan.py` |
|
||
| R4 | Фазовые потолки разложены в пре-реге Д0 | — |
|
||
| R5 | Касса: фриз-гейт, атомарный замок, два пути счёта, проекционные гарды | — |
|
||
| R6 | Стоп-правило: не влезает → СТОП и пинг ДО покупок | `$ eval/.venv/bin/python eval/dovodka/plan.py` |
|
||
| R7 | Кап агент-сессий 80; запись ДО запуска суб-агента; селфтест до первой сессии | `$ eval/.venv/bin/python eval/dovodka/runs.py --selftest` |
|
||
| R8 | Гипотезы H-1, H-2а, H-2б, H-3, H-4 внесены в пре-рег ДОСЛОВНО | — |
|
||
| **Д1 — gemini** | | |
|
||
| R9 | Полная редакторская панель: 16 клеток поверх якорной базы эксп-22 | — |
|
||
| R10 | Ретрай-харнесс: экспоненциальный бэкофф на 5xx, окно ≥24 ч, поштучно, лимит цены на клетку | — |
|
||
| R11 | Журнал КАЖДОЙ попытки (время · код ответа · стоимость) файлом в сырьё | — |
|
||
| R12 | Вердикт «модель не отдаёт» — только с журналом за ≥24 ч + снимком вендор-статуса | — |
|
||
| R13 | Собрано ≥12/16 → судейство абс-ригом со всеми контролями | — |
|
||
| R14 | Потолок клетки считается по `total_tokens` (скрытая тарификация ×4.5) | — |
|
||
| **Д2 — внешняя подпись `tier`** | | |
|
||
| R15 | Задания `aj-tier-tasks` отданы внешнему судье вне Claude руками владельца | `$ test -s /home/ubuntu/books/editor-tier/sol-tier/ИНСТРУКЦИЯ.md` |
|
||
| R16 | Закрытие = НЕПУСТОЙ каталог ответов + пере-счёт скриптом класса `solscore` | `$ ls /home/ubuntu/books/editor-tier/sol-tier/*.txt` |
|
||
| **Д3 — en→ru несущая ось** | | |
|
||
| R17 | Провенанс каждого en-промпта объявлен в отчёте (печать) | — |
|
||
| R18 | Механический гейт консистентности en-промптов с zh: дифф по шаблону, не глазами | `$ eval/.venv/bin/python eval/dovodka/promptdiff.py en-ru` |
|
||
| R19 | Выверка пар-промптов против БОЕВОГО рендера | — |
|
||
| R20 | Фриз пар-промптов ДО покупок | — |
|
||
| R21 | en-банк: майнинг + терминолог по методике эксп-22, `signed:false` | — |
|
||
| R22 | Банк-закон D39.104 на ВСЕХ армах — прошлое отступление (72 клетки) не повторять | — |
|
||
| R23 | Материал: Кристофф, добор до 16 единиц методикой эксп-21/22, fr-страты сохранены | — |
|
||
| R24 | Проба контаминации гоняется ЖИЛЬЦАМИ, а не удобной дешёвой моделью | — |
|
||
| R25 | Материал непригоден по пробе → СТОП и пинг; замену без слова владельца не искать | — |
|
||
| R26 | Армы: боевая связка · dspro-однопроходка УРАВНЕННОГО мандата (строка 153) · черновик + ОБА edit-контура · контроль редактора E0/D0 | — |
|
||
| R27 | Судейство по нормам рига, Холм по объявленному семейству | — |
|
||
| **Д4 — edit-контур zh** | | |
|
||
| R28 | Якорные единицы эксп-22 переиспользуются, $0 за старые армы | — |
|
||
| R29 | Армы A0–A4 обязательны; **A3 (смысловой критик → фиксер) — ставка владельца, обязателен**; A5 — опция при остатке | — |
|
||
| R30 | Позиция контура: A1/A3 «ВМЕСТО редактора», A4 «ПОСЛЕ»; «до редактора» не мерится | — |
|
||
| R31 | Канон-гейт — детерминированная сверка покрытия банка после КАЖДОГО арма | — |
|
||
| R32 | Ответ по каждому арму печатается ТРЕМЯ осями: судья · канон-покрытие · цена | — |
|
||
| R33 | Несущий вердикт фазы на zh — внешняя подпись судьёй вне Claude | — |
|
||
| **Д5 — канон-вскрытие** | | |
|
||
| R34 | КАЖДОЕ место потери покрытия у R0 классифицировано (исчез / парафраз / другой перевод), таблица по терминам и местам | `$ eval/.venv/bin/python eval/dovodka/canon.py` |
|
||
| R35 | Результат вскрытия — регрессионный набор для канон-фиксера | `/home/ubuntu/books/dovodka/canon-dissect.json` |
|
||
| **Д6 — ja→ru разведка** | | |
|
||
| R36 | Материал `isekai_majutsushi_jp`, проба контаминации жильцами | `$ eval/.venv/bin/python eval/dovodka/material_ja.py; test $? -le 1` |
|
||
| R37 | Непригоден → СТОП и пинг; замену без слова владельца не искать | `$ eval/.venv/bin/python eval/dovodka/material_ja.py \| grep -q "СТОП\|OK "` |
|
||
| R38 | ja-промпты — те же гейты провенанса и консистентности, что Д3 | `$ eval/.venv/bin/python eval/dovodka/promptdiff.py ja-ru` |
|
||
| R39 | 8–10 единиц: связка · dspro-однопроходка · контроль редактора | — |
|
||
| R40 | Печатается сравнение ОТНОСИТЕЛЬНОГО порядка жильцов между парами zh/en/ja | — |
|
||
| R41 | Статус оси РАЗВЕДКА объявлен В ПРЕ-РЕГЕ, а не постфактум | — |
|
||
| **Д7 — самооценка** | | |
|
||
| R42 | Жильцам обеих ролей по трём книгам (zh/en/ja) вопрос о самооценке; ответы персистятся | — |
|
||
| R43 | Сверка самооценки с фактическими результатами пар; решений на ней не стоит | — |
|
||
| **Д8 — поправки тел по приёмке №16** | | |
|
||
| R44 | §15 эксп-22 переписан: 5 из 6 клеток — эхо, пойманное гейтом; гейт длины сужен до `finish=length` | `$ grep -q "ИНТЕРПРЕТАЦИЯ ПЕРЕПИСАНА ФАЗОЙ Д" docs/experiments/22-tenant-panel.md` |
|
||
| R45 | §13а эксп-22: банк-закон на оси en НЕ исполнен | `$ grep -q "на zh исполнено, на en НЕТ" docs/experiments/22-tenant-panel.md` |
|
||
| R46 | Sol-статусы §10/§11/§14 эксп-22 приведены к §16; оборванная фраза дописана | `$ grep -q "АРБИТРАЖ НЕ СОСТОЯЛСЯ; ПАКЕТ (б)" docs/experiments/22-tenant-panel.md` |
|
||
| R47 | Счёт агент-сессий эксп-23 = 58, не 50 (§6, §14 п.9) + пинг в PROGRESS | `$ grep -q "Агент-запусков: 58" docs/experiments/23-editor-tier.md` |
|
||
| R48 | Противоречие §9/§13 эксп-23 против §12в о внешнем контуре снято | `$ grep -q "Внешний контур есть у .border. и НЕТ у .tier." docs/experiments/23-editor-tier.md` |
|
||
| R49 | Наклон `border` пере-снят (+0.708) и сторожится гейтом | `$ eval/.venv/bin/python eval/editor_tier/verify23.py` |
|
||
| R50 | Таблица §0 эксп-23: строка R2 помечена как число АННУЛИРОВАННОГО run2 | `$ grep -q "run2, ТОЖЕ АННУЛИРОВАН" docs/experiments/23-editor-tier.md` |
|
||
| R51 | Пере-штамповка `aj-border*` объявлена (копии `replication-runA`, mtime 23:31:54) | `$ grep -q "ПРОВЕНАНС КАТАЛОГОВ СУДЕЙСТВА .border. УТРАЧЕН" docs/experiments/23-editor-tier.md` |
|
||
| R52 | Голоса `replication-runB` несли judge-имена прогона A: `ingest` починен, объявлено | `$ eval/.venv/bin/python eval/editor_tier/judge.py --run replication-runB border --score` |
|
||
| R53 | Нумерация: два «п.7» в §8 эксп-23 и порядок §9 эксп-22 исправлены, ссылки поправлены | `$ grep -q "три ссылки в §13а и §14" docs/experiments/22-tenant-panel.md` |
|
||
| R54 | `eval/README.md`: `editor_tier/` добавлен в карту действующих харнессов | `$ grep -q "editor_tier/. . ..exp-23" eval/README.md` |
|
||
| R55 | Статус-баннеры на отчётах экспов, где их нет | `$ test $(grep -l "баннер фазы Д" docs/experiments/*.md \| wc -l) -ge 7` |
|
||
| R56 | Шапка эндпоинтов `00-provider-quirks.md` актуализирована живым листингом | `$ grep -q "ЖИВОЙ ЛИСТИНГ ./models. ПЕРЕ-СНЯТ 2026-08-10" docs/experiments/00-provider-quirks.md` |
|
||
| **НОРМЫ РИГА** | | |
|
||
| R57 | Декой в каждой судейской пачке; сессия без пойманного декоя аннулируется целиком | — |
|
||
| R58 | Шумовой пол — парой, чьи половины судят РАЗНЫЕ сессии (порог был занижен на 19%) | — |
|
||
| R59 | Все армы единицы — в одном пакете одной сессии | — |
|
||
| R60 | Идентичность судей персистится ДО запуска; половиной пола не брать боевую клетку | `$ eval/.venv/bin/python eval/dovodka/runs.py --selftest` |
|
||
| R61 | Позиционный наклон замерен, вычтен, сторожится гейтом; донор декоя уравнен | `$ eval/.venv/bin/python eval/editor_tier/verify23.py` |
|
||
| R62 | Судье запрещено сравнивать варианты между собой И читать их рядом | — |
|
||
| R63 | Замок кассы снимает только поставивший его процесс (проверка живости PID) | — |
|
||
| R64 | Реестр требований фазы — В GIT до покупок; conformance валиден только против закоммиченного | `$ eval/.venv/bin/python -c "import sys;sys.path.insert(0,'eval');import conformance as c;ok,why=c.frozen(c.Path('eval/dovodka/requirements.md'));print(why);sys.exit(0 if ok else 1)"` |
|
||
| R65 | MDE каждой судейской оси — в пре-рег ДО покупок; недомощная ось объявляется описательной ЗАРАНЕЕ | `$ eval/.venv/bin/python eval/dovodka/power.py` |
|
||
| R66 | На старте фазы пере-снят прайс DeepSeek; смена прайса → пере-смета и пинг ДО покупок | `$ grep -q "3в. ВАХТА D39.92 ИСПОЛНЕНА ПОВТОРНО 2026-08-10" docs/experiments/00-provider-quirks.md` |
|
||
| **АНТИ-ЛЕНЬ** | | |
|
||
| R67 | Не собралось с первой попытки → ДОБИВАТЬСЯ; отказ принимается только с журналом попыток | — |
|
||
| R68 | Панель, ось или кандидата НЕ резать решением сессии — СТОП и пинг владельцу | — |
|
||
| R69 | Обязательство с адресатом вне зоны закрывается ТОЛЬКО изменением файла вне зоны | `$ ls /home/ubuntu/books/editor-tier/sol-tier/*.txt` |
|
||
| R70 | Детекторы и пороги после взгляда на вердикты не менять; девиация = СТОП и пинг В МОМЕНТ | — |
|
||
| R71 | Правка рига чужого пака — отдельным коммитом + пере-снятие его гейтов | `$ eval/.venv/bin/python eval/tenant_panel/verify22.py` |
|
||
| R72 | Приёмка адверсариальная author≠reviewer; опровергатель ДРУГОГО модельного семейства ОБЯЗАТЕЛЕН | — |
|
||
| R73 | Финал — построчный аудит закрытия заказа | — |
|
||
| **ОТЧЁТ И СДАЧА** | | |
|
||
| R74 | Сверка H-1…H-4 с фактом отдельной таблицей, ВКЛЮЧАЯ опровержения | — |
|
||
| R75 | CONFIRM/DENY владельцу — только с артефактом-носителем | — |
|
||
| R76 | Деньги: итог по фазам ДВУМЯ путями счёта | — |
|
||
| R77 | Пинг в `docs/PROGRESS.md` секция «Полигон» при закрытии | — |
|