удалён av-dev-backlog: заморозка стоила дороже, чем удаление
Плагин был помечен устаревшим решением Q и жил до перевода jellybit. Удалён раньше этого срока: условие пережило свою причину. Заморозка выглядела бесплатной, а платила собой в каждой проверке репозитория — exclude в pyproject.toml, SKIP_DIRS в copies.py, два абзаца README, оговорка в описании маркетплейса, чтобы не ловить триггер «добавь задачу в беклог». Пять исключений ради 706 строк, которые никто не читает, и каждое надо объяснять всякий раз, когда спрашивают, почему проверка обходит каталог. Причина условия отпала раньше названного срока. docs/backlog/ читает не backlog.py, а av-dev-pm:tasks — adopt.md и адаптер в tasks.py держат ту же раскладку как вход миграции. Плагин перестал быть единственным, кто её знает, ещё когда писался adopt, и «живёт до перевода последнего проекта» с тех пор охраняло пустоту. Перевод jellybit на канон это не задевает. Порядок вышел обратный ожидаемому: плагин удалён из маркетплейса, а с jellybit снят после. Ожидалась ручная чистка enabledPlugins и installed_plugins.json, но claude plugin uninstall отработал штатно — он идёт по реестру, а не по манифесту маркетплейса. Раздел «Снятие» в README переписан с частного случая на общую процедуру, предупреждение заменено проверенным фактом. Записи Q и HH получили парные статусы, тема 30 в DECISIONS несёт причины и три следствия, пункт 5 TODO отмечен, открытый вопрос из REMAINING убран. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+46
-3
@@ -373,8 +373,9 @@ openspec/
|
||||
докладывает исход, записей учёта не трогает.
|
||||
|
||||
**Q. `av-dev-backlog` помечается устаревшим и остаётся** до перевода jellybit.
|
||||
Описание переписывается так, чтобы не ловить триггер «добавь задачу в беклог» —
|
||||
иначе агент выбирает между ним и `av-dev-pm` случайно.
|
||||
*(заменено на тему 30: плагин удалён раньше этого срока — условие пережило свою
|
||||
причину.)* Описание переписывается так, чтобы не ловить триггер «добавь задачу в
|
||||
беклог» — иначе агент выбирает между ним и `av-dev-pm` случайно.
|
||||
|
||||
### Что из этого следует
|
||||
|
||||
@@ -730,7 +731,9 @@ pyrefly: в окружении нет ничего, кроме линтеров,
|
||||
опечатка, и три этих правила давали **311 срабатываний из 338** — шум, в котором
|
||||
тонут остальные 27.
|
||||
|
||||
**HH. `av-dev-backlog` исключён из проверки.** Плагин помечен устаревшим и живёт
|
||||
**HH. `av-dev-backlog` исключён из проверки.** *(исчерпано темой 30: плагин
|
||||
удалён, исключение снято из `pyproject.toml` и `copies.py`.)* Плагин помечен
|
||||
устаревшим и живёт
|
||||
до перевода последнего проекта, после чего удаляется целиком. Шесть его находок
|
||||
косметические (`os.replace`, `l` как имя), а правка замороженного кода без
|
||||
тестов — риск без выгоды. Исключение уходит вместе с плагином.
|
||||
@@ -2041,3 +2044,43 @@ dev-skills — **маркетплейс плагинов**: скилл комм
|
||||
113. **Число в документе — обязанность, которую никто не берёт.** Счётчик тем,
|
||||
коммитов, правок протухает молча; формулировка без числа дешевле его
|
||||
сопровождения.
|
||||
|
||||
## 30. `av-dev-backlog` удалён (2026-08-05)
|
||||
|
||||
Плагин был помечен устаревшим решением Q и жил до перевода jellybit. Удалён
|
||||
раньше этого срока.
|
||||
|
||||
**ААББВВ. Замороженный плагин стоит дороже, чем кажется.** Он не менялся, но
|
||||
платил собой в каждой проверке репозитория: `exclude` в `pyproject.toml`,
|
||||
`SKIP_DIRS` в `copies.py`, два абзаца README, оговорка в описании маркетплейса,
|
||||
чтобы не ловить триггер «добавь задачу в беклог». Пять исключений ради кода,
|
||||
который никто не читает, — и каждое надо было объяснять всякий раз, когда
|
||||
кто-нибудь спрашивал, почему проверка обходит каталог.
|
||||
|
||||
**ААББГГ. Понимание старой раскладки уехало из плагина раньше самого плагина.**
|
||||
`docs/backlog/` читает не `backlog.py`, а `av-dev-pm:tasks` — `adopt.md` и
|
||||
адаптер в `tasks.py` держат ту же раскладку как **вход миграции**. Плагин
|
||||
перестал быть единственным, кто её знает, ещё когда писался `adopt`; условие
|
||||
«живёт до перевода последнего проекта» с тех пор охраняло пустоту.
|
||||
|
||||
**ААББДД. Опасение про порядок снятия не подтвердилось.** Удаление опередило
|
||||
снятие: на jellybit плагин оставался включённым, когда записи в маркетплейсе уже
|
||||
не было, и ожидалась ручная чистка `enabledPlugins` и `installed_plugins.json`.
|
||||
`claude plugin uninstall` отработал штатно — он идёт **по реестру, а не по
|
||||
манифесту маркетплейса**, и отсутствие записи там ему безразлично. Предупреждение
|
||||
из README снято, вместо него записан проверенный факт.
|
||||
|
||||
### Что из этого следует
|
||||
|
||||
114. **Устаревшее удаляют, а не замораживают.** Заморозка выглядит бесплатной,
|
||||
но растекается исключениями по конфигам и требует объяснения в каждом
|
||||
месте, куда попала. Если удалять пока рано — назвать условие и срок; условие
|
||||
без срока переживает свою причину.
|
||||
115. **Условие «живёт до X» проверяют на живость, а не на X.** Здесь X (перевод
|
||||
jellybit) не наступил, но причина условия отпала раньше: знание раскладки
|
||||
переехало в `adopt`. Перепроверять надо основание, иначе условие держит само
|
||||
себя.
|
||||
116. **Порядок снятия и удаления из маркетплейса свободный.** `uninstall` живёт
|
||||
реестром, манифест ему не нужен. Правило записано после проверки, а не
|
||||
из осторожности, — и осторожность здесь стоила бы лишнего абзаца в README
|
||||
про починку, которой не бывает.
|
||||
|
||||
Reference in New Issue
Block a user