v0.3.1 — Multi-hop causal trace
🎯 What's new
This is the first release with the multi-hop causal trace — the key differentiator from flat memory systems (Mem0/Zep/Letta).
New: trace_cause_chain tool
Single-hop trace_cause finds the immediate decision that caused an outcome. But real debugging is chain-shaped:
service crashed ← OOM ← cache had no TTL ← Redis configured without expiry
trace_cause_chain uses a SQLite recursive CTE to walk backward through the causal graph up to N hops, with chain confidence = product of edge confidences (natural decay for longer chains).
This is structurally impossible for Mem0/Zep/Letta — they don't store causal edges.
Changelog (v0.1.0 → v0.3.1)
| Version | Feature |
|---|---|
| v0.1.0 | 3 MCP tools (record/search/trace) |
| v0.2.0 | Auto-extractor from session logs |
| v0.2.1 | Outcome-overwrite fix + graded confidence |
| v0.3.0 | LLM judge (DeepSeek/OpenAI compatible) |
| v0.3.1 | Multi-hop causal trace (recursive CTE) + SQL parameterization |
Stats
- 4 MCP tools
- 10 unit tests pass
- ~1700 lines Rust
- Zero external runtime deps (single binary + SQLite)
Install
git clone https://github.com/JingxuanC/causal-memory.git
cd causal-memory
cargo build --release
# Binary at target/release/causal-memoryAcknowledgments
- PR #1 by @小贺咯 — multi-hop trace, SQL parameterization, research docs
- Research foundation: agent-teardown/insights/04-16