av-dev-pipeline: починены находки ревью, бриф заводится скиллом

- скилл project-brief: бриф собирается из CLAUDE.md, архитектуры, Taskfile
  и конвенций и показывается человеку. Раньше единственная инструкция по
  его созданию лежала внутри шаблона, поэтому деградированный режим был не
  аварийным, а единственным: critical по основанию «нарушен инвариант»
  недостижим ни на одной задаче
- rebase перенесён внутрь worktree задачи: прежняя форма падала на занятой
  ветке, и агент уводил весь батч в провалившиеся с ложной причиной
- контракт брифа дополнен восемью слотами; проверен заполнением на обоих
  проектах, незаполнимых нет. Прецедент healthlog вынут из общего charter'а
  в бриф — там он вмёрз вместе с числами
- шов: пайплайн задачу не закрывает и записи учёта не трогает, урожай
  отдаёт списком, правило остатка — ссылкой на av-dev-tasks
- деградированный абзац во всех девяти проходах, вопрос 9 в ops,
  пространство имён в вызовах, раздел предпосылок
This commit is contained in:
av
2026-08-03 11:45:40 +03:00
parent 20dca29add
commit 0eca206460
18 changed files with 1021 additions and 214 deletions
+14 -6
View File
@@ -21,9 +21,14 @@ color: purple
Это материал для требования «минимум три пункта специфичны для типа узла».
- **`## Инварианты`** и **`## Проект`** — чтобы рубрика не противоречила тому, что
проект защищает и чем он себя ограничил.
- **`## Прецеденты`** — классы дефектов, уже случавшихся здесь: свойство,
сформулированное по прецеденту, сильнее любого общего.
Разделов нет — порождай рубрику по общей практике и скажи в границах покрытия,
что специфика узла в проекте не описана: часть пунктов неизбежно окажется общими.
**Брифа или этих разделов нет** — порождай рубрику по общей практике, но
`critical` по основанию «нарушен инвариант проекта» (в фазе 2) не присваивай и
дай в границы покрытия строку: «брифа проекта нет: рода узлов, инварианты и
прецеденты неизвестны; требование «минимум три пункта специфичны для типа узла»
выполнено по общей практике, а не по этому проекту».
## Порядок фаз обязателен
@@ -68,10 +73,13 @@ color: purple
если вся рубрика — пересказ инвариантов из брифа, проход выродился в
applicative;
- **отдельным пунктом — узел, читающий состояние, которое сам же меняет.**
Спроси, остаётся ли результат функцией от того, что уже произошло, а не от
того, что произойдёт: правило родилось из дефекта, где запрос брал последнее
выведенное значение **вообще**, а не последнее предшествующее, и пересборка
переставала воспроизводить состояние.
Спроси, остаётся ли результат функцией от того, что **уже произошло**, а не от
того, в каком порядке исполнялись параллельные операции и когда именно узел
посмотрел на состояние. Класс: запрос берёт «последнее выведенное значение»
вообще вместо последнего предшествующего — и пересборка перестаёт
воспроизводить состояние. Случаи этого проекта — в разделе `## Прецеденты`
брифа. Тот же вопрос на **готовом коде** задаёт эксплуатационный проход
(вопрос 9); здесь он задаётся дизайну.
Выведи рубрику **до** любых находок. Она — часть результата, даже если код
окажется идеальным.