ревью: цикл задачи проверяет механику, метки сняты

Состав прогона постоянный: гейт, спеки, код, триаж; приёмник тем идёт,
когда у проекта есть свои темы. Метка, разметка и проход review-scope
упразднены, review-levels.md удалён, ось «метка» снята из axes.md.

Ступень 4 ушла из цикла: review-proof упразднён через день после
заведения, review-architecture переехал в code-deep-review вслед за
adversary и ops. Темы security, operations и architecture закрывает
review-code сверкой с записанными инвариантами, потолком 1 находка.

Умолчание разметки действий перевёрнуто на инлайн; развилка осталась
за необратимым, изменением дельта-спек и нарушенным инвариантом.
Задачи из урожая заводятся по слову человека, а не шагом сценария.

Чекпоинт назван единственным местом, где решается форма решения.
Потеряны ось времени в цикле и суждение о форме после кода — обе
потери названы в «Честном пределе» строкой границ покрытия.

Журнал — тема 77.
This commit is contained in:
av
2026-08-23 17:26:07 +03:00
parent daf9f8b824
commit 3c89d7111d
30 changed files with 1055 additions and 1781 deletions
@@ -0,0 +1,120 @@
# 77. Цикл задачи проверяет механику; метки сняты (2026-08-23)
## Что было
Тема 76 вынесла тяжёлые проходы в `av-dev:code-deep-review` и оставила в цикле
лёгкий `review-proof`. Это сократило прогон, но не ответило на вопрос, **что
именно цикл задачи обязан проверять**.
Владелец процесса назвал рамку прямо. Проекты — небольшие приложения для себя,
без сложных доменов; агент в них **второй пилот и советник**, а за архитектурные
решения отвечает человек; ценится срок задачи и короткие итерации, чтобы вовремя
менять дизайн и требования. Отсюда два способа работы и разрез между ними:
`av-dev:code-resolve` решает задачу быстро и в рамках существующих
договорённостей, а `av-dev:code-deep-review` думает вдумчиво, обсуждает находки и
заводит работы.
Конвейер этому разрезу не соответствовал в трёх местах.
**Цикл судил замысел.** На метке `large` шли `review-proof` (риск рассуждением) и
`review-architecture` («не появился ли второй способ», «что опытный человек
отсюда удалил бы»). Обе оптики дают находки, по которым решает человек, — то есть
предмет глубокого ревью, а не быстрого прогона.
**Разметка стоила запуска, а решала всё меньше.** `review-scope` — отдельный
агент на 404 строки, две оси, матрица, отрицательный тест, доли по журналу,
справочник `review-levels.md` на 175 строк. Со снятой ступенью 4 метка правила
только вход и потолки двух проходов.
**Хвост требовал человека там, где не должен.** Урожай отдавался
`av-dev:task-track` как обязательный шаг: задачи заводились, а не предлагались.
Правило разметки действий гласило «сомневаешься — ставь развилку», то есть
умножало вопросы к человеку внутри прогона, который заведён ради скорости.
## Решено
**Р301. Цикл задачи проверяет корректность и механику против записанного
критерия.** Дельта-спеки, конвенции, инварианты `CLAUDE.md`, вывод инструментов.
Вопрос «то ли это решение» в цикле не задаётся вовсе: у него два своих места —
чекпоинт до кода, где форму одобряет человек, и скилл `av-dev:code-deep-review`,
где находки разбирают по одной.
**Р302. Состав прогона постоянный, метки нет.** Гейт, `specs`, `code`, триаж;
`basics` идёт тогда и только тогда, когда у проекта есть свои темы. Ось «метка»
снята из `shared/axes.md`, справочник `review-levels.md` удалён, устав
`review-scope` удалён.
**Р303. Ступень 4 ушла из цикла целиком.** `review-proof` упразднён, его устав
удалён; `review-architecture` переехал в `av-dev:code-deep-review` вслед за
`adversary` и `ops`. Прожил `proof` один день — с темы 76 до этой; он был
правильным шагом в неверную сторону: облегчал проход, тему которого цикл вообще
не должен разбирать.
**Р304. Темы `security`, `operations` и `architecture` в цикле закрывает `code`
сверкой с записанными инвариантами, потолком 1 находка на три темы разом.**
Свойства, которого нет в инвариантах, цикл не спросит. Это не «глубина ниже», а
другой дом темы, и он называется строкой в каждом отчёте.
**Р305. Вход и потолки проходов стали постоянными.** `code` читает дом конвенций
целиком, `specs` — дельту, актуальные спеки, `design.md`, `tasks.md`, паспорт и
обзор архитектуры. Потолки: `code` — 4 конвенционных, 1 инвариантная, у
технической половины потолка нет; `specs` — нет; `basics` — 4; триаж — 7.
Обеим половинам потолка не ставят намеренно: пропуск дефекта и пропуск
расхождения со спекой не оставляют следа нигде.
**Р306. Умолчание разметки действий — `инлайн`.** Прежнее правило «сомневаешься —
развилка» перевёрнуто. Развилку получают три случая, и все названы: правка меняет
**дельта-спеки**, находка сидит в **необратимом** месте, находка трогает
**инвариант** `CLAUDE.md`.
**Р307. Задачи из урожая заводятся только по слову человека.** Список
показывается одной репликой; сказал «заводим» — зовётся `av-dev:task-track`, не
сказал — урожай остаётся строками доклада. Прежде вызов был обязательным шагом
сценария.
**Р308. Отрицательный тест `small` заменён адресацией.** Изменение, которое после
мерджа не откатывается обратной правкой, прежде поднимало метку; поднимать нечего,
и признак теперь меняет **адресата находки** — она уходит человеку развилкой, а не
чинится молча.
**Р309. Сигнал «метка занижена» стал сигналом «изменение просит глубокого
ревью».** Признаки те же — несколько слоёв разом, нащупанная по ходу форма, новое
понятие, необратимое место; адресат другой: человек, который решает, звать ли
глубокий прогон. Носитель прежний — `review-code`, подтверждающий — `review-basics`.
**Р310. Строки «отложено в `av-dev:code-deep-review`» сводит триаж.** Пишут их
проходы, упёршиеся в предел цикла; не сведённые в одну секцию, они растворяются
по отчётам, и повод позвать глубокий прогон не копится нигде.
## Следствия
**С268. Шагов в сценарии решения стало восемь.** Разметка ушла, нумерация
сдвинулась: ревью кода теперь шаг 5, архивация с синком — 6, коммит — 7, закрытие
— 8.
**С269. Чекпоинт стал единственным местом, где решается форма решения.** До этой
темы у формы было два суждения — человека на чекпоинте и архитектурного прохода
после кода. Осталось одно, и это записано прямо: одобренное на чекпоинте уезжает
в код без второго суждения о замысле.
**С270. Ось времени в цикле не смотрит никто.** Обратима ли миграция, что станет
с записями после отката, как узел ведёт себя через неделю роста — прежде эти
вопросы задавал `basics` на метке `medium`. Развилка по необратимому месту
адресатом их не заменяет: она срабатывает, только если находку кто-то сделал.
Названо строкой «Честного предела», а не подразумевается.
**С271. Сверка состава подешевела.** Реестр тем был переменным — приезжал планом
разметки и на каждой задаче выглядел иначе. Постоянный реестр сверяется взглядом:
проходов пять, отчёт от каждого либо есть, либо назван непущенным.
**С272. Скелет `docs/review.md` потерял «Триггеры метки» и получил «Когда звать
глубокое ревью».** Два списка вместо трёх: области, которые смотрят целиком, и
что в этом проекте считается необратимым. Второй список работает и в цикле —
им проверяется основание развилки.
**С273. Нарезка задач перестала опираться на метку.** Шов теперь ищется по роду
работы, а не по тому, где падает метка; костяк ревью разрез удваивает **всегда**,
и выигрыш даёт не проверка, а то, что половина доводится и мерджится сама.
**С274. Общий словарь канона с конвейером сузился до категорий и тем.** Имена
меток из него ушли — вместе с самими метками.