Files
dev-skills/REMAINING.md
T

138 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Остатки и открытые вопросы
Состояние на 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)` правится
глазами. И то и другое печатается в отчёте, а не проглатывается.