Skip to main content
Every sentence of the README that asserts something about the shipped code, mapped to the code that implements it and the test that proves it. This table is regenerated at every release. A claim that loses its code or its test is removed from the README in the same commit — the README is not allowed to describe behaviour that no longer ships. If you find a row here that does not hold against the version you installed, that is a bug: please open an issue. Regenerated for: v0.6.0. Line numbers refer to the commit this file was regenerated on, and scripts/repoint-claims.py re-derives them for the commits in between — it refuses rather than guessing when a symbol has no definition, because a row pointing at a docstring that happens to contain the right word makes the guard green and the claim false. test_the_claims_table_line_numbers_point_at_what_they_name resolves every one against the line it cites. The rows follow the README’s sections. docs/capabilities.yaml names one row per capability by its quoted claim, and tests/test_docs_audit.py fails if a named row is not here.

The header

The last check before an AI agent does something it can’t undo. Autonomy belongs to the action, not the agent. Every consequential action happens once, exactly as approved, or not at all — and leaves a receipt.

The capability matrix

Rendered from docs/capabilities.yaml; the six rows are the six groups of the verify catalogue, GUARANTEES (verify/guarantees.py:39).

The problem, and how it works

Three ways to use it

Write down what the agent may do

Prove it holds in your setup

And the four things the verify section deliberately does not claim, each with the test that keeps it honest:

What it guarantees

What it can’t, stated as limits

The README also makes negative claims. They matter as much as the positive ones.

The docs site: Home and Concepts

Every claim on the docs site’s Home page and Concepts pages, mapped the same way. Most of them are the README’s claims in a second place, so the rows point at the rows above rather than restating the code; the ones that are new to the site carry their own code and proof.

Demo output

The README quotes ctrlrun demo verbatim. test_the_readme_demo_section_quotes_the_demo_output_verbatim runs the demo and asserts every line it prints appears in the README, masking only the generated approval and delegation ids. The animation at the top of the README ends on lines docs/assets/demo.expected.txt lists, and tests/test_readme_assets.py asserts each is a line the demo prints and the README quotes.

How these line numbers are kept honest

They are not, automatically — a citation is prose, and prose drifts. Every row above was re-derived against the tree at the tag named at the top of this file by reading the line each one names. The v0.6 pass moved fifteen of them, and none for an interesting reason: the v0.1 and v0.2 rows were written against v0.3.0 and the files have grown since. The two that had drifted semantically were fixed in the previous pass and still point where their sentences say — the BEGIN IMMEDIATE citation at the reservation path rather than grant_approval’s, and the “no principal” claim at the public Policy.evaluate rather than the private _ActionPolicy.evaluate. One row moved between files: “blocks duplicate execution attempts” cited state.py for the AMBIGUOUS refusal, which now lives in effect.py’s plan_reservation, decided once for both stores. If you are regenerating this file, re-derive every row. Do not carry one forward on trust. And from v0.5, you do not have to take that on trust either. test_the_claims_table_line_numbers_point_at_what_they_name resolves every file.py:NNN in this document against the line it cites and fails if the symbol the cell names is not on it. It found nine stale references the first time it ran, four of which pointed at a string literal, a comment or the middle of another function. The instruction above had been followed by hand at three releases and the table had drifted anyway, which is the argument for the test rather than against the instruction.