# 34. Пропускная способность против глубины: тяжёлые проходы уехали в верхнюю ступень (2026-08-06) Тема 33 сняла самую большую разовую статью расхода, но не тронула главную — **частоту**. Меряющая пара стояла в `standard`, то есть на большинстве задач, и именно она делала прогон долгим: два прохода держат машину, идут цепочкой и доказывают находки запуском. Разбор шёл от цели, названной прямо: **лучше поправить в следующей задаче, чем держать одну два часа.** **Р137. `adversary` и `ops` переехали в `wide`, и это решение по цене, а не по ценности.** Стадия осталась самой урожайной за всю историю замеров — пять из семи выживших находок дозапуска и единственная находка про молчаливый старт отката. Но её ценность оплачивается на **каждой** задаче, а получается на немногих: оракул добывается запуском, запуск — это машина, цепочка и часы. Ступень, которая раньше была умолчанием, стала исключением на 5–10% задач. **Р138. Заведён `review-basics` — мелкая осадка двух тяжёлых проходов, без единого запуска.** Он стоит только в `standard` и берёт ту половину вопросов, на которые отвечают **чтением**: таймаут и отказ соседа, идемпотентность и одновременная запись, остановка на середине, частичный откат при двух версиях, наблюдаемость и тишина, очевидный рост объёма — плюс два вопроса архитектурного: второй способ мимо единой точки (грепом, не картой) и что отсюда удалить. Потолок 4 находки, машину не держит, ничего не меряет. Отдельная его обязанность — **вопрос 4, частичный откат**. Без него правило «миграция схемы не поднимает ступень» рассыпалось бы: раньше миграцию разбирал `ops`, а он теперь в `wide`. Проход заведён не «до кучи», а затем, чтобы у `standard` остался хоть один взгляд на ось времени. Модель у него верхняя, `opus`, и это не противоречит слову «средний»: усилие режется **входом и потолком**, а не моделью. Дешёвая модель на проходе с мнением платит триажем — это записанный замер, и отменять его без нового замера нельзя. **Р139. Объём и незнакомость изменения вошли в правило выбора ступени.** Раньше ступень выбиралась только по классу («вводит ли новое понятие»), и правило прямо запрещало смотреть на размер. Теперь вопросов два: крупное или незнакомое (трогает несколько узлов, переносит ответственность, форму решения нащупывают по ходу) → `wide`; мелкое (один узел, форма очевидна заранее, откат — обратная правка) → `quick`; всё остальное → `standard`. Причина смены: цена разбирательства растёт именно с объёмом и неизвестностью, а не с классом правила. Отрицательный тест `quick` сохранил прежнюю мудрость в новой рамке: **что после мерджа не откатывается обратной правкой — не `quick`, каким бы маленьким ни был дифф.** Три строки миграции идут в `standard`. **Р140. Спорный случай решается вниз, и асимметрия объяснена ценой.** Между `standard` и `wide` — в пользу `standard`: ошибка сюда стоит находки на следующей задаче, ошибка обратно стоит трёх тяжёлых проходов на каждой задаче, выбранной неверно. Между `quick` и `standard` — тоже в пользу `standard`, но по другой причине: там разница в один дешёвый проход, зато единственный, кто на нижних ступенях смотрит на отказы. Доля `wide` 5–10% записана как **проверка правила, а не пожелание**: если ступень уходит каждой третьей задаче, её выбирают по ощущению важности. **Р141. Сделка записана вместе с механизмом обратной связи, иначе это тихая потеря качества.** На `quick` и `standard` не проверяется ничего, что требует запуска: построенный путь, эксперимент против драйвера, любое число. Это самая крупная граница покрытия конвейера, и она обязана идти строкой в каждом таком прогоне поимённо. Обратная связь — журнал дефектов `docs/review.md`: класс, который ловят только меряющие проходы, начал всплывать после мерджа — значит ступень выбирают слишком низко. Плюс сам `basics` обязан сигналить строкой, если видит, что ступень занижена: он единственный, кто смотрит на дифф целиком на нижних ступенях. ## Что из этого следует **С130. Стоимость прохода — это его цена, умноженная на частоту, и вторая переменная важнее.** [Тема 33](33-review-cost-cut.md) убрала самый дорогой проход, тема 34 — самый частый. Второе дало больше, хотя снятый проход был дешевле каждого отдельного `reimpl`. **С131. Урожайность прохода не отвечает на вопрос, где ему стоять.** Меряющая пара осталась самой ценной и всё равно уехала вверх: ценность оправдывает существование прохода, но не его частоту. **С132. Замена тяжёлого прохода лёгким записывается как сужение, а не как эквивалент.** `basics` задаёт те же вопросы чтением, и его ответы поэтому слабее — условия вместо оракулов. Назвать это «покрыли то же дешевле» значит соврать себе на первом же прогоне. **С133. Ступень, выбираемая по классу изменения, слепа к объёму.** Правило, запрещавшее смотреть на размер, защищало от выбора по ощущению важности — и заодно отправляло трёхстрочную правку и переборку пяти узлов в один профиль. Признаков нужно два: класс отвечает за обратимость, объём — за цену разбирательства.