Recovering From a Cold Start
Claude Rules Workflow
Chapter 9 · Recovering From a Cold Start
Chapter 1 introduced the idea that @rules/ replaced a manual recovery prompt with automatic inclusion, and left it there. This chapter goes one level deeper — what a "cold start" in this repository actually looks like, step by step, and what parts of reliability that automation genuinely buys versus what still depends on a human noticing something's gone stale.
What Actually Happens, In Order
@rules/ include list.Why This Is Structurally Different From R1
R1, from Chapter 1, was a prompt — a request that Claude go perform a read action, worded carefully enough to be self-sufficient even if the human pasting it had forgotten exactly what it did. The modern mechanism isn't a prompt at all; the rules content simply arrives, already-read, before the conversation has properly started. There's no step where something could be skipped, because there's no separate step to skip in the first place — it's part of how the session begins, not an instruction issued during it.
| Aspect | R1 (manual, Chapter 1) | Cold start today |
|---|---|---|
| What's needed from a human | Remember to paste the recovery prompt | Nothing — happens automatically every session |
| When rules become available | Only after the prompt is sent and processed | Before the first real message is even handled |
| Failure mode | Forgotten prompt → zero rules in effect all session | A rules file simply not yet added to @rules/ (Chapter 1) |
What This Automation Does NOT Guarantee
Everything arriving reliably isn't the same as everything arriving accurate. The mechanism faithfully delivers whatever the rules and memory files currently say — it has no way of independently checking whether what they say is still true.
A Genuine Nuance: Not Everything Loads Upfront
Cold start delivers every @rules/-included file in full, but only MEMORY.md's own short index for memory — not the full content of every individual memory file. A memory file gets actually read only once something in the conversation makes it look relevant, exactly the "access when relevant" behaviour Chapter 8 described. This is a deliberate difference in scale between the two systems, not an oversight: the rules set is small and universal enough to load in full every time; the memory set can grow much larger over a long relationship with a project, and loading every memory file's full content on every single cold start would be wasteful for information that's mostly not relevant to any one given conversation.
Coding Challenges
Explain why "the rules arrived automatically" and "the rules are correct" are two different claims, using one concrete example from earlier in this course to illustrate the gap between them.
📄 View solutionA brand-new session opens in a completely unrelated repository that has never had a CLAUDE.md file of its own. Based on this chapter's own five-step flow, which of those five steps would still happen, and which would not?
📄 View solutionExplain why MEMORY.md loads its full index at cold start while individual memory files don't — what specific tradeoff does this design avoid?
📄 View solutionChapter 9 Quick Reference
- Cold-start order: global CLAUDE.md → project CLAUDE.md → every @rules/ file in full → MEMORY.md's own index → then the first real message
- Unlike R1, this isn't a prompt to remember — it happens automatically, before the conversation properly starts
- Automatic delivery guarantees the rules ARRIVE reliably — it does NOT guarantee they're still ACCURATE
- Two real, already-found examples of that gap: the duplicated header-comment memory (Chapter 8) and the broken kanji back-link (Chapter 5)
- A renamed path or stale fact is delivered faithfully, every session, until a human actually checks it
- Rules files load in full; memory loads as a short index, with individual files read only when actually relevant — a deliberate scale tradeoff
- Next chapter: the capstone — designing and wiring in a brand-new rule category from scratch