Keep your AI context honest.

Your agent reads CLAUDE.md, AGENTS.md, and .cursorrules as ground truth — and those files rot. Paths go dead, dependency claims go stale, counts drift. Depthfinder scans the claims your context files make and verifies them against the repo itself.

npx depthfinder GitHub → npm →
# sample output $ npx depthfinder Scanning CLAUDE.md against 1,204 tracked files… Health █████████████░░░░░░░ 67 · Caution ↳ Honesty ████████░░░░░░░░░░░░ 41 — share of checkable claims that still hold ↳ Weight ████████████████░░░░ 80 — tokens these files load every turn ↳ Coverage ██████████████████░░ 88 — how much of the context is checkable Hotspots 10 false · 3 stale · fix all → Health 67→89 · Honesty 41→100 1. [CRIT] ✗ CLAUDE.md:67 "auth flows live in `src/auth/oauth.ts`" └ no such tracked file — deleted at a1b3f2e, 38 commits ago → fix: repoint or remove this path fix gain → Health +1 · Honesty +4 2. [HIGH] ✗ CLAUDE.md:41 "wake word handled by `openWakeWord`" └ not in any package.json → fix: remove the line, or add the dependency fix gain → Health +1 · Honesty +4 3. [LOW] ✗ CLAUDE.md:23 "model routing uses 4 tiers" └ router/config.js defines 3 tiers, not 4 → fix: update the count to 3 fix gain → Health +1 · Honesty +4 10 false claims · 3 stale · ~8,100 tokens describe code that no longer exists

The problem is already in the wild

All-Hands-AI/OpenHands — a top agent framework — ships an AGENTS.md that scores Context Honesty 60, with 12 dead references the agent reads as truth. Most fast-moving AI repos have the same rot. Depthfinder finds it, deterministically, with git evidence. Scanned 2026-06-15 at commit f941ba5 (6 references never existed, 6 git-proven stale). Reproduce it: npx depthfinder on a fresh clone. We date-stamp this on purpose — a number that quietly rots is exactly what Depthfinder exists to catch.

How it works

Deterministic, offline

No model calls by default. Nothing leaves your machine. If it can't decide a claim safely, it says unknown — it never guesses and never false-accuses.

Evidence, not vibes

Every false claim cites git history. Stale = the file existed and was deleted/moved. False = it never matched. The split tells you whether your docs rot or lie.

The rot tax

A false line costs your agent either way: it acts on the lie, or it stops trusting the file and re-derives everything by hand. --burn shows a real agent getting fooled.

Gate it in CI

--strict fails the build (exit 20) when your context rots, so a PR can't quietly drift CLAUDE.md out of sync with the code.

Get started

# scan the repo you're in
npx depthfinder

# install the /depthfinder agent skill (Claude Code + Codex)
npx depthfinder --install-skill

# fail CI when your context rots — drop into any workflow:
- uses: phdev/Depthfinder@v1
  with:
    max-false: 0

Requires Node ≥ 20 and git. Zero runtime dependencies. Full docs →