How it works
The session record has the final word.
Your coding tool already records every command, file change and tool result in a session. Credence reads that record and holds each of the agent’s claims up against it.
Step by step
What happens to a session.
Capture
Credence follows Claude Code, Codex and Cursor through their own hooks and transcript files, and accepts OpenTelemetry from other agents. Each session becomes a hash-chained event log, so later edits to the record would show.
Secrets such as API keys and tokens are removed before anything is written to disk.
Find the claims
Credence reads what the agent told you, the reply at the end of each turn, and picks out the concrete claims: things it changed, tests it ran, builds, deploys, links and commits.
Agents can also file claims directly with the credence_claim tool, and a separate auditor records extra work the agent did along the way.
Check against the record
Each claim is compared with what the coding tool recorded during that turn. Evidence always comes from the record itself.
In a git repository Credence can go further: it reads the commits and re-runs the relevant tests in a clean copy of the repo, before and after the change.
A verdict and a reason
Every claim gets one of four verdicts (backed, partly backed, yours to confirm or contradicted) and a single sentence explaining it, like “The last test run, npm test at 41:12, failed: 41 passed, 1 failed.” Contradictions are listed first.
Review and keep a ledger
You confirm each claim or correct its wording to what really happened. Each review is signed and chained to the one before it, so the history can be exported, verified and shared.
Over time the ledger shows how often each agent setup’s claims hold up.
What gets checked
Each kind of claim has its own evidence.
Credence counts evidence the coding tool recorded. When the work happened in an outside tool, such as a browser, the claim is marked “yours to confirm” and handed to you.
| The agent says | Credence looks for |
|---|---|
“I changed app.js” | A recorded edit to that file. For a general claim, a change that matches what the sentence describes. |
| “All 42 tests pass” | A test run after the last change that passed, with the same count. A failed run contradicts the claim. |
| “It builds” | A build or type check that succeeded after the last change. |
| “It’s live at this link” | The link coming back from a deploy or a tool, or being opened in the session. A link that appears only in the agent’s reply is flagged as possibly made up. |
| “I committed the fix” | The commit in git, and what it changed. |
| “I looked into it” | Files read, searches run or pages fetched during that turn. |
Built to resist gaming
A good report has to be earned.
Your repo picks the test
Test commands come from your repo’s policy, from commands the agent already ran, or from fixed templates. Tests run in a clean environment with credentials stripped out.
Tests written in the same session
A test the agent wrote alongside its fix counts as full proof once mutation checks show it catches the bug coming back.
The rules stay fixed for each session
When a session edits the repo’s Credence policy, its claims are checked against the policy from before it started.
A contradiction stays a contradiction
A factual failure outranks every later check. To accept a contradicted claim, you rewrite it to match what the evidence supports.
Private by default
Your sessions stay on your machine.
Your transcripts contain your code, your prompts and sometimes your secrets. Credence is built to keep them on your computer.
- Fully local. Credence runs as a small service on your computer with its own database.
- Model calls are opt-in. The core checks run on evidence alone. If you add a judge, you choose the provider or point it at a local model.
- You control where your data goes. A repository’s policy can tighten checks and model use. Models, endpoints and plugins live in your own settings.
- Sharing is opt-in. Ledger exports and pull-request comments carry reviewed claims and signatures, and your transcripts stay with you.
Try it on a real session.
The demo walks through a bakery website update, so you can see a full report before connecting your tools.