хвосты после снятия спринтов: четыре штуки
resolve судил готовность записи глазами — текст писался до того, как появилась команда ready. Теперь зовёт её через av-dev-tasks:tasks, а отказ читает исходом «не доведена». Это ровно тот случай, где машина дешевле и точнее, а цена ошибки отложенная. canon.md всё ещё говорил, что невзятой запись делает sprint take. REMAINING перечислял три опоры против совпадения приёмщика с исполнителем, включая SPRINT.md под git. Опор осталось две, и третья не заменилась, а исчезла: у приёмки больше нет момента. Записано как есть. frontmatter.py: устаревший путь review-pipeline/SKILL.md в комментарии. В план добавлена дыра, которую открыло снятие сессии: двух агентов канона на живом проекте больше не зовёт никто, кроме adopt и upgrade.
This commit is contained in:
+8
-4
@@ -121,10 +121,14 @@ check` сверяет версию, но не то, что миграционн
|
|||||||
Граница объявляется вслух в каждом отчёте — это единственная защита от
|
Граница объявляется вслух в каждом отчёте — это единственная защита от
|
||||||
«соблюдено» на проекте с тремя лишними файлами.
|
«соблюдено» на проекте с тремя лишними файлами.
|
||||||
|
|
||||||
**Приёмщик и исполнитель совпали.** Граница «пайплайн не закрывает задачу» снята
|
**Приёмщик и исполнитель совпали, и опор стало меньше.** Граница «пайплайн не
|
||||||
сознательно (решение P); три защиты из раздела «Стимулы» держатся теперь текстом,
|
закрывает задачу» снята сознательно (решение P); защиты держатся текстом, а не
|
||||||
а не механикой. Реальные опоры — сохранённый отчёт триажа, `SPRINT.md` под git и
|
механикой. Реальных опор было три, осталось две: сохранённый отчёт триажа и
|
||||||
`reopen`. Это записано в самом скилле, а не спрятано.
|
`reopen` (индексы под git показывают закрытие, потому что оно коммитится
|
||||||
|
отдельным коммитом учёта). Третья — приёмка шагом сессии — ушла вместе со
|
||||||
|
спринтами: у неё больше **нет момента**, и происходит она только тогда, когда
|
||||||
|
что-то бросилось в глаза на груминге. Это записано в самих скиллах, а не
|
||||||
|
спрятано.
|
||||||
|
|
||||||
**Копия правила в шаблонах проекта.** `adr/README.md` и `review.md` уезжают в
|
**Копия правила в шаблонах проекта.** `adr/README.md` и `review.md` уезжают в
|
||||||
репозиторий и обязаны там что-то говорить, поэтому правило канона в них
|
репозиторий и обязаны там что-то говорить, поэтому правило канона в них
|
||||||
|
|||||||
@@ -71,6 +71,11 @@
|
|||||||
сам разбор. Наблюдение к первому прогону: **не выродился ли шаг 4 в
|
сам разбор. Наблюдение к первому прогону: **не выродился ли шаг 4 в
|
||||||
«оставить как есть»** — признак тот, что доклад не называет ни одного
|
«оставить как есть»** — признак тот, что доклад не называет ни одного
|
||||||
движения с доводом
|
движения с доводом
|
||||||
|
- [ ] `av-dev-docs:canon` больше не имеет момента для двух своих агентов.
|
||||||
|
`doc-consistency` и `doc-code-drift` звались шагом сессии раз в спринт;
|
||||||
|
сессии нет, груминг их звать не вправе (чужой плагин), и на живом проекте
|
||||||
|
их теперь не зовёт **никто**, кроме `adopt` и `upgrade`. Момент называет
|
||||||
|
их владелец — решить, какой
|
||||||
|
|
||||||
## 3. Калибровка — блокирует переезд jellybit
|
## 3. Калибровка — блокирует переезд jellybit
|
||||||
|
|
||||||
|
|||||||
@@ -79,15 +79,21 @@ description: "Решить одну задачу от постановки до
|
|||||||
Ничего из этого не задано — попроси у вызывающего и остановись; сам в беклог не
|
Ничего из этого не задано — попроси у вызывающего и остановись; сам в беклог не
|
||||||
лезь и приоритеты не интерпретируй: что делать дальше, решает не этот скилл.
|
лезь и приоритеты не интерпретируй: что делать дальше, решает не этот скилл.
|
||||||
|
|
||||||
**Запись, не готовая к работе, в работу не берётся.** У типа `research` это
|
**Запись из каталога сперва проверяется на готовность, и проверяет её машина.**
|
||||||
проверяемо и потому обязательно: нет непустого раздела **«Вопрос»** — это не
|
Вызови Skill `av-dev-tasks:tasks` и попроси прогнать `ready <слаг>`: он смотрит
|
||||||
разведка, а сырьё, и его сперва доводят до вопроса. Скажи это исходом и назови,
|
тип, цель у `feature`, пустой ли раздел вопросов и собраны ли разделы схемы
|
||||||
чего не хватает; штурмовать сырьё за автора — не работа этого скилла.
|
типа. Судить это глазами нельзя — ровно тот случай, где машина дешевле и точнее,
|
||||||
|
а цена ошибки отложенная: недостающие критерии приёмки обнаружатся на приёмке,
|
||||||
|
когда сверять уже не с чем.
|
||||||
|
|
||||||
У остальных типов схему держит `av-dev-tasks` (обязательные разделы, не меньше
|
**`ready` отказал — это исход, а не препятствие для тебя.** Скажи, чего не
|
||||||
двух критериев приёмки). Прочитай запись и, если видно, что схема не выполнена,
|
хватает, и остановись: дописывать чужую запись за автора не твоя работа, а у
|
||||||
скажи это строкой — но работу не останавливай: у типов действия пробел лечится
|
сырья (`research` без раздела «Вопрос») и дописывать нечего — там сперва нужен
|
||||||
по ходу, а у разведки без вопроса лечить нечего.
|
вопрос. Исход — «не доведена», с названной причиной.
|
||||||
|
|
||||||
|
Плагина `av-dev-tasks` в проекте нет или задача пришла текстом — прогонять
|
||||||
|
нечего. Тогда прочитай постановку сам и скажи строкой, что готовность машиной не
|
||||||
|
проверялась; работу при этом не останавливай.
|
||||||
|
|
||||||
## Две ветки
|
## Две ветки
|
||||||
|
|
||||||
|
|||||||
@@ -393,10 +393,10 @@ kebab-case.** Причина не эстетическая: имя файла с
|
|||||||
и второй её экземпляр разошёлся бы с первым (он и разошёлся: канон успел
|
и второй её экземпляр разошёлся бы с первым (он и разошёлся: канон успел
|
||||||
объявить цель у `fix` запрещённой, хотя она там необязательна).
|
объявить цель у `fix` запрещённой, хотя она там необязательна).
|
||||||
|
|
||||||
Схема требуется **к взятию в спринт**, а не к заведению: беклог пополняется чаще,
|
Схема требуется **к взятию в работу**, а не к заведению: беклог пополняется чаще,
|
||||||
чем разбирается, и требование на входе выгоняло бы в заметки то, что должно
|
чем разбирается, и требование на входе выгоняло бы в заметки то, что должно
|
||||||
лежать задачей. Запись, не собравшая разделы своего типа, — законное состояние
|
лежать задачей. Запись, не собравшая разделы своего типа, — законное состояние
|
||||||
беклога; невзятой её делает `sprint take`.
|
беклога; невзятой её делает `tasks.py ready`.
|
||||||
|
|
||||||
Отдельного типа для незаполненной записи нет: «ещё не описано» — состояние, а не
|
Отдельного типа для незаполненной записи нет: «ещё не описано» — состояние, а не
|
||||||
род работы, и называется оно **`research` без раздела «Вопрос»**. Такая запись в
|
род работы, и называется оно **`research` без раздела «Вопрос»**. Такая запись в
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ from pathlib import Path
|
|||||||
|
|
||||||
OK, DRIFT, USAGE, ENV, INTERNAL = 0, 1, 2, 3, 4
|
OK, DRIFT, USAGE, ENV, INTERNAL = 0, 1, 2, 3, 4
|
||||||
|
|
||||||
# Дом раскладки — «Модель по проходу» в review-pipeline/SKILL.md; здесь её
|
# Дом раскладки — «Модель по проходу» в av-dev-code/skills/review/SKILL.md; здесь её
|
||||||
# механизация. Порядок цветов — порядок стоимости прогона.
|
# механизация. Порядок цветов — порядок стоимости прогона.
|
||||||
PALETTE = {"sonnet": "green", "opus": "yellow"}
|
PALETTE = {"sonnet": "green", "opus": "yellow"}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user