Files
dev-skills/decisions/04-plugin-boundaries.md
T
av bf6a173115 журнал решений: разложен по теме на файл, метки решений стали номерами
- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель;
- буквенные метки решений заменены сквозными Р1–Р234, следствия получили
  префикс С при прежних номерах: схема букв выродилась до пятибуквенных и
  сломалась — `АЕАКЛ` была занята и темой 53, и темой 65;
- 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер
  означал тему, а слово стояло «решение», формулировка исправлена.
2026-08-13 12:40:56 +03:00

77 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 4. Границы плагинов (2026-08-03)
## Что было
Связь `tasks``pipeline` уже сделана **ролями, а не именами**: скиллы говорят
«пайплайн проекта», «владелец спринта», «тот, кто ведёт задачи». Жёсткая ссылка
по имени ровно одна — `task-pipeline:112` на канонический текст правила про
остаток внутри `session`, и рядом обработан случай «плагин не подключён».
Слоты `CLAUDE.md` при этом дублировались уже внутри одного плагина: шесть у
`tasks`, семь у `session`, три пары — одно и то же. Темы 2–3 растворили ещё
часть: «куда переезжает суть» отвечает канон, «оракулы» — семантика гейта
(решение [Р13](03-review-brief-is-canon.md)), «где живёт разбор процесса» —
`docs/review.md` (решение [Р11](03-review-brief-is-canon.md)). Из тринадцати
остаётся около четырёх.
## Решено
**Р15. Три плагина: `av-dev-pm`, `av-dev-pipeline`, `av-dev-git`.**
- **`av-dev-pm`** (бывший `av-dev-tasks`) — управление продуктом: канон
документов, задачи, цели, спринты, старт и адаптация проекта. Владеет всем
`docs/`, включая `docs/tasks/`.
- **`av-dev-pipeline`** — исполнение: SDD-цикл, конвейер ревью, девять агентов.
- **`av-dev-git`** — стиль коммитов; работает в любом репозитории.
*Причина (словами владельца):* «пайплайн можно и переиспользовать в других
проектах с более простым подходом к управлению». Это подтверждается разбором:
пайплайн зависит от **файлов канона и от OpenSpec, а не от плагина** `av-dev-pm`.
В чужом проекте нужных файлов нет — включается поразрядная деградация (следствие
16), и это штатный режим, а не поломка.
*Имя:* `pm` = product management, «объединение всех операций по управлению
продуктом», и согласуется с `av-dev-git`.
**Р16. Граница «пайплайн не закрывает задачу» снимается.** Закрывает задачу и
двигает строки между `SPRINT.md` / `BACKLOG.md` / `REJECTED.md` **агент-
оркестратор** — `task-pipeline` и `task-batch`, а не сабагенты внутри них. Зовёт
он `tasks.py` через слот «Команда учёта задач» в `CLAUDE.md`.
Слот, следовательно, **не исчезает, а становится мостом между плагинами** — и
заодно тем, чего в чужом проекте нет, отчего пайплайн там работает как прежде:
докладывает исход, записей учёта не трогает.
**Р17. `av-dev-backlog` помечается устаревшим и остаётся** до перевода jellybit.
*(заменено на [тему 30](30-av-dev-backlog-removed.md): плагин удалён раньше
этого срока — условие пережило свою причину.)* Описание переписывается так,
чтобы не ловить триггер «добавь задачу в беклог» — иначе агент выбирает между
ним и `av-dev-pm` случайно.
## Что из этого следует
**С18. Переименование `av-dev-tasks` → `av-dev-pm`** тянет `plugin.json`,
`marketplace.json` и пространство имён скиллов: `av-dev-tasks:session`
`av-dev-pm:session`, включая ссылку из `task-pipeline:112`.
**С19. Раздел «Стимулы, которые процесс создаёт» в `session` переписывается.**
Снятая граница выбила механическую опору у трёх защит: «сжать задачу до
остатка», «занизить урожай», «занизить критерии приёмки» — во всех трёх приёмщик
и исполнитель теперь совпадают. Остаются: **отчёт триажа** в
`openspec/changes/<id>/review/` (независимый артефакт, `task-batch` уже сверяет
полноту ревью по нему, а не по прозе исполнителя), **`SPRINT.md` под git** с
видимой историей и **`reopen <slug> --reason`** — закрытие не окончательно,
приёмка человеком на сессии его отменяет. Раздел обязан назвать их поимённо,
иначе обещает защиту, которой нет.
**С20. Конфликт владения `docs/tasks/` снят** — канон и задачи теперь в одном
плагине.
**С21. Скилл `adopt` из `av-dev-tasks` поглощается** скиллом адаптации проекта
уровня канона (требование [Т1](README.md)). Разбирается в [теме
5](05-project-start-lifecycle.md).
**С22. Состав `av-dev-pm`:** `tasks`, `session` (есть), `docs` — ведение канона,
`project` — старт, adopt, check, upgrade ([тема
5](05-project-start-lifecycle.md)).