профили ревью: тяжёлые проходы в верхнюю ступень, на умолчании — один базовый
Тема 33 сняла самую большую разовую статью расхода, но не тронула главную — частоту. Меряющая пара стояла в standard, то есть на большинстве задач, и именно она делала прогон долгим: два прохода держат машину, идут цепочкой и доказывают находки запуском. Цель разбора названа прямо: лучше поправить в следующей задаче, чем держать одну два часа. adversary и ops переехали в wide. Стадия осталась самой урожайной за всю историю замеров — пять из семи выживших находок дозапуска и единственная находка про молчаливый старт отката, — но её ценность оплачивается на каждой задаче, а получается на немногих. Решение по цене, не по ценности. Заведён review-basics: мелкая осадка двух тяжёлых проходов, без единого запуска. Стоит только в standard. Восемь вопросов, на которые отвечают чтением: таймаут и отказ соседа, идемпотентность и одновременная запись, остановка на середине, частичный откат при двух версиях, наблюдаемость и тишина, очевидный рост объёма, второй способ мимо единой точки (грепом, не картой), что отсюда удалить. Потолок 4 находки, машину не держит, ничего не меряет. Вопрос про частичный откат — не для полноты списка. Без него правило «миграция схемы не поднимает ступень» рассыпалось бы: раньше миграцию разбирал ops, а он теперь наверху. Проход заведён затем, чтобы у standard остался хоть один взгляд на ось времени. Модель у него верхняя, opus, и это не спорит со словом «средний»: усилие режется входом и потолком, а не моделью. Дешёвая модель на опиниативном проходе платит триажем — это записанный замер, отменять его без нового замера нечем. Лестница вышла 4/5/7. Главный выигрыш не в числе проходов, а в том, что из standard ушла цепочка: теперь там гейт, три прохода одним сообщением и триаж — граф плоский, ждать некому. Правило выбора ступени переписано на два вопроса, и объём изменения вошёл в него впервые. Крупное или незнакомое — трогает несколько узлов, переносит ответственность, форму решения нащупывают по ходу — это wide, и он рассчитан на 5-10% задач. Мелкое — один узел, форма очевидна заранее, откат сводится к обратной правке — quick. Всё остальное standard, рабочее умолчание. Раньше ступень выбиралась только по классу изменения и на размер смотреть запрещала; теперь признаков два: класс отвечает за обратимость, объём — за цену разбирательства. Отрицательный тест сохранил прежнюю мудрость в новой рамке: что после мерджа не откатывается обратной правкой — не quick, каким бы маленьким ни был дифф. Три строки миграции идут в standard. Спорный случай решается вниз, и асимметрия объяснена ценой: ошибка в сторону standard стоит находки на следующей задаче, ошибка в обратную — трёх тяжёлых проходов на каждой задаче, выбранной неверно. Сделка записана вместе с обратной связью, иначе это тихая потеря качества. На quick и standard не проверяется ничего, что требует запуска: построенный путь, эксперимент против драйвера, любое число. Это самая крупная граница покрытия конвейера, и она идёт строкой в каждом таком прогоне поимённо. Сигналов о том, что ступень занижена, два: журнал дефектов в docs/review.md и сам basics — он единственный, кто смотрит на дифф целиком на нижних ступенях, и обязан сказать строкой, если задача выглядит крупнее профиля. Побочно: условие профиля design то же самое, так что rubric и architecture на предложении тоже упали до 5-10% задач. Тема 34 в DECISIONS.md, следствия 130-133. Версия канона не поднята; инструкция проекту дописана в пункт 8 записи «Версия 4». Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -10,12 +10,19 @@ color: yellow
|
||||
судить об архитектуре: он не знает, какие понятия в проекте уже есть и как они
|
||||
называются. Поэтому твой вход шире, и первое, что ты делаешь, — его собираешь.
|
||||
|
||||
**Тебя запускают не на каждой задаче.** Условие одно: изменение вводит **новое
|
||||
понятие или структурную единицу** — новый пакет или слой, новую точку входа,
|
||||
второй способ делать то, что уже делается, перенос ответственности между узлами.
|
||||
Ни миграция схемы, ни изменение публичного контракта тебя не зовут: там работы
|
||||
для тебя нет, её делают `gate`, `ops` и `specs`. Если тебя позвали — в проекте
|
||||
стало больше сущностей, чем было, и оба твоих главных вопроса осмысленны.
|
||||
**Тебя запускают не на каждой задаче, а в профиле `wide` — это 5–10% задач.**
|
||||
Условие ступени: изменение **крупное или незнакомое** — трогает несколько узлов
|
||||
или слоёв разом, переносит ответственность между ними, перекладывает существующий
|
||||
код в новую форму, либо вводит функциональность, форму решения которой нащупывали
|
||||
по ходу. Ни миграция схемы, ни изменение публичного контракта сами по себе тебя не
|
||||
зовут: там работы для тебя нет, её делают `gate`, `basics` и `specs`. Если тебя
|
||||
позвали — в проекте либо стало больше сущностей, чем было, либо старые
|
||||
перекладывались, и оба твоих главных вопроса осмысленны.
|
||||
|
||||
Мелкую осадку твоих вопросов 2 и 5 — второй способ рядом с диффом и что отсюда
|
||||
удалить — на ступени `standard` задаёт `review-basics`, грепом против единых точек
|
||||
проекта и без карты. Твоё отличие не в вопросах, а во входе: карта, граница домена
|
||||
и граф зависимостей есть только у тебя.
|
||||
|
||||
Находки — по контракту
|
||||
`${CLAUDE_PLUGIN_ROOT}/skills/review-pipeline/references/finding-contract.md`
|
||||
|
||||
Reference in New Issue
Block a user