Files
dev-skills/TODO.md
T
av 53cf6baedf av-dev-pipeline стал av-dev-code, review-pipeline — review
Имя описывало устройство, а не предмет: «пайплайн» говорит, что внутри
конвейер, — а плагин занят кодом по задачам, и с появлением чекпоинтов
он уже не конвейер в чистом виде. Набор имён стал параллельным:
docs / tasks / code / git, каждое называет материал.

Заодно review-pipeline стал review — слово ушло из плагина целиком, а
не наполовину; скиллы выровнялись: resolve / review / openspec.

Журнал версий канона переписан вместе со всеми, DECISIONS.md — нет.
Разрез по типу высказывания, а не файла: наблюдение и причина
неприкосновенны, предписание и адрес обязаны оставаться исполнимыми.
Запись версии 10 велит «проверить, что плагин av-dev-pipeline
установлен» — проект, дошедший до неё, выполнил бы невыполнимое.
2026-08-09 15:43:03 +03:00

9.6 KiB

Что осталось сделать

Здесь только работы и их порядок. Чего здесь нет намеренно:

  • риски, открытые вопросы и принятые пределыREMAINING.md;
  • почему решено такDECISIONS.md, записи датированы;
  • шаги повышения проекта с версии канона на версию — журнал версий (changelog.md). Пересказ их сюда был бы вторым домом, и прежний план на этом уже разъезжался: он повторял записи версий 3, 4 и 5 построчно, и половина повторов протухла молча.

Сделанное отсюда удаляется, а не помечается галочкой. След остаётся в коммитах и в DECISIONS.md; список из двух сотен [x] перестают читать целиком, и живые пункты в нём теряются — прежний план умер именно так.

Где мы сейчас

Плагинов четыре, и каждый ставится отдельно: av-dev-docs (канон документов и их содержимое), av-dev-tasks (задачи и цели), av-dev-code (код по задачам: цикл SDD, конвейер ревью, OpenSpec), av-dev-git. Общее, что нужно нескольким дословно, живёт домом в shared/ и уезжает копиями.

Канон документов — версия 11. Живые проекты стоят на 2–3 и на плагине av-dev-pm, которого больше нет.

1. Живые проекты — вернуть в рабочее состояние

Блокирует всё остальное: под текущим каноном не стоит ни один проект, и ни один скилл, кроме docs.py check, не исполнялся на живом коде ни разу (см. REMAINING, «Что ещё не сделано»).

healthlog — первым

  • переустановить плагины: снять av-dev-pm и av-dev-pipeline, поставить av-dev-docs, av-dev-tasks, av-dev-code, av-dev-git. Оба прежних имени мертвы, и plugin update их не переименует — только снять и поставить. marketplace update, затем plugin update — одного шага мало (README, «Обновление»)
  • удалить проектные копии: .claude/skills/healthlog-{task,review}-pipeline и девять .claude/agents/healthlog-review-*.md. Они прошлого поколения и после переезда указывают на документы, которых уже не будет
  • av-dev-docs:canon в режиме adopt — он приведёт проект к канону 11 сразу, картой и с подтверждением. Файл-в-файл здесь не расписан: раскладку знает скилл, и второй перечень разошёлся бы с ним
  • каталог задач — в tasks/ корня (канон 11), не в docs/tasks/. Скилл задач зовётся из adopt сам
  • гейт проекта: три шага вместо одного — docs.py check, tasks.py check --dir tasks, openspec.py check. Второй и третий раньше не были нужны: согласованность задач тянул за собой docs.py, форму config.yaml он же. Теперь оба молчат, и без своих шагов дрейф перестанет ловиться
  • разобрать урожай doc-consistency и doc-code-drift порциями — правило единственного дома на живом проекте не проверял никто

jellybit — после калибровки

Порядок не произволен: замер (раздел 3) блокирует переезд jellybit, и только его.

  • то же, что у healthlog: плагины, проектные копии, adopt, каталог задач, гейт
  • проектные копии здесь опаснее: скиллы названы task-pipeline, review-pipelineровно как в плагине, и короткое имя может увести в устаревшую копию молча (REMAINING)

2. Учёт работ без спринтов

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

  • снять спринт: SPRINT.md, команды sprint *, переходы схемы состояний, правило «задача живёт в одном индексе за раз» упрощается до беклога
  • приоритет — явный порядок строк в беклоге. Правило 4 скилла задач («порядка нет, есть цель») переписывается целиком: оно обосновано тем, что «что делать дальше» отвечает набор спринта, — а набора больше нет. Записать, что приоритет это свойство очереди, а не задачи, и потому его дом индекс: то же исключение из правила 2, что уже есть у «в каком индексе лежит задача, знают индексы»
  • перевесить гейт готовности. Схема типа (обязательные разделы, ≥2 критерия, границы) проверяется на sprint take. Спринта нет — момента нет; нужен tasks.py ready <слаг> или check --task <слаг>, иначе задача уедет в работу без критериев приёмки. Сейчас resolve держит это глазами: он отказывает сырью (research без «Вопроса») и называет строкой невыполненную схему у прочих типов — то есть машина в этом месте не участвует
  • check --fix: восстановленная строка индекса теряет позицию, а позиция теперь и есть приоритет. Класть в конец категории и печатать пометкой, что приоритет назначен не человеком
  • session → скилл груминга внутри av-dev-tasks: пересортировка беклога, разбор вопросов, переоценка. references/sprint.md в мусор, cadence.md переписать под ритуал без спринта
  • запись в журнал версий канона: проектам надо снести SPRINT.md и расставить порядок

3. Калибровка — блокирует переезд jellybit

  • замер на четырёх находках healthlog: скелет из null, откат бинаря, канонизация в транзакции, -1 >= -1. Цена и ожидаемый исход — REMAINING, «Главный незакрытый риск»

4. Пайплайн: что осталось после resolve

Сам скилл написан (av-dev-code:resolve, два чекпоинта, ветка разведки), task-batch удалён. Осталось то, что на бумаге не проверяется:

  • перемерить скилл review тем же вопросом, что и проект целиком: сколько из его стадий реально смотрятся глазами. Тысяча строк, и весь автоматический участок между чекпоинтами держится на них
  • чекпоинт «объяснение» собирается из proposal.md и design.md, а требования к их форме уехали в openspec/config.yaml (rules.proposal, rules.design). На живом проекте это ни разу не работало: неизвестно, хватает ли двух артефактов, чтобы объяснение не пришлось дописывать руками

5. Обкатка

  • один-два цикла healthlog на новом процессе. Наблюдения к первой обкатке два: не выродились ли «границы покрытия» в шаблон (REMAINING, «Открытые вопросы») и не превратился ли чекпоинт в ритуал одобрения — признак тот же, дословно повторяющийся текст и согласие без единой правки