# Memory - 2026-04-23## SQL Database Question- Topher asked if we're using SQL database — confusion from Crash bot- **Answer:** No SQL — we use Qdrant (vector DB for RAG). SQLite IS used but only for OpenClaw's internal state (memory/*.sqlite, flows/registry.sqlite, tasks/runs.sqlite)- Crash bot was talking about OpenClaw's own internal SQLite dbs — those are normal, not something we set up## Memory Search Investigation (Key Finding)- Topher questioned whether memory search is actually working via Ollama- **Discovery:** Config says Ollama/nomic-embed-text, but ACTUAL backend is GGUF model via node-llama-cpp CPU- Evidence: Every memory_search result in transcripts shows `hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF`- CLI test: `openclaw memory search` took 24 seconds (node-llama-cpp CPU fallback, no GPU)- Ollama IS running (localhost:11434) but NOT being used for embeddings — only for chat- **Root cause:** node-llama-cpp GGUF model exists at ~/.node-llama-cpp/models/ — "local" provider picks this by default, bypassing Ollama config- node-llama-cpp has prebuilt Vulkan binary but system doesn't support it → falls back to CPU## OpenClaw Memory Research FindingsSources: velvetshark.com, docs.openclaw.ai, GitHub issues, community guides### Three Failure Modes1. **Failure A:** Never stored — instruction only in chat, never written to file2. **Failure B:** Compaction destroyed it — lossy summary drops details/nuance3. **Failure C:** Session pruning trimmed tool results (temporary)### Known Bugs (OpenClaw v2026.4.8)- **#57410:** Compaction results in full reset instead of compression (context 700K→29K, Compactions:0)- **#17727:** Post-compaction, agent loses awareness of AGENTS.md/SOUL.md (re-injected files not re-injected after summarize)- **#56072:** Daily 4AM reset silently archives session WITHOUT memory flush — context lost silently### Missing ConfigOur openclaw.json has NO compaction tuning:- No `reserveTokensFloor` (defaults to 20K — too tight)- No `memoryFlush` explicit config- No `contextPruning` config- No `compaction.notifyUser`### What We Have- memorySearch: enabled ✓- Bootstrap files: 24K chars total — well under 150K cap ✓- WAL on: registry.sqlite, runs.sqlite only (system dbs)- Agent memory dbs: all delete journal mode## WAL Protocol- WAL enforcement confirmed running (HEARTBEAT.md checklist active)- Updated SESSION-STATE.md with new findings