Verdict
Read-only MCP server over Verdict QA state: verdicts, findings, flaky quarantine, history.
- Transport
- Not stated
- Package
- —
- Registry id
- io.github.ArtJack/verdict
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
Your test suite is green. Verdict found a defect that had lived 4,595 days.
Verdict is a QA agent that does not fix, does not flatter, and does not forget. It measures
before it judges — the harness runs your gates, hashes every line a finding cites, re-runs
the guarding test at the old commit and the new one — and it keeps a memory: every run is a
delta against the last, findings age, regressions rank first, and the tester's own misses
are published beside its hits. The contract it runs under is immutable and hashed into every
verdict; what it learns lives beside the contract, dated and auditable, and never edits it.
The number above is real: FilePerms in a 4k★ Python library could not revoke a permission
bit since 2014-02-07, and every one of its 625 tests was green the day Verdict filed it —
the run, and the misses, are in the ledger.
/plugin marketplace add ArtJack/verdict # Claude Code
/plugin install verdict@verdict
/verdict:run
npx skills add ArtJack/verdict # every other coding agent
Most AI "QA agents" are a paragraph of enthusiasm with a checklist. They audit your repo from scratch every time, re-report the same 20 findings until you stop reading, call flaky tests "failures", call stale tests "failures", and end with "LGTM! 🎉".
Verdict is a Claude Code plugin built the way QA is actually practiced:
- It remembers. A state file carries the baseline. Every finding gets a stable ID and
an age; every run reports
NEW / STILL_OPEN / RESOLVED / REGRESSED— regressions ranked first, always. - A red test means something. Every failure is classified —
REAL_DEFECT,STALE_EXPECTATION(which needs a citation proving the change was intended),BRITTLE_TEST,ENVIRONMENT, orFLAKY(confirmed by re-runs, quarantined with an expiry). The classification most likely to excuse a regression carries the highest evidence bar. - A verdict you can defend. Every run ends in exactly one of
pass | pass with risks | blocked | fail— an open Blocker forcesfail,blockedis a legitimate outcome, and apassalways names what was not tested. - It never fixes your code. There is no
Edittool, a hook confines its writes to the QA root, and a strict-mode Bash guard closes the shell's write channels — a tester that patches what it judges isn't independent. The guard is a heuristic, not a sandbox, and the README says so. - It is tested, and it tests itself. A scored eval suite with the misses published, a signed run history the model cannot forge, a track record the tester cannot edit — and a nightly audit of its own releases: 69 findings filed against itself so far, every one fixed in a tagged release with the defect pinned as a mutant the suite must kill.
Who pays for the model? You do, with the Claude subscription you already have: the plugin runs inside your own session, nothing routes through anyone else, and everything below the model — the state, the gate, the MCP server, the eval scorer — is stdlib Python that runs for free. Works on Python, TypeScript, Go, or anything with a test runner; the eval fixtures cover Python and TypeScript.
Read next: Install · What installs, and when it runs · Quickstart · Why another QA agent · The tested tester · CI gate · Accepting a risk · FAQ
Install
/plugin marketplace add ArtJack/verdict
/plugin install verdict@verdict
From the project's README.