Files
dev-skills/av-dev/skills/task-track/references/task-feature.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

4.9 KiB
Raw Blame History

feature — снаружи появляется то, чего не было

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

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

Схема

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

Алгоритм

  1. Проверить, что возможность и правда новая. Поведение расходится с уже заявленным — это fix, а не feature, и требования у него другие.
  2. Назвать границы в разделе Затрагивает: эндпоинт или команда, таблица и миграция, формат на диске, публичный тип пакета, внешний сервис. Названы границы, а не замысел: «переписать хранилище на новый драйвер» — замысел, таблица points и её миграция — граница. Проверяется вопросом «это можно назвать до того, как решено как делать?».
  3. Написать критерии приёмки — 2–5 проверяемых утверждений списком, у каждого назван оракул. Не «работает корректно», а «повторный прогон даёт тот же отпечаток — оракул: команда сверки».
  4. Поставить её на место в списке. На стройке место называет зависимость: move <слаг> --after <шаг, без которого нельзя>. На доработке место в очереди назначает груминг, и конец списка законен.
  5. Проверить, что задача одна. Отвечается всё, но задача не делается одним заходом и не мерджится целиком — это несколько задач, дроби сразу (split.md) и ставь их в списке подряд.
  6. Реализация — дело конвейера проекта, не этого скилла. Закрывается close <слаг> --implemented: файл и строка удаляются, суть переезжает в openspec/specs/ и документацию.

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

Схему типа судит ready на входе в работу: наличие непустого раздела Затрагивает и число критериев (меньше двух — отказ, больше пяти — замечание). Наличие оракула проверяется эвристикой — словом «оракул» в пункте. check этого поимённо не говорит, а считает строкой здоровья (SKILL.md, «Что механизировано, а что нет»).

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

Критерии — пол, но расхождение с ними есть дефект критериев. Видишь, что критерии закрыты, а суть задачи не достигнута — правь критерии и возвращай задачу, а не держи невидимое сверх-требование: иначе исполнитель никогда не знает, закончил ли, и мотивирован занижать критерии заранее.