Files
dev-skills/TODO.md
T
avandClaude Opus 5 1fb006df4a ревью двумя проходами: 20 находок, все починены
Два независимых сабагента на av-dev-pm и av-dev-pipeline. Две находки нашли оба.

Главная — моя же перестановка закрытия за коммит сломала reopen и батч. close
печатал «дорога назад из git», а reopen искал коммит удаления, которого в новом
порядке ещё нет: шаг 11 последний, учёт остаётся незакоммиченным. Проверено
прогоном — отказ кодом 2 на свежезакрытой задаче. Тем же грязным деревом
ломались rebase и worktree remove в батче: каждая закрывшая задачу ветка уехала
бы в провалившиеся.

Починено с обеих сторон: reopen берёт текст из HEAD, если коммита удаления нет,
а шаг 11 коммитит учёт вторым коммитом.

Вторая — канонический пример docs/.pm.json убивал tasks.py. Четыре документа
показывали ключ tasks.sections, которого скрипт не знает: неизвестный ключ это
код 3 на любой команде. Проект, заведённый по канону дословно, остался бы без
работы с задачами, а docs.py при этом печатал «канон соблюдён». Секции живут в
заголовках индекса и второго дома не получают.

Остальные восемнадцать: init писал конфиг в упразднённый .tasks.json;
looks_like_tasks не видел переименованный индекс; урожай спринта терял автотег
после sprint close; ответ на вопрос по инструкции оставлял задачу незабираемой;
adopt требовал недостижимого зелёного; путь отчёта триажа не переживал archive;
review-specs не имел режима для стыка после слияния; три остатка «шаг 9а» несли
предкоммитную позицию закрытия; sprint.md отрицал сам себя в пункте «Сделана».

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 15:54:15 +03:00

8.2 KiB
Raw Blame History

Работы по итогам разбора

Порядок и обоснование — DECISIONS.md, тема 8. Номера в скобках — следствия оттуда.

Замер (шаг 3) — единственный шаг, который нельзя переставить: он блокирует переезд jellybit. Всё остальное можно тасовать.

0. Предусловие

  • git push — 11 коммитов не отправлены на origin, поэтому маркетплейс их не видит и стоит на 092d07c без единого нового плагина (37)
  • claude plugin marketplace update av-dev-skills — повторно, после push

1. Репозиторий плагинов

1.1 Переименование

  • av-dev-tasksav-dev-pm: каталог, plugin.json, marketplace.json (18)
  • пространство имён во всех текстах: av-dev-tasks:sessionav-dev-pm:session, включая ссылку из task-pipeline (18)

1.2 Канон — единственный дом определения

  • av-dev-pm/skills/canon/references/canon.md — раскладка, роли документов, правило единственного дома. Читают init, canon, docs (AA)
  • av-dev-pm/skills/canon/references/changelog.md — журнал версий канона, версия 1 (26)

1.3 Правки существующих скиллов

  • tasks: убрать слот 6 «Команда учёта задач» (33)
  • tasks: путь каталога жёсткий docs/tasks, убрать цепочку разрешения (F)
  • tasks: .tasks.jsondocs/.pm.json, там же версия канона и путь миграций (23, 30)
  • tasks: убрать слоты 3 «куда переезжает суть» и 5 «оракулы» — отвечает канон и семантика гейта (тема 4)
  • session: убрать слот 7 и слот 4 «где живёт разбор процесса» (33, K)
  • session: переписать «Стимулы, которые процесс создаёт» — снятая граница выбила опору у трёх защит (19)

1.4 Новые скиллы

  • init — интервью по брифу → канон нового проекта (R)
  • canoncheck / adopt / upgrade; поглощает скилл adopt (R, 21, 24)
  • docs — содержимое канона: ADR из архивного design.md, промоут конвенций, запись в research/ и review.md, чистка architecture.md (X)
  • docs.py — раскладка, лишние файлы, битые ссылки, версия, плейсхолдеры, маркеры долга; сверки миграции ↔ database.md и capability ↔ architecture.md (T, 31)

1.5 av-dev-pipeline

  • удалить скилл project-brief и references/{project-brief,brief-template}.md (13)
  • снять ветки деградации OpenSpec в трёх местах: task-pipeline, review-pipeline, task-batch (1)
  • девять charter'ов: разделы брифа → пути канона; ops/adversary/reimpl обязаны сшивать research/ и database.md (14, 15)
  • review-pipeline: убрать бриф, поразрядная деградация по документам (16)
  • task-pipeline шаг 9 → построчный доклад по документам канона (28)
  • task-pipeline/task-batch: закрытие задачи вызовом скилла av-dev-pm:tasks, слот убрать (32, 33)
  • promote.md шаг 3: перечень механизированного → conventions/README.md (29)
  • описание плагина: «требует OpenSpec» (2)

1.6 Прочее

  • av-dev-backlog — пометить устаревшим, переписать описание, чтобы не ловило триггер (Q)
  • README.md маркетплейса — три плагина, канон, установка
  • HISTORY.md — сжать AGENTIC-TASKS.md до истории решений (CC)
  • REMAINING.md пересобрать: пункт 2 отменён, четыре вопроса закрыты, калибровка стала обязательной (38)

1.7 Линтеры скриптов (тема 9)

  • pyproject.toml: ruff + pyrefly через uv, версии прибиты (DD, FF)
  • запрет внешних зависимостей двумя способами: banned-api + пустое окружение pyrefly (EE)
  • RUF001RUF003 выключены, av-dev-backlog исключён (GG, HH)
  • починены 27 находок ruff и 14 pyrefly; os из tasks.py ушёл (40, 41)
  • раздел «Проверка скриптов» в README.md

1.8 Ревью двумя проходами (тема 10)

  • reopen берёт текст из HEAD, когда коммита удаления ещё нет (JJ)
  • шаг 11 коммитит учёт вторым коммитом; батч проверяет чистоту дерева (JJ)
  • фиктивный ключ tasks.sections убран из четырёх документов (KK)
  • init пишет конфиг в docs/.pm.json; looks_like_tasks его читает
  • урожай спринта заводится до sprint close, слаг — из его отчёта
  • ответ на вопрос опустошает раздел «Вопросы» — во всех трёх местах
  • путь отчёта триажа переживает архивацию (5 мест)
  • review-specs получил режим 3 — стык после слияния
  • остальные 12 находок: sprint.md, «9а», перечень проектных копий, параллельность в батче, триаж в финальной сверке, триггеры профиля, 8–12

2. healthlog — первая боевая проверка

  • canon adopt; docs/backlog/docs/tasks/
  • architecture.md 1611 строк → обзор, остаток маркерами (W)
  • завести security.md с периметром первой строкой (J)
  • review-journal.mdreview.md + настройка конвейера (K, L)
  • conventions.mdconventions/, local-research.mdresearch/ (G)
  • plan.mddocs/tasks/PLAN.md (E)
  • завести docs/adr/
  • CLAUDE.md: severity инвариантов, семантика гейта, убрать раздел «Процесс» (M, N)
  • docs.py check в task gate (V)
  • почистить openspec/config.yaml (C)

3. Калибровка — блокирует шаг 5

  • замер на четырёх находках healthlog: скелет из null, откат бинаря, канонизация в транзакции, -1 >= -1 (1 из REMAINING, 14)

4. Обкатка

  • один-два спринта healthlog на новом процессе

5. jellybit

  • BRIEF.mddocs/passport.md, обновить
  • docs/specs/{recognition,review-ux,workflow}.md — сверить с capability и удалить как дубли (10)
  • docs/specs/architecture.mddocs/architecture.md, database.mddocs/database.md, jellyfin-layout.mddocs/research/
  • docs/review/journal.mddocs/review.md
  • drafts/ растворить: roadmap → PLAN.md, conventions-backlog → задачи [idea], logical-title-model → ADR (H)
  • docs/backlog/docs/tasks/
  • удалить проектные копии скиллов и агентов (4 из REMAINING)
  • av-dev-backlog удалить из маркетплейса