0.2.0: finding markers and follow-up issue at close
This commit is contained in:
parent
34a23260b2
commit
7fbebac741
@ -1,5 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
## 0.2.0 — 2026-09-27
|
||||
- Маркировка находок и решений: `T<n>.<k>`, `C/I/M-n`, `R-n`, `O-n`, `H-n`; обязательный статус fixed / deferred / rejected.
|
||||
- Чеклист закрытия: п. 6 — отложенные находки собираются в issue Gitea `Follow-ups from #N`.
|
||||
|
||||
## 0.1.0 — 2026-09-27
|
||||
- Первая версия после пилота на obsidian-voice-note (10 задач, 125 тестов, PR #2).
|
||||
- Хуки: guard-main (main + detached HEAD, Bash-запись, исключение для openspec/), require-plan (.bounded).
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
| 7 | Финальное ревью всей ветки (opus), одна волна фиксов | агент | — |
|
||||
| 8 | `finishing-a-development-branch`: PR в Gitea с «Rulings I made» | агент | PR |
|
||||
| 9 | Ревью PR в Gitea; комментарии → `receiving-code-review` → правки в ветке; **вы делаете merge** | вы ↔ агент | merge |
|
||||
| 10 | «Закрывай»: чеклист из 6 пунктов (см. CLAUDE.md) | агент | archive, closed issue, чистый main |
|
||||
| 10 | «Закрывай»: чеклист из 7 пунктов (см. CLAUDE.md) | агент | archive, closed issue, follow-up issue, чистый main |
|
||||
|
||||
Шаги 6–8 идут без остановок. Агент останавливается только на необратимой операции, вопросе безопасности, побочном эффекте вне worktree или плане, который невозможно исполнить.
|
||||
|
||||
@ -49,6 +49,22 @@ Fix loop: раунды 1–3 продолжают того же implementer, 4
|
||||
|
||||
Читать: спеку один раз при утверждении, раздел решений каждый раз, когда он пополняется (после спеки, после плана, в финальном отчёте SDD). Каждое решение — вопрос «согласен ли я»: согласен — ничего не делать; не согласен — сказать агенту, он поправит; непонятно — спросить.
|
||||
|
||||
## Маркировка находок
|
||||
|
||||
Всё, что всплывает за фичу — замечания ревьюеров, рулинги контроллера, наблюдения, комментарии в PR — получает маркер источника и сохраняет его во всех документах: ledger → отчёт контроллера → PR → design.md → follow-up issue.
|
||||
|
||||
| Маркер | Источник | Пример |
|
||||
|---|---|---|
|
||||
| `T<n>.<k>` | minor из ревью задачи n плана | `T1.1` — Node-глобалы проходят проверку типов в `src/core` |
|
||||
| `C-n` / `I-n` / `M-n` | финальное ревью ветки: critical / important / minor | `M-3` — жёсткий путь к vault в конфиге сборки |
|
||||
| `R-n` | рулинг контроллера (процесс, план vs спека, состав фикс-волны); рядом номер решения в design.md | `R-5 (design #33)` — claimAll следует спеке, не плану |
|
||||
| `O-n` | наблюдение контроллера вне ревью | `O-1` — счётчики в отчётах implementer неточны |
|
||||
| `H-n` | комментарий человека в PR | `H-1` — переименовать поле |
|
||||
|
||||
Статус каждой находки — `fixed <commit>`, `deferred` или `rejected <причина>`; пункт без статуса в финальном отчёте контроллера считается ошибкой. Отложенное живёт не в ledger (он удаляется) и не в чате, а в одной issue Gitea `Follow-ups from #N`, которую агент заводит при закрытии. Следующая фича начинается с `tea issues ls` — и там эти пункты видны.
|
||||
|
||||
Зачем так: на пилоте контроллер придумал маркеры сам (T по номеру задачи без счётчика, P/F для рулингов), два пункта остались без маркера, а весь список отложенного жил только в удалённом ledger и в чате.
|
||||
|
||||
## Хуки
|
||||
|
||||
| Правило | Файл | Механизм |
|
||||
|
||||
@ -25,10 +25,21 @@
|
||||
3. Удалить SDD workspace (`.superpowers/sdd/<plan>/`).
|
||||
4. Удалить ветку фичи на сервере и локально (`git push origin --delete`, `git branch -D`), удалить worktree (`git worktree remove`). Остальные worktree не трогать.
|
||||
5. Обновить основной checkout: если рабочее дерево там чистое — `git pull --ff-only`; если есть незакоммиченные изменения — не трогать, а перечислить их в итоговом сообщении.
|
||||
6. Итоговое сообщение: что сделано по пунктам 1–5, что осталось человеку.
|
||||
6. Все находки со статусом `deferred` (см. «Маркировка») собрать в одну issue Gitea `tea issues create` с заголовком `Follow-ups from #<issue-id>`: маркер, одна строка, откуда взялось. Если отложенного нет — issue не создавать.
|
||||
7. Итоговое сообщение: что сделано по пунктам 1–6, номер follow-up issue, что осталось человеку.
|
||||
Любой другой push в main — только через PR.
|
||||
- Список "Rulings I made" из финального сообщения копируется в описание PR.
|
||||
- Любое решение, принятое агентом без обсуждения с человеком — на этапе спеки, плана или исполнения — дописывается в `openspec/changes/<id>/design.md` в раздел `## Decisions made without discussion`: дата, решение, обоснование, что стоит ошибка. Ledger SDD удаляется, чат теряется; design.md архивируется вместе со спекой и остаётся в истории.
|
||||
|
||||
## Маркировка находок и решений
|
||||
- Каждая находка и каждое решение в ledger, отчётах, PR и design.md несёт маркер источника. Маркер присваивается один раз и не меняется при переносе между документами.
|
||||
- `T<n>.<k>` — k-я minor-находка ревьюера задачи n плана (`T4.1`, `T4.2`).
|
||||
- `C-n` / `I-n` / `M-n` — critical / important / minor из финального ревью всей ветки.
|
||||
- `R-n` — рулинг контроллера, сквозная нумерация в пределах фичи; рядом номер решения в design.md: `R-5 (design #33)`.
|
||||
- `O-n` — наблюдение контроллера вне ревью (неточные отчёты, инструменты, окружение).
|
||||
- `H-n` — замечание человека из PR, обработанное через receiving-code-review.
|
||||
- Каждая находка заканчивается одним из статусов: `fixed <commit>`, `deferred`, `rejected <причина>`. Находка без статуса в финальном отчёте — ошибка контроллера.
|
||||
- Финальный отчёт контроллера содержит таблицу всех находок с маркером и статусом; `deferred` попадают в описание PR и в follow-up issue при закрытии (чеклист, п. 6).
|
||||
|
||||
## Стиль
|
||||
- Отчёты сабагентов, рулинги и ledger не сжимать. Caveman включается только по явной команде.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user