Files
dev-skills/av-dev/skills/task-track/references/task-chore.md
T
av 3849f084be задачи: цель упразднена, у проекта появилась стадия
Тип goal и индекс ROADMAP.md убраны: цель — зонтик над параллельными
направлениями, а у проекта на одного человека список работ линеен. Роадмап
при этом наполовину дублировал беклог, а «что уже умеет» отвечают спеки и
git log индекса. Секция «Готово» удалена, а не перенесена.

Вместо цели — ось «стадия проекта»: build (беклог это план стройки, порядок
строк значит зависимость, секция одна) и support (очередь правок, порядок
значит важность, секции — полки домена). Стадия объявляется ключом
[tasks] stage, меняется командой stage, без неё check отказывает: порядок
строк нечем прочитать.

Ушли теги goal:/decomposed, поле «Секция», раздел «Завершение», флаги
--goal и edit --section. Версия раскладки 2 → 3, перевод проекта расписан
записью журнала.
2026-08-13 14:26:21 +03:00

5.9 KiB
Raw Blame History

🧹 chore — обслуживание, наблюдаемое поведение не меняется

Зависимости, сборка, перенос, чистка, оснастка. Отвечает на «что нужно сделать», глаголом в неопределённой форме.

Общая форма записи (мета, слаг, строка индекса) — task-format.md. Здесь только то, что у этого типа своё.

Схема

Заголовок отвечает на что нужно сделать
Обязательные разделы Затрагивает, Критерии приёмки
Допустимые сверх того Рамки, Вопросы
Поле места Категория — полка домена беклога
Индекс BACKLOG.md
Берётся в работу да

Адресат — разработчик, и это законно

Тест готовности спрашивает «что станет наблюдаемо иначе». У chore ответ адресован разработчику, а не пользователю: «перестанет собираться два раза», «уедет последний вызов устаревшего API», «проверки гоняются одной командой». Это ответ, а не отговорка.

У chore тест готовности слабее честно, а не молча. Пока типа не было, такие задачи либо не заводились вовсе, либо формулировались как выдуманная пользовательская польза — и то и другое хуже, чем сказать прямо, для кого работа.

Отсюда же граница: если после задачи меняется то, что видит пользователь, — это не chore. Тип, оставшийся от первой формулировки, врёт ровно там, где по нему отбирают.

Обнаружилось это уже в работе — запись переформулируется, а не дорешивается. Исполнитель останавливается, называет тип, которым задача оказалась (fix — поведение расходится с заявленным, feature — снаружи появляется то, чего не было), и человек решает: сменить тип и решать процессом того типа — либо прекратить. Тип меняет этот скилл, а не исполнитель по ходу: у нового типа своя схема разделов, и ready проверит её заново.

Алгоритм

  1. Проверить, что поведение не меняется. Меняется — это feature или fix, и у последнего другие требования (воспроизведение).
  2. Назвать, что перестанет мешать — одной фразой, адресуясь разработчику. «Прибраться в модуле X» — не ответ: непонятно, что изменится.
  3. Назвать границы в Затрагивает. У обслуживания они часто не в коде: конфиг и его образцы, версия зависимости, команда сборки, файл CI. Границей считается то, у чего есть внешняя сторона и цена изменения.
  4. Написать критерии приёмки — 2–5 утверждений с оракулами. У chore оракул обычно самый дешёвый из всех типов: команда, которая раньше падала или требовала трёх шагов, теперь отрабатывает одним.
  5. Проверить, что это не «заодно». Обслуживание любит склеиваться в пачку («обновить зависимости и переписать сборку и убрать мёртвый код»). Не мерджится порознь — это несколько задач (split.md).

Кто такую задачу решает

Решает её конвейер проекта — скилл av-dev:code-resolve, сценарий обслуживания: он не заводит change и не пишет требований, потому что у работы, не меняющей поведения, дельта-спек нет по построению. Тип записи там только предлагает сценарий, а подтверждает его отсутствие дельт: разошлись — работа останавливается, и это тот самый случай, когда тип, оставшийся от первой формулировки, врёт. Задачу ведут не этим процессом — она решается как проект привык, а этот скилл её только заводит и закрывает.

Что видит машина, а что человек

ready смотрит на наличие непустого Затрагивает и на число критериев — ровно то же, что у feature. Разница между типами здесь не в строгости проверки, а в том, кому адресован ответ на «что станет наблюдаемо иначе», — и это судит человек.