ревью зависимостей: одна настоящая протечка, неисполнимая деградация, две разошедшиеся копии
Целевая картина проверена по коду и текстам. av-dev-git ни от чего не зависит. av-dev-pipeline проходим на задаче, заданной одной строкой текста, — кроме одного места. Третья цель в исходной формулировке недостижима, и поправлена формулировка, а не картина. av-dev-pm владеет docs/review.md — конфигурационным файлом конвейера с «Вопросами к проходам» и «Триггерами профиля», то есть знает проходы поимённо по построению. Кто-то этим словарём владеть обязан. Честная формулировка: pm не зовёт пайплайн и не требует его наличия — и она выполняется. Настоящая протечка была одна: опоры приёмки в «Стимулах» и sprint.md держались на отчёте триажа по конкретному OpenSpec-пути. В проекте без конвейера защита от занижения урожая исчезала молча. Теперь опора названа абстрактно, путь дан частным случаем, отсутствие конвейера обязано попадать строкой в доклад спринта. Ветка деградации шага 9 была неисполнима ровно в том случае, ради которого написана: «плагина нет — открой av-dev-pm/skills/canon/references/canon.md», путь в дерево маркетплейса. Пайплайн теперь ходит в свой project-facts.md, а ссылки в чужой плагин даются через Skill. Две симметричные копии уже разошлись: форма журнала дефектов (шесть полей против пяти, «Причина» потеряна) и читатели docs/research/ («specs» выпал). Дома назначены, копии помечены, обязанность тянуть запись в журнал версий записана. Плюс: пайплайн не называет items/ и SPRINT.md — их имена проект вправе сменить; манифесты объявили av-dev-pm опциональным и приём задачи текстом. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -276,8 +276,8 @@ description: Автономно проводит одну задачу чере
|
||||
### 9. Синк документации
|
||||
|
||||
Ревью выполненного — до этого шага. Затем **вызови Skill `av-dev-pm:docs`**: он
|
||||
владеет содержимым документов канона и ведёт чек-лист синка. Плагина нет —
|
||||
пройди чек-лист сам по списку ниже.
|
||||
владеет содержимым документов канона и ведёт чек-лист синка. Плагина нет — шаг
|
||||
всё равно делается, см. ниже.
|
||||
|
||||
**Правило одно и оно жёсткое: принуждённое отрицание.** Доклад обязан назвать
|
||||
**каждый** документ канона — либо чем он обновлён, либо «не требуется, потому
|
||||
@@ -287,8 +287,15 @@ description: Автономно проводит одну задачу чере
|
||||
|
||||
**Список документов и их триггеров здесь не дублируется** — он в чек-листе
|
||||
скилла `av-dev-pm:docs`, и копия уже однажды разошлась с оригиналом, потеряв два
|
||||
триггера. Плагина нет — открой канон (`av-dev-pm/skills/canon/references/canon.md`)
|
||||
и пройди по разделам его раскладки: каждый документ канона получает строку.
|
||||
триггера.
|
||||
|
||||
**Плагина `av-dev-pm` в проекте нет** — путь в его дерево не разрешится ниоткуда,
|
||||
поэтому за списком иди в **свой** reference:
|
||||
[references/project-facts.md](../review-pipeline/references/project-facts.md)
|
||||
конвейера ревью перечисляет все документы канона с их предметом. Пройди по этому
|
||||
перечню — каждый документ получает строку, отрицание остаётся обязательным.
|
||||
Триггеры при этом ты знаешь хуже, и это называется в докладе строкой: «синк
|
||||
сделан по перечню документов, без списка триггеров — плагина `av-dev-pm` нет».
|
||||
Канона в проекте тоже нет — назови это исходом и предложи `av-dev-pm:canon`.
|
||||
|
||||
### 10. Коммит
|
||||
@@ -305,18 +312,18 @@ description: Автономно проводит одну задачу чере
|
||||
### 11. Закрыть задачу — **после коммита, не раньше**
|
||||
|
||||
**Вызови Skill `av-dev-pm:tasks`** и попроси закрыть задачу как реализованную —
|
||||
он владеет форматом и двигает строку из `SPRINT.md` сам. Путь к его скрипту не
|
||||
он владеет форматом и двигает строку из набора спринта сам. Путь к его скрипту не
|
||||
выясняй и индексы руками не правь: мост между плагинами — вызов скилла, а не
|
||||
путь.
|
||||
|
||||
**Порядок обязателен.** Закрытие удаляет файл задачи; сделанное до коммита оно
|
||||
оставило бы задачу закрытой без единого следа работы, если шаг 10 упадёт.
|
||||
|
||||
**Закрытие тоже коммитится — вторым коммитом, тут же.** Удаление
|
||||
`items/<slug>.md` и правка `SPRINT.md` — это правки в рабочем дереве, и оставить
|
||||
их незакоммиченными нельзя по трём причинам: `task-batch` следом делает `rebase`
|
||||
**Закрытие тоже коммитится — вторым коммитом, тут же.** Удаление файла задачи и
|
||||
правка индексов (их имена знает `av-dev-pm`, не ты) — это правки в рабочем
|
||||
дереве, и оставить их незакоммиченными нельзя по трём причинам: `task-batch` следом делает `rebase`
|
||||
и `worktree remove`, а те откажут на грязном дереве; закрытие, не доехавшее до
|
||||
основной ветки, оставит задачу открытой молча; и опора «`SPRINT.md` под git
|
||||
основной ветки, оставит задачу открытой молча; и опора «набор спринта под git
|
||||
показывает, что и когда закрыто» без коммита — пустые слова. Сообщение короткое,
|
||||
про учёт, а не про работу: `закрыта задача <slug>`. Это второй коммит осознанно:
|
||||
правило «одна задача — один осмысленный коммит» про работу, а учёт — не работа.
|
||||
|
||||
Reference in New Issue
Block a user