- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель; - буквенные метки решений заменены сквозными Р1–Р234, следствия получили префикс С при прежних номерах: схема букв выродилась до пятибуквенных и сломалась — `АЕАКЛ` была занята и темой 53, и темой 65; - 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер означал тему, а слово стояло «решение», формулировка исправлена.
76 lines
7.3 KiB
Markdown
76 lines
7.3 KiB
Markdown
# 35. Ревизия моделей: переведены двое из девяти, и критерий оказался не тот (2026-08-06)
|
||
|
||
Сквозной проход по тринадцати уставам с одним вопросом: кого из девяти
|
||
`opus`-агентов можно опустить на `sonnet` без потери. Ответ — двоих, и по дороге
|
||
выяснилось, что критерий, которым конвейер до сих пор раздавал модели, отвечает
|
||
не на тот вопрос.
|
||
|
||
**Р142. Модель выбирается по цене ошибки, а не по роду прохода.** Прежнее
|
||
деление — applicative против generative — раздаёт модели по тому, **откуда**
|
||
проход берёт критерий. Но платит проект не за происхождение критерия, а за
|
||
разбирательство с находкой. Рабочий признак:
|
||
|
||
- находка приходит **со ссылкой на записанный источник** (строка спеки, цель в
|
||
манифесте, значение в конфиге, номер правила) — её опровержение стоит одного
|
||
открытия файла. Дешёвая модель ошибается здесь **проверяемо**;
|
||
- находка есть **суждение** («это второй способ», «этот оракул негоден», «эти два
|
||
документа противоречат») — опровержение стоит рассуждения, а рассуждение стоит
|
||
триажа или человека.
|
||
|
||
Признак объясняет прежнюю раскладку лучше, чем она сама себя: `gate`, `code` и
|
||
`ops` не потому дёшевы, что применяют чек-лист, а потому, что каждая их находка
|
||
показывает пальцем на строку.
|
||
|
||
**Р143. `doc-code-drift` → `sonnet`.** У него закрытый перечень из восьми
|
||
правил, и каждое — пара «факт в документе ↔ команда, которой он проверяется».
|
||
Устав прямо запрещает суждение («верность и полноту не проверяешь»), требует
|
||
формы «написано X, в коде Y, проверено командой Z» и правила «нечем проверить —
|
||
не находка». Ложная находка опровергается **той же командой, которая её
|
||
породила**. Это самый чистый случай признака за весь разбор.
|
||
|
||
**Р144. `task-form` → `sonnet`.** Семь пронумерованных правил с таблицами форм и
|
||
поимённым перечнем подмен. Но решило не это, а потребитель: его находка —
|
||
готовая формулировка, которую человек читает и отклоняет командой, а не
|
||
оркестратор, который **молча реализует**. Довод, державший `triage` на верхней
|
||
модели, здесь не работает вовсе: ошибка стоит строки чтения.
|
||
|
||
**Р145. `review-specs` рассмотрен и оставлен на `opus` — по причине, обратной
|
||
общей.** Он самый частый `opus`-проход конвейера (идёт и в `design`, и на коде,
|
||
то есть дважды за задачу), и по устройству он applicative: SKILL.md сам называет
|
||
стадию 1 «два applicative-прохода, оба дешёвые», хотя платит за одного `sonnet`,
|
||
а за другого `opus`. Расхождение разобрано и закрыто текстом: держит его наверху
|
||
направление `code → spec`, где надо заметить **отсутствие** — тихий фолбэк,
|
||
самодеятельный дефолт, проглоченную ошибку. Прочие держат `opus` из-за цены
|
||
ложных находок, этот — из-за цены пропущенных, а пропуск не оставляет следа
|
||
нигде: ни в отчёте, ни в границах покрытия.
|
||
|
||
**Р146. Остальные шестеро оставлены, и у каждого своя причина.** `adversary` и
|
||
`rubric` порождают критерий по построению (второй — с запретом открывать код в
|
||
первой фазе). `architecture` — чистое суждение о структуре. `triage` — сток, его
|
||
ошибка становится кодом. `doc-consistency` ошибается ровно в ту сторону, которую
|
||
дороже всего опровергать: путает «упомянуто в двух местах» с «оба утверждают».
|
||
`basics` заведён час назад, половина его вопросов — суждение, и модель у него
|
||
выбрана решением оператора в этой же сессии.
|
||
|
||
**Р147. Это разбор уставов, а не замер, и так и записано.** `calibration.md`
|
||
двигает модель инъекцией дефекта; здесь инъекции не было. Двое переведены
|
||
потому, что их ошибка **обнаруживается той же проверкой, что породила находку**,
|
||
— то есть цена ошибки ограничена сверху независимо от модели. Для остальных
|
||
такой границы нет, и трогать их без замера нельзя.
|
||
|
||
## Что из этого следует
|
||
|
||
**С134. Дешёвая модель безопасна там, где её ошибку опровергает та же команда,
|
||
что породила находку.** Не «где критерий записан» — записанный критерий бывает и
|
||
у суждения, и у сверки, а разница между ними в том, чем кончается спор.
|
||
|
||
**С135. Ошибка бывает двух родов, и модель защищает от разных.** Ложная находка
|
||
стоит триажа и видна; пропущенная не стоит ничего сегодня и не видна вовсе.
|
||
Проход, у которого дороже второе, держится на верхней модели даже будучи
|
||
applicative.
|
||
|
||
**С136. Потребитель находки — часть её цены.** Одна и та же ошибка стоит строки
|
||
чтения, если её читает человек, и разросшегося кода, если её молча реализует
|
||
оркестратор. Модель раздаётся с оглядкой на это, а не только на устройство
|
||
прохода.
|