Files
dev-skills/TODO.md
T
avandClaude Opus 5 ef0183b06b секции роадмапа названы и закреплены линтером
готово | запланировано | направления | разработка, англ. done | planned |
directions | tooling. Из четырёх предложенных имён отвергнуто одно, и по
проверяемой причине: «окружение» уже занято — в architecture.md это боевое
окружение приложения, «где работает, что рядом, кто перезапускает», и одно
слово в двух смыслах развело бы документы канона.

Секции роадмапа стали каноническими, в отличие от секций беклога, и разница
выведена, а не назначена: у каждой секции роадмапа своя семантика, в первую
пишет сам close, и роадмап, названный по-своему, читался бы только своим
автором. Секции беклога — полки, смысла не несут, остаются делом проекта.

check проверяет три вещи: состав закреплён (чужая секция — ошибка), все четыре
обязаны быть, язык один на весь индекс. Проверено на том случае, ради которого
правило и заводилось: «Что уже пройдено», которую healthlog вёл руками, теперь
называется ошибкой поимённо. Оба языка прогнаны вживую, включая close в
английский роадмап.

Ключа tasks.achieved_section не появилось — секция достигнутого опознаётся по
каноническому имени в любом из языков; --roadmap-sections у init упразднён,
выбирать больше нечего.

Названные вслух компромиссы: «готово» слегка тянет в трекерную рамку
«состояние работы», тогда как секция про возможность — перевесила читаемость;
цель в «запланировано» может быть уже наполовину построена, это очередь, а не
«не начато», «в работе» живёт в SPRINT.md.

DECISIONS 19: ГГГ переписан, добавлен ДДД, следствие 78 заменено. TODO 7 закрыт.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 17:58:31 +03:00

178 lines
12 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.
# Работы по итогам разбора
Порядок и обоснование — [DECISIONS.md](DECISIONS.md), тема 8. Номера в скобках —
следствия оттуда.
Замер (шаг 3) — **единственный шаг, который нельзя переставить**: он блокирует
переезд jellybit. Всё остальное можно тасовать.
## 0. Предусловие
- [x] `git push``092d07c..88c5d97`, 17 коммитов ушли на origin (37)
- [x] `claude plugin marketplace update av-dev-skills` — клон встал на `88c5d97`
и видит `av-dev-pm` и `av-dev-pipeline`
## 1. Репозиторий плагинов
### 1.1 Переименование
- [x] `av-dev-tasks``av-dev-pm`: каталог, `plugin.json`, `marketplace.json` (18)
- [x] пространство имён во всех текстах: `av-dev-tasks:session`
`av-dev-pm:session`, включая ссылку из `task-pipeline` (18)
### 1.2 Канон — единственный дом определения
- [x] `av-dev-pm/skills/canon/references/canon.md` — раскладка, роли документов,
правило единственного дома. Читают `init`, `canon`, `docs` (AA)
- [x] `av-dev-pm/skills/canon/references/changelog.md` — журнал версий канона,
версия 1 (26)
### 1.3 Правки существующих скиллов
- [x] `tasks`: убрать слот 6 «Команда учёта задач» (33)
- [x] `tasks`: путь каталога жёсткий `docs/tasks`, убрать цепочку разрешения (F)
- [x] `tasks`: `.tasks.json``docs/.pm.json`, там же версия канона и путь
миграций (23, 30)
- [x] `tasks`: убрать слоты 3 «куда переезжает суть» и 5 «оракулы» — отвечает
канон и семантика гейта (тема 4)
- [x] `session`: убрать слот 7 и слот 4 «где живёт разбор процесса» (33, K)
- [x] `session`: переписать «Стимулы, которые процесс создаёт» — снятая граница
выбила опору у трёх защит (19)
### 1.4 Новые скиллы
- [x] `init` — интервью по брифу → канон нового проекта (R)
- [x] `canon``check` / `adopt` / `upgrade`; поглощает скилл `adopt` (R, 21, 24)
- [x] `docs` — содержимое канона: ADR из архивного `design.md`, промоут
конвенций, запись в `research/` и `review.md`, чистка `architecture.md` (X)
- [x] `docs.py` — раскладка, лишние файлы, битые ссылки, версия, плейсхолдеры,
маркеры долга; сверки миграции ↔ `database.md` и capability ↔
`architecture.md` (T, 31)
### 1.5 av-dev-pipeline
- [x] удалить скилл `project-brief` и `references/{project-brief,brief-template}.md` (13)
- [x] снять ветки деградации OpenSpec в трёх местах: `task-pipeline`,
`review-pipeline`, `task-batch` (1)
- [x] девять charter'ов: разделы брифа → пути канона; `ops`/`adversary`/`reimpl`
обязаны сшивать `research/` и `database.md` (14, 15)
- [x] `review-pipeline`: убрать бриф, поразрядная деградация по документам (16)
- [x] `task-pipeline` шаг 9 → построчный доклад по документам канона (28)
- [x] `task-pipeline`/`task-batch`: закрытие задачи вызовом скилла
`av-dev-pm:tasks`, слот убрать (32, 33)
- [x] `promote.md` шаг 3: перечень механизированного → `conventions/README.md` (29)
- [x] описание плагина: «требует OpenSpec» (2)
### 1.6 Прочее
- [x] `av-dev-backlog` — пометить устаревшим, переписать описание, чтобы не
ловило триггер (Q)
- [x] `README.md` маркетплейса — три плагина, канон, установка
- [x] `HISTORY.md` — сжать `AGENTIC-TASKS.md` до истории решений (CC)
- [x] `REMAINING.md` пересобрать: пункт 2 отменён, четыре вопроса закрыты,
калибровка стала обязательной (38)
### 1.7 Линтеры скриптов (тема 9)
- [x] `pyproject.toml`: ruff + pyrefly через `uv`, версии прибиты (DD, FF)
- [x] запрет внешних зависимостей двумя способами: `banned-api` + пустое
окружение pyrefly (EE)
- [x] `RUF001``RUF003` выключены, `av-dev-backlog` исключён (GG, HH)
- [x] починены 27 находок ruff и 14 pyrefly; `os` из `tasks.py` ушёл (40, 41)
- [x] раздел «Проверка скриптов» в `README.md`
### 1.8 Ревью двумя проходами (тема 10)
- [x] `reopen` берёт текст из `HEAD`, когда коммита удаления ещё нет (JJ)
- [x] шаг 11 коммитит учёт вторым коммитом; батч проверяет чистоту дерева (JJ)
- [x] фиктивный ключ `tasks.sections` убран из четырёх документов (KK)
- [x] `init` пишет конфиг в `docs/.pm.json`; `looks_like_tasks` его читает
- [x] урожай спринта заводится до `sprint close`, слаг — из его отчёта
- [x] ответ на вопрос опустошает раздел «Вопросы» — во всех трёх местах
- [x] путь отчёта триажа переживает архивацию (5 мест)
- [x] `review-specs` получил режим 3 — стык после слияния
- [x] остальные 12 находок: `sprint.md`, «9а», перечень проектных копий,
параллельность в батче, триаж в финальной сверке, триггеры профиля, 8–12
### 1.9 Ревью зависимостей между плагинами (тема 11)
- [x] опоры приёмки названы абстрактно, деградация без конвейера объявлена (MM)
- [x] ветка деградации шага 9 ходит в свой `project-facts.md` (NN)
- [x] `docs` даёт ветку «конвейера нет» для журнала и промоута
- [x] форма журнала дефектов сведена к дому, копия помечена в `changelog.md`
- [x] `specs` вернулся в читатели `docs/research/`; дом списка назначен
- [x] пайплайн не называет `items/` и `SPRINT.md` — их знает `av-dev-pm`
- [x] манифесты объявили `av-dev-pm` опциональным для конвейера (49)
### 1.10 Механическая проверка копий (тема 12)
- [x] `scripts/copies.py`: маркеры дома и копии, побайтовая сверка (OO)
- [x] строгий id, повторяемый в закрывающем маркере (PP)
- [x] помечены два контракта; «когда заводить ADR» сведён к дословному (50)
- [x] раздел «Проверка копий правил» в `README.md`, правило — в обоих домах
## 2. healthlog — первая боевая проверка
- [ ] `canon adopt`; `docs/backlog/``docs/tasks/`
- [ ] `architecture.md` 1662 строки → обзор, остаток маркерами (W)
- [ ] после выноса поведения — замерить остаток `architecture.md` и решить по
каталожной форме: жмёт → канон версии **4** для `architecture.md` и
`review.md`, точка входа `README.md` (тема 16, GGG, 65; версию 3 занял
роадмап с родом работы, тема 17, 68)
- [ ] завести `security.md` с периметром первой строкой (J)
- [ ] `review-journal.md``review.md` + настройка конвейера (K, L)
- [ ] `conventions.md``conventions/`, `local-research.md``research/` (G)
- [ ] `plan.md``docs/tasks/ROADMAP.md` (E)
- [ ] завести `docs/adr/`
- [ ] `CLAUDE.md`: severity инвариантов, семантика гейта, убрать раздел
«Процесс» (M, N)
- [ ] `docs.py check` в `task gate` (V)
- [ ] почистить `openspec/config.yaml` (C)
- [ ] удалить проектные копии: `.claude/skills/healthlog-{task,review}-pipeline`
и девять `.claude/agents/healthlog-review-*.md` — они прошлого поколения и
после переезда указывают на `docs/conventions.md`, `docs/local-research.md`,
`docs/review-journal.md`, которых уже не будет
## 3. Калибровка — блокирует шаг 5
- [ ] замер на четырёх находках healthlog: скелет из `null`, откат бинаря,
канонизация в транзакции, `-1 >= -1` (1 из REMAINING, 14)
## 4. Обкатка
- [ ] один-два спринта healthlog на новом процессе
## 5. jellybit
- [ ] `BRIEF.md``docs/passport.md`, обновить
- [ ] `docs/specs/{recognition,review-ux,workflow}.md` — сверить с capability и
удалить как дубли (10)
- [ ] `docs/specs/architecture.md``docs/architecture.md`, `database.md`
`docs/database.md`, `jellyfin-layout.md``docs/research/`
- [ ] `docs/review/journal.md``docs/review.md`
- [ ] `drafts/` растворить: roadmap → `ROADMAP.md`, conventions-backlog → задачи
`[idea]`, logical-title-model → ADR (H)
- [ ] `docs/backlog/``docs/tasks/`
- [ ] удалить проектные копии скиллов и агентов (4 из REMAINING)
- [ ] `av-dev-backlog` удалить из маркетплейса
## 6. Канон версии 3 — повысить живые проекты (тема 17)
Оба проекта стоят на каноне 2 и держат `docs/tasks/PLAN.md`: healthlog 55 задач,
jellybit 43. Шаги повышения — [changelog.md](av-dev-pm/skills/canon/references/changelog.md),
запись «Версия 3»; делаются скиллом `av-dev-pm:canon` в режиме `upgrade`.
- [ ] healthlog: `PLAN.md``ROADMAP.md`, ссылки, `"canon": 3`
- [ ] jellybit: то же
- [ ] род работы и раздел «Затрагивает» — **не задним числом**: сперва то, что
идёт в ближайший набор (`sprint take` без них откажет), остальное по ходу
переоценки (PPP)
- [ ] секции роадмапа: `порядок``запланировано`, `темы``направления`,
завести `готово` и `разработка`; прозаические разделы healthlog («Что уже
пройдено», «Почему в таком порядке») разложить — звенья строками в
`готово`, обоснование очереди прозой внутри `запланировано` (тема 19, 80).
`check` теперь называет чужую секцию ошибкой, так что шаг обязателен
- [ ] переформулировать цели ответом на «что приложение будет уметь»; цели не
про приложение («Процесс и качество разработки» в jellybit) — в
`разработка`