Capture the Reasoning Path, Not the Final State AI-assisted coding creates a critical gap in documentation because AI agents have no memory of rejected alternatives or past decisions, making future debugging difficult. To solve this, the author introduces "paper-trail," a portable ruleset that enforces documentary-style documentation through a `CHANGES.md` log and narrative docs in `docs/narrative/`, capturing not just what changed but why, what was rejected, and how it was verified. The system is designed to be grep-able for both human developers and future AI agents, ensuring the reasoning path is preserved. Two files, one discipline, and a measured 10-13% of my Claude Code budget. A while back, mid-session with Claude Code, I typed a pushback in the kind of broken English you only produce past midnight: "are we using full netflix level doc uodsyed as ws go here ?" What I meant: are we updating documentation at full Netflix-documentary depth as we go, or are we doing the lazy version that just records what changed without why? Claude correctly inferred the Netflix version. From that point forward the documentation standard for every one of my projects was set. That session became the basis for what I now call paper-trail: a portable ruleset that makes Claude Code and any other AI coding agent that respects CLAUDE.md write documentation at documentary depth instead of git-log depth. This post is about why that matters more when an AI is doing most of the typing, and what the discipline actually looks like in practice. Most documentation captures the final state. The README says what the system does. The CHANGELOG says what version shipped. The commit message says what file changed. What disappears at session end: When you're writing code yourself, this knowledge lives in your head, badly, for about a week. After that it's gone. When an AI agent is doing most of the typing, the gap gets worse. The agent has zero memory of the rejected alternatives. Six months later it confidently suggests a fix you already turned down. There is no record of why you turned it down. The reasoning path is what makes future debugging possible. AI makes it more valuable and more fragile at the same time. The structure is simple. CHANGES.md at the repo root. Chronological log, newest entry on top. Updated as work happens, not after. Each entry covers what changed, why, what was decided, what was rejected, how it was verified, and what's still outstanding. docs/narrative/