11 KiB
Остатки и открытые вопросы
Состояние на 2026-08-03, после ввода av-dev-tasks и av-dev-pipeline
(коммиты 9219f4a → 20dca29 → 0eca206).
Плагины написаны, проверены тремя проходами ревью и починены по находкам. Но ни один из них ещё не подключён ни к одному проекту, а часть работы осознанно отложена. Здесь то, что осталось, — с причинами, потому что через месяц причина забывается раньше факта.
Что осталось сделать
Порядок примерно соответствует зависимостям: верхнее мешает нижнему.
1. Калибровка переписанных проходов
Все девять charter'ов ревью переписаны при выносе в плагин: предмет проверки
заменён ссылкой на раздел брифа. references/calibration.md самого плагина
требует при такой правке замерить, помогла ли она, — замера нет ни одного.
Оценка «проход всё ещё нашёл бы находку» получена рассуждением по текстам, и
ревьюер честно пометил её Confidence: medium. По правилам плагина такая
оценка не поднимается выше major.
Пробы готовые, синтетических не нужно — четыре реальные находки прошедшей сессии healthlog:
- скелет из
nullзатирает маршрут тренировки молча и необратимо; - откат бинаря поверх новой схемы стартует без единого слова;
- канонизация внутри транзакции — 768 МиБ пика, 5.019 с удержания блокировки;
-1 >= -1читается как «журнал разобран целиком».
Ожидаемый результат замера известен и его стоит проверить в первую очередь:
метод переносится, а severity деградирует — третья находка без слота под
представление данных и настройки хранилища превращается из critical с
прогнанным оракулом в условное наблюдение. Оркестратор реагирует на severity,
поэтому цена обобщения — не «не найдём», а «найдём и не почините».
2. Завести брифы
Скилл av-dev-pipeline:project-brief написан и собирает бриф из CLAUDE.md,
архитектуры, Taskfile и конвенций. Но брифов нет ни у healthlog, ни у jellybit,
а без них конвейер идёт в деградированном режиме: critical по основанию
«нарушен инвариант проекта» не присваивается.
При починке бриф заполнялся на обоих проектах для проверки контракта (841 и 734 строки) — эти заполнения были черновыми, в скретчпаде, и в проекты не попали. Повторить и положить в репозитории.
3. Переезд healthlog на новый формат
docs/backlog/ → docs/tasks/ с items/, PLAN.md, BACKLOG.md,
SPRINT.md, REJECTED.md. Скилл av-dev-tasks:adopt для этого написан и
прогнан на копии живого беклога: 12 целей, 38 задач, 36 переименований
слагов из транслита в английские, 86 ссылок поправлено в 36 файлах, check
зелёный.
Переходное состояние после переезда известно числом: задач без цели — 0, без
двух критериев приёмки — 29. check при этом зелёный, но sprint take такие
задачи не возьмёт; закрывается порциями переоценки на сессиях.
Вместе с переездом придётся переписать то, что противоречит новой семантике:
раздел «Процесс» в CLAUDE.md, преамбулу docs/plan.md («свой приоритет»,
«беклог — что брать следующим») и строку «блокеры разбираются пачками» — по
новому определению блокер эскалируется немедленно, пачками разбираются вопросы.
4. Удалить проектные копии
После подключения плагинов в healthlog остаются два источника правды:
.claude/skills/healthlog-task-pipeline/, healthlog-review-pipeline/ и девять
.claude/agents/healthlog-review-*.md. Проектные факты из них уезжают в бриф,
сами файлы удаляются.
У jellybit хуже: его скиллы называются task-pipeline, review-pipeline,
task-batch — ровно как в плагине. Claude Code не переопределяет их, а
держит обе пары, так что короткое имя может увести в устаревшую проектную
копию, и молча. Тексты плагина зовут своё через пространство имён
(av-dev-pipeline:review-pipeline), но проектные копии всё равно надо удалять
при установке.
5. Перевод jellybit
Отложен сознательно: сперва обкатать на healthlog один-два спринта, потом переносить. Иначе мы одновременно вводим непроверенный процесс и ломаем работающий проект.
Объём: беклог с приоритетами высокий/средний/низкий без целей и спринтов,
одиннадцать ревью-агентов старого поколения (включая idiom и negative,
упразднённые в healthlog), три скилла с коллизией имён. Часть capability-map
живёт в памяти агента, а не в файле, — при переводе это надо материализовать.
Открытые вопросы
Что делать с av-dev-backlog. В маркетплейсе сейчас оба плагина, и их
описания ловят один и тот же триггер («добавь задачу в беклог») — агент выберет
случайный. Пометить устаревшим, удалить из маркетплейса или оставить до
перевода jellybit, который пока на нём и живёт.
Оставлять ли раздел ## Триггеры в контракте брифа. Он задумывался как
проектная конкретизация правила выбора профиля ревью, но при заполнении на
обоих проектах выродился в пересказ таблицы профилей самого скилла. Контракт не
запрещает скопировать общее правило, а слот, который заполняется копированием,
пользы не несёт.
Название процесса. Плагины названы, процесс — нет. Обсуждались кодовое имя
из Средиземья (fellowship / council, под стать rivendell и umbar),
нейтральная «каденция» и описательные варианты. Для плагинов выбрана функция
(av-dev-tasks, av-dev-pipeline), но у процесса как целого имени нет.
Судьба AGENTIC-TASKS.md. Черновик дизайна лежит в корне healthlog и не
закоммичен. Содержимое переехало в плагины, значит документ стал вторым домом
для тех же правил — а расхождение двух домов ровно то, против чего он сам и
написан. Либо удалить, либо сжать до истории решений («почему не Scrum», числа
первого замера, что и почему отвергнуто).
Известные пределы — приняты, чинить не планируется
Транзакции на несколько файлов нет. POSIX её не даёт без журнала. Окно
сжато до цепочки rename без ввода-вывода, а всё, что в окне может разъехаться,
сделано производным и восстанавливается check --fix без потерь.
Оракул в критериях приёмки проверяется эвристикой. Число пунктов проверяется жёстко, наличие оракула — по слову, и это только замечание. В тексте прямо сказано, что проверено меньше, чем требуется, — притворяться тут дороже, чем признаться.
Recall прохода по конвенциям равен качеству конвенций проекта. Своего списка у него больше нет: критерий берётся из файла проекта. На проекте с тонкими конвенциями проход почти пуст, и charter это признаёт вслух.
Доменного словаря в брифе нет. Charter'ы получают факты, но не термины; словарь проход строит каждый раз заново из спек и архитектуры. Цена не измерена.
adopt не удаляет источники и не правит подписи ссылок. Удалять чужое
молча нельзя, а подпись вида [docs/backlog](docs/tasks/BACKLOG.md) правится
глазами. И то и другое печатается в отчёте, а не проглатывается.