Files
dev-skills/TODO.md
T
av c5e6883461 task-pipeline переписан в resolve: два плановых стопа
Автоматическое решение задач агентом работает плохо, и хуже того — в
процессе перестаёт ориентироваться автор. В цикл возвращается человек,
но не согласованием на каждом шаге: доктрина «делать, а не спрашивать»
не отменена, а ограничена местом. Развилка до ближайшего чекпоинта
копится в него, после последнего — уходит вопросом в запись.

Чекпоинтов два. «Варианты» — у исследовательской задачи, до первого
требования: 2-4 способа с ценой каждого и рекомендацией, выбор оседает
по адресу, который назвала сама запись. «Объяснение» — у всякой, после
ревью дизайна: человек читает просеянное машиной.

Объяснение не завело своего артефакта — оно собирается из proposal.md и
design.md, а требование к их форме уехало в openspec/config.yaml
(rules.proposal, rules.design), то есть применяется в момент написания.
Отдельный раздел был бы третьим домом одного объяснения.

Закрыт открытый вопрос: находка ревью, меняющая дельта-спеки, отменяет
одобрение — разметка пересчитывается, чекпоинт повторяется.
2026-08-09 15:34:13 +03:00

9.4 KiB

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

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

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

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

Где мы сейчас

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

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

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

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

healthlog — первым

  • переустановить плагины: снять av-dev-pm, поставить av-dev-docs и av-dev-tasks. 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-pipeline:resolve, два чекпоинта, ветка разведки), task-batch удалён. Осталось то, что на бумаге не проверяется:

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

5. Обкатка

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