ревью зависимостей: одна настоящая протечка, неисполнимая деградация, две разошедшиеся копии

Целевая картина проверена по коду и текстам. 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:
av
2026-08-03 16:11:01 +03:00
co-authored by Claude Opus 5
parent 1fb006df4a
commit 5dcf40d8af
12 changed files with 152 additions and 36 deletions
+51
View File
@@ -809,3 +809,54 @@ pyrefly: в окружении нет ничего, кроме линтеров,
46. **Два прохода по разным предметам дороже одного, но не вдвое.** Перекрытие
оказалось ровно в одной находке из двадцати — той самой, что подтвердилась
дважды. Практика остаётся: ревью на плагин, а не одно на репозиторий.
## 11. Зависимости между плагинами (2026-08-03)
### Целевая картина, которую проверяли
`av-dev-git` ни от чего не зависит. `av-dev-pipeline` сам по себе: задача
приходит **и обычным текстом**, и из `tasks`. `av-dev-pm` оперирует абстрактным
«сделать задачу» и не знает, чем она выполняется.
### Что показала проверка
**LL. Первые две цели выполняются, третья в исходной формулировке недостижима —
и формулировку надо поправить, а не картину.** `av-dev-pm` **владеет
конфигурационным файлом конвейера**: `docs/review.md` держит «Вопросы к
проходам» и «Триггеры профиля», то есть перечисляет проходы поимённо, а скелет
`review.md` несёт форму журнала дефектов. Кто-то этим словарём владеть обязан —
канон и есть схема данных, которую конвейер читает. Честная формулировка цели:
**`av-dev-pm` не зовёт пайплайн и не требует его наличия**. Она выполняется.
**MM. Настоящая протечка была одна — необъявленная деградация опор приёмки.**
«Стимулы» в `session` и приёмка в `sprint.md` держались на «сохранённом отчёте
триажа» по конкретному OpenSpec-пути. В проекте без конвейера ревью защита от
занижения урожая исчезала **молча**: сверять не с чем, а текст об этом не
говорил. Теперь опора названа абстрактно («независимый отчёт ревью»), путь
`av-dev-pipeline` дан как частный случай, а отсутствие конвейера обязано
попадать строкой в доклад спринта.
**NN. Ветка деградации шага 9 была неисполнима — ровно в том случае, ради
которого написана.** «Плагина нет — открой
`av-dev-pm/skills/canon/references/canon.md`»: путь в дерево маркетплейса, из
проекта без установленного плагина не разрешается ниоткуда. Кросс-плагинные
пути в дерево маркетплейса теперь не используются вообще: пайплайн ходит в
**свой** `references/project-facts.md`, а ссылки в чужой плагин даются через
`Skill <плагин>:<скилл>`.
### Что из этого следует
47. **Знаниевый цикл есть и он законен, но каждый его контракт обязан иметь
единственный дом.** Пайплайн описывает раскладку `pm`, `pm` описывает
артефакты пайплайна — пять симметричных контрактов, из них два уже
разошлись: форма журнала дефектов (шесть полей против пяти, «Причина»
потеряна) и список читателей `docs/research/` (`specs` выпал). Дома
назначены: форма журнала — у конвейера, список читателей — у канона; в обеих
копиях стоит явное указание на дом.
48. **Пайплайн больше не называет внутренние имена файлов `pm`.** `items/<slug>.md`
и `SPRINT.md` в его тексте были вторым домом для раскладки, которую проект
вправе переименовать через `docs/.pm.json`.
49. **Описания плагинов в манифестах врали умолчанием.** Ни `marketplace.json`,
ни `plugin.json` не говорили, что `av-dev-pm` для конвейера **опционален**, а
задача принимается текстом. Теперь говорят — это первое, что читает человек,
выбирая, что подключать.