Claude-bootstrap mnemos

Task-scoped memory lifecycle — typed MnemoGraph prevents lossy context compaction by treating facts/decisions/code-refs/handoffs as distinct node types with per-type eviction policies

install
source · Clone the upstream repo
git clone https://github.com/alinaqi/claude-bootstrap
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/alinaqi/claude-bootstrap "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/mnemos" ~/.claude/skills/alinaqi-claude-bootstrap-mnemos && rm -rf "$T"
manifest: skills/mnemos/SKILL.md
source content

Mnemos — Task-Scoped Memory Lifecycle

What It Does

Mnemos prevents lossy context compaction from destroying the structured knowledge you need most. It treats your working memory as a typed graph (MnemoGraph) where different types of knowledge have different eviction policies:

  • GoalNodes and ConstraintNodes are NEVER evicted — they survive all compaction
  • ResultNodes are compressed (summary kept) before eviction
  • ContextNodes are evictable when their activation weight drops
  • CheckpointNodes persist to disk for session resume

Fatigue Model

Mnemos monitors 4 dimensions of "agent fatigue" — all passively observed from hook data, no manual input needed:

DimensionWeightSignal SourceWhat It Measures
Token utilization0.40Statusline JSONHow full the context window is
Scope scatter0.25PreToolUse file pathsHow many directories the agent is bouncing between
Re-read ratio0.20PreToolUse Read callsHow often the agent re-reads files it already read (context loss)
Error density0.15PostToolUse outcomesWhat fraction of tool calls are failing (agent struggling)

Fatigue states and actions:

StateScoreAction
FLOW0.0–0.4Normal operation
COMPRESS0.4–0.6Micro-consolidation runs (compress 3 ResultNodes, evict 1 cold ContextNode)
PRE-SLEEP0.6–0.75Checkpoint written, consolidation runs
REM0.75–0.9Emergency checkpoint, consider wrapping up
EMERGENCY0.9+Checkpoint written, hand off immediately

How To Use

Automatic (hooks handle everything):

  1. Statusline writes
    fatigue.json
    on every API call
  2. PreToolUse hook reads fatigue before every edit, auto-checkpoints at 0.60+
  3. PreCompact hook writes emergency checkpoint, compaction marker, and tells summarizer what to preserve
  4. Post-Compaction Injection (PreToolUse, no matcher) detects the compaction marker on the first tool call after compaction and re-injects the full checkpoint into context
  5. SessionStart hook loads last checkpoint on new session resume

Post-Compaction Recovery (Two-Layer Defense):

When Claude Code compacts the context (~83% full), Mnemos uses two layers:

  • Layer 1: PreCompact outputs strong preservation instructions with inline checkpoint content for the summarizer
  • Layer 2: After compaction, the first tool call triggers
    mnemos-post-compact-inject.sh
    which detects the
    .mnemos/just-compacted
    marker and re-injects the full checkpoint. This is the guaranteed path — it doesn't depend on the summarizer.

The result: after compaction, you'll see a "CONTEXT RESTORED AFTER COMPACTION" block with your goal, constraints, what you were working on, and progress. Resume from there.

Manual CLI:

mnemos init                    # Initialize .mnemos/
mnemos status                  # Show node counts + fatigue
mnemos fatigue                 # Detailed fatigue breakdown
mnemos checkpoint --force      # Write checkpoint now
mnemos resume                  # Output checkpoint for context
mnemos consolidate             # Run micro-consolidation
mnemos nodes --type goal       # List active GoalNodes
mnemos add goal "Build auth"   # Add a GoalNode
mnemos bridge-icpg             # Import iCPG ReasonNodes

Agent Instructions

When working on a task:

  1. Create a GoalNode at the start:
    mnemos add goal "what you're trying to achieve" --task-id session-1
  2. Add ConstraintNodes for invariants:
    mnemos add constraint "API backward compatibility" --scope src/api/
  3. Check fatigue before long operations:
    mnemos fatigue
  4. Checkpoint at sub-goal boundaries:
    mnemos checkpoint
  5. On session resume: the SessionStart hook automatically loads your checkpoint

iCPG Integration

Mnemos bridges with iCPG (Intent-Augmented Code Property Graph):

  • mnemos bridge-icpg
    imports active ReasonNodes as GoalNodes
  • Postconditions/invariants become ConstraintNodes
  • Checkpoint includes iCPG state (active intent, unresolved drift)

Storage

Everything lives in

.mnemos/
(gitignored):

  • mnemo.db
    — SQLite MnemoGraph
  • fatigue.json
    — Live token metrics (updated per API call by statusline)
  • signals.jsonl
    — Behavioral signal log (appended by PreToolUse + PostToolUse hooks)
  • checkpoint-latest.json
    — Most recent checkpoint
  • checkpoints/
    — Archived checkpoints