Каталоги, агенты и общие дома переехали в av-dev/; скиллы названы по прежнему плагину — doc-*, task-*, code-*, с двумя смысловыми именами вместо тавтологии: doc-sync вместо docs, task-track вместо tasks. Манифесты сведены к двум плагинам. Пространства имён вызовов и пути внутри дерева переписаны машинно; проза, которая называет прежние плагины отдельными, идёт следующим шагом.
11 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/ и уезжает копиями.
Канон документов — версия 14; формат задач — версия 1, своя и со своим журналом. Живые проекты стоят на 2–3 и на плагине
av-dev-pm, которого больше нет.
Бумажная часть закрыта аудитом четырёх плагинов и четырьмя пропусками правок (DECISIONS, запись 59). Всё, что ниже, проверяется только на живом коде.
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:doc-canonв режимеadopt— он приведёт проект к канону 14 сразу, картой и с подтверждением. Файл-в-файл здесь не расписан: раскладку знает скилл, и второй перечень разошёлся бы с ним- каталог задач — в
tasks/корня (канон 11), не вdocs/tasks/, безSPRINT.md(канон 12) и с версией формата вtasks/.tasks.json(журнал задач, версия 1). Скилл задач зовётся из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. Учёт работ без спринтов — что осталось
Сделано: спринт снят со скрипта и текстов, приоритет стал порядком строк в
беклоге, гейт готовности переехал в tasks.py ready, session стал скиллом
groom, запись 12 в журнал версий канона написана.
- прогнать груминг на живом беклоге — на фикстуре проверялись команды, а не сам разбор. Наблюдение к первому прогону: не выродился ли шаг 4 в «оставить как есть» — признак тот, что доклад не называет ни одного движения с доводом
3. Калибровка — блокирует переезд jellybit
- замер на четырёх находках healthlog: скелет из
null, откат бинаря, канонизация в транзакции,-1 >= -1. Цена и ожидаемый исход — REMAINING, «Главный незакрытый риск»
4. Конвейер: что осталось после resolve
Сам скилл написан (av-dev:code-resolve, три сценария — разведка, решение и
обслуживание; чекпоинт есть у первых двух, у обслуживания планового стопа нет),
task-batch удалён. Осталось то, что на бумаге не проверяется:
- прогнать сценарий разведки на живой задаче: он написан целиком на бумаге и не исполнялся ни разу. Самое неизвестное — выбор сценария на входе (не уедет ли всё в решение, потому что «способ вроде понятен») и объём того, что разведка пишет в документы
- прогнать сценарий обслуживания на живой задаче
chore. Неизвестных три: держится ли связка признаков (не уедет ли в обслуживание то, что меняет поведение, и наоборот — не заведут ли пустой change по привычке); работает ли ревью без change — конвейер написан вокруг него, и прогон с фиксированным планом не запускался ни разу; есть ли чем сверить состав гейта — на живых проектах семантика гейта вCLAUDE.mdможет не называть шагов поимённо, и тогда сверка вырождается в цвет - перемерить скилл
reviewтем же вопросом, что и проект целиком: сколько из его стадий реально смотрятся глазами. Тысяча строк, и весь автоматический участок между чекпоинтами держится на них - чекпоинт «объяснение» собирается из
proposal.mdиdesign.md, а требования к их форме уехали вopenspec/config.yaml(rules.proposal,rules.design). На живом проекте это ни разу не работало: неизвестно, хватает ли двух артефактов, чтобы объяснение не пришлось дописывать руками
5. Мелочь, оставленная аудитом сознательно
Одной пачкой, когда будет повод открыть эти файлы, — не раньше:
- «чекпоинт» несёт третий смысл — точка наблюдаемости в коде
(
finding-contract.md,promote.md). Слово занято дважды по своему же правилу, но домены разные, и переименование здесь может выйти дороже путаницы - закрытый словарь
shared/language.mdне содержит ни «конвейера», ни «чекпоинта», ни «груминга» — трёх рабочих терминов репозитория. Список объявлен закрытым, и пополнять его на ходу нельзя move <слаг>без флагов теперь легален и значит «в конец своей секции» — осмысленная операция, но в прозе не описана нигдеreopenпечатает «позиция это приоритет» и для целей роадмапа, где секции очередью не являются
6. Обкатка
- один-два цикла healthlog на новом процессе. Наблюдения к первой обкатке два: не выродились ли «границы покрытия» в шаблон (REMAINING, «Открытые вопросы») и не превратился ли чекпоинт в ритуал одобрения — признак тот же, дословно повторяющийся текст и согласие без единой правки