Тема 17, решения HHH–QQQ и следствия 68–71. Отдельной строкой — что версию канона 3 занял роадмап с родом работы, поэтому отложенное решение темы 16 (каталог вместо файла в docs/) вводится версией 4; поправлено в обоих местах. TODO раздел 6: повышение healthlog и jellybit до канона 3. Оба стоят на версии 2 с живым PLAN.md — 55 и 43 задачи, — так что переименование это не свободная правка, а миграция по журналу версий. Род работы и «Затрагивает» там проставляются не задним числом: сперва то, что идёт в ближайший набор, остальное по ходу переоценки. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
11 KiB
11 KiB
Работы по итогам разбора
Порядок и обоснование — DECISIONS.md, тема 8. Номера в скобках — следствия оттуда.
Замер (шаг 3) — единственный шаг, который нельзя переставить: он блокирует переезд jellybit. Всё остальное можно тасовать.
0. Предусловие
git push—092d07c..88c5d97, 17 коммитов ушли на origin (37)claude plugin marketplace update av-dev-skills— клон встал на88c5d97и видитav-dev-pmиav-dev-pipeline
1. Репозиторий плагинов
1.1 Переименование
av-dev-tasks→av-dev-pm: каталог,plugin.json,marketplace.json(18)- пространство имён во всех текстах:
av-dev-tasks:session→av-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.json→docs/.pm.json, там же версия канона и путь миграций (23, 30)tasks: убрать слоты 3 «куда переезжает суть» и 5 «оракулы» — отвечает канон и семантика гейта (тема 4)session: убрать слот 7 и слот 4 «где живёт разбор процесса» (33, K)session: переписать «Стимулы, которые процесс создаёт» — снятая граница выбила опору у трёх защит (19)
1.4 Новые скиллы
init— интервью по брифу → канон нового проекта (R)canon—check/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) RUF001–RUF003выключены,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
1.9 Ревью зависимостей между плагинами (тема 11)
- опоры приёмки названы абстрактно, деградация без конвейера объявлена (MM)
- ветка деградации шага 9 ходит в свой
project-facts.md(NN) docsдаёт ветку «конвейера нет» для журнала и промоута- форма журнала дефектов сведена к дому, копия помечена в
changelog.md specsвернулся в читателиdocs/research/; дом списка назначен- пайплайн не называет
items/иSPRINT.md— их знаетav-dev-pm - манифесты объявили
av-dev-pmопциональным для конвейера (49)
1.10 Механическая проверка копий (тема 12)
scripts/copies.py: маркеры дома и копии, побайтовая сверка (OO)- строгий id, повторяемый в закрывающем маркере (PP)
- помечены два контракта; «когда заводить ADR» сведён к дословному (50)
- раздел «Проверка копий правил» в
README.md, правило — в обоих домах
2. healthlog — первая боевая проверка
canon adopt;docs/backlog/→docs/tasks/architecture.md1662 строки → обзор, остаток маркерами (W)- после выноса поведения — замерить остаток
architecture.mdи решить по каталожной форме: жмёт → канон версии 4 дляarchitecture.mdиreview.md, точка входаREADME.md(тема 16, GGG, 65; версию 3 занял роадмап с родом работы, тема 17, 68) - завести
security.mdс периметром первой строкой (J) review-journal.md→review.md+ настройка конвейера (K, L)conventions.md→conventions/,local-research.md→research/(G)plan.md→docs/tasks/ROADMAP.md(E)- завести
docs/adr/ CLAUDE.md: severity инвариантов, семантика гейта, убрать раздел «Процесс» (M, N)docs.py checkвtask gate(V)- почистить
openspec/config.yaml(C) - удалить проектные копии:
.claude/skills/healthlog-{task,review}-pipelineи девять.claude/agents/healthlog-review-*.md— они прошлого поколения и после переезда указывают наdocs/conventions.md,docs/local-research.md,docs/review-journal.md, которых уже не будет
3. Калибровка — блокирует шаг 5
- замер на четырёх находках healthlog: скелет из
null, откат бинаря, канонизация в транзакции,-1 >= -1(1 из REMAINING, 14)
4. Обкатка
- один-два спринта healthlog на новом процессе
5. jellybit
BRIEF.md→docs/passport.md, обновитьdocs/specs/{recognition,review-ux,workflow}.md— сверить с capability и удалить как дубли (10)docs/specs/architecture.md→docs/architecture.md,database.md→docs/database.md,jellyfin-layout.md→docs/research/docs/review/journal.md→docs/review.mddrafts/растворить: roadmap →ROADMAP.md, conventions-backlog → задачи[idea], logical-title-model → ADR (H)docs/backlog/→docs/tasks/- удалить проектные копии скиллов и агентов (4 из REMAINING)
av-dev-backlogудалить из маркетплейса
6. Канон версии 3 — повысить живые проекты (тема 17)
Оба проекта стоят на каноне 2 и держат docs/tasks/PLAN.md: healthlog 55 задач,
jellybit 43. Шаги повышения — changelog.md,
запись «Версия 3»; делаются скиллом av-dev-pm:canon в режиме upgrade.
- healthlog:
PLAN.md→ROADMAP.md, ссылки,"canon": 3 - jellybit: то же
- род работы и раздел «Затрагивает» — не задним числом: сперва то, что
идёт в ближайший набор (
sprint takeбез них откажет), остальное по ходу переоценки (PPP)