Kremis – Deterministic memory graph for AI agents (Rust)
Deterministic graph memory vs. embeddings is clever, but fragmentation of AI memory ecosystems is already painful.
A minimal graph engine for grounded AI — records, associates, and retrieves, but never invents. Written in Rust.
Deterministic graph memory that traces every result back to ingested data—no hallucination by design.
AI agent developers, LLM app builders seeking grounded memory systems
Qdrant · Weaviate · Milvus
The core idea: agent memory should be inspectable, deterministic, and honest.
- Same input → same output. No randomness, no floating-point in core. - Every query result traces back to a concrete graph path — no hidden state. - Zero pre-loaded knowledge. All structure emerges from ingested signals. - ACID transactions via redb. Crash-safe persistent storage.
It ships as a library (kremis-core, pure Rust, no async), an HTTP API + CLI, and an MCP server so AI assistants like Claude can query the graph directly.
Current state: v0.3.1, experimental, ~277 tests, CI on 3 OS, Docker image.
I'd value feedback on: - Does the deterministic graph approach make sense for agent memory? - API ergonomics — is the query model (lookup/traverse/path/intersect) intuitive? - What failure modes should I prioritize testing?
Deterministic graph memory vs. embeddings is clever, but fragmentation of AI memory ecosystems is already painful.
LangGraph patterns in Rust with type safety, 300 stars and real production examples.
Unifies siloed agent memory via MCP, but Mem0 and Zep already exist.
MESI coherence for agent memory is clever, but LangGraph and AutoGen already own this space.
Classifies AI query results as fact, inference, or unknown without using embeddings.
Five queries vector stores can't answer: why(), tensions(), blocked(), whatIf(), alternatives().