Files
dev-skills/decisions/33-review-cost-cut.md
T
av bf6a173115 журнал решений: разложен по теме на файл, метки решений стали номерами
- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель;
- буквенные метки решений заменены сквозными Р1–Р234, следствия получили
  префикс С при прежних номерах: схема букв выродилась до пятибуквенных и
  сломалась — `АЕАКЛ` была занята и темой 53, и темой 65;
- 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер
  означал тему, а слово стояло «решение», формулировка исправлена.
2026-08-13 12:40:56 +03:00

6.8 KiB

33. Стоимость ревью: снят самый дорогой проход и самая дорогая модель (2026-08-06)

Прогоны стали долгими, а счёт в токенах — заметным. Разбор шёл не по находкам, а по статьям расхода: что в конвейере стоит больше всего и что из этого окупается. Две статьи названы прямо оператором.

Р134. Проход независимой реализации снят целиком, и с ним профиль deep. reimpl писал свою реализацию узла, не открывая существующую, и диффил по решениям. Его счёт определялся объёмом вывода — он один писал код, а не читал его, — и на прогоне это была самая большая строка расхода. Снят по решению о стоимости.

Профиль deep от этого не «похудел», а исчез: reimpl был единственным, чем он отличался от wide (обоим оставалось бы 0, 1, 2, 4, 5). Держать два имени для одного состава нельзя — ровно от этой болезни лечилась ступень wide (решение JJJ): у профиля обязан быть один правильный ответ, иначе реестр состава нечем проверять. Ступеней теперь три: quick, standard, wide.

Вместе с профилем ушло всё, что обслуживало только его:

  • барьер стоимости — он существовал ровно затем, чтобы дорогой проход не писал реализацию против кода, который через час перепишут. Дорогого прохода нет, и граф стал плоским во всех профилях: от гейта до триажа. Рёбер осталось два вида вместо трёх — зависимость и конфликт за ресурс;
  • тест «идентичность, слияние, разбор» (решение из темы 27) — он служил единственной цели: выбрать 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. Оставшись, они выглядели бы работающими правилами и тратили бы внимание на каждом прогоне.