- 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 Findings
Sources: velvetshark.com, docs.openclaw.ai, GitHub issues, community guides
### Three Failure Modes
1.**Failure A:** Never stored — instruction only in chat, never written to file
2.**Failure B:** Compaction destroyed it — lossy summary drops details/nuance