v0.5.2 — One source of truth for the plumbing
🧱 De-duplication
Removed three sets of copy-pasted logic a reviewer would rightly flag:
- Claude CLI wrapper (was in 3 files) →
lib/claude-cli.ts - LLM-JSON extraction (3 near-identical parsers) →
lib/llm-json.tsextractJson() - child_process spawn/capture (git + crew) →
lib/exec.tscapture()
No behavior change. Type-check + build green, crew dry-run 7/7.