журнал решений: разложен по теме на файл, метки решений стали номерами

- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель;
- буквенные метки решений заменены сквозными Р1–Р234, следствия получили
  префикс С при прежних номерах: схема букв выродилась до пятибуквенных и
  сломалась — `АЕАКЛ` была занята и темой 53, и темой 65;
- 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер
  означал тему, а слово стояло «решение», формулировка исправлена.
This commit is contained in:
av
2026-08-13 12:40:56 +03:00
parent b411d4edb8
commit bf6a173115
72 changed files with 4253 additions and 4053 deletions
+41
View File
@@ -0,0 +1,41 @@
# 30. `av-dev-backlog` удалён (2026-08-05)
Плагин был помечен устаревшим решением [Р17](04-plugin-boundaries.md) и жил до
перевода jellybit. Удалён раньше этого срока.
**Р123. Замороженный плагин стоит дороже, чем кажется.** Он не менялся, но
платил собой в каждой проверке репозитория: `exclude` в `pyproject.toml`,
`SKIP_DIRS` в `copies.py`, два абзаца README, оговорка в описании маркетплейса,
чтобы не ловить триггер «добавь задачу в беклог». Пять исключений ради кода,
который никто не читает, — и каждое надо было объяснять всякий раз, когда
кто-нибудь спрашивал, почему проверка обходит каталог.
**Р124. Понимание старой раскладки уехало из плагина раньше самого плагина.**
`docs/backlog/` читает не `backlog.py`, а `av-dev-pm:tasks``adopt.md` и
адаптер в `tasks.py` держат ту же раскладку как **вход миграции**. Плагин
перестал быть единственным, кто её знает, ещё когда писался `adopt`; условие
«живёт до перевода последнего проекта» с тех пор охраняло пустоту.
**Р125. Опасение про порядок снятия не подтвердилось.** Удаление опередило
снятие: на jellybit плагин оставался включённым, когда записи в маркетплейсе уже
не было, и ожидалась ручная чистка `enabledPlugins` и `installed_plugins.json`.
`claude plugin uninstall` отработал штатно — он идёт **по реестру, а не по
манифесту маркетплейса**, и отсутствие записи там ему безразлично.
Предупреждение из README снято, вместо него записан проверенный факт.
## Что из этого следует
**С114. Устаревшее удаляют, а не замораживают.** Заморозка выглядит бесплатной,
но растекается исключениями по конфигам и требует объяснения в каждом месте,
куда попала. Если удалять пока рано — назвать условие и срок; условие без срока
переживает свою причину.
**С115. Условие «живёт до X» проверяют на живость, а не на X.** Здесь X (перевод
jellybit) не наступил, но причина условия отпала раньше: знание раскладки
переехало в `adopt`. Перепроверять надо основание, иначе условие держит само
себя.
**С116. Порядок снятия и удаления из маркетплейса свободный.** `uninstall` живёт
реестром, манифест ему не нужен. Правило записано после проверки, а не из
осторожности, — и осторожность здесь стоила бы лишнего абзаца в README про
починку, которой не бывает.