/conclave-sprint
Drive an entire active (or draft) sprint end-to-end in a single invocation.
/conclave-sprintNo arguments required. The command finds the current sprint, resolves configured models, and runs four sequential phases. Each phase is profile-aware; failures are isolated per story.
Phases
| Phase | What it does | When it runs |
|---|---|---|
| Phase 1 — Planning | Runs Sprint Planning (PM + TL concurrent, then SM) to lock a draft sprint | Skipped if sprint is already active |
| Phase 2 — Dev | Dispatches all ready stories to the Developer/Designer/DevOps subagent (batch-of-3) | Skipped if no ready stories |
| Phase 3 — QA | Dispatches all review stories to the QA subagent (batch-of-3) | Skipped if no review stories |
| Phase 4 — PR Review | Dispatches all verified stories to the Tech Lead subagent (batch-of-3) | Skipped when ceremonies.peer_pr_review.required: false or no verified stories |
Phase output
Each phase prints a header before dispatching Agent calls:
## Phase 2 — Dev (4 stories)And a summary table after all batches complete (same format as /conclave-dev and /conclave-qa):
| Story | Branch | PR | Outcome |
|--------|----------------------|------------------------------|----------------------|
| US-001 | feat/US-001-login | https://github.com/…/pull/42 | ✓ done |
| US-002 | feat/US-002-profile | https://github.com/…/pull/43 | ✓ done |
| US-003 | feat/US-003-settings | — | ✗ failed: <error> |Skipped phases print a one-line notice:
Phase 4 — PR Review: skipped (peer_pr_review.required: false)Final summary
After all phases, a sprint-level summary table covers every story touched:
| Story | Starting status | Final status | Notes |
|--------|-----------------|--------------|---------------------|
| US-001 | ready | done | |
| US-002 | ready | review | ✗ QA: blocked |
| US-003 | review | done | (was already review)|Model configuration
/conclave-sprint reads the models: block from conclave/config.md and prints a one-line summary before Phase 1:
Models: default=claude-sonnet-4-6, tech_lead=claude-opus-4-6, developer=claude-haiku-4-5-20251001Each Agent call receives the model configured for its role. See the configuration reference for the full models: block format.
Failure behaviour
- Phase 1 failure (planning agent errors): hard stop.
Sprint run aborted: Phase 1 (Planning) failed.Reason: proceeding to dev without a locked sprint goal is structurally invalid. - Phase 2–4 per-story failure: that story is reported in the summary (
✗ failed); other stories continue. A failed dev story staysreadyand is excluded from Phase 3’s collection. - QA
verdict: blocked: normal outcome. Story staysreview, reported as✗ QA: blocked. Does not block other QA calls.
Re-runs
Re-running /conclave-sprint after a partial failure is safe. Story status frontmatter is the recovery mechanism:
- Phase 2 collects
readystories (those that failed in a prior run and were reset stayready). - Phase 3 collects
reviewstories (including those left inreviewfrom a prior QA block). - Phase 4 collects
verifiedstories.
No checkpoint file is introduced. Re-run the command and it picks up exactly where the frontmatter left off.
Sprint closing — Steps 12 and 13 (v0.16.0+)
When all stories reach a terminal state (done or explicitly carried over), the command runs two additional steps before marking the sprint closed:
Step 12 — Critical bug gate
Scans conclave/sprints/SPRINT-NNN/bugs/ for any file whose frontmatter has severity: critical and status other than done. If any critical bug is open:
Sprint close BLOCKED: 2 critical bug(s) open in conclave/sprints/SPRINT-NNN/bugs/.
Resolve BUG-001-auth-bypass and BUG-003-data-loss before closing.This check runs unconditionally — it cannot be bypassed in headless or --no-interaction mode. The sprint cannot close until all critical bugs are resolved.
Step 13 — Closing reports
Three files are generated under conclave/report/SPRINT-NNN/ from the corresponding templates:
| File | Template | Contents |
|---|---|---|
report.md | sprint-closing-report.template.md | Velocity, story results table, bug count, acceptance coverage, carryover, recommendations |
UAT.md | sprint-uat-summary.template.md | Per-story Gherkin scenarios, manual test steps, regression checklist, sign-off table |
dora-data.yml | (inline) | Pre-computed DORA snapshot: deploy timestamps, lead times, CFR, MTTR raw data for /conclave-dora aggregation |
The sprint status in meta.md is set to done after Step 13 completes, so closing reports always reflect the final state.
What it produces (complete list)
- Phase 1–4 artifacts (stories, PRs, verification reports, planning record).
conclave/sprints/SPRINT-NNN/bugs/BUG-NNN-*.md— sprint bugs written by the QA phase when verification is blocked.conclave/report/SPRINT-NNN/report.md— sprint closing report.conclave/report/SPRINT-NNN/UAT.md— functional UAT guide.conclave/report/SPRINT-NNN/dora-data.yml— DORA metrics snapshot (consumed by/conclave-dora).
Guardrails
- Phase 1 failure is a hard stop. All other failures are per-story isolated.
- Never modifies files outside
conclave/(except feature branches andtests/uat/written by the QA phase). - No mode merges any PR — Tech Lead approval in Phase 4 is sufficient; merging is a human action.
- Every skipped phase prints a skip notice with the reason.
- Sprint cannot close with open critical bugs — Step 12 enforces this unconditionally.
Headless one-pass
/conclave-sprint --no-interaction
/conclave-sprint --headlessOr set commands.sprint.interactive: false in conclave/config.md.
This is the same single pass as interactive mode, with prompts replaced by documented defaults:
- Planning on a
draftsprint uses today as the start date, the configured sprint length (else 14 days), the first roster member as facilitator, and the Tech Lead as a fallback for coverage gaps. - Phases 2–4 run unchanged, including batch-of-3 concurrency. Phase 4 still honors
ceremonies.peer_pr_review.required. - The critical bug gate (Step 12) and closing reports (Step 13) run as normal.
- Nothing is merged, nothing is retried.
A story that fails Dev or is blocked by QA is reported and left where it is. Pick those up with /conclave-dev --loop.
Changed in 0.15.0. Up to 0.14.0 this flag ran a self-healing loop that merged into the integration branch, closed the sprint, and honored
commands.sprint.schedule/budgets/merge_method. ADR-006 moved unattended delivery to/conclave-dev --loop; those three config keys are now ignored no-ops, and--ignore-schedulehas no effect here.
Unattended delivery: /conclave-dev --loop
To drive a sprint (or a subset, or a BUG-NNN this command never collects) unattended, use /conclave-dev --loop (v0.15.0+, ADR-006). It runs three ordered waves — Dev + green CI, then QA, then a forced Tech Lead review — sends failures back to Dev, gates on a recurring local-time window with budgets, writes a run report with agent-productivity statistics, and leaves approved PRs for you to merge. It never closes the sprint; it prints a hint pointing back here.