ревью: включить review-code стадией 1 и убрать три избыточности
По итогам разбора собственной работы. jellybit-review-code не запускался нигде: charter обещал «проход профиля quick», а quick состоял из стадий 0, 1, 5. Проход, который нельзя запустить, нельзя и откалибровать. Теперь он стадия 1 рядом с review-specs — оба applicative, у обоих критерий записан, различаются источники (дельта-спека и конвенции). review-context.sh больше не выгружает go doc -short по всему модулю: это было 264 строки из 458 при том, что граф зависимостей — единственное, чего агент не восстановит сам, — занимает 21. Публичную поверхность он вытянет go doc по нужному месту. Из calibration.md убрана секция дополнительных метрик: precision, корреляция и стоимость прогона вручную никем не считаются, а набор показателей, который не собирают, изображает измеряемость вместо того, чтобы её давать. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -51,18 +51,12 @@
|
||||
| `jellybit-review-ops` | деградация зависимости | убрать обработку недоступности qBittorrent в фоновом цикле |
|
||||
| `jellybit-review-triage` | шум | подать 20 находок, из них 15 вкусовщина и 3 дубля — проверить потолок и дедуп |
|
||||
|
||||
## Дополнительные метрики
|
||||
|
||||
Собираются попутно, в журнале прогонов (свободной формой, там же где вердикты):
|
||||
|
||||
- **precision** — доля находок, отвергнутых при ревью. Если отвергается меньше
|
||||
трети — хорошо; если больше — триаж съедает больше, чем экономит проход.
|
||||
- **корреляция между проходами** — стабильно одинаковые находки у двух проходов
|
||||
означают, что один лишний. Смотрится по полю `Найдено проходом` в
|
||||
триажированных отчётах.
|
||||
- **стоимость прогона** — токены и время. Профиль `deep` дороже `standard`
|
||||
примерно на порядок; если разница в найденном не видна, состав профиля
|
||||
пересматривается.
|
||||
Метрик сверх этого не заводим. Precision, корреляция между проходами, стоимость
|
||||
прогона в токенах — всё это красиво звучит и никем не считается вручную; набор
|
||||
показателей, который не собирают, создаёт впечатление измеряемости и тем вреден.
|
||||
Работает ровно один механизм: инъекция дефекта и вердикт. Если корреляция двух
|
||||
проходов действительно бросается в глаза — это видно по полю `Найдено проходом`
|
||||
в триажированных отчётах и без отдельной метрики.
|
||||
|
||||
## Когда калибровать
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
| `task test`/`task lint` внутри apply, lefthook на коммите | **Stage 0** `jellybit-review-gate` + `task gate`: build, vet, lint, gofmt, тесты, повтор на флаки, `-race`, покрытие изменённых строк, миграции, ER-схема, gitleaks, govulncheck. Блокирует опиниативные проходы | детерминированный оракул надёжнее мнения; проверка, идущая после ревью, не защищает ревью |
|
||||
| `jellybit-review-specs`: spec → code | **Stage 1** он же + **code → spec** (тихие ветки, самодеятельные дефолты, проглоченные ошибки, незаказанные ретраи), границы спеки, право сказать «требование неверно» | системная болезнь агентского кода — тихо добавленное поведение; односторонняя сверка его не видит |
|
||||
| — | **Stage 2** `jellybit-review-rubric`, `jellybit-review-reimpl`, `jellybit-review-idiom`, `jellybit-review-negative` | recall чек-листа равен его длине; неявный слой достаётся только порождением критерия |
|
||||
| архитектура как один из 9 буллетов `review-code`, вход = дифф | **Stage 3** `jellybit-review-architecture`, вход = `task review:context` (пакеты, граф зависимостей, публичная поверхность, инвентарь концепций) + дифф. Потолок 3 находки | агент, видящий только дифф, не знает словаря проекта и потому не может судить о втором способе делать то же самое |
|
||||
| архитектура как один из 9 буллетов `review-code`, вход = дифф | **Stage 3** `jellybit-review-architecture`, вход = `task review:context` (пакеты, граф зависимостей, инвентарь концепций) + дифф. Потолок 3 находки | агент, видящий только дифф, не знает словаря проекта и потому не может судить о втором способе делать то же самое |
|
||||
| — | **Stage 4** `jellybit-review-adversary` (находка = построенный путь), `jellybit-review-ops` (условный постмортем) | враждебная постановка находит то, чего не находит перечисление свойств |
|
||||
| разгребал оркестратор вручную | **Stage 5** `jellybit-review-triage`: дедуп по причине, оракул для critical/major, понижение неподтверждённого, отсев вкусовщины, потолок 7, разметка `инлайн`/`развилка` | отчёт читает оркестратор и молча реализует прочитанное: без потолка узкое место переезжает в незаказанные правки кода |
|
||||
| `review-code`: 9 углов, включая механизируемое | `review-code` сжат до конвенций, **не выраженных правилом** | всё, что проверяет линтер, в промпте только отвлекает внимание |
|
||||
@@ -37,9 +37,30 @@
|
||||
`jellybit-review-code` в отдельные проходы с разными классами дефектов;
|
||||
per-capability прогон в `task-batch` сужен до стыков вместо повторного полного
|
||||
ревью.
|
||||
- **Удалено:** ничего. Существующий проход не удаляется без замера — сначала
|
||||
калибровка (`calibration.md`), потом решение. `jellybit-review-code` оставлен
|
||||
как дешёвый проход профиля `quick`.
|
||||
- **Удалено:** ни одного прохода. Существующий проход не удаляется без замера —
|
||||
сначала калибровка (`calibration.md`), потом решение. `jellybit-review-code`
|
||||
остался стадией 1 рядом с `jellybit-review-specs`: оба applicative, критерий у
|
||||
обоих записан, только источники разные (дельта-спека и конвенции).
|
||||
|
||||
## Правка по итогам самопроверки (2026-07-23)
|
||||
|
||||
Разбор собственной работы нашёл три избыточности; все три устранены:
|
||||
|
||||
- `jellybit-review-code` **не запускался ни в одном профиле** — charter обещал
|
||||
«проход профиля `quick`», а `quick` состоял из стадий 0, 1, 5. Проход, который
|
||||
нельзя запустить, нельзя и откалибровать. Включён стадией 1.
|
||||
- `scripts/review-context.sh` выгружал `go doc -short` по всему модулю — 264
|
||||
строки из 458. Убрано: граф зависимостей, который иначе не восстановить, — это
|
||||
21 строка, а публичную поверхность агент вытянет `go doc` сам по нужному месту.
|
||||
- Из `calibration.md` убрана секция «дополнительных метрик» (precision,
|
||||
корреляция, стоимость): показатели, которые никто не считает, изображают
|
||||
измеряемость вместо того, чтобы её давать.
|
||||
|
||||
Под подозрением остались `jellybit-review-idiom` (собственные правила загоняют
|
||||
почти все его находки в `minor`) и половина вопросов `jellybit-review-ops`
|
||||
(рост объёма в 50 раз для однопользовательского домашнего сервиса умозрителен).
|
||||
Не тронуты намеренно: удалять проход по ощущению, а не по замеру — ровно то,
|
||||
против чего написана процедура калибровки.
|
||||
|
||||
## Конвенции → правила
|
||||
|
||||
|
||||
Reference in New Issue
Block a user