chore: add mid-sprint resume procedure + live groom-doc status

- sprint skill: explicit "Resume — session closed mid-sprint" section
  that reconstructs the frontier from groom doc -> Forgejo -> git, and a
  rule to keep per-issue Status live (todo -> in progress -> PR open ->
  merged) and commit/push per TDD step so state is never archaeology.
- docs/sprints/README.md: add a Status column to the groom template.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Randa 2026-07-01 17:21:42 +04:00
parent 5500c111d9
commit cd9c710026
2 changed files with 22 additions and 3 deletions

View file

@ -39,6 +39,23 @@ For each issue in the groom's PR sequence (respect `Depends on`; split large iss
7. **Only now say it's ready** — present the PR + evidence (green CI, self-review summary) and **stop for the human to approve + merge**. Never self-merge.
8. **After merge** — remove the worktree + delete the branch; reconcile the plan doc + Forgejo issue/milestone status; tick the issue in the groom doc.
**Keep the groom doc's per-issue Status live** at every transition (`todo → in progress (branch <x>) → PR #N open (CI <state>) → merged`), not only on merge. Commit per TDD step and push the branch early, so the PR + CI reflect the true state. This is what makes a mid-sprint resume deterministic rather than archaeological.
## Resume — session closed mid-sprint
A new session has none of the prior conversation; reconstruct the frontier from durable state, in this order:
1. **Groom doc** (`docs/sprints/sprint-<n>-*.md`) — the per-issue Status column is the first read: what's done, what's in flight.
2. **Forgejo** (MCP) — issue states, milestone progress, and any **open PR** with its CI + review state.
3. **Git**`git worktree list`, branch commits, and whether any worktree has committed-but-unpushed **or uncommitted** work (the only signal not on Forgejo).
4. **Decide the frontier and resume:**
- Open PR awaiting the human's merge → leave it; pick the next unblocked issue.
- Branch mid-implementation (worktree exists) → continue its TDD loop from where the commits/tests leave off.
- PR open but CI red or self-review not done → finish that gate before touching anything else.
- Nothing in flight → start the next unblocked issue in the groom's sequence.
Always re-honor the gates on resume: CI green + self-review before "ready", never self-merge. If the groom doc's Status disagrees with Forgejo/git, trust Forgejo/git and correct the groom doc.
## Phase 3 — Close the sprint
- When every in-scope issue is merged and the demoable slice runs, fill the **Retro** in the groom doc.

View file

@ -22,9 +22,11 @@ The [v1 plan](../superpowers/plans/2026-07-01-digger-v1-plan.md) is the stable,
<The one working end-to-end thing this sprint proves at close.>
## Issues in scope (PR sequence)
| # | Title | Depends on | Notes / PR split |
|---|---|---|---|
| #NN | … | #NN | … |
Keep **Status** live at every transition (`todo → in progress → PR #N open (CI <state>) → merged`) so a mid-sprint resume can read the frontier instead of reconstructing it.
| # | Title | Depends on | Status | Notes / PR split |
|---|---|---|---|---|
| #NN | … | #NN | todo | … |
## Adjustments vs the plan
<What changed during grooming and why. "None" is a valid answer. Each change