Skip to content

v0.5.0 — unattended mode + /spar:ready / /spar:fight

Choose a tag to compare

@wnjoon wnjoon released this 24 Jul 10:32
2e3d790

Highlights

Unattended mode (Phase 5) and a re-slice of the plan-to-spar orchestrator into two intuitively-named commands.

Unattended mode

  • --unattended flag persisted to loop state; the Stop hook decides the gate from durable state (no auto-detection).
  • At the batched design gate, an unattended run no longer holds: it persists every pending finding to a durable queue under reviews/spar-pending.md (survives cleanup(), keyed by review-id + fingerprint, dedup + symlink-safe), records blocked-pending-user, makes a fail-open report call, then cleans up and releases — never fabricating completion.
  • A fail-open SessionStart hook announces the pending count next session.

Command re-slice / rename

  • /spar-weighin/spar:ready (turn a spec into a checkbox plan on a dedicated branch, then stop) + /spar:fight (run a single task, or drive a ready plan task-by-task).
  • /spar/spar:fight; /spar-cancel/spar:cancel.
  • fight auto-detects a pending plan; a pending plan plus a task argument is refused so a prepared plan is never silently skipped.
  • Internals unified to ready/fight/plan vocabulary (spar-plan-lib.sh, stop-fight.sh, state .claude/spar-plan.local.md).

Testing

  • Full pure-bash suite green, including a new test_fight_dispatch.sh.
  • ready → fight handoff validated end-to-end via a scripted dogfood.

Upgrade note

Live use of the new slash commands requires reinstalling the plugin at v0.5.0.

Full changelog: v0.4.0...v0.5.0