Agents made writing code cheap.Reading it is the moat now.
Every file an agent writes and you merely merge is a file you understand a little less. Atrophic Dev mines your git history for the code slipping out of reach and turns it into short quests — solved in VS Code, graded against the code itself.
Grounded in your real code. No fabricated exercises, ever.
Somewhere in this file, a single predicate decides what counts as evidence. Find it.
The line numbers are live — click one.
A real quest our pipeline generated from our own repo — answer key sealed into this HTML before you arrived
How it works
From git history to a graded quest.
Connect a repo
The GitHub App reads your history for what's drifting. Real signals from our own repos:
Solve in VS Code
Every kind is a fixed chain of beats, chosen by deterministic routing. The LLM does not get to invent the test.
Graded against the code
Answers are checked against the file itself — line hits, keyed predictions, rubric'd explanations. Skills, XP and streaks update from real outcomes, not vibes.
The routing table
Five kinds. One source of truth: your repo.
If a quest can't be anchored in your actual code, it isn't generated.
Reckon, Trace & Audit free from day one
Proof
A real quest, start to verdict.
Quests arrive in VS Code, on the code they're about. Below: one real quest our pipeline generated from our own repo, replayed as an illustration — the prompt, the code, the score, and the feedback are all verbatim from the run.
36export function isKindAllowedForTier(kind: QuestKind, tier: TierConfig, isAdmin = false): boolean {37 if (isAdmin) return true;38 if (kind === "reclaim") return tier.features.reclaim;39 // Audit (NEXT 2 moat) is pro+ only, same shape as reclaim — gated on its own40 // features.audit entitlement so free/pro/max/turbo can move independently of41 // reclaim's flag.42 if (kind === "audit") return tier.features.audit;43 // Reconcile (moat, N-file seam repair) is pro+ only, same shape as44 // reclaim/audit — gated on its own features.reconcile entitlement, so45 // free/pro/max/turbo can move independently of reclaim's/audit's flags.46 if (kind === "reconcile") return tier.features.reconcile;47 return true;48}36export function isKindAllowedForTier(kind: QuestKind, tier: TierConfig, isAdmin = false): boolean {37 if (isAdmin) return true;38 if (kind === "reclaim") return tier.features.reclaim;39 // Audit (NEXT 2 moat) is pro+ only, same shape as reclaim — gated on its own40 // features.audit entitlement so free/pro/max/turbo can move independently of41 // reclaim's flag.42 if (kind === "audit") return tier.features.audit;43 // Reconcile (moat, N-file seam repair) is pro+ only, same shape as44 // reclaim/audit — gated on its own features.reconcile entitlement, so45 // free/pro/max/turbo can move independently of reclaim's/audit's flags.46 if (kind === "reconcile") return tier.features.reconcile;47 return true;✓ on key48}score 82needs-work+27 XPComprehension +2 · Implementation −2
"You found the code on the first try. Your prediction was right — you still understand what this does."
Your codebase is drifting away from you.
Atrophic keeps your comprehension of your own repo measurably alive — quest by quest, graded against the code itself.
Free to start, on your own repo, in your own editor.