журнал решений: разложен по теме на файл, метки решений стали номерами
- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель; - буквенные метки решений заменены сквозными Р1–Р234, следствия получили префикс С при прежних номерах: схема букв выродилась до пятибуквенных и сломалась — `АЕАКЛ` была занята и темой 53, и темой 65; - 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер означал тему, а слово стояло «решение», формулировка исправлена.
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# 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 подробнее всех и потому казался его
|
||||
владельцем; работает по нему конвейер, и слот принадлежит конвейеру.
|
||||
Reference in New Issue
Block a user