backlog: интеграция скилла ведения беклога
Беклог теперь ведётся пользовательским скиллом `backlog` (заведение из диалога, разбор находок ревью, груминг, приоритизация, декомпозиция, штурм). CLAUDE.md делегирует ему формат и держит только проектные тонкости; добавлены источники задач (диалог, Tududi, находки ревью) и кладбище `docs/backlog/CLOSED.md` для выкинутого без реализации. - task-pipeline: шаги 1 и 9 больше не описывают формат сами, ссылаются на скилл; шаг 9 гоняет `backlog.py check` после удаления файла задачи. - review-pipeline: отложенная реальная находка (не для текущего мерджа) заводится задачей через скилл с тегом партии review-ГГГГ-ММ-ДД. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -164,6 +164,10 @@ task review:context > tmp/review-context.md
|
||||
- Оркестратор чинит помеченное `Действие: инлайн` и **не логирует мелочь**.
|
||||
- `Действие: развилка` — на человека через `AskUserQuestion`, вопросом с
|
||||
вариантами.
|
||||
- Находка не для этого мерджа, но реальная (отложенный `major`, развилка,
|
||||
решённая «потом») — не теряется: заводится задачей через скилл `backlog`
|
||||
(интейк из ревью), с оракулом и провенансом в теле. Мелочь класса `nit` — в
|
||||
пакетный файл, а не файлом на находку.
|
||||
- `Promote candidates` — по процедуре
|
||||
[references/promote.md](references/promote.md): находка → конвенция → правило
|
||||
линтера → **удаление из конвенций и из промптов**. Третий шаг обязателен.
|
||||
|
||||
@@ -41,6 +41,10 @@ description: Автономно проводит задачу jellybit чере
|
||||
- Задача с префиксом `[идея]` (ещё без решения «делаем») — сперва обязательно
|
||||
через explore (шаг 2), там она либо становится задачей, либо остаётся идеей.
|
||||
|
||||
Формат файла задачи и индекса держит скилл `backlog` — здесь мы беклог только
|
||||
читаем. Если по ходу выбора вскрылось, что задача устарела, дублируется или
|
||||
разрослась в эпик, это работа для скилла `backlog`, а не для пайплайна.
|
||||
|
||||
Оцени тривиальность (влияет на шаг 4):
|
||||
- **Тривиальная** — локальная правка без изменения поведения/спек/схемы БД,
|
||||
очевидное решение. Explore и ревью спек пропускаем.
|
||||
@@ -126,11 +130,14 @@ goose + синк ER-схемы `docs/specs/database.md`, htmx по web-ui-кон
|
||||
|
||||
Ревью выполненного — **до** чистки (память `review-before-backlog-cleanup`).
|
||||
Затем:
|
||||
- Удали файл задачи `docs/backlog/<slug>.md` и строку в `docs/backlog/README.md`
|
||||
(реализованное не держим в беклоге — CLAUDE.md).
|
||||
- Удали файл задачи `docs/backlog/<slug>.md` и строку в `docs/backlog/README.md`.
|
||||
Реализованное не держим в беклоге и на кладбище `CLOSED.md` не пишем — у него
|
||||
есть коммит, спека и ADR (формат — скилл `backlog`).
|
||||
- Суть переехавшего решения — в `docs/specs`/`docs/adr`, если ещё не там.
|
||||
- Если менялась структура БД — убедись, что ER-схема `docs/specs/database.md`
|
||||
обновлена в этом же change.
|
||||
- Прогони `python3 ~/.claude/skills/backlog/scripts/backlog.py check` — индекс не
|
||||
должен ссылаться на удалённый файл.
|
||||
|
||||
### 10. Коммит
|
||||
|
||||
|
||||
@@ -97,18 +97,26 @@ OpenSpec (пилот — `ingest`). До переноса источник ис
|
||||
## Задачи и беклог
|
||||
|
||||
- **Единственный источник беклога — каталог [docs/backlog/](docs/backlog/README.md)**:
|
||||
одна задача = один markdown-файл (`docs/backlog/<slug>.md`), плюс
|
||||
индекс [README.md](docs/backlog/README.md) со списком по приоритетам
|
||||
(высокий/средний/низкий) и хуками. В теле файла — контекст, принятые
|
||||
решения, шаги и ссылки на спеки/ADR/черновики. Заводи задачу новым файлом
|
||||
и строкой в индексе; закрытую (реализованную) — удаляй, суть переезжает в
|
||||
`docs/specs`/`docs/adr`.
|
||||
- Спекулятивные задачи (ещё без решения «делаем») помечены префиксом
|
||||
`[идея]` в названии — их сперва прорабатываем.
|
||||
одна задача = один markdown-файл (`docs/backlog/<slug>.md`) + строка в индексе
|
||||
[README.md](docs/backlog/README.md). Приоритеты: высокий/средний/низкий.
|
||||
Работа с беклогом (заведение из диалога, разбор находок ревью/аудита, груминг,
|
||||
приоритизация, декомпозиция, штурм идеи) — через скилл **`backlog`**; формат
|
||||
файла, слага, индекса и кладбища он и держит, здесь не дублируем.
|
||||
- **Источники задач:** диалог, инбокс Tududi и находки ревью. Отложенная находка
|
||||
`review-pipeline` (реальная, но не для текущего мерджа) заводится задачей через
|
||||
скилл `backlog` с тегом партии `review-ГГГГ-ММ-ДД` — так уже сделаны задачи
|
||||
`review-*` в беклоге.
|
||||
- **Проектные тонкости для скилла `backlog`:**
|
||||
- каталог беклога — `docs/backlog/`, язык — русский, слаги — латиница;
|
||||
- реализованная задача удаляется, её суть переезжает в `docs/specs`/`docs/adr`
|
||||
(это делает пайплайн задачи на шаге 9, не скилл беклога);
|
||||
- выкинутая без реализации уезжает строкой в `docs/backlog/CLOSED.md` (кладбище);
|
||||
- спекулятивные задачи помечены `[idea]` в заголовке (тип — английское
|
||||
ключевое слово idea/epic/task) — сперва штурм.
|
||||
- **Tududi — только инбокс сырых идей** (проект `jellybit`, project_id 14).
|
||||
Беклог там больше не ведём; идея из Tududi становится задачей, когда её
|
||||
оформляют файлом в `docs/backlog/`. Прежняя единая `docs/backlog.md`
|
||||
доступна в истории git.
|
||||
оформляют файлом в `docs/backlog/` через скилл `backlog`. Прежняя единая
|
||||
`docs/backlog.md` доступна в истории git.
|
||||
|
||||
## Язык
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Кладбище беклога
|
||||
|
||||
Задачи, покинувшие беклог **без реализации**: выкинутые, отменённые решением,
|
||||
слитые в другие. Причина отказа переживает саму задачу — иначе та же идея
|
||||
вернётся через квартал тем же текстом через инбокс Tududi.
|
||||
|
||||
Реализованные сюда **не** попадают: у них остаётся коммит, спека, ADR. Ведётся
|
||||
скиллом `backlog`; формат строки — в его `references/task-format.md`.
|
||||
|
||||
Запись здесь не запрещает завести задачу заново: изменился контекст — заводим и
|
||||
ссылаемся на строку кладбища, объясняя, что изменилось.
|
||||
|
||||
<!-- Формат: - ГГГГ-ММ-ДД `slug` — Заголовок. Причина: … Был приоритет: … -->
|
||||
Reference in New Issue
Block a user