# 33. Стоимость ревью: снят самый дорогой проход и самая дорогая модель (2026-08-06) Прогоны стали долгими, а счёт в токенах — заметным. Разбор шёл не по находкам, а по статьям расхода: что в конвейере стоит больше всего и что из этого окупается. Две статьи названы прямо оператором. **Р134. Проход независимой реализации снят целиком, и с ним профиль `deep`.** `reimpl` писал свою реализацию узла, не открывая существующую, и диффил по решениям. Его счёт определялся **объёмом вывода** — он один писал код, а не читал его, — и на прогоне это была самая большая строка расхода. Снят по решению о стоимости. Профиль `deep` от этого не «похудел», а исчез: `reimpl` был **единственным**, чем он отличался от `wide` (обоим оставалось бы 0, 1, 2, 4, 5). Держать два имени для одного состава нельзя — ровно от этой болезни лечилась ступень `wide` (решение JJJ): у профиля обязан быть один правильный ответ, иначе реестр состава нечем проверять. Ступеней теперь три: `quick`, `standard`, `wide`. Вместе с профилем ушло всё, что обслуживало только его: - **барьер стоимости** — он существовал ровно затем, чтобы дорогой проход не писал реализацию против кода, который через час перепишут. Дорогого прохода нет, и граф стал плоским во всех профилях: от гейта до триажа. Рёбер осталось два вида вместо трёх — зависимость и конфликт за ресурс; - **тест «идентичность, слияние, разбор»** (решение из [темы 27](27-record-type-single-axis.md)) — он служил единственной цели: выбрать `deep` не по ощущению. Выбирать больше нечего, и полторы страницы теста сняты вместе с проектным перечнем мест в `docs/review.md`; - **стадии перенумерованы**: 0 гейт, 1 сверка, 2 враждебный и эксплуатационный, 3 архитектурный, 4 триаж. Дыра на месте третьей читалась бы как пропущенная стадия. **Р135. Снятие записано как сознательное сужение, а не как «класс оказался пустым».** `calibration.md` требует замера на двух проектах перед удалением прохода, и замера не было — было решение о цене. Значит и в «Честном пределе» стоит честная строка: **«не знаю, чего не знаю» больше не достаёт никто.** Остаток независимого взгляда дают профиль `design` (код пишется под его находки) и `architecture` (второй способ, лишние слои), но альтернативной реализации, с которой можно сдиффить решения, у конвейера нет. Класс уходит в границы покрытия каждого прогона, а у проекта — в подраздел «перестали проверять сознательно». Без этой записи снятие через месяц читается как «проверено и признано лишним», и вернуть проход было бы не на чем. **Р136. Самая дорогая модель снята со всех проходов.** На ней сидели трое: `review-triage`, `review-architecture` и `doc-code-drift` из `av-dev-pm`. Все трое переведены на `opus`. Основание для верхней модели — «ошибка распространяется дальше самой находки» — никуда не делось, но оно объясняет, почему эти двое **не опускаются до `sonnet`**, а не почему им нужна ступень выше `opus`: разницы в пользу более дорогой модели не показал ни один прогон, а время и счёт она множила. Палитра цветов схлопнулась до двух: `sonnet` → green, `opus` → yellow. Красного в репозитории больше нет, и `frontmatter.py` теперь отвергнет модель вне этих двух — раскладка проверяется механически, как и раньше. ## Что из этого следует **С127. Профиль, у которого не осталось собственного прохода, — не профиль.** Ступень стоимости определяется тем, что она **добавляет**; сняли добавку — сняли ступень, а не оставили имя. Иначе два имени указывают на один прогон, и состав снова нечем проверить. **С128. Удаление по цене и удаление по замеру записываются по-разному.** Первое обязано назвать класс, который перестал проверяться, и оставить его в границах покрытия. Второе — сослаться на замер. Смешение их даёт самый дорогой вид тишины: пробел, выглядящий как решённый вопрос. **С129. Механика, обслуживающая один проход, снимается вместе с ним.** Барьер стоимости, тест выбора верхней ступени и проектный перечень мест держались только на `reimpl`. Оставшись, они выглядели бы работающими правилами и тратили бы внимание на каждом прогоне.