Files
dev-skills/REMAINING.md
T
av bff3c9e118 README, HISTORY и REMAINING пересобраны под новую картину
- README: три плагина, канон документов, явное обновление маркетплейса
- HISTORY: сжатый AGENTIC-TASKS — что отвергнуто и почему, числа первого замера
- REMAINING: главным риском названа несделанная калибровка при двух подряд
  переписываниях charter'ов; закрытые разбором вопросы убраны
2026-08-03 14:31:41 +03:00

8.6 KiB
Raw Blame History

Остатки, открытые вопросы и принятые пределы

Состояние на 2026-08-03, после разбора восьми тем и первых двух коммитов реализации (ad1779b, 9cef452).

План работ — TODO.md. Решения с причинами — DECISIONS.md. Здесь то, что не является работой из плана: незакрытые риски, честно принятые пределы и вопросы, у которых пока нет ответа.

Главный незакрытый риск

Калибровка не сделана, а charter'ы переписаны второй раз.

Первый раз девять charter'ов правили при выносе в плагин: предмет проверки заменили ссылкой на раздел брифа. references/calibration.md требует при такой правке замерить, помогла ли она, — замера не было. Второй раз их переписали сейчас, коммитом 9cef452: ссылка на раздел брифа заменена путём документа канона.

Два неизмеренных изменения подряд в том самом месте, где присваивается severity. Пробы готовы и синтетических не нужно — четыре реальные находки прошедшей сессии healthlog:

  • скелет из null затирает маршрут тренировки молча и необратимо;
  • откат бинаря поверх новой схемы стартует без единого слова;
  • канонизация внутри транзакции — 768 МиБ пика, 5.019 с удержания блокировки;
  • -1 >= -1 читается как «журнал разобран целиком».

Ожидаемый исход известен и его стоит проверить первым: метод переносится, а severity деградирует. Третья находка без слота под представление данных и настройки хранилища превращалась из critical с прогнанным оракулом в условное наблюдение. Ровно ради этого случая канон развёл числа (docs/research/) и настройки (docs/database.md) по разным домам и обязал проход их сшивать — но работает ли обязанность, не проверено. Оркестратор реагирует на severity, поэтому цена — не «не найдём», а «найдём и не починим».

Замер стоит перед переездом jellybit и блокирует его (решение 39).

Что ещё не сделано

Список работ — в TODO.md. Здесь только то, что стоит держать в голове отдельно:

  • git push. Четыре коммита с av-dev-pm и av-dev-pipeline не отправлены на origin, поэтому установленный маркетплейс их не видит и до сих пор стоит на 092d07c. Это буквальное объяснение фразы «плагины ни к одному проекту не подключены»: подключать пока нечего.
  • Ни один скилл не прогонялся на живом проекте. docs.py прогнан на healthlog и jellybit в режиме check и находит осмысленный дрейф; init, canon adopt, canon upgrade и скилл docs не исполнялись ни разу.
  • Проектные копии в healthlog и jellybit. Два .claude/skills/ и одиннадцать .claude/agents/ старого поколения. У jellybit хуже: его скиллы названы task-pipeline, review-pipeline, task-batchровно как в плагине. Claude Code не переопределяет их, а держит обе пары, так что короткое имя может увести в устаревшую копию, и молча.

Открытые вопросы

Как проверять, что канон не разошёлся с проектами после upgrade. canon check сверяет версию, но не то, что миграционные записи journal'а применены верно. Проект может нести "canon": 2 и не иметь того, что версия 2 требовала.

Форма ADR при пересмотре решения. Правило «старая запись получает статус заменено на» требует, чтобы кто-то заметил, что новое решение отменяет старое. Механической проверки нет, а принуждённое отрицание на шаге синка спрашивает про adr/ вообще, а не «не отменяет ли это что-то из существующего».

Что делать с av-dev-backlog после перевода jellybit. Помечен устаревшим и переписан так, чтобы не ловить триггер. Удалять его из маркетплейса или оставить как есть — решится, когда jellybit переедет.

Известные пределы — приняты, чинить не планируется

Транзакций на несколько файлов нет. POSIX её не даёт без журнала. Окно сжато до цепочки rename без ввода-вывода, а всё, что в окне может разъехаться, сделано производным и восстанавливается check --fix без потерь.

Оракул в критериях приёмки проверяется эвристикой. Число пунктов проверяется жёстко, наличие оракула — по слову, и это только замечание. В тексте прямо сказано, что проверено меньше, чем требуется.

Recall прохода по конвенциям равен качеству конвенций проекта. Своего списка у него нет: критерий берётся из docs/conventions/. На проекте с тонкими конвенциями проход почти пуст, и charter это признаёт вслух.

Доменного словаря в каноне нет. Проходы получают факты, но не термины; словарь строится каждый раз заново из спек и архитектуры. Цена не измерена.

Смысловые дубли ловит только агент. docs.py видит раскладку, но не то, что docs/specs/recognition.md описывает то же, что capability recognition. Граница объявляется вслух в каждом отчёте — это единственная защита от «соблюдено» на проекте с тремя лишними файлами.

Приёмщик и исполнитель совпали. Граница «пайплайн не закрывает задачу» снята сознательно (решение P); три защиты из раздела «Стимулы» держатся теперь текстом, а не механикой. Реальные опоры — сохранённый отчёт триажа, SPRINT.md под git и reopen. Это записано в самом скилле, а не спрятано.

Копия правила в шаблонах проекта. adr/README.md и review.md уезжают в репозиторий и обязаны там что-то говорить, поэтому правило канона в них копируется намеренно. Цена: правка такого правила обязана тянуть запись в журнал версий, иначе копия в проекте останется старой молча.