rabadon · projects

projects · preview

rabadon

catches your agent's mistake in the move that makes it

built by · rabadon.noseydewdrop.com

what it is

rabadon supervises Claude Code. When your agent drops a requirement, rabadon sends it back with the evidence.

A local gate checks every tool call against your rules in about 3 ms, for free. When the agent says it is done, an opt-in reviewer compares the work with what you asked for. A gap goes back to the same agent with the diff that shows it; you come back to a one-line result.

It runs inside the live session, not over the logs afterwards. It sees the error in the move that makes it, while the move is still a proposal.

the gate

Fourteen laws are compiled in and hold from the first minute, in a repo with no configuration at all: among them a force-push to a shared branch, a recursive delete resolving outside the project tree and a hard reset onto a shared branch. Your guard.json extends that floor and can switch any of the fourteen off by id.

  • loop-stop: the same command run 3 times with no code change in between is a loop, not progress; refused.
  • test-tamper: while the suite is red, an edit that weakens a test (skip added, assertions removed) is refused. Fix the code, not the thermometer.
  • push gate: if your laws demand green tests before a push, rabadon runs the suite itself at push time and decides on the real result, never on a claim.
  • kernel enforcement: rabadon exec runs the command inside an OS sandbox (macOS Seatbelt, Linux bubblewrap), so a forbidden write is refused by the kernel with EPERM even when nothing consulted rabadon first.
  • tamper-evident ledger: every event is sealed by HMAC-SHA256 to the one before it, so the ledger can be verified, not just trusted. rabadon audit re-walks the chain and names any broken link by file and line.

Everything is local: no account, no upload, nothing leaves.

measured

Preview .4, 17 October 2026:

  • The reviewer caught 15 of 15 dropped requirements it could see, with 0 false alarms on 6 correct solutions. Seeded mechanism test, not field data.
  • Reviewer calls cost 47% less: the same 21,191-token packet went from $0.1658 to $0.0877.
  • 31 of 31 steps installed end to end from the site's HTTPS downloads, with a real Claude agent and the real reviewer.
  • Review did not save money on short tasks: plain Claude and reviewed Claude were fully right on the first try in all 10 runs, so review added $0.075 per turn. Long unattended jobs: not measured yet.

On a project it has never seen: 120 ordinary actions, 0 refused. Four real repos in four languages (flask, express, ripgrep, gin), cloned fresh with zero config.

stack

dependency-free C++ core · Node 18+ CLI on npm · HMAC-SHA256 ledger · macOS Seatbelt and Linux bubblewrap · Claude Code and Cursor hooks · OpenTelemetry export

links