Files
dotfiles/agents/.agents/skills/claude-subagent-playbook/handoffs/20260803-kholodnoe-revyu-skilla-i-pravki.md
T
Dmitry Dementiev 1fdbcd63df docs(skills): открытые находки холодного ревью — с номерами и доводом
- Зачем:
  - индексы находок жили в скретчпаде и умирают вместе с сессией; из
    прозы handoff'а нельзя было понять, какая находка закрыта, а какая
    ещё ждёт решения.
- Что:
  - FIT-5 убрана из списка оставленных: закрыта коммитом 10f55f3.
  - открытым проставлены номера и довод линии — TECH-3, FIT-4, FIT-11,
    FIT-12; вопросы владельцу помечены как FIT-3 и FIT-10.
  - счётчик коммитов заменён командой: HEAD с тех пор уехал.
- Проверка:
  - git log --oneline c18472e.. ; строк длиннее 80 символов в handoff нет.
2026-08-04 21:48:25 +03:00

90 lines
7.2 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.
# Handoff разработки скилла: холодное ревью правок и лечение находок
Дата: 2026-08-03/04. Контекст: не боевой прогон, а заход на сам скилл.
Начали под `/writing-great-skills` (разбор `references/lessons.md`),
закончили под `/brainstorm-with-docs` (холодное ревью и триаж находок).
Диапазон коммитов — от `c18472e`; список даёт
`git log --oneline c18472e..`. Здесь только то, чего в них нет.
## Холодное ревью: как было устроено и что от него осталось
Две слепые линии по доктрине самого плейбука: Codex `gpt-5.6-sol` (high,
свежий тред) — исполнимость механик; свежий `craftsman` — уместность
инструкций. Обе получили один параметрический блок с порядком риска,
мандат из `prompts/review-boilerplate.md`, и не знали ни друг о друге, ни
о рассуждениях автора правок. Итог: 19 находок, пересечение — 3 темы;
обе линии CHANGES_REQUIRED. Codex — 90 выполненных команд, дерево после
ревью чистое.
Промпты и индексы находок лежали в скретчпаде сессии и не переживут её.
Всё, что не закрыто, перенесено сюда.
## Открытые вопросы к владельцу (не правки)
1. **Две копии определений субагентов** (FIT-3). `references/claude-agents.md`
(заготовки) и `.claude/agents/*.md` (созданы коммитом `f650451`).
Сегодня совпадают, главная не названа. Расхождение будет тихим:
ступень оркестратор читает из первого, харнесс — из второго.
2. **Вкусовую линию нечем эскалировать** (FIT-10). `craftsman` пришит к
`medium`, единственный более сильный Опус (`deep-reasoner`) описан
только как временный фолбэк при отсутствии `craftsman`. Разрыв рангов
«Опус medium против Кодекса high» назван в `lessons.md` причиной, ради
которой правились шапки триажа. Вопрос: заводить ли `craftsman`
ступенью выше.
3. **Записывать ли в уроки случай с песочницей.** Правило «не режь
ревьюеру read-only» стояло в двух местах и было нарушено при сборке
команды для этого же холодного ревью — не по незнанию, а рассуждением
(«ревью документа рук не требует»). Вылечено значением, а не третьим
запретом (коммит `f481831`). Владелец решает сам, идёт ли это в
журнал.
## Находки, оставленные сознательно
Всего было 19: 12 по линии уместности (`FIT-*`) и 7 по технической
(`TECH-*`). Закрытые читаются по коммитам диапазона; ниже — открытые, с
номером и доводом, потому что сами индексы живут в скретчпаде и умирают
вместе с сессией.
- **TECH-3, отклонена с доводом:** гонка между проверкой отчёта и `wc` в
стороже — микросекунды, а `STALLED` по тексту и так повод посмотреть, а
не вердикт.
- **FIT-4, решение владельца:** `prompts/triage-header.md`, «прогон без
единого отклонения — повод перечитать принятое на веру». Довод линии:
базовая статистика отдана тому, кто видит ровно один прогон, и даёт
постоянный повод переоткрывать уже принятое; предлагалось оставить
целевое поведение без статистического обоснования. Текст согласован с
владельцем 2026-08-03, линия этого не знала.
- **FIT-11, оставлена после спора:** девять строк обоснования
переименования встали между сборочным блоком и обёрткой вызова в
`prompt-templates.md`. Оставлено намеренно: именно это обоснование
удерживает следующего от «упрощения» имён обратно.
- **FIT-12, оставлена после спора:** `craftsman.md` открывается стойкой
исполнителя («follow it exactly»), тогда как агента зовут и на слепое
ревью. Территория пользователя.
## Не обкатано боем — проверить первым же прогоном
1. **Новые имена обменных файлов**: `review-spec-*` (этап 2),
`review-impl-*` (этап 4), логи ревьюера тоже несут этап. Осторожно:
`task`/`code` — это **линии** этапа 4, а не этапы; на этом уже
ошиблись один раз, предупреждение стоит в `prompt-templates.md`.
2. **Второй вердикт перепроверки** `PROPORTIONATE | OVERREACH` и его
вынос в финальную строку `RECHECK:`.
3. **Сторож зависшего треда**: пара `REPORT`/`LOG` подставляется от
страхуемой ветки. Проверен только симуляцией четырёх исходов.
4. **Рецепт ветки ревьюера** целиком (появился 2026-08-03) с пином
`high` и `--strict-config` на `resume`.
5. **Шапки триажа и перепроверки** в целом: правились ради того, чтобы
исполнитель не брал ревью на веру. Мерка простая — за три прогона до
правки было ноль отклонений находок.
## Suggested skills
- `claude-subagent-playbook` — если завтра боевой прогон по тикету.
- `writing-great-skills` — если продолжаем править сам скилл: оптика
этой сессии (дублирование, осадок, разрастание, запрет против
значения) вся оттуда.
- `conventional-commits` — обязателен перед любым коммитом.
- `brainstorm-with-docs` — для открытых вопросов выше: они решения, а не
правки.