Files
dev-skills/decisions/76-proof-in-cycle-deep-review-apart.md
T
av daf9f8b824 ревью: лёгкий проход proof в цикле, тяжёлые — в code-deep-review
В цикле задачи темы security и operations закрывает один лёгкий проход
review-proof: чтением и рассуждением, без запуска, потолки раздельные. Машину
он не держит, поэтому идёт в общем залпе — цепочки за ресурс в обычном прогоне
не осталось. Тяжёлая пара adversary и ops переехала в новый скилл
code-deep-review: вход — названная область кода, глубина постоянная, исход —
разбор с человеком и задачи через task-track. Вход глубокому прогону копит сам
цикл строками «отложено». Журнал — тема 76.
2026-08-23 15:55:32 +03:00

7.3 KiB
Raw Blame History

76. Лёгкий проход в цикле, тяжёлые — в отдельном скилле (2026-08-23)

Что было

На метке large две темы закрывала пара тяжёлых проходов. review-adversary строил путь и прогонял падающий тест, review-ops снимал числа замером. Оба помечены «держит машину», а значит шли не разом, а цепочкой: второй ждал первого, и он же определял, когда стартует триаж.

Замер по прогону в проекте transcriber 23 августа: враждебный проход занял 25 минут и держал весь параллельный залп, эксплуатационный — ещё 9 минут следом за ним. Ревью кода целиком заняло 62 минуты при цели в час на всю задачу.

Ценность пары при этом не оспаривается и измерена: на пяти задачах подряд враждебный дал пять из семи выживших находок дозапуска, эксплуатационный — единственный, кто нашёл, что откат бинаря поверх новой схемы стартует молча. Спорна не ценность, а момент оплаты: она платилась на каждой задаче с меткой large, а получалась на немногих.

Решено

Р293. В цикле задачи обе темы закрывает один лёгкий проход review-proof. security и operations разом, чтением и рассуждением: набросок пути (вход, преобразование, куда легло) и ось времени (миграция и откат, рост, удержание, чужая деградация). Потолки раздельные — 2 находки на тему: общий потолок дал бы одной теме съесть весь выход прохода.

Р294. Он ничего не запускает, и потому машину не держит. Отсюда главное для времени прогона: он уходит в общем залпе с остальными проходами, а не в цепочке за ресурс. Цепочки в обычном прогоне не осталось вовсе — оба прохода, что её держали, из конвейера ушли.

Р295. critical этот проход не присваивает. Оракул critical добывается запуском, а он не запускает; его потолок по severity — major с названным оракулом: чем это проверить, если кто-то возьмётся.

Р296. Тяжёлая пара переехала в новый скилл av-dev:code-deep-review. Не удалена: уставы сохранены целиком, сменились вход и вызывающий. Вход теперь — названная человеком область кода (модуль, слой, сервис), а не дифф задачи; метки здесь нет, потому что нет задачи; глубина постоянная — доказательство.

Р297. Состав глубокого прогона постоянный: adversary, ops, architecture на широком входе, code по коду целиком, сводит triage. Цепочка за машину там действует полностью — скилл идёт не на задаче, и часы у него есть.

Р298. Исход глубокого прогона — разговор и задачи, а не правки. Находки разбираются с человеком по одной, сверху вниз; по каждой он говорит «берём», «не берём» с причиной или «не находка». Согласованное уезжает задачами через av-dev:task-track, отвергнутое — строкой в журнал дефектов docs/review.md. Ни одной находки скилл не чинит сам: правка по ходу разбора превращает разговор в работу.

Р299. Вход глубокому прогону копит сам цикл. Всё, что доказывается только запуском, review-proof не выдаёт находкой и не выбрасывает: строка в границах покрытия называет тему, место и запуск. Строка переносится в доклад дословно и однажды становится поводом позвать глубокое ревью.

Р300. Доказательства в цикле задачи нет ни на одной метке, и это сказано прямо. Гонка, деградация под нагрузкой, исчерпание ресурса, откат бинаря поверх новой схемы — класс, который виден только построенным путём и снятым числом. На large его смотрит proof чтением и откладывает; ниже large не смотрит никто. Это самая крупная граница покрытия конвейера, и она идёт строкой каждого прогона.

Следствия

С264. Глубин в конвейере стало две. Сверка и разбор; доказательство — свойство глубокого прогона, и разметчик его не назначает: план с доказательством некому исполнить.

С265. Цена ошибки метки вверх упала. Прежде лишний large стоил трёх тяжёлых проходов, двое из которых держали машину; теперь — двух проходов чтением. Правило «спорное решается вниз» остаётся, но его обоснование стало слабее, и это записано.

С266. Просрочку глубокого ревью видно по отчётам. Если по одному месту в строках «отложено» повторяется один и тот же неснятый замер, дело не в метке — глубокий прогон просрочен. Это второй след рядом с журналом дефектов.

С267. Тема пережила переезд прохода, и это проверка правила 0 конвейера. ops ушёл, тема operations осталась и досталась proof. Ровно ради этого случая состав прогона и описывается таблицей «тема → глубина → кто закрывает», а не списком проходов.