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

4.1 KiB
Raw Blame History

51. av-dev-pm расколот: владение пошло по тому, что ставится порознь (2026-08-09)

Р197. Один плагин владел двумя вещами, и это мешало обеим. av-dev-pm держал документацию проекта и учёт работ. Пока владелец был один, сцепки выглядели удобством: docs.py требовал docs/tasks/ и звал внутрь tasks.py подпроцессом, настройки задач лежали ключом в docs/.pm.json, язык проектных текстов — внутри скилла canon. Каждая из трёх на расколе оказалась не удобством, а утверждением, что половина принадлежит другой половине. Теперь плагина два, av-dev-docs и av-dev-tasks, и каждый ставится сам по себе.

Р198. Самодостаточность держится копией, а не ссылкой. Ссылка в дерево соседнего плагина работает ровно до того момента, когда сосед не установлен, — а это и есть тот случай, ради которого раскол делался. Поэтому все относительные ссылки, пересекшие границу, сняты: вместо них имя скилла через пространство имён и оговорка, что вызов может не разрешиться. То, что нужно обоим дословно, стало общим домом в shared/: язык проектных текстов и словарь «Сопровождение и эксплуатация». Второй выбран не по теме, а по числу владельцев — его делят роадмап, architecture.md и тема ревью operations, то есть три плагина, и ни один им не владеет. Три перечня «чем держат проект» уже разъезжались молча.

Р199. OpenSpec отдан тому, кто им работает, а не тому, кто о нём написал. Версия 7 канона объявила openspec/ своим слотом, и разрез вышел не по владению: без каталога не запускается конвейер, а не канон. Заведение и форма файла уехали в скилл av-dev-pipeline:openspec, отсутствие каталога стало для docs.py неприменимостью вместо отказа. Остаток назван, а не замолчан: проверка формы и сторож версии пока остались в скрипте канона, потому что своего скрипта у конвейера нет ни одного, — то есть у файла сейчас два плагина, один заводит, другой проверяет. Это записано и в журнале версий как временное состояние.

Что из этого следует

С175. Сцепка внутри одного владельца не видна, пока владелец один. Она выглядит удобством ровно до раскола и обнаруживается не рассуждением, а попыткой поставить половину отдельно. Отсюда и порядок работ: сперва разнести, потом чинить то, что перестало сходиться.

С176. Разрез владения идёт по тому, кто инструментом пользуется, а не по тому, кто о нём написал. Канон описывал OpenSpec подробнее всех и потому казался его владельцем; работает по нему конвейер, и слот принадлежит конвейеру.