Files
dev-skills/decisions/66-canon-without-prefix.md
T
av 0627199a1a журнал решений: тема 66 — скилл формы вышел из семейства документов
- Р235: префикс называет материал, а `canon` занят формой, общей у всех частей
  проекта; версия стала общей ещё на слиянии, и с того дня `doc-` спорил с
  механикой;
- Р236: переименование поехало записью журнала версий, хотя в проекте ничего
  не переехало — сломались бы путь в гейте и имя вызова;
- С226 и С227: префикс — проверяемое утверждение о владении материалом;
  переименование скилла есть изменение раскладки, если проект держит его адрес
  у себя.
2026-08-13 12:53:27 +03:00

3.8 KiB
Raw Blame History

66. doc-canoncanon: скилл формы вышел из семейства документов (2026-08-13)

Префиксы doc-, task-, code- пришли со слиянием плагинов (тема 64) и называют материал, которым скилл занят, — тем же признаком, каким прежде звались плагины (тема 56). Для восьми скиллов признак верен. Для девятого он врал.

Р235. Скилл занят не материалом, а формой, и формы у проекта одна на все части. check сверяет раскладку документов, adopt заводит все части сразу и зовёт владельцев каталога задач и openspec/, upgrade повышает всю раскладку одним журналом версий — и документы, и каталог задач. Версия стала общей ещё на слиянии (Р231), и с этого дня префикс doc- спорил с механикой, которую сам же скилл и исполняет. Имя осталось без префикса: отсутствие префикса здесь — тоже утверждение, и читается оно как «этот поперёк остальных».

Р236. Переименование поехало записью журнала версий, хотя в проекте ничего не переехало. Ни один файл проекта не сменил дом — сменились путь к скрипту (skills/doc-canon/scripts/docs.py) и имя вызова (av-dev:doc-canon), а оба живут в проекте: первый строкой гейта, второй в CLAUDE.md, в Taskfile и в записях задач. Механизма догнать их у плагина нет, и без записи проект узнал бы о переименовании покрасневшим гейтом или неразрешившимся вызовом.

Запись 1 при этом не переписана: проект, ещё не прошедший её, переименует каталог дважды подряд — в doc-canon и обратно в canon. Так работает журнал (С189): каждая запись исполняется на состоянии, которое оставила предыдущая.

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

С226. Префикс имени — утверждение о владении материалом, и оно проверяемо. Скилл, работающий поперёк материалов, обязан остаться без префикса: имя, приписавшее его к одному семейству, читается как обещание, что соседние семейства его не касаются, — а его вызывают ровно затем, чтобы касались все.

С227. Переименование скилла — изменение раскладки проекта, если проект держит его путь или имя у себя. Разрез идёт не по тому, тронуты ли файлы проекта, а по тому, есть ли в проекте адрес, который сломается. Гейт и CLAUDE.md такие адреса держат, поэтому переименование получает запись журнала версий наравне с переездом файлов.