Files
dev-skills/av-dev-backlog/skills/backlog/references/from-review.md
T
avandClaude Opus 4.8 074c6f3448 backlog: переименовать плагин в av-dev-backlog, скилл — в backlog
Соглашение об именах: длинное имя плагина с префиксом av-dev- (уникально в
маркетплейсе), короткие имена скилов внутри. Вызов — /av-dev-backlog:backlog,
единообразно для будущих плагинов.

Путь к backlog.py в SKILL.md обновлён под новую раскладку
($CLAUDE_PLUGIN_ROOT/skills/backlog/scripts/backlog.py).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 08:52:16 +03:00

7.6 KiB

Задачи из аудита и ревью

Ревью и аудиты — код-ревью, архитектурный проход, аудит безопасности, любой разбор другим агентом — порождают находки, часть которых становится задачами беклога. Это отдельный интейк со своей опасностью, зеркальной интейку из диалога.

  • Интейк из диалога грешит переполнением: из одной мысли рождается пять файлов.
  • Интейк из ревью грешит сваливанием: сорок сырых находок превращаются в сорок файлов. Беклог раздувается, а следующий груминг склеивает их обратно.

Защита от сваливания — та же, что в самом ревью: кластеризация по причине, а не файл-на-находку. Если у ревью был триаж — половина работы уже сделана, бери его выход. Если нет — триажируй сам, прежде чем заводить.

Находка агента — не задача

Мнение агента — гипотеза, пока у неё нет свидетельства (падающий тест, воспроизводимый шаг, положение гайда). Согласие нескольких находок само по себе достоверность не повышает: это один источник, высказавшийся несколько раз.

Отсюда фильтр входа, поверх обычного «не делаем сейчас + пожалеем о потере»:

  • Находка со свидетельством, отложенная к исполнению → задача. Свидетельство и последствие переносим в тело — это её «почему», то самое, что переживает запись.
  • Находка без свидетельства / низкой уверенностиидея ([idea]), а не задача. Она не заработала приоритизацию: сравнивать неподтверждённое не с чем. Её судьба — штурм, где либо найдётся подтверждение, либо она уедет на кладбище.
  • Уже починено по ходу ревьюничего. Починенное не заводим.
  • Развилка, решённая при ревью → ничего; решённая «потом» → задача с зафиксированным вопросом.

Порядок

  1. Возьми выход триажа, а не сырые находки. Сырой отчёт — это симптомы до дедупликации; в нём одна причина размазана по нескольким строкам.
  2. Кластеризуй по причине. Пять находок об одном отсутствующем инварианте — одна задача, а не пять. Класс мелочи (nits, косметика) — один пакетный файл со списком пунктов, а не файл на каждую запятую.
  3. Дедуп против беклога и кладбища. Аудит переоткрывает уже заведённое и уже выкинутое. Нашлось в беклоге — дописываем находку в существующий файл. Нашлось на кладбище — это сигнал: причина отказа могла устареть, выноси пользователю, а не заводи молча заново.
  4. Покажи карту до создания файлов. Кластер → задача / идея / строка в пакетный файл / уже в беклоге / отброшено — пачкой через AskUserQuestion. Это тот же барьер, что и «три кандидата» в интейке из диалога: массовое заведение файлов без подтверждения — ровно тот отказ, ради которого интейк из ревью и выделен. Дешёвая мелочь по явному согласию может заводиться и без поштучного вопроса — но карта пользователю всё равно предъявляется.
  5. Заводи утверждённое через backlog.py add, с двумя добавками:
    • тег партииadd … --tag review-ГГГГ-ММ-ДД (или audit-<тема>), чтобы весь заход груминга поднимался одной командой backlog.py list --tag …;
    • провенанс в теле — кто нашёл, каким проходом, с каким свидетельством. Без него через месяц не отличить проверенную находку от догадки.
  6. backlog.py check.

Отображение серьёзности на приоритет

Правило концептуальное, от полей конкретного отчёта не зависит:

  • выше серьёзность → выше приоритет. Самый тяжёлый класс находок → верхняя секция индекса, следующий → следующая. Отображать словарь серьёзности отчёта на словарь приоритетов проекта точно нечем — при сомнении спрашивай пользователя.
  • низкая уверенность или нет свидетельства → идея, не задача.
  • мелочь → строка в пакетный файл, не отдельный.
  • уже починено / развилка решена сейчас → ничего.

Если у ревью структурированный отчёт с полями серьёзности, уверенности, свидетельства и предписанного действия (например, конвейер ревью jellybit даёт Severity/Confidence/Оракул/Действие: инлайн|развилка) — правило выше ложится на эти поля механически. Но это пример одного формата, а не требование к источнику: тот же фильтр применяется к находкам в свободной форме.

Границы покрытия отчёта — то, что ревью проверить не смогло, — не находки и в задачи не идут: у них нет предмета. Их место — в докладе, не в беклоге.

Доклад

  • Источник (какое ревью/аудит, сколько находок на входе).
  • Свёрнуто в задачи: N кластеров из M находок, со слагами и тегом партии.
  • Что не заведено и почему: починено инлайн, уже в беклоге, ушло в идеи, на кладбище.
  • backlog.py check.