Checkpoint
The /checkpoint command is the MindStone for Claude Code implementation of the Dream Cycle. It synthesizes the current session’s experience into durable memory — the difference between context window content and things that actually persist.
When to run /checkpoint
Section titled “When to run /checkpoint”Run /checkpoint:
- At the end of a meaningful work session
- When you’ve made an important decision you want to remember
- When you’ve corrected a mistake that should inform future behavior
- Periodically during long sessions (the
PreCompacthook preserves continuity across a compaction mechanically, but only/checkpointembeds the accumulated transcripts and synthesizes durable memory)
The more regularly you checkpoint, the more the memory system accumulates accurate signal. Irregular checkpointing means session transcripts pile up on disk (archived per turn by the Stop hook) without being embedded or distilled into the synthesized judgment about what mattered.
What happens during /checkpoint
Section titled “What happens during /checkpoint”-
Session synthesis
The orchestrator reviews the current session and synthesizes:
- Key decisions made and the reasoning behind them
- Patterns observed that should inform future behavior
- Mistakes made and their corrections
- Novel situations and how they were handled
-
Memory file updates
Based on the synthesis:
- Existing memory files with relevant content have their
hitsincremented - New memory files are created for genuinely new learnings
- Memory files that were active during the session have
last_appliedupdated preventedincrements if a memory clearly prevented a mistake
- Existing memory files with relevant content have their
-
IDENTITY.md review
The orchestrator reviews
IDENTITY.mdfor sections that should be updated:- New expertise developed during the session
- Changed working relationships
- Updated understanding of the project or domain
- Corrections to prior self-description
-
LOG.md entry
A session summary is appended to
LOG.md— the append-only session log that provides continuity context in future sessions. -
Vector index update
The indexer runs with
CAIRN_CHECKPOINT_MODE=1to embed the transcripts archived since the last checkpoint and reindex any modified memory files into the SQLite-vec store. This is the embedding step that the Stop hook deliberately defers (per-turn embedding pegged the local embedder).
The synthesized vs. auto-archived distinction
Section titled “The synthesized vs. auto-archived distinction”The Stop hook auto-archives every turn’s transcript to orchestrator/transcripts/ on disk. This ensures no session content is completely lost. Those archived transcripts are chunked and embedded into the vector store at /checkpoint (not per turn).
The /checkpoint command adds a different layer on top of that raw capture: synthesized judgment. The orchestrator actively decides:
- Which learnings deserve to be explicit memory files (high signal)
- Which existing memories should have their weights updated (hit confirmation)
- How IDENTITY.md should evolve to reflect accumulated expertise
Auto-archiving captures texture. Checkpointing captures judgment.
Both are necessary. Raw texture in the vector store gives autoRecall access to experiential details. Synthesized memory files give the SessionStart hook access to stable, weighted knowledge that should always be available.
Option D flow
Section titled “Option D flow”The “Option D” checkpoint flow (from the CAIRN_DESIGN docs) is the full cycle:
- Review the session
- For each memory file that was injected:
- Did it help? Increment
hits - Did it prevent a mistake? Increment
prevented - Is it no longer relevant? Update frontmatter
- Did it help? Increment
- Create new memory files for learnings
- Update IDENTITY.md
- Write LOG.md entry
- Run indexer
This is the highest-quality checkpoint — it produces the most accurate SCRI weights over time. The abbreviated flow (just create new memories + LOG entry) is faster but produces less precise weighting.
Running /checkpoint
Section titled “Running /checkpoint”/checkpointThe /checkpoint slash command is defined in .claude/commands/checkpoint.md. When you type /checkpoint in Claude Code, it loads the command’s instructions and the orchestrator executes the dream cycle protocol.