Files
dev-skills/TODO.md
T
avandClaude Opus 5 12b77c3393 итог аудита: запись 59, карта домов про конвенции, план
- дом «что механизировано» называл conventions/README.md, хотя документ канона
  живёт файлом или каталогом; копия пересобрана resync
- запись 59: находки одного рода — правил механику, не правил описывающее её
  вовне. Пять выводов, включая «скелет не описывает, а порождает»
- в план добавлена пачка мелочи, оставленной сознательно, и сказано, что
  бумажная часть закрыта

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-09 18:48:21 +03:00

119 lines
9.3 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.
# Что осталось сделать
**Здесь только работы и их порядок.** Чего здесь нет намеренно:
- **риски, открытые вопросы и принятые пределы** — [REMAINING.md](REMAINING.md);
- **почему решено так** — [DECISIONS.md](DECISIONS.md), записи датированы;
- **шаги повышения проекта с версии канона на версию** — журнал версий
([changelog.md](av-dev-docs/skills/canon/references/changelog.md)). Пересказ их
сюда был бы вторым домом, и прежний план на этом уже разъезжался: он повторял
записи версий 3, 4 и 5 построчно, и половина повторов протухла молча.
Сделанное отсюда **удаляется, а не помечается галочкой**. След остаётся в
коммитах и в `DECISIONS.md`; список из двух сотен `[x]` перестают читать целиком,
и живые пункты в нём теряются — прежний план умер именно так.
## Где мы сейчас
Плагинов четыре, и каждый ставится отдельно: `av-dev-docs` (канон документов и
их содержимое), `av-dev-tasks` (задачи и цели), `av-dev-code` (код по задачам:
цикл SDD, конвейер ревью, OpenSpec), `av-dev-git`. Общее, что нужно нескольким
дословно, живёт домом в `shared/` и уезжает копиями.
Канон документов — **версия 12**. Живые проекты стоят на 2–3 и на плагине
`av-dev-pm`, которого больше нет.
Бумажная часть закрыта аудитом четырёх плагинов и четырьмя пропусками правок
(DECISIONS, запись 59). Всё, что ниже, проверяется **только на живом коде**.
## 1. Живые проекты — вернуть в рабочее состояние
Блокирует всё остальное: под текущим каноном не стоит ни один проект, и ни один
скилл, кроме `docs.py check`, не исполнялся на живом коде ни разу
(см. REMAINING, «Что ещё не сделано»).
### healthlog — первым
- [ ] переустановить плагины: снять `av-dev-pm` и `av-dev-pipeline`, поставить
`av-dev-docs`, `av-dev-tasks`, `av-dev-code`, `av-dev-git`. Оба прежних
имени мертвы, и `plugin update` их не переименует — только снять и
поставить. `marketplace update`, затем `plugin update` — одного шага мало
(README, «Обновление»)
- [ ] удалить проектные копии: `.claude/skills/healthlog-{task,review}-pipeline`
и девять `.claude/agents/healthlog-review-*.md`. Они прошлого поколения и
после переезда указывают на документы, которых уже не будет
- [ ] `av-dev-docs:canon` в режиме `adopt` — он приведёт проект к канону 12
сразу, картой и с подтверждением. Файл-в-файл здесь не расписан: раскладку
знает скилл, и второй перечень разошёлся бы с ним
- [ ] каталог задач — в `tasks/` корня (канон 11), не в `docs/tasks/`, и без
`SPRINT.md` (канон 12). Скилл задач зовётся из `adopt` сам
- [ ] гейт проекта: три шага вместо одного — `docs.py check`, `tasks.py check
--dir tasks`, `openspec.py check`. **Второй и третий раньше не были
нужны:** согласованность задач тянул за собой `docs.py`, форму `config.yaml`
он же. Теперь оба молчат, и без своих шагов дрейф перестанет ловиться
- [ ] разобрать урожай `doc-consistency` и `doc-code-drift` порциями — правило
единственного дома на живом проекте не проверял никто
### jellybit — после калибровки
Порядок не произволен: замер (раздел 3) блокирует переезд jellybit, и только его.
- [ ] то же, что у healthlog: плагины, проектные копии, `adopt`, каталог задач,
гейт
- [ ] проектные копии здесь опаснее: скиллы названы `task-pipeline`,
`review-pipeline` — **ровно как в плагине**, и короткое имя
может увести в устаревшую копию молча (REMAINING)
## 2. Учёт работ без спринтов — что осталось
Сделано: спринт снят со скрипта и текстов, приоритет стал порядком строк в
беклоге, гейт готовности переехал в `tasks.py ready`, `session` стал скиллом
`groom`, запись 12 в журнал версий канона написана.
- [ ] прогнать груминг на живом беклоге — на фикстуре проверялись команды, а не
сам разбор. Наблюдение к первому прогону: **не выродился ли шаг 4 в
«оставить как есть»** — признак тот, что доклад не называет ни одного
движения с доводом
## 3. Калибровка — блокирует переезд jellybit
- [ ] замер на четырёх находках healthlog: скелет из `null`, откат бинаря,
канонизация в транзакции, `-1 >= -1`. Цена и ожидаемый исход — REMAINING,
«Главный незакрытый риск»
## 4. Конвейер: что осталось после `resolve`
Сам скилл написан (`av-dev-code:resolve`, два чекпоинта, ветка разведки),
`task-batch` удалён. Осталось то, что на бумаге не проверяется:
- [ ] перемерить скилл `review` тем же вопросом, что и проект целиком:
сколько из его стадий реально смотрятся глазами. Тысяча строк, и весь
автоматический участок между чекпоинтами держится на них
- [ ] чекпоинт «объяснение» собирается из `proposal.md` и `design.md`, а
требования к их форме уехали в `openspec/config.yaml` (`rules.proposal`,
`rules.design`). **На живом проекте это ни разу не работало:** неизвестно,
хватает ли двух артефактов, чтобы объяснение не пришлось дописывать руками
## 5. Мелочь, оставленная аудитом сознательно
Одной пачкой, когда будет повод открыть эти файлы, — не раньше:
- [ ] «чекпоинт» несёт третий смысл — точка наблюдаемости в коде
(`finding-contract.md`, `promote.md`). Слово занято дважды по своему же
правилу, но домены разные, и переименование здесь может выйти дороже
путаницы
- [ ] закрытый словарь `shared/language.md` не содержит ни «конвейера», ни
«чекпоинта», ни «груминга» — трёх рабочих терминов репозитория. Список
объявлен закрытым, и пополнять его на ходу нельзя
- [ ] `move <слаг>` без флагов теперь легален и значит «в конец своей секции» —
осмысленная операция, но в прозе не описана нигде
- [ ] `reopen` печатает «позиция это приоритет» и для целей роадмапа, где секции
очередью не являются
## 6. Обкатка
- [ ] один-два цикла healthlog на новом процессе. Наблюдения к первой обкатке
два: не выродились ли «границы покрытия» в шаблон (REMAINING, «Открытые
вопросы») и **не превратился ли чекпоинт в ритуал одобрения** — признак
тот же, дословно повторяющийся текст и согласие без единой правки