ревью зависимостей: одна настоящая протечка, неисполнимая деградация, две разошедшиеся копии
Целевая картина проверена по коду и текстам. 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:
@@ -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` для конвейера **опционален**, а
|
||||
задача принимается текстом. Теперь говорят — это первое, что читает человек,
|
||||
выбирая, что подключать.
|
||||
|
||||
Reference in New Issue
Block a user