- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель; - буквенные метки решений заменены сквозными Р1–Р234, следствия получили префикс С при прежних номерах: схема букв выродилась до пятибуквенных и сломалась — `АЕАКЛ` была занята и темой 53, и темой 65; - 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер означал тему, а слово стояло «решение», формулировка исправлена.
42 lines
3.6 KiB
Markdown
42 lines
3.6 KiB
Markdown
# 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 про
|
||
починку, которой не бывает.
|