5.2 KiB
5.2 KiB
name, description
| name | description |
|---|---|
| harness-retro | Ретро обвязки claude-harness по транскриптам, памяти и репозиториям одного проекта или workspace — срез метрик, разметка блокировок хуков в корпус, хвосты закрытия, поправки владельца, черновик docs/retro/<дата>.md и PR. Запускать в сессии в репозитории обвязки по команде «/harness-retro <папка> [--since ГГГГ-ММ-ДД]» после среза. |
/harness-retro
Аргумент — папка проекта или workspace, который изучаем. Сессия — в репозитории обвязки, роль dev. Дата ретро <D> — сегодня, ГГГГ-ММ-ДД. Скрипты — docs/retro/scripts/, все команды — из корня worktree ретро. Спека — openspec/specs/harness-retro/spec.md.
Шаги
- Задача и worktree. Issue «Ретро : <проект>» (
tea issues create). ЗатемEnterWorktreeс именемretro-<D>, веткаgit branch -m retro/<D>,codegraph initв worktree. - Срез. Выполнить
python3 docs/retro/scripts/retro_metrics.py <папка> [--since …] --out docs/retro/<D>.metrics.json.- Exit 1 — сессий нет. Сообщить владельцу slug и период и остановиться.
- Битых строк больше 1 % — отметить в «Что не измерялось».
- Блокировки. Сначала выгрузить:
python3 docs/retro/scripts/hook_blocks_export.py --since <since> --id-prefix <D> <каталоги из sources.dirs> > docs/retro/fixtures/hook-blocks-<D>.jsonl. Каталоги —~/.claude/projects/<имя>.- Разметить каждую запись в
docs/retro/fixtures/hook-labels-<D>.json:expected(allow|block) иwhyпо спекеhook-guards;- раскладку песочницы — по
gitBranchсессий и выводуgit worktree listиgit branchв транскриптах; - если не восстановить —
skipс причиной.
- Собрать корпус:
python3 docs/retro/scripts/hook_cases_build.py > skills/harness-doctor/fixtures/hook-cases.jsonlи прогнатьbash tests/run.sh hook-corpus. Если текущий хук даёт не тот вердикт — проставить записи"known": "RT-n"и завести находку. - Пересчитать срез с
--labels docs/retro/fixtures/hook-labels-<D>.json --out docs/retro/<D>.metrics.json.
- Разметить каждую запись в
- Хвосты закрытия.
python3 docs/retro/scripts/retro_leftovers.py <папка> --fetch --markdown. Ничего не удалять: таблица идёт в черновик, уборка — по решению владельца. - Поправки владельца.
python3 docs/retro/scripts/retro_metrics.py <папка> [--since …] --corrections.- Отобрать только поправки по процессу: пропущенный шаг, лишний вопрос, неверный совет, обход правила, расширение задачи. Вопросы и просьбы по содержанию выбросить.
- Сгруппировать по видам.
- Вид, который повторяется (2 раза и больше) или стоил владельцу заметного времени, — находка
RT-nи пункт бэклога.
- Качественная часть. Прочитать память проекта целиком (
~/.claude/projects/<slug>/memory/) и примеры из выгрузок. НаходкиRT-n— сквозная нумерация: максимум в прошлыхdocs/retro/*.mdплюс 1. Приоритет: P1 — теряет время каждую неделю или ломает процесс; P2 — трение; P3 — наблюдение. - Черновик. Скопировать
.claude/skills/harness-retro/template.mdвdocs/retro/<D>.mdи заполнить.- «Цифры»:
python3 docs/retro/scripts/retro_metrics.py <папка> [--since …] --labels … --markdown --prev docs/retro/<прошлое>.metrics.json. - Секретов в черновике быть не должно. Цитаты брать только из вывода скриптов: он уже прошёл
redact.
- «Цифры»:
- PR.
bash tests/run.shдолжен быть зелёным. Коммит: черновик,metrics.json, выгрузка, разметка, корпус. Затемgit push -u origin retro/<D>иtea pulls createсо ссылкой на issue. Merge — только владелец.
Не делать
- Не удалять хвосты и не чинить хуки в PR ретро — это находки и бэклог.
- Не заполнять раздел «Решения владельца»: он пишется на ревью PR.
- Не вставлять в черновик сырые куски транскриптов мимо скриптов.