Verification for AI agents

At which rung did your agent verify?

Your agent says it verified the change. But "verified" hides the difference: did it run the real thing, or only read the diff? One command grades the evidence, then ships it or blocks it.

pip install rung-ai
The problem

One word hides how real the check was

"The tests pass" and "I ran the real thing and watched it work" reach you as the same word: verified. So does "I checked it" versus "someone independent checked it." When an agent reports done, you cannot tell which one you got.

reads as: verified

"I reviewed the fix."

Read the diff. Reasoned about it. Never ran the code. It might be right, but nothing was observed.

reads as: verified

"I ran it and watched it pass."

Exercised the real surface and captured what happened. A different level of confidence, under the same word.

What rung does

It grades the claim, then enforces your bar

rung asks two things about every claim your agent makes: how real the check was, and who did it. Those two answers place every claim on this grid.

  • How real

    Ran it, or read it?

    Did the agent run the real surface, or only reason about the code? A green test suite alone does not count as running it.

  • Who checked

    The author, or someone else?

    A change checked by whoever wrote it is not the same as one an independent party ran and confirmed.

The aim: ran the real thing, and confirmed by someone independent. rung holds every claim to the bar you set, and never lets one read higher than its evidence.

who checked it →
Claims graded by how real the check was and who checked it. The aim is a claim that ran the real thing and was confirmed by someone independent.
By the authorIndependent
Ran the real thing It ran, self-checkedrung 1 · author ★ the aimRan, independently confirmedrung 1 · independent
Only read it You have its wordrung 0 · author A second readrung 0 · independent
How it works

Three steps, one command

1

Your agent records the run

As it works, the agent captures what it did: what ran, on what surface, and what came out. That becomes the evidence file rung reads.

2

You set the bar

Say what each risk level demands. Routine changes can pass on the author's word. Higher stakes require a real run and an independent check.

3

rung ships it or blocks it

One command reads the evidence against your bar and returns a verdict. Drop it into CI, or run it on your machine before you merge.

Why it matters

Trust "done" when you can see how it was checked

rung does not run your tests or replace review. It makes "verified" accountable: every claim carries the evidence that earned it, and nothing ships on its own say-so. The agent keeps moving fast, and you still know what was checked.

Get started Read the docs
Questions

Before you install

Do I need an AI agent to use it? +
rung is built to ride along with one. Your agent runs the real thing under rung as its verify step, and rung turns what happened into a record. The agent is yours to bring (Claude Code, an SDK loop, an IDE assistant); rung neither ships nor calls it. You can also run rung by hand, with no agent at all.
Does it call a model or send my code anywhere? +
No. The check is a plain local program: it reads your files, hashes them, and decides. No model, no network, nothing leaves your machine. Any model cost lives with your agent, which is yours.
Isn't this the same as running my tests? +
No. Tests check behavior; rung checks that a real run happened and is on record. Green tests that never touch the real surface still read as unrun. Keep your tests: rung records whether they observed the thing you are shipping.
What if the agent fakes the record? +
rung re-derives what it can from the captured output and leaves the rest for a person to re-check. That makes a claim accountable, not unforgeable: you can catch a hollow "verified" where today there is nothing to inspect.
Will it slow my agent down? +
No. The check is fast, local, and repeatable. The only cost is the run itself, the one you wanted your agent to do anyway.