Files
dev-skills/TODO.md
T
avandClaude Opus 5 6609012696 вычитка разделена на два прохода: task-form и doc-wording
В уставе стоял заголовок «Форма записи — только для docs/tasks/items/»:
условная половина, которая на документе канона молчит, а на задаче
включается. Условное правило агент применяет по своему усмотрению, а
усмотрение и есть то, чего от него не ждут. Два коротких устава без
условий надёжнее одного длинного с ними.

Разделены не по охвату — по глубине. Язык проверяется по словам и
фразам, поштучно: залог, оценки, стоп-слова, англицизмы, жаргон. Форма
записи требует понять, что задача делает, и открыть файл цели, на
которую она ссылается, чтобы сверить, какую строку «Завершения» задача
двигает. Слитый проход одну половину делает дорогой, а вторую —
поверхностной. Отсюда и разные модели: doc-wording на sonnet,
task-form на opus. Первый подметает, второй судит смысл, и ровно на
суждении обкатка показала провал.

Каждый устав отказывается от чужой половины прямо: увиденное не по своей
части идёт строкой в границах покрытия, а не находкой. Две проверки
одного места расходятся и начинают спорить. Исключение ровно одно и
названо: неудачное слово в заголовке судит task-form, потому что
заголовок целиком его.

У task-form появилось шестое правило, которого не было ни у кого: связь
задачи со строкой «Завершения» её цели. Оно единственное читает больше
одного файла и единственное смотрит набор, а не запись — строка
«Завершения», к которой не относится ни одна поданная задача,
докладывается отдельным блоком. Это граница между вычиткой и разбором,
проведённая внутри правила.

Порог правки переехал в language.md помеченным домом «порог-правки» и
копируется в оба устава: правка без нарушенного правила не делается,
систематичность нарушения — не довод в его пользу. Дублировать его
руками значило бы получить два разных порога через месяц. Копий стало
шесть при пяти домах.

Порядок вызова — сперва task-form: его находки меняют решение «брать или
не брать», а язык меняет только цену чтения.

DECISIONS тема 23 (ССС–ФФФ, следствия 91–93).

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

184 lines
13 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) — в
`Разработка`
- [ ] `check --fix` на обоих: поднимет написание канонических секций, поставит
отбивку после заголовков и сведёт секцию в мете файлов с заголовками.
Секции беклога переименовать руками — имена выбирал проект (тема 20, ККК)
- [ ] заголовки задач в форму действия — **не задним числом**: по мере попадания
задачи в работу. `check` печатает их число, `task-form` предложит
формулировки пачкой (тема 20, ЕЕЕ)