Repository navigation
v0.3.0 — diff claims, command receipts, hooks: verification agents can't skip
truth 0.3.0 turns the verifier into a gate and makes it cover what coding agents actually claim.
Highlights
- Diff-native claims — "I edited
src/auth.rs", "I created/deleted X" (untracked files included), "I only changed the parser" (catches collateral edits), "renamedparse_legacytoparse_v2", "updated all 4 call sites". Decided from the working-tree diff; an empty diff reports unknown (already committed?), never a free pass. - Command receipts — "tests pass" is now checkable.
truth run -- cargo testrecords exit/time/output-digest. The claim is Supported only when a matching run exited 0 after your last edit; a failing receipt contradicts it; a green-but-stale receipt is refused. - Hooks: verification the agent can't skip.
truth hook installregisters a Claude Code Stop hook (the agent's final message is fact-checked; contradictions block until fixed) and a PostToolUse(Bash) hook (test/build/lint runs auto-recorded as receipts). Fail-open. Plusexamples/github/pr-factcheck.yml: fact-check a PR description against its diff and comment the verdict. - The lie ledger.
truth stats [--window 7d] [--all]: claims checked, contradictions by claim type, recent contradictions verbatim, runs recorded.--allaggregates across your repos. - Multi-language AST, now the default. Tree-sitter routes/constants/symbols for Rust, TypeScript/JS/TSX, Python, and Go;
indexer.extractor = mixedis the new default (AST precision kills false routes). Older indexes rebuild in full once (index format v4). - Root discovery like git.
.truth/truth.tomlfound by walking up from any subdirectory — no more silent-empty results. - From→to value phrasings ("changed retries from 3 to 5") now verify the post-change value; the claim segmenter no longer splits file paths on dots.
202 workspace tests; the agent-claims fixture passes 13/13.
Upgrade
Download below, or:
cargo install --git https://github.com/blasrodri/truth truth-cli truth-mcpThen in each repo: truth init && truth hook install — and run tests through truth run -- <cmd> so success claims are verifiable.