Read
/.recursive/memory/MEMORY.md at the start of every new session and at the start of every new run. MEMORY.md is the router and index for the entire memory plane — start there, then load only the memory docs relevant to your current task.What memory is for
Memory answers a different question thanSTATE.md or DECISIONS.md:
| Document | Question it answers |
|---|---|
/.recursive/STATE.md | What is true in the codebase right now? |
/.recursive/DECISIONS.md | What decisions were made and why? |
/.recursive/memory/ | What has been learned that’s worth remembering across runs? |
Memory directory layout
/.recursive/memory/MEMORY.md
/.recursive/memory/MEMORY.md
The router and index for the entire memory plane. It records the memory taxonomy, retrieval guide, freshness policy, sharding rules, and an ownership map of which memory docs cover which paths. Read this first — do not load the full memory tree without reading
MEMORY.md first./.recursive/memory/domains/
/.recursive/memory/domains/
Domain memory docs capture durable knowledge about specific areas of the codebase — architecture, data flows, subsystem boundaries, and ownership. Each domain doc declares
Owns-Paths (the code surfaces it is authoritative for) and Watch-Paths (paths it monitors for relevant changes)./.recursive/memory/patterns/
/.recursive/memory/patterns/
Pattern docs record reusable implementation patterns that have proven effective in this repository. They declare
Watch-Paths without owning the paths outright. Use patterns docs for things like “the standard way to add a new API endpoint” or “the approved error-handling strategy.”/.recursive/memory/incidents/
/.recursive/memory/incidents/
Incident docs record recurring failure modes, past regressions, and known problem areas. When a pattern of failure is strong enough to be worth remembering, it belongs here so future runs can check for it proactively.
/.recursive/memory/episodes/
/.recursive/memory/episodes/
Episode docs capture significant run histories or cross-run narratives — for example, a multi-run migration, a refactor that unfolded over several tasks, or a platform-specific investigation that took multiple iterations to resolve.
/.recursive/memory/skills/
/.recursive/memory/skills/
Skills memory is a first-class part of the memory plane.
SKILLS.md is the skill-memory router. Durable skill knowledge is sharded under four subdirectories:availability/— environment-specific capability probes and availability notesusage/— stable skill fit and usage guidanceissues/— recurring skill failures or confusing behaviorpatterns/— reusable multi-skill operating patterns
SKILLS.md and relevant skill shards when a run involves delegated review, subagent help, review bundles, or other capability-sensitive execution./.recursive/memory/archive/
/.recursive/memory/archive/
Deprecated memory docs that have been superseded or are no longer relevant. Archived docs are excluded from normal retrieval and kept only for historical reference.
Memory status values
Every durable memory doc (exceptMEMORY.md and SKILLS.md) carries a Status field:
| Status | Meaning | Used in retrieval? |
|---|---|---|
CURRENT | Authoritative for planning and execution | Yes |
SUSPECT | May be used as a lead but must be revalidated before trust | Yes, with caution |
STALE | Outdated; excluded from default retrieval | No |
DEPRECATED | Historical only; excluded from default retrieval | No |
DRAFT | Candidate memory, not yet durable | No |
CURRENT docs for all planning and execution. Use SUSPECT docs only as leads — revalidate them before acting on them.
When to read memory
Start of every session
Read
/.recursive/STATE.md, /.recursive/DECISIONS.md, and /.recursive/memory/MEMORY.md before doing any work. These three docs orient you to the current state of the repo and the accumulated knowledge from prior runs.Start of every run
Re-read all three before creating or updating run artifacts. Then use
DECISIONS.md to identify any earlier runs relevant to the current requirement or subsystem.Load relevant shards only
After reading
MEMORY.md, load only the memory docs relevant to the current task. Do not load the entire memory tree by default.When memory is updated
Memory is updated in Phase 8 at run closeout. Phase 8:- Reviews which memory docs have
Owns-PathsorWatch-Pathsthat overlap with the validated diff. - Downgrades any
CURRENTdocs touched by the diff toSUSPECTuntil semantic review against the final code,STATE.md, andDECISIONS.mdis complete. - Promotes durable lessons from the run into the appropriate memory subdirectory.
- Creates a new domain doc (or records a follow-up) for any changed code paths not covered by an existing domain doc.
- Records a run-local skill usage capture and decides what, if anything, is worth promoting into
/.recursive/memory/skills/.
08-memory-impact.md as a compact delta receipt pointing to the updated memory docs.
Skills memory
Phase 8 must update skill memory when a run teaches the repository something durable about:- skill availability in this environment
- skill fit for a specific type of task
- delegated review quality
- repeated workflow friction with a skill
Memory freshness rules
Every durable memory doc includes metadata fields that support freshness tracking:Owns-Paths or Watch-Paths, that memory doc must be reviewed in Phase 8. A doc stays SUSPECT until the reviewing agent has checked it against the final code, STATE.md, and DECISIONS.md and confirmed it is still accurate.