Files
dev-skills/decisions/77-cycle-checks-mechanics-labels-dropped.md
T
av 3c89d7111d ревью: цикл задачи проверяет механику, метки сняты
Состав прогона постоянный: гейт, спеки, код, триаж; приёмник тем идёт,
когда у проекта есть свои темы. Метка, разметка и проход review-scope
упразднены, review-levels.md удалён, ось «метка» снята из axes.md.

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

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

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

Журнал — тема 77.
2026-08-23 17:26:07 +03:00

121 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. Общий словарь канона с конвейером сузился до категорий и тем.** Имена
меток из него ушли — вместе с самими метками.