TODO переписан с чистого листа; canon и docs остаются раздельно

План описывал мир до раскола: av-dev-pm в живых, каталог задач в docs/, шаги
повышения на каноны 3, 4 и 5 — при том что канон уже 11. Двести с лишним строк, из
них живых полтора десятка, и найти их можно было только прочитав всё.

Умер он двумя способами сразу, и оба записаны в новом заголовке, чтобы не
повторились. Первый: сделанное помечалось галочкой и оставалось в файле — список
из двух сотен [x] перестают читать целиком, и живые пункты в нём теряются. Теперь
сделанное удаляется, след остаётся в коммитах и DECISIONS. Второй: план построчно
повторял записи журнала версий канона, то есть был вторым домом для шагов
повышения, и половина повторов протухла молча. Теперь на журнал стоит ссылка.

Новый план — пять разделов: вернуть живые проекты в рабочее состояние, учёт работ
без спринтов, калибровка, пайплайн одной задачи в три этапа, обкатка. Поимённой
раскладки файлов healthlog в нём нет намеренно: её знает canon adopt, и второй
перечень разошёлся бы со скиллом. Зато названо то, чего скилл не сделает и что
легко потерять — гейт проекта теперь три шага вместо одного, потому что docs.py
перестал тянуть за собой и задачи, и форму config.yaml.

REMAINING ссылался на разделы TODO по номерам — переведён на имена; заодно строка
про непрогнанное на живом проекте дополнена скиллом openspec и оговоркой, что
раскол проверен только на фикстурах и на установке каждого плагина в одиночку.

Решение 53: canon и docs остаются двумя скиллами. Довод не про объём, а про
description — это триггер, по которому загрузчик решает, звать ли скилл, и
моменты вызова у этих двух разные. Слитое описание покрывает оба хуже, чем два
покрывают каждое своё.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
av
2026-08-09 14:40:16 +03:00
co-authored by Claude Opus 5
parent e408c51ac1
commit c91492e3f0
3 changed files with 132 additions and 214 deletions
+25
View File
@@ -3274,3 +3274,28 @@ JJJ): у профиля обязан быть один правильный от
вовсе. Переезд — самый дешёвый способ его обнаружить: не разбор, а смена
места, из которого на код смотрят.
## 53. `canon` и `docs` остаются двумя скиллами (2026-08-09)
**АЕАКЛ. Слияние отклонено, и довод у него не про объём.** Оба скилла лежат в
одном плагине, и слить их казалось естественным завершением раскола. Мешает
`description`: это не аннотация, а **триггер** — по нему загрузчик решает, звать
ли скилл вообще, и ровно ради его сохранности заведён `frontmatter.py`. Моменты
вызова у этих двух разные. `canon` срабатывает на «проверь документацию»,
«переведи на канон», «пришёл в старый проект»; `docs` — на «задача сделана,
обнови документацию», «заведи ADR», «запиши наблюдение». Одно описание покрывает
оба хуже, чем два покрывают каждое своё, и потеря здесь не в читаемости, а в том,
что скилл перестаёт находиться.
Второй довод — тот же разрез, что репозиторий подтверждал уже трижды:
**раскладка против содержимого**, «где лежит» против «что внутри». Он по глубине,
а такой разрез, в отличие от разреза по охвату (решение 50), даёт два разных
текста и держится сам, без помеченных копий.
### Что из этого следует
178. **Границу между скиллами держит не тема, а момент вызова.** Два текста об
одном предмете живут порознь законно, если зовут их в разные минуты; и
наоборот — один предмет, разрезанный так, что оба куска нужны одновременно,
разрезан неверно.