coroner-cli
v0.0.1
Published
Every "done" gets an autopsy — a proof layer for AI coding agents.
Maintainers
Readme
CORONER
Every "done" gets an autopsy.
CORONER records what your coding agent actually did — from outside the agent — and won't sign off on a claim the evidence doesn't support.
npx coroner-cli initThen work exactly the way you already work. When the agent says it's done, CORONER examines the body.
CORONER / PR #412
──────────────────────────────────────────────
CLAIM "all tests passing, feature complete"
✓ pytest ran exit 0
✓ tests written before the code +4m12s
✗ mutation score 31%
12 of 17 mutants survived.
test_refresh_rotation asserts nothing.
✗ AC-3 "tokens are never logged" UNDETERMINED
FINDING REFUTED — not signed offWhy
Your agent tells you the tests pass. Sometimes they don't. Sometimes they do, because it edited the test until they did. Sometimes the test asserts nothing at all.
CORONER installs hooks that sit outside the model and record what happened — every tool call, every command, the real exit code, the SHA before and after. The agent never writes that record. A report written by the party under examination is testimony; what you need is forensics.
Then it asks the question nobody else asks: do these tests test anything? It mutates your source — flips a comparison, deletes a branch — and reruns the suite. A test that still passes against broken code was never a test.
Three findings are possible: PROVEN, REFUTED, UNDETERMINED. Undetermined is never rendered as a pass.
What it cannot see
- Files written through arbitrary shell commands are seen only afterward, via the diff.
- Writes outside the git root are invisible.
- MCP servers mutating external systems are out of reach.
- Sessions run with permission checks disabled are not examined at all.
A tool that signs off without having seen the body is worse than no tool, so this one doesn't.
Status
Pre-release. This version reserves the name. It examines nothing yet and reports nothing — by design, because an empty green check is exactly the failure mode this project exists to end.
Follow the build: https://github.com/RichardsGee/coroner
Note on similar names
Two lookalikes exist on npm and neither is this project: the package coroner is
an unrelated, abandoned dead-link checker, and the @coroner scope belongs to a
third party. coroner-cli is the only package published here.
License
FSL-1.1-Apache-2.0 — everything permitted except offering CORONER as a competing service; converts to Apache 2.0 after two years.
