Claude Code Deep Dive Part 4: Why It Uses Markdown Files Instead of Vector DBs
This is Part 4 of our Claude Code Architecture Deep Dive series. Part 1: 5 Hidden Features | Part 2: The 1,421-Line While Loop | Part 3: Context Engineering — 5-Level Compression Pipeline This arti...

Source: DEV Community
This is Part 4 of our Claude Code Architecture Deep Dive series. Part 1: 5 Hidden Features | Part 2: The 1,421-Line While Loop | Part 3: Context Engineering — 5-Level Compression Pipeline This article replaces and deepens our earlier analysis, Claude Code's Memory Is Simpler Than You Think. The original focused on limitations. This one focuses on **why* — the first-principles tradeoffs behind every design choice.* The Core Principle: Only Record What Cannot Be Derived This single constraint governs every decision in Claude Code's memory system: Don't save code patterns — read the current code. Don't save git history — run git log. Don't save file paths — glob the project. Don't save past bug fixes — they're in commits. This isn't about saving storage. It's about preventing memory drift. If a memory says "auth module lives in src/auth/", one refactor makes that memory a lie. But the model doesn't know it's a lie — it trusts specific references by default. A stale memory is worse than no