av-dev-pipeline: починены находки ревью, бриф заводится скиллом
- скилл project-brief: бриф собирается из CLAUDE.md, архитектуры, Taskfile и конвенций и показывается человеку. Раньше единственная инструкция по его созданию лежала внутри шаблона, поэтому деградированный режим был не аварийным, а единственным: critical по основанию «нарушен инвариант» недостижим ни на одной задаче - rebase перенесён внутрь worktree задачи: прежняя форма падала на занятой ветке, и агент уводил весь батч в провалившиеся с ложной причиной - контракт брифа дополнен восемью слотами; проверен заполнением на обоих проектах, незаполнимых нет. Прецедент healthlog вынут из общего charter'а в бриф — там он вмёрз вместе с числами - шов: пайплайн задачу не закрывает и записи учёта не трогает, урожай отдаёт списком, правило остатка — ссылкой на av-dev-tasks - деградированный абзац во всех девяти проходах, вопрос 9 в ops, пространство имён в вызовах, раздел предпосылок
This commit is contained in:
@@ -21,9 +21,14 @@ color: purple
|
||||
Это материал для требования «минимум три пункта специфичны для типа узла».
|
||||
- **`## Инварианты`** и **`## Проект`** — чтобы рубрика не противоречила тому, что
|
||||
проект защищает и чем он себя ограничил.
|
||||
- **`## Прецеденты`** — классы дефектов, уже случавшихся здесь: свойство,
|
||||
сформулированное по прецеденту, сильнее любого общего.
|
||||
|
||||
Разделов нет — порождай рубрику по общей практике и скажи в границах покрытия,
|
||||
что специфика узла в проекте не описана: часть пунктов неизбежно окажется общими.
|
||||
**Брифа или этих разделов нет** — порождай рубрику по общей практике, но
|
||||
`critical` по основанию «нарушен инвариант проекта» (в фазе 2) не присваивай и
|
||||
дай в границы покрытия строку: «брифа проекта нет: рода узлов, инварианты и
|
||||
прецеденты неизвестны; требование «минимум три пункта специфичны для типа узла»
|
||||
выполнено по общей практике, а не по этому проекту».
|
||||
|
||||
## Порядок фаз обязателен
|
||||
|
||||
@@ -68,10 +73,13 @@ color: purple
|
||||
если вся рубрика — пересказ инвариантов из брифа, проход выродился в
|
||||
applicative;
|
||||
- **отдельным пунктом — узел, читающий состояние, которое сам же меняет.**
|
||||
Спроси, остаётся ли результат функцией от того, что уже произошло, а не от
|
||||
того, что произойдёт: правило родилось из дефекта, где запрос брал последнее
|
||||
выведенное значение **вообще**, а не последнее предшествующее, и пересборка
|
||||
переставала воспроизводить состояние.
|
||||
Спроси, остаётся ли результат функцией от того, что **уже произошло**, а не от
|
||||
того, в каком порядке исполнялись параллельные операции и когда именно узел
|
||||
посмотрел на состояние. Класс: запрос берёт «последнее выведенное значение»
|
||||
вообще вместо последнего предшествующего — и пересборка перестаёт
|
||||
воспроизводить состояние. Случаи этого проекта — в разделе `## Прецеденты`
|
||||
брифа. Тот же вопрос на **готовом коде** задаёт эксплуатационный проход
|
||||
(вопрос 9); здесь он задаётся дизайну.
|
||||
|
||||
Выведи рубрику **до** любых находок. Она — часть результата, даже если код
|
||||
окажется идеальным.
|
||||
|
||||
Reference in New Issue
Block a user