How It Works
Engrammic has four components: the MCP interface that agents talk to, a context engine that plans and executes queries, the storage layer underneath, and SAGE running in the background to maintain the knowledge graph.
flowchart TB
subgraph MCP["MCP Interface"]
direction LR
rem["remember"] ~~~ lrn["learn"] ~~~ blv["believe"]
rec["recall"] ~~~ trc["trace"] ~~~ lnk["link"]
end
subgraph Engine["Context Engine"]
direction LR
qp["Plan"] --> ro["Retrieve"] --> ra["Assemble"]
end
subgraph Storage["Storage"]
direction LR
graphDb["Graph"] ~~~ vector["Vector"] ~~~ cache["Cache"]
end
subgraph SAGE["SAGE Background"]
direction LR
syn["Synthesis"] ~~~ cor["Corroboration"] ~~~ dec["Decay"]
end
MCP --> Engine
Engine --> Storage
Storage -.-> SAGE
SAGE -.-> Storage
style MCP fill:#1f2937,stroke:#58a6ff,color:#f0f6fc
style Engine fill:#1f2937,stroke:#a371f7,color:#f0f6fc
style Storage fill:#1f2937,stroke:#3fb950,color:#f0f6fc
style SAGE fill:#1f2937,stroke:#f78166,color:#f0f6fc
SAGE is a background process that maintains the knowledge graph. You never call it directly.
Synthesis watches for patterns across Memory and Knowledge nodes. When multiple claims point to the same conclusion, it proposes a belief for review.
Corroboration promotes claims to facts. When the same claim appears from three independent sources, the system marks it as corroborated and upgrades it from claim to fact.
Decay handles time-based cleanup. Memory nodes decay on schedule based on their decay class, so the graph doesn’t fill up with stale observations.
Query flow
Section titled “Query flow”When you call recall, the engine parses your query and figures out what you’re looking for. It runs a vector search to find semantically similar content, then traverses the graph to pull in related context like provenance and supersession chains. Results get scored by relevance, recency, and confidence before being assembled into the response.
The combination of vector search and graph traversal is what makes contextual retrieval work. Vector search finds what’s similar. Graph traversal finds what’s connected. You need both.
Multi-tenancy
Section titled “Multi-tenancy”Engrammic supports multiple isolated silos. Each silo has its own knowledge graph, vector index, and configuration. Silos don’t share data, which means you can use them for per-user, per-project, or per-team memory isolation depending on what you’re building.