Skip to main content

Migration Plan

## §7 — Migration Plan (D5 / AC#5)

Winner = Mem0 self-hosted. No migration away from existing deployment required.
Plan = activation of Phase 2 items from stop-hook-l3-memory-spec.md.

**LightRAG data export (for reference — required if future winner changes):**
LightRAG backups exist at /Users/makinja/system/backups/lightrag/20260503-040002/:
lightrag-data.tar.gz, lightrag-kg.tar.gz, lightrag-cache.tar.gz, lightrag-neo4j-data.tar.gz.
Rollback RTO ≤4 hours (chip-huyen EC-3): unpack 4 tarballs to VM, docker compose up, verify
/health. Cypher export path: az vm run-command invoke --scripts "docker exec neo4j cypher-shell
-u neo4j -p  'MATCH (n) RETURN n' > /tmp/nodes.csv" (read-only).

**unknown_source probe result (D5 mandatory):**
unknown_source_ratio=31.6% (below 70% threshold). Useful corpus = 5,596 × (1−0.316) = 3,831
processed docs with file_path populated. The 121,003 pending docs overstates retrievable corpus.
EVIDENCE: az vm run-command python3 2026-05-04T21:14Z

| Step | Name | Owner | Timeline | Acceptance | Rollback | Dependency |
|------|------|-------|----------|------------|----------|------------|
| 1 | Enable L3 fallback chain | codecraft | 2026-05-05 | DISCOVER_USE_FALLBACK_CHAIN=1 in LaunchAgent env; discover.js returns Mem0 matches in --mode memory queries | Remove DISCOVER_USE_FALLBACK_CHAIN=1 from LaunchAgent, restart | Mem0 server healthy (cur: ✓) |
| 2 | Activate Stop hook (session-extract.js) | codecraft | 2026-05-07 | settings.json Stop array contains session-extract.js entry; /tmp/stop-hook-skip.log not growing | Remove Stop hook entry from settings.json | 7-day Mem0 soak complete (Phase 2 checklist item) |
| 3 | Multi-client namespace extension | codecraft | 2026-05-10 | discover.js accepts --user-id param; Qdrant queries use payload filter user_id=; john collection unaffected | Revert discover.js to user_id='john' hardcode | Step 1 done |
| 4 | Enable HNSW index at 1,000+ points | john (monitor) | Auto (Qdrant threshold=10,000) | indexed_vectors_count > 0 in /collections/mem0_john; latency drops from ~200ms to <50ms | N/A (auto-built) | 1,000+ points ingested |
| 5 | Recall validation (Phase 3) | proveo | 2026-05-14 | recall-eval-v2.sh Q1-Q20 returns ≥80% recall@10 with chain active; MRR reported | Pause Step 2 stop hook; investigate missing queries | Steps 1-3 complete |

---