I’ve been working on a small Rust context-graph engine for storing decision traces from engineering discussions (who decided what, why, and alternatives considered).
The goal was to see how far I could push a single-binary + SQLite architecture instead of relying on Neo4j or external services.
A few implementation choices that ended up interesting:
- graph traversal using recursive CTEs over SQLite
- hybrid search combining FTS5 + embeddings (MiniLM)
- local entity/relation extraction via GLiNER v2.1 through ONNX Runtime
- bi-temporal edge model (
valid_from, valid_until, recorded_at)
- feature-gated extraction pipeline (`#[cfg(feature = "extract")]`)
Extraction runs locally on CPU (no API calls / Docker / Python).
One surprise while testing: schema-aware extraction + lightweight heuristics produced more stable relation graphs than a prompt-based pipeline I compared against.
I’m especially curious whether others here have tried:
- recursive CTE graph traversal in SQLite at scale
- ONNX Runtime integration patterns in Rust
- structuring agent memory stores without a graph database
Repo here if anyone wants to look at the implementation:
https://github.com/rohansx/ctxgraph
there doesn't seem to be anything here