Repository navigation
v4.0.0 — Compound V 4: standalone, asks first, proves before done
Compound V is now a standalone plugin, compound-v. Its cycle is brainstorm → build (one builder
researches, plans and codes) → verification with tree-bound receipts, and Claude Code does the orchestration. The
salon experiments on 3.9.1 (docs/v4/salon-report.md) showed the light flow
beating the full v3 pipeline on every blind judgement at a sixth to a third of the cost. The component-by-component
reasoning is in docs/v4/transition.md. v4's own results, against plain Claude Code on two
briefs and on changes to existing code, are in docs/v4/benchmark-summary.md.
Removed — and why (transition table)
- The orchestration engine (workflow emitter, manifest and validator, integration gate, collect,
failure policy, fast path,/v:dispatch,/v:orchestrate,/v:resume,/v:collect,/v:status):
it added nothing at salon size, and Claude Code now orchestrates natively. - Engine agents (
parallel-dispatcher,partition-reviewer,transport,implementer,
spec-reviewer): their jobs went with the engine; onerevieweragent replaces the review gate. - The lane-guard hook: the most expensive ambient hook; lanes are now checked before merge by
lane finish. - Epics (
/v:epic, epic state, arbiter, marathon watcher): two epics in the plugin's life, and
native/goaland/loopcover the rest. - V-memory as an engine (FTS5 index, embeddings,
/v:remember,/v:memory-refresh): its benefit
in runs was never shown; the name now means the docs themselves, searched by a read-only agent. - Headless build workers (Codex, opencode, Antigravity, Cursor): Antigravity and Cursor never ran a
real job; Codex stays as a reviewer, and workers return only with a deterministic result check. /v:adr: decisions now live in the spec's "Decided by the owner" and "My calls" sections./v:modelsand model discovery/resolution: replaced by themodelsmap/compound-v:init
writes and the plan's task → model table.- Run observability (liveness probe, transcript watch, dashboard): they watched engine jobs that no
longer exist. - Statistics (scorecard,
/v:lessons, triage outcomes, the usage extractor/aggregator): nothing
decided on their data; run cost now comes from the CLI's own cost record. - Triage pre-eval (DIRECT/SCOPED/FULL, the impact taxonomy, the paid request classifier,
/v:triage): replaced by deterministic light/full tiers plus escalation on the diff's content. - The Superpowers dependency: v4 has its own brainstorm and plan skills.
evals/: the suite was never scored.- v3's docs moved to
docs/archive/v3/.
Added
- Skills
brainstorm,plan,build,verifyand a shorterinit;onboardandpr-review
carried over. All are/compound-v:<name>. - One CLI,
scripts/compound-v.pyoverscripts/cvcore/: canonical tree snapshot, run record
(docs/compound-v/runs/), HMAC-signed receipts bound to the tree and the acceptance table, scope
check, diff escalation, lane gate, usage, band data. - The verification bar: tests, a real-browser (or main-flow) check, a scope check and, for full
runs, an executable review in an isolated checkout by Codex or a Claude Opus subagent, at most two
rounds. Outcomesverified,incompleteorfailed; only verified is done. - Hooks: prompt engagement, a Stop hook that refuses an unverified run once (never twice), a session
brief, a guard on run records, and a reviewer-stop recorder. All fail open. - The band shows the cycle stage, receipt marks and run cost from the run record.
- Parallel lanes through native worktree subagents, merged by
lane finishonly after scope,
merge and tests pass. - Agents
builder(Opus),reviewer(Opus) andv-memory(Haiku, read-only: the one exception to never-Haiku). /compound-v:initwritesworktree.baseRef: head, deriveslive_cmdfor web projects, and offers
to disable Superpowers in the project.- design sub-skill, loaded only for UI work: the project's
DESIGN.md
(Google's format, linted with@google/design.md@0.4.0) as the one
source of the look, shared components instead of copies, a craft floor and a screenshot check. The brainstorm asks one
identity question, only for a new project with a UI. In the same blind sets it added about 13 UX points at no
measurable cost.plan,buildanddesignare hidden from the slash menu (user-invocable: false). - A universal web-app checklist (OWASP ASVS 5.0, WSTG, RFC 9110, WCAG 2.2, GOV.UK) with the benchmark's lessons as
general rules: the request outranks the spec, one rule in one place, old operations × new data, new routes inherit
sibling guards, the commit step re-validates, permissions follow current state, per-target login limits never lock
out the correct login, and fields normalise the same way for storage and lookup.
Changed — the L1 scheme (after the v4 benchmark)
- Pre-flight agents folded into the builder.
code-archaeologist,doc-validatorand
domain-expertare gone. After the spec is approved, one freshbuilderdoes the domain research
(at most four searches), the code reading and the library check itself, writes the plan with the
planskill as its reference, attaches it, and builds. Every fix goes back to that same builder.
Why: in the benchmark, separate pre-flight agents, a plan written in the main conversation, a
separate builder and a broad reviewer cost more than the light flow and did not beat it, while one
agent doing research, plan and build from the same spec matched the best light-flow build (see
V4-RESULTS in the benchmark kit, and spec §4.2–4.4). - A sharp reviewer. The review prompt runs a fixed list of probes that found real defects, in
yield order, batched into probe script
Full detail in the CHANGELOG.