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