Architecture
MemDiver is composed of eleven subsystems. The web UI, CLI, and MCP server all route through the same analysis engine — there is no “GUI-only” or “CLI-only” capability.
flowchart TB
subgraph UX
Web[React SPA<br/>4 wired views + 7 feature panels]
CLI[memdiver CLI<br/>20 subcommands]
MCP[MCP server<br/>15 tools]
Marimo[Marimo sandbox<br/>+5 research views]
Nice[NiceGUI shell<br/>legacy]
end
subgraph API[FastAPI · 12 routers + WS]
Routers[dataset · analysis · inspect ·<br/>sessions · tasks · dumps · path ·<br/>structures · architect · consensus ·<br/>oracles · pipeline]
end
subgraph Engine[Engine & Algorithms]
Pipeline[pipeline · pipeline_runner]
Consensus[ConsensusVector<br/>Welford · MSL-aware]
Oracle[BYO oracle<br/>sha256 audit]
Algos[8 algorithms<br/>auto-discovered]
Architect[Pattern Architect<br/>YARA · JSON · Vol3]
end
subgraph Storage[Storage & IO]
Harvester[harvester<br/>ingestor · sidecar · metadata]
MSL[msl<br/>reader · writer · importer]
ProjectDB[DuckDB ProjectDB]
Sessions[.memdiver SessionStore]
end
Web --> API
CLI --> Engine
MCP --> Engine
Marimo --> Engine
Nice --> API
API --> Engine
Engine --> Algos
Engine --> Oracle
Engine --> Architect
Engine --> Harvester
Harvester --> MSL
Engine --> ProjectDB
Engine --> Sessions