журнал решений: разложен по теме на файл, метки решений стали номерами
- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель; - буквенные метки решений заменены сквозными Р1–Р234, следствия получили префикс С при прежних номерах: схема букв выродилась до пятибуквенных и сломалась — `АЕАКЛ` была занята и темой 53, и темой 65; - 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер означал тему, а слово стояло «решение», формулировка исправлена.
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
# 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`. Оставшись, они выглядели бы работающими правилами и тратили
|
||||
бы внимание на каждом прогоне.
|
||||
Reference in New Issue
Block a user