Judgment layer for Claude Code. CI merges when visible tests pass — verdict checks whether that means anything.
claude plugin install .Or add this repo to a Claude Code marketplace (/.claude-plugin/marketplace.json).
| Command | Effect |
|---|---|
/verdict on |
Pre + Post + Stop gate |
/verdict lite |
PostToolUse flags only |
/verdict off |
Disabled |
State: ~/.claude/.verdict-active. Artifacts: .verdict/ in the project.
Optional gate policy: verdict.gate.json (suite_adequacy: required or advisory).
npm testnode hooks/report.js . --ci
node hooks/report.js . --pr
node hooks/plugin-compare.js .- Python 3.9+ for
.pymutation (ast.unparseinhooks/mutation-ast.py) - Node.js for hooks and JS/TS token mutation
| Tier | Held-out | Mutation |
|---|---|---|
| Default | Rule-based: spec bullets → keyword-presence pytest in .verdict/held-out/ |
Python: stdlib AST; JS/TS: token-scan (skips strings, comments, regex literals) |
| Recommended | Set VERDICT_LLM=1 — claude -p generates behavioral held-out tests from spec |
— |
Rule-based held-out checks that keywords from the spec appear in source — not full behavior. A weak visible suite can still pass held-out while mutants survive. Use LLM held-out when you need behavioral coverage without hand-writing tests.