sparring v0.1.0 — Claude-hosted loop (Phases 1–2)
sparring v0.1.0 — the Claude-hosted cross-model review loop is complete.
A deterministic Stop hook makes code review enforced and converging: Claude implements, an independent Codex reviewer runs read-only, and the loop iterates fix → re-review until the reviewer declares STATUS: CONVERGED. The author never grades its own work.
What's in this release (Phases 1–2):
- Enforced review loop with a read-only Codex reviewer, per-finding response gate, and a round cap.
- Conveyance boundary: each round is a fresh blind re-review against a frozen baseline.
- Fingerprint registry + 2-round stalemate detection.
- Blind Codex judge for factual (
[MECHANICAL]) stalemates — bindingUPHELD/DISMISSED. [DESIGN]stalemates parked → single batched user gate + decision ledger (injected as design intent so the settled choice stops being re-flagged).- Cross-round semantic matcher that aliases re-worded repeats onto the canonical finding.
111 pure-bash hook tests; verified end-to-end against a real Codex reviewer.
Requires the Codex CLI and jq.
claude plugin marketplace add wnjoon/sparring
claude plugin install spar@sparringPhases 3–6 (final sweep + skip conditions, unattended mode + final report, the Codex-hosted mirror, model economics) are designed and on the roadmap.
🤖 Generated with Claude Code