How dp9318/recall works
RECALL is a local persistent memory engine for AI coding agents, exposed through an MCP server and a REST API with a web dashboard. The principal workflow captures project context, stores it canonically, retrieves relevant memories, resolves conflicts under instruction authority, and returns assembled context to an agent. The graph includes documented major capabilities such as lineage/compaction and dashboard management; unsampled routes and implementation details are represented at subsystem level, with uncertain links omitted.
Main entry points: memory_manager.py Memory Manager · bootstrap.py Core Bootstrap · retrieval.py Hybrid Retrieval · repositories SQLite Repositories
Components 20
Agent & User Interfaces
- MCP Tools
recall_mcp/server.py
HTTP & Dashboard
- Dashboard Pages
frontend/src/pages - API Client
frontend/src/api/client.ts - REST Application
api/app.py - REST Routes
api/routes
Memory Core
- Core Bootstrap
recall_core/bootstrap.py - Memory Manager
recall_core/memory_manager.py - Context Assembly
recall_core/context_assembly.py - Instruction Service
recall_core/instruction_service.py - Domain Contracts
contracts
Retrieval & Arbitration
- Hybrid Retrieval
intelligence/retrieval.py - Conflict Resolution
intelligence/conflict.py - Embedding Service
intelligence/embeddings.py
Persistence
- SQLite Repositories
database/repositories - SQLite Ledger
database/connection.py - Semantic Index
database/repositories/semantic_index_repo.py
Other components
- AI Agent
- Dashboard User
- ChromaDB
- Local LLM
Connections 28
- AI Agent → MCP Tools: uses tools
README.md - MCP Tools → Core Bootstrap: initializes core
recall_mcp/server.py - MCP Tools → Memory Manager: calls operations
recall_mcp/server.py - Dashboard User → Dashboard Pages: manages memory
README.md - Dashboard Pages → API Client: requests data
frontend/src/pages/SettingsPage.tsx - API Client → REST Application: calls REST
README.md - REST Application → REST Routes: registers routers
api/app.py - REST Routes → Memory Manager: invokes operations
api/routes/context.py - REST Application → Memory Manager: accepts manager
api/app.py - Core Bootstrap → Memory Manager: constructs
recall_core/bootstrap.py - Core Bootstrap → SQLite Repositories: composes storage
recall_core/bootstrap.py - Core Bootstrap → Hybrid Retrieval: composes service
recall_core/bootstrap.py - Core Bootstrap → Conflict Resolution: composes service
recall_core/bootstrap.py - Core Bootstrap → Embedding Service: composes service
recall_core/bootstrap.py - Memory Manager → SQLite Repositories: reads and writes
recall_core/memory_manager.py - Memory Manager → Hybrid Retrieval: retrieves memories
recall_core/memory_manager.py - Memory Manager → Conflict Resolution: resolves conflicts
recall_core/memory_manager.py - Memory Manager → Instruction Service: delegates instructions
recall_core/memory_manager.py - Memory Manager → Context Assembly: assembles context
recall_core/memory_manager.py - Memory Manager → Semantic Index: cleans derived index
recall_core/memory_manager.py - Hybrid Retrieval → Semantic Index: searches vectors
intelligence/retrieval.py - Hybrid Retrieval → SQLite Repositories: searches structured
intelligence/retrieval.py - SQLite Repositories → SQLite Ledger: persists records
database/connection.py - Semantic Index → ChromaDB: indexes vectors
README.md - Embedding Service → ChromaDB: embeds content
README.md - Conflict Resolution → Local LLM: arbitrates ambiguity
README.md - Context Assembly → Domain Contracts: returns assembled context
recall_core/context_assembly.py - Memory Manager → Domain Contracts: uses domain types
recall_core/memory_manager.py