Files
dev-skills/av-dev-tasks/skills/tasks/references/task-fix.md
T
av 3653c5cff5 скилл tasks: приоритет стал порядком строк в беклоге
Правило 4 переписано целиком. Было «порядка нет, есть цель», и
обосновано это было тем, что на «что делать дальше» отвечает набор
спринта. Набора нет — вопрос остался, отвечать нечем.

Приоритет — свойство очереди, а не задачи, поэтому его дом индекс: то
же исключение из правила 2, что и «в каком индексе лежит запись».
Положи его в файл числом — два соседних файла смогли бы утверждать одно
место, а строка индекса противоречить обоим. Цель и приоритет —
независимые оси: очередь может идти поперёк целей.

Расстановка — это move --after и move --first, и только они: руками
поправленная строка не оставляет причины.

Место сырья в конце секции из очереди изъято: оно производно от типа и
заполненности, его назначает машина, приоритетом оно не становится.

Схема состояний потеряла SPRINT.md и четыре перехода; шесть уставов
типов, task-format, split, from-review и adopt переведены со «взятия в
спринт» на ready.
2026-08-09 16:36:26 +03:00

5.7 KiB
Raw Blame History

🐞 fix — поведение расходится с заявленным

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

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

Схема

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

Воспроизведение — раздел, которого нет у других типов

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

Пишется двумя частями, обе обязательны по смыслу:

  • шаги или вход — команда, запрос, файл, последовательность действий;
  • что видно и что ожидалось — «ввод а1б2 ходит в a1, а должен быть отвергнут с ошибкой».

Это не критерии приёмки и не дублирует их: воспроизведение описывает сегодня, критерии — завтра. Пропущенное воспроизведение чаще всего означает одно из двух: расхождение приняли на слово, или его вообще нет, а есть недовольство поведением — и тогда это feature, а не fix.

Алгоритм

  1. Воспроизвести. Не удаётся — это research: заведи вопрос «при каких условиях проявляется» и не притворяйся, что чинить есть что.
  2. Найти, чему поведение противоречит. Спека, инвариант, критерий закрытой задачи. Не противоречит ничему — это feature: поведение никогда и не было заявлено, а тип, оставшийся от первой формулировки, врёт ровно там, где по нему отбирают.
  3. Записать воспроизведение — шаги и наблюдаемое против ожидаемого.
  4. Назвать границы в Затрагивает: починка часто трогает больше, чем кажется по объёму текста, и оценка систематически занижена именно здесь.
  5. Написать критерии приёмки — 2–5 утверждений с оракулами. У починки почти всегда есть парный критерий: прежнее поведение не сломалось («ввод а1 принимается по-прежнему»). Без него починка чинит одно и ломает соседнее.
  6. Цель не выдумывать. fix служит работоспособности, а не направлению, и в работоспособности, а не направлению. Придуманная цель — то же враньё, от которого спасает тип.
  7. Записать дефект в журнал docs/review.md с пометкой «проскочил / пойман ревью». Проскочившие — проверочный набор для калибровки конвейера; пойманные с оракулом — лучшая опора для прохода ревью: проектные, воспроизводимые, однажды оказавшиеся правдой.

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

check и ready смотрят на наличие непустого Воспроизведения и Затрагивает и на число критериев. Годность воспроизведения — человеку: шаги, по которым ничего не воспроизводится, машина от годных не отличает, и делать вид, что проверено больше проверенного, хуже, чем не проверять вовсе.