graph TB subgraph "Core Persistent Storage (Markdown)" MEM["MEMORY.md
Agent's notes"] USR["USER.md
User profile"] FAIL["failures.md
Failure memory
corrections, insights, failures"] SKL["skills/
Procedural memory
debug-ts.md
deploy-checklist.md"] end subgraph "Search Store (SQLite sessions.db)" SQM["memories table + FTS5
search mirror/store"] SQS["sessions/messages + FTS5
session search"] end subgraph "System Prompt (default policy-only)" POLICY["Memory policy
when to search + safety rules"] LEGACY["Legacy full blocks
only with memoryMode=legacy-inject"] end subgraph "On Demand" MSEARCH["memory_search
query SQLite memories"] SSEARCH["session_search
query indexed sessions"] SKILLTOOL["skill tool
list/view/create/patch/edit/delete"] BACKFILL["/memory-sync-markdown
idempotent Markdown → SQLite sync"] FULL["Full skill content
Loaded when needed"] end POLICY --> MSEARCH POLICY --> SSEARCH POLICY --> SKILLTOOL MEM -.-> LEGACY USR -.-> LEGACY FAIL -.-> LEGACY SKL -.-> LEGACY SKILLTOOL -.->|"view"| FULL MEM -.->|"successful saves mirrored"| SQM USR -.->|"successful saves mirrored"| SQM FAIL -.->|"successful saves mirrored"| SQM BACKFILL --> SQM MSEARCH --> SQM SSEARCH --> SQS style POLICY fill:#1a1a2e,stroke:#e94560,color:#fff style LEGACY fill:#2d1b2e,stroke:#ff6b6b,color:#fff style SQM fill:#0b525b,stroke:#fff,color:#fff style SQS fill:#1b4332,stroke:#fff,color:#fff style BACKFILL fill:#3a0ca3,stroke:#fff,color:#fff style FULL fill:#0a1128,stroke:#1282a2,color:#fff style SKILLTOOL fill:#16213e,stroke:#0f3460,color:#fff