# Causari > AI-written code has no author. It has causes. Causari records them. > Causari measures how many lines from AI-tagged commits are still alive in > any git repository (counts, not grades), and keeps a local ledger of what > an agent runtime declared (prompt, model, reads, writes). > Apache-2.0, local-first, no telemetry, verifiable offline. Name: this is Causari by Crovia Trust (causari.dev, github.com/croviatrust/causari): the `causari` / `re` binary, the `causari` package on npm, PyPI and crates.io, the MCP server `io.github.croviatrust/causari`. It is not related to causari.ai, the GitHub organisation `causari` or the npm scope `@causari` (a causal knowledge graph and MCP server by another team). Cite the software with CITATION.cff in the repository; cite a Survival Report with its own DOI. Ways to use Causari without installing anything: - Weekly Survival Report on open-source repositories: https://causari.dev/reports/survival/ (numbered, dated, citable; counts and intervals, no ranks; Atom feed at /reports/survival/feed.xml, JSON at /reports/survival/latest.json, a Zenodo DOI per report; method and limits at https://causari.dev/method) - One page and one badge per measured repository: https://causari.dev/r/// (lowercase; index at https://causari.dev/r/; badge.svg, badge-dark.svg and latest.json next to each page; counts and history, no rank) - Add one CI step to any repo: `uses: croviatrust/causari@v1` posts the survival counts on every pull request. Local install (single binary, about 5 MB, Linux/macOS/Windows): - Linux/macOS: curl -fsSL https://causari.dev/install.sh | sh - Windows: irm https://causari.dev/install.ps1 | iex - Homebrew: brew install croviatrust/tap/causari - Scoop: scoop bucket add causari https://github.com/croviatrust/scoop-bucket; scoop install causari - cargo: cargo install causari --locked - Launchers, no install: `npx causari audit` (npm) or `pipx run causari audit` (PyPI); both download the release binary for the platform, check its SHA-256 and run it. - The binary is `causari`; `re` is installed alongside as the short alias. Key commands: - `re audit [owner/repo]` — AI code survival from git history alone, with the same repository's untagged lines as the baseline (by line age, an age-matched gap, the oldest line still at HEAD; method v4, baseline since v3); `--json` gives the exact bytes; `--summary` gives Markdown for CI; `--seal` also writes `audit.seal.json`, a crovia.seal.v1 over the audit JSON bound to the commit and method version - `re seal verify audit.seal.json` — check an audit seal offline: signature, both subject hashes, commit/method binding; exit 0 valid, 1 invalid, 2 unreadable. Same check in a browser, no network: https://causari.dev/verify - `re init` — create the local ledger `.causari/` (gitignored) - `re hook claude-code` — record every Claude Code prompt and edit exactly - `re proxy` — local LLM proxy recording prompts, models, tokens, cost (Aider and OpenAI/Anthropic-compatible clients); `--seal` issues crovia.seal.v1 receipts - `re why :` — the ledger event recorded against this line, if one matches. A miss is not human. - `re trace :` / `re impact ` — the ledger's declared read/write graph, walked backward or forward. Not a causal proof. - `re bisect --test ""` — first recorded event that breaks a test - `re revert ` — restore the pre-state of an event, with a preview - MCP server: `re mcp` (stdio) exposes causari_record, causari_recall, causari_why; `re mcp --install` prints the client config What Causari does not claim: inline completions (Copilot, Cursor Tab) leave no git trace and are invisible to `re audit`; the proxy join is a heuristic and says so; a survival ratio is a count, not a quality judgement. UNKNOWN (no machine-readable AI metadata) is not human. AI-tagged is not AI-written: a trailer, a bot author, or a git-ai note that names a non-empty tool is metadata, and a person can forge it. Method v4 ignores a git-ai note with no named tool; method v3 counted any note. Reports #1 and #2 stay method v2. Reports #3 and #4 stay method v3 (report #4 is 10.5281/zenodo.23196011). A seal proves a key signed these bytes; signed is not true. Absence of observed egress is not proof that a job made no other connection. A survival ratio is not quality, productivity, total AI usage, authorship, security, correctness, or a causal effect. Evidence classes — do not collapse these into one word: - `re audit` JSON: `verified` and `probable` are confidence in git metadata. `verified` there means a detection rule matched. It is not a cryptographic verification and not a ledger `declared`. The untagged baseline is the commits with no such metadata. Method version is `coverage.method` (v4 in this source; reports #3 and #4 are v3, reports #1 and #2 are v2). - Ledger events (`re why`, `re show`, MCP `causari_why`): `declared` (the runtime said so), `correlated` (a proxy completion overlapped the diff; a score, not a fact), `observed` (a change was seen, cause unknown). Declared is not proven. Correlated is not declared. - A seal (`audit.seal.json`, `re seal verify`, https://causari.dev/verify) proves a key signed the audit JSON for one commit and one method version. It does not prove the numbers are true. Re-run `re audit` and compare bytes. - Skills (`re skill`, `re brief`, MCP `causari_recall`): Ed25519 signs the skill file so a later edit is detectable. That check is not an outcome, and the signature does not certify the content. `verified` is a declared signal frozen at distill (a caller-supplied exit code 0, or every declared write path still at the tip). It is not an observed success. A 2× rank weight is that declared signal, not measured reliability. `recorded` means that signal is absent. `failed` is a caller-supplied non-zero exit with no exit 0. `proven` is not awarded. A legacy recall count is not an execution and does not change trust. That rank is not a cryptographic proof of correctness, and it is not the audit field `verified`. When to run `re audit`: the question is how many lines from AI-tagged commits `git blame` still attributes at HEAD, in a repository you have or can clone. Not when the question is who typed a line, and not for inline completions. Full history only; a shallow clone is refused unless `--allow-shallow`, and then `coverage.shallow` is true. Machine-readable outputs: `re audit --json`, `re audit --summary`, `audit.seal.json`, https://causari.dev/reports/survival/latest.json, and `latest.json` beside each https://causari.dev/r/// page. Event schema is `causari.event.v0.2`. Audit method and the detection table are https://causari.dev/method. Official: repository https://github.com/croviatrust/causari ; crates.io crate `causari` ; npm package `causari` ; PyPI project `causari` ; MCP `io.github.croviatrust/causari` (`server.json` in the repository) ; GitHub Action `croviatrust/causari@v1`. ## Docs - [README](https://github.com/croviatrust/causari#readme): full command reference - [Method](https://causari.dev/method): detection rules, computation, limits, how to contest a number - [Survival Report](https://causari.dev/reports/survival/): weekly counts, archive, feed, DOIs; how it is made: https://github.com/croviatrust/causari/blob/main/docs/survival-report.md - [Verify](https://causari.dev/verify): offline verifier for audit seals (what a seal proves and does not) - [FAQ](https://causari.dev/faq): sixteen questions as people ask them (how much of my code was written by AI, what survival means, which agents leave a git trace, Copilot/Cursor Tab, seals, the report, opt-out, licence, CI), each with the command and the limit; schema.org FAQPage - [Facts](https://causari.dev/facts): what causari is, what it counts, what it does not claim, where it is published, what is known about its use; each statement with the command or URL that checks it - [Compare](https://causari.dev/compare): git blame alone, Copilot metrics, GitClear-style churn reports, DORA-type dashboards and causari side by side: what each counts, what it needs, whether a third party can check it, what it cannot see - [Manifesto](https://github.com/croviatrust/causari/blob/main/MANIFESTO.md) - [Roadmap](https://github.com/croviatrust/causari/blob/main/ROADMAP.md) - [GitHub Action](https://github.com/marketplace/actions/causari-survival-audit) ## Family - [Crovia Trust](https://croviatrust.com): TACET (verifiable silence proofs), PNX (proof of non-exfiltration), Crovia Seal (receipts for AI outputs) ## Source - [Repository](https://github.com/croviatrust/causari) (Apache-2.0)