- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель; - буквенные метки решений заменены сквозными Р1–Р234, следствия получили префикс С при прежних номерах: схема букв выродилась до пятибуквенных и сломалась — `АЕАКЛ` была занята и темой 53, и темой 65; - 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер означал тему, а слово стояло «решение», формулировка исправлена.
5.7 KiB
57. Спринты отменены: приоритет стал порядком строк, session стал groom (2026-08-09)
Р205. Спринт отвечал на вопрос «что делать дальше» замороженным набором, а между наборами на этот вопрос не отвечал никто. Процесс идёт задача за задачей, и набор перестал что-либо удерживать: он не синхронизировал (некого), не ограничивал по времени (тайм-бокс не брали) и не защищал от врывания (врывалось ровно два класса, оба назывались правилом). Осталась цена — обязанность собрать, показать, заморозить и распустить.
Приоритет вернулся, и вернулся туда, где ему место. Прежнее правило «порядка нет, есть цель» было обосновано набором спринта, и с ним потеряло опору. Приоритет — свойство очереди, а не задачи, поэтому его дом индекс: то же исключение из правила «файл — источник истины», что уже было у «в каком индексе лежит запись». Числом в файле он быть не мог — два соседних файла смогли бы утверждать одно место, а строка индекса противоречить обоим.
Гейт готовности стоял на sprint take и чуть не исчез вместе с ним. Это было
единственное место, где запись судили целиком: тип, цель у feature, пустой
раздел вопросов, схема типа. Без спринта момента не осталось бы вовсе, а узнают
о недописанной задаче на приёмке, когда сверять уже не с чем. Момент назвали
заново — команда tasks.py ready <слаг>, и зовёт её тот, кто берёт задачу.
Отказ там код 1, а не 2: запись не дописана — это рабочая ситуация, а не
ошибка употребления.
session стал groom, и предмет сузился до двух вопросов — что сейчас
самое важное и что перестало быть важным. Из четырёх шагов прежней сессии выжили
два (вопросы, переоценка порциями), один заменился (расстановка очереди вместо
набора спринта), два выпали:
- приёмка закрытых задач — грумингу не по предмету. Ритуала у неё больше нет,
остаётся
reopenпо требованию. Цена названа прямо: приёмка происходит только тогда, когда что-то уже бросилось в глаза; - разбор процесса — его якорем был прошедший спринт. Вместе с ним из скилла
ушёл прямой вызов агентов
doc-consistencyиdoc-code-drift, и это не потеря, а починка: агенты принадлежатav-dev-docs, и груминг звал их мимо правила обращения к соседу, без ветки «плагина нет». Груминг теперь только называет повод сверить канон, а когда их звать — решает их владелец.
Побочно найдено: canon.md — дом определения канона — объявлял себя версией
7, когда скрипт шёл на 11. Пять версий дом врал о себе, и не заметил никто:
машина сверяет версию проекта с константой скрипта, а прозу в заголовке не
читает.
Что из этого следует
С190. Правило, обоснованное механикой, умирает вместе с ней — и надо проверять, что вопрос умер тоже. «Порядка нет» держалось на наборе спринта; набор ушёл, а вопрос «что делать дальше» остался и повис без ответа. Снимая механику, ищи не только то, что на ней стояло, но и то, на что она отвечала.
С191. Гейт живёт в моменте, а не в команде. Проверка готовности была
свойством sprint take — и была бы потеряна как деталь удаляемой команды.
Момент «запись впервые судят целиком» существует независимо от того, чем он
назван, и переезжает вместе с процессом.
С192. Версия в прозе, которую не читает машина, протухает молча. Дом канона назвал себя версией 7 при текущей 11: сверка шла по константе скрипта, а заголовок документа не сверял никто.