Verify completion claims by reading the source back

Local CLI that compares an agent completion claim to an independent, bounded filesystem readback. Tool success without readback is unknown, not pass. Ten local source adapters; hosted evaluation, history, and billing stay disabled.

Demand is a hypothesis, not validated paid demand. This page does not claim rankings, customer counts, or production verification of remote systems.

How it works

Give the CLI a versioned JSON envelope with a claim {source_ref, resource_ref, mutation_at, expected}. The matching local adapter independently reads the bound resource with symlink rejection, size bounds, and identity-at-open checks, then the evaluator compares that readback to the claim.

Use it locally

No account is required for the local CLI and fixtures. Conversion action: run the fixture matrix on your machine.

npm test
node src/cli.mjs fixtures/pass.json          # exit 0
node src/cli.mjs fixtures/fail-mismatch.json # exit 1
node src/cli.mjs fixtures/failed.json        # exit 2
node src/cli.mjs fixtures/pass.json --markdown

Honest limits

Adapters prove observed local filesystem equality at read time only. They do not authenticate authorship, prove remote state, survive concurrent writes, or replace an OS sandbox. Raw expected values, paths, and file bytes are hashed or omitted in reports. Remote/network adapters are out of scope. See every adapter and its documented limit.