plugins/ruflo-rag-memory/README.md
Retrieval-Augmented Generation memory with HNSW vector search, AgentDB persistence, and Claude Code memory bridge.
Provides semantic store/search/recall over AgentDB with HNSW-indexed vector search (150x-12,500x faster than brute force). Bridges Claude Code's native auto-memory into AgentDB with 384-dim ONNX embeddings for unified cross-session semantic retrieval.
claude --plugin-dir plugins/ruflo-rag-memory
ruflo-core plugin (provides MCP server)| Agent | Model | Role |
|---|---|---|
memory-specialist | sonnet | AgentDB management, HNSW optimization, memory bridge, consolidation |
| Skill | Usage | Description |
|---|---|---|
memory-search | /memory-search <query> | Semantic vector search across all namespaces |
memory-bridge | /memory-bridge [--all-projects] | Import Claude Code auto-memory into AgentDB |
# Store a memory entry
memory store --key "pattern-auth" --value "JWT with refresh tokens" --namespace patterns
# Semantic search (HNSW-indexed)
memory search --query "authentication patterns" --namespace patterns --limit 5
# Retrieve by key
memory retrieve --key "pattern-auth" --namespace patterns
# List entries
memory list --namespace patterns --limit 10
# Delete
memory delete --key "old-entry" --namespace patterns
# Quick semantic recall across all namespaces
recall "how did we handle rate limiting?"
Claude Code Auto-Memory (~/.claude/projects/*/memory/*.md)
│
▼ (ONNX all-MiniLM-L6-v2, 384-dim)
Memory Bridge
│
▼
AgentDB (SQLite + vector_indexes)
│
├── patterns namespace
├── tasks namespace
├── solutions namespace
├── feedback namespace
├── security namespace
└── claude-memories namespace
│
▼ (HNSW ANN index)
Semantic Search (150x-12,500x faster)
The AgentDB SQLite blob written by this plugin (.swarm/memory.db) supports opt-in AES-256-GCM encryption at rest per ADR-096. When CLAUDE_FLOW_ENCRYPT_AT_REST=1 and CLAUDE_FLOW_ENCRYPTION_KEY is set:
.swarm/memory.db is encrypted with a fresh 12-byte IV (writeFileRestricted({encrypt:true})).readFileMaybeEncrypted(path, null) — magic-byte sniff (RFE1) so legacy plaintext memory.db files keep working unchanged during the migration window.Verify gate state with ruflo doctor -c encryption. Off by default; flipping it on doesn't require a migration step (legacy plaintext bytes are sniffed on read; first write after enable rewrites the DB encrypted).
| Namespace | Purpose | Example Key |
|---|---|---|
patterns | Successful code/design patterns | pattern-auth-jwt |
tasks | Task context and outcomes | task-refactor-api |
solutions | Bug fixes and solutions | fix-race-condition |
feedback | User feedback and corrections | feedback-test-style |
security | Vulnerability patterns | vuln-sql-injection |
claude-memories | Bridged Claude Code memories | auto-imported |
Auto-imports Claude Code's native ~/.claude/projects/*/memory/*.md files into AgentDB on session start with ONNX vector embeddings.
# Manual import (current project)
/memory-bridge
# Import all projects
/memory-bridge --all-projects
# Check bridge health
# Via MCP: memory_bridge_status({})
Results include source attribution: claude-code, auto-memory, or agentdb.
5-phase retrieval pipeline for higher-quality recall across sessions:
# CLI
npx @claude-flow/cli@latest memory search --query "auth patterns" --smart --limit 10
# MCP
mcp__claude-flow__memory_search({ query: "auth patterns", smart: true, limit: 10 })
Best for multi-session recall, temporal queries ("what did we decide last week?"), and diverse result sets.
Queries across all namespaces simultaneously with MMR diversity reranking:
# Via MCP: memory_search_unified({ query: "auth security", limit: 5 })
# Via CLI:
npx @claude-flow/cli@latest memory search --query "auth security" --limit 5
| Operation | Latency | vs Brute Force |
|---|---|---|
| Vector search (100 entries) | ~0.01ms | 150x faster |
| Vector search (10k entries) | ~0.05ms | 2,500x faster |
| Vector search (100k entries) | ~0.1ms | 12,500x faster |
| Store + index | ~1ms | — |
When ruflo-ruvector is also loaded, rag-memory delegates to ruvector's backend for advanced features:
@claude-flow/cli v3.6 major+minor.bash plugins/ruflo-rag-memory/scripts/smoke.sh is the contract.This plugin is the canonical user-facing consumer of the claude-memories reserved namespace defined in ruflo-agentdb ADR-0001 §"Namespace convention". The auto-import flow:
Claude Code SessionStart hook
→ memory_import_claude (MCP)
→ claude-memories namespace (reserved, ruflo-agentdb owned)
→ exposed by this plugin's memory-bridge skill + memory_search_unified
This plugin does not own claude-memories — it consumes it. Reserved namespaces (pattern, claude-memories, default) MUST NOT be shadowed.
Other namespaces (patterns, tasks, solutions, feedback, security) are accessed via memory_* (namespace-routed). The plugin uses correct routing throughout — no agentdb_hierarchical-* or agentdb_pattern-store with namespace arguments.
bash plugins/ruflo-rag-memory/scripts/smoke.sh
# Expected: "10 passed, 0 failed"
ruflo-agentdb — Full AgentDB controller bridge (15 agentdb_* MCP tools); namespace convention owner; owns the claude-memories reserved namespaceruflo-ruvector — Advanced vector operations (FlashAttention-3, Graph RAG, hybrid search)ruflo-rvf — Portable RVF memory format for cross-machine export/importruflo-knowledge-graph — Entity extraction and graph traversal over memoryMIT