ревью: цикл задачи проверяет механику, метки сняты
Состав прогона постоянный: гейт, спеки, код, триаж; приёмник тем идёт, когда у проекта есть свои темы. Метка, разметка и проход 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:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: code-deep-review
|
||||
description: "Глубокое ревью области кода — не задачи, а куска проекта: модуля, слоя, сервиса целиком. Зовёт тяжёлые проходы, которых нет в цикле задачи: review-adversary (строит путь и прогоняет падающий тест), review-ops (снимает числа замером), review-architecture на входе шире диффа, review-code по коду целиком, а сводит их review-triage. Проходы, помеченные «держит машину», идут цепочкой. Исход — не правки, а разговор: находки предлагаются человеку, обсуждаются по одной, и согласованное уезжает задачами через av-dev:task-track, сценарий «задачи из ревью и аудита». Использовать время от времени и по признаку: накопился десяток задач в одной области, перед тем как опереться на узел в дорогом решении, после инцидента, по строке «отложено в code-deep-review» из отчётов ревью. Дорого — не на задаче и не по расписанию. Ревью одного изменения — скилл av-dev:code-review."
|
||||
description: "Глубокое ревью области кода — не задачи, а куска проекта: модуля, слоя, сервиса целиком. Зовёт проходы, которых нет в цикле задачи: review-adversary (строит путь и прогоняет падающий тест), review-ops (снимает числа замером), review-architecture на входе шире диффа и по форме решения, review-code по коду целиком, а сводит их review-triage. Здесь единственное место процесса, где форму решения судят после кода и где находка доказывается прогоном и замером. Проходы, помеченные «держит машину», идут цепочкой. Исход — не правки, а разговор: находки предлагаются человеку, обсуждаются по одной, и согласованное уезжает задачами через av-dev:task-track, сценарий «задачи из ревью и аудита». Использовать время от времени и по признаку: накопился десяток задач в одной области, перед тем как опереться на узел в дорогом решении, после инцидента, по строке «отложено в code-deep-review» из отчётов ревью. Дорого — не на задаче и не по расписанию. Ревью одного изменения — скилл av-dev:code-review."
|
||||
---
|
||||
|
||||
# Глубокое ревью области
|
||||
@@ -15,30 +15,37 @@ description: "Глубокое ревью области кода — не за
|
||||
|
||||
## Зачем он появился
|
||||
|
||||
Тяжёлые проходы стояли в цикле задачи, на метке `large`: `review-adversary`
|
||||
строил путь и прогонял падающий тест, `review-ops` снимал числа замером. Оба
|
||||
держали машину, шли цепочкой и стоили часов **на каждой задаче**, где
|
||||
Тяжёлые проходы стояли в цикле задачи: `review-adversary` строил путь и прогонял
|
||||
падающий тест, `review-ops` снимал числа замером, `review-architecture` судил
|
||||
форму решения на входе шире диффа. Первые двое держали машину и шли цепочкой,
|
||||
третий требовал карты проекта; все трое стоили часов **на каждой задаче**, где
|
||||
запускались, — при том что их ценность оплачивается на каждой, а получается на
|
||||
немногих.
|
||||
|
||||
Их вынесли сюда целиком. В цикле задачи обе темы закрывает лёгкий проход
|
||||
`review-proof` — чтением и рассуждением, без запуска, — и он же **копит вход для
|
||||
этого скилла**: строка «отложено в `av-dev:code-deep-review`» в границах покрытия
|
||||
называет тему, место и запуск, которым это проверяется.
|
||||
Их вынесли сюда целиком, и цикл задачи после этого проверяет **корректность и
|
||||
механику**: заказанное против сделанного, дефект, который сработает сам,
|
||||
конвенции проекта и сверку с записанными инвариантами `CLAUDE.md`. Темы
|
||||
`security`, `operations` и `architecture` остались там ровно в объёме
|
||||
инвариантов — свойства, которого в них нет, цикл не спросит.
|
||||
|
||||
**Вход этому скиллу копят проходы цикла.** Строка «отложено в
|
||||
`av-dev:code-deep-review`» в границах покрытия называет тему, место и запуск,
|
||||
которым это проверяется; триаж сводит такие строки в отдельную секцию отчёта.
|
||||
Второй источник — сигнал «это изменение просит глубокого ревью», который подаёт
|
||||
`review-code`.
|
||||
|
||||
## Когда звать
|
||||
|
||||
**Зовёт человек**, и признак наблюдаемый, а не календарный:
|
||||
|
||||
- **накопился десяток задач в одной области** — по одной каждая была `medium`, а
|
||||
вместе они переписали узел;
|
||||
- **накопился десяток задач в одной области** — по отдельности каждая прошла
|
||||
обычный цикл, а вместе они переписали узел;
|
||||
- **строки «отложено» скопились**: в отчётах ревью по одному месту повторяется
|
||||
один и тот же неснятый замер;
|
||||
- **перед дорогим решением**, которое обопрётся на этот узел;
|
||||
- **после инцидента** — когда уже известно, где болит, и надо понять, что рядом;
|
||||
- **узел, в который возвращаются третий раз**: `av-dev:code-review`,
|
||||
`references/review-levels.md` называет это поводом пересмотреть метку, а здесь
|
||||
это повод посмотреть весь узел.
|
||||
- **узел, в который возвращаются третий раз**: цикл задачи проверяет его каждый
|
||||
раз заново и одним и тем же составом, а здесь это повод посмотреть узел целиком.
|
||||
|
||||
**Не на задаче и не по расписанию.** Цена реальная: два прохода держат машину и
|
||||
идут цепочкой, вход шире диффа собирается командой проекта, а разбор находок
|
||||
@@ -107,13 +114,14 @@ capability — одним адресом или несколькими. Скил
|
||||
| дома тем | `docs/security.*`, `docs/architecture.*`, `docs/conventions.*` | против чего судить |
|
||||
|
||||
Отложенного нет вовсе — скажи это строкой. Пустой список значит либо что цикл
|
||||
ничего не откладывал, либо что `review-proof` не писал свою строку; вторая
|
||||
причина — находка о процессе, и она идёт в доклад.
|
||||
ничего не откладывал, либо что проходы не писали свою строку; вторая причина —
|
||||
находка о процессе, и она идёт в доклад.
|
||||
|
||||
## Состав прогона
|
||||
|
||||
Метки здесь нет и разметчик не зовётся: метку выводят из задачи, а задачи нет.
|
||||
Состав **постоянный**, и глубина у всех проходов одна — **доказательство**.
|
||||
Постоянен и состав цикла задачи, но он другой и мельче: разница между скиллами не
|
||||
в старательности, а в том, что здесь запускают, меряют и строят путь.
|
||||
|
||||
| Проход | Тема | Что делает |
|
||||
|---|---|---|
|
||||
@@ -217,8 +225,9 @@ capability — одним адресом или несколькими. Скил
|
||||
разговора, это задачи и запись в журнале ревью.
|
||||
- **Область меньше — прогон лучше.** Модуль разбирается до конца, сервис целиком
|
||||
даёт список, который бросают на середине.
|
||||
- **Находка о процессе — тоже находка.** Пустая строка «отложено» у прохода
|
||||
`review-proof`, дефект, трижды проскочивший в одном узле, тема без дома —
|
||||
всё это идёт в доклад наравне с находками о коде.
|
||||
- **Метку сюда не приносят.** Она свойство задачи; здесь задачи нет, и подставлять
|
||||
`large` «по аналогии» нельзя — состав здесь и так постоянный.
|
||||
- **Находка о процессе — тоже находка.** Пустой список отложенного, дефект,
|
||||
трижды проскочивший в одном узле, тема без дома — всё это идёт в доклад наравне
|
||||
с находками о коде.
|
||||
- **Задачи здесь нет, и границей служит только область.** Дифф, дельта-спеки,
|
||||
критерии приёмки — всё это про задачу; сюда они не приходят, и подставлять их
|
||||
«по аналогии» нельзя.
|
||||
|
||||
Reference in New Issue
Block a user