ревью: лёгкий проход proof в цикле, тяжёлые — в code-deep-review
В цикле задачи темы security и operations закрывает один лёгкий проход review-proof: чтением и рассуждением, без запуска, потолки раздельные. Машину он не держит, поэтому идёт в общем залпе — цепочки за ресурс в обычном прогоне не осталось. Тяжёлая пара adversary и ops переехала в новый скилл code-deep-review: вход — названная область кода, глубина постоянная, исход — разбор с человеком и задачи через task-track. Вход глубокому прогону копит сам цикл строками «отложено». Журнал — тема 76.
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
# 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`. Ровно ради этого
|
||||
случая состав прогона и описывается таблицей «тема → глубина → кто закрывает», а
|
||||
не списком проходов.
|
||||
Reference in New Issue
Block a user