добавлен REMAINING.md — остатки, открытые вопросы и принятые пределы
This commit is contained in:
+137
@@ -0,0 +1,137 @@
|
|||||||
|
# Остатки и открытые вопросы
|
||||||
|
|
||||||
|
Состояние на 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)` правится
|
||||||
|
глазами. И то и другое печатается в отчёте, а не проглатывается.
|
||||||
Reference in New Issue
Block a user