Status: COMPLETE ✅
Goal: A fast, local memory store with semantic search.
- Project scaffolding (TypeScript strict, Vitest, build system)
- SQLite unified schema (vectors, text, graph, metadata, activity log)
- SQLite + sqlite-vss integration (ARM64 native build)
- EmbeddingEngine (ONNX all-MiniLM-L6-v2, 384d) — runs locally, no Python
- MemoryStore CRUD with
Result<T,E>pattern - Semantic search (vector similarity via sqlite-vss)
- Keyword search (FTS5)
- Hybrid search (vector + keyword + graph fusion with reciprocal rank)
- Temporal queries (time-range filtering + temporal half-life boost)
- Turn-level storage (
storeTurns()) with batch embedding and sharedsourceId - L0: VerbatimLayer — full text, immediate storage
- L1: CompressedLayer — AAAK-style shorthand compression
- L2: ConceptGraph — entity-relationship extraction + graph persistence
- L3: WisdomLayer — pattern distillation
- AgingPipeline — lazy transitions between layers (triggered on access)
- Pin system — prevent aging for important memories
- Import/Export — lossless JSON + human-readable Markdown
- Retrieval R@5: 94% on LongMemEval-S (turn-level) / 84% (session-level)
- Retrieval latency: < 20ms (p95)
- Test coverage: 135 tests passing
Status: COMPLETE ✅
Goal: Memory that predicts what you need before you ask.
- ActivityTracker — file change monitoring, tool invocation history, time patterns
- Context fingerprint construction (project, branch, file, time, recent tools)
- IntentPredictor — exact + similar signature matching, frequency/recency scoring
- Memory relevance scoring with confidence threshold (70% cutoff)
- ContextInjector — pre-load predictions into MCP context
- PatternStore with SQLite persistence
- Top-1 accuracy: 73.9% (target: ≥70%) ✅
- Top-3 accuracy: 91.3%
- Wake-up tokens: < 150 (context injection is lightweight)
Status: IN PROGRESS 🔄
Goal: One memory for Claude, ChatGPT, Cursor, and any MCP-compatible tool.
- MemoryBus core — pub/sub event routing with vector clocks
- ConflictResolver — tool-priority tiebreaking + supersede resolution
- Memory event schema (create, update, delete, access, sync_request)
- Dead-letter queue for failed routing
- Claude Code adapter — file watch on
~/.claude/projects, auto-save turns from.jsonl, decision extraction, CLAUDE.md notifications - Cursor adapter — file watch on
~/.cursor/conversations, supports.jsonl+.jsonformats, auto-save turns - ChatGPT adapter — file watch on
~/.chatgpt/exports, parses official OpenAI export format (message tree → flat turns), multi-part content support -
MemoryBus.storeTurns()— direct batch storage bypassing event pipeline
- Cross-device sync protocol (encrypted P2P)
- Sync conflict UI indicators
- Memory merge strategies UI (automatic + manual)
Memories created in Claude Code appear in Cursor automatically via shared MemoryStore.
Status: IN PROGRESS 🔄
Goal: A GUI that lets you see, explore, and manage your memory.
- Tauri desktop shell + Svelte 5 frontend
- IPC bridge (Node.js sidecar server on localhost:8844)
- Search interface — natural language queries with hybrid results
- Temporal timeline — chronological memory view
- Concept graph — D3.js force-directed entity-relationship visualization
- Spatial memory map — 2D wing/room layout (memory palace), zoom/pan, layer-colored dots, detail sidebar
- Import/export UI (JSON + Markdown)
- Settings panel — theme, auto-start, configuration
- Drag-and-drop card repositioning in spatial map
- Connection lines between related memories in spatial map
- Manual memory editing (double-click to edit)
- Real-time predictions panel in GUI
Cross-platform desktop app (macOS primary, Linux/Windows via Tauri).
Status: IN PROGRESS 🔄
Goal: Seamless integration with any MCP-compatible AI tool.
- Full MCP server implementation (
@modelcontextprotocol/sdk) - Tool definitions with Zod schemas:
omnimind_search— semantic search across all layersomnimind_store— store new memory with auto-layeringomnimind_store_conversation— batch store conversation turnsomnimind_predict— get predicted memories for current contextomnimind_status— system health and layer statisticsomnimind_subscribe— subscribe to memory eventsomnimind_sync— sync with other tools
- Auto-save hooks for Claude Code (turn-level file watching)
- Context injection endpoint (
/api/context)
- Multi-agent memory isolation (each agent gets its own namespace/wing prefix)
- Memory-aware context compression (truncate while preserving Omnimind context)
- Prompt templates (memory-aware system prompts)
- Resource exposure (memory as readable MCP resources)
- Published npm package with
npx omnimindone-liner setup
- Multi-user memory spaces with access controls
- Shared project memories
- Memory permissions (read/write/admin)
- Audit logging
- Latent concept space (beyond embeddings)
- Cross-modal memory (code + docs + conversations)
- Memory inference (deduce new facts from stored ones)
- Analogical reasoning ("this situation is like that past one")
- Import domain knowledge packs
- Share memory templates
- Community-curated wisdom libraries
| Metric | Current | Phase 5 (MVP) | Phase 8 |
|---|---|---|---|
| Retrieval R@5 | 94% | >= 97% | >= 98% |
| Retrieval latency | < 20ms | < 15ms | < 10ms |
| Prediction accuracy | 82.6% top-1 | >= 75% | >= 85% |
| Wake-up tokens | < 150 | < 150 | < 100 |
| Storage growth | Linear | Sub-linear | Sub-linear |
| Tools supported | 3 (Claude, Cursor, ChatGPT) | 3+ | 5+ |
| Test coverage | 135 tests | >= 85% | >= 90% |
Sprint: MCP Polish + Multi-Agent Isolation
Priority: Multi-agent namespace isolation + context compression
Blocked by: None Blocking: npm package publish
Focus areas:
- Multi-agent memory isolation (namespace prefixes per agent)
- Context compression that preserves Omnimind predictions
- npm package preparation (
npx omnimindsetup) - Documentation update (README, API docs, integration guides)
Definition of done:
- Each MCP client can operate in its own memory namespace
- Context injection respects token budget and compresses gracefully
npm testpasses with >= 85% coverage- Package ready for
npm publish(dry-run passes)