remembradev
The graph-aware approach lets us do things vector search alone can't - like "find all memories about Project X that involve Person Y" without needing exact keyword matches. Entity relationships are first-class citizens.
On data residency: 100% agree it's underestimated. We've seen teams pass on otherwise-great tools because they can't guarantee where memories live. Single Docker container, SQLite by default, your infrastructure = your data.
Would love to hear how it compares to your current setup. Drop any feedback in our Discord or GitHub issues - we're actively iterating.
Remembra uses temporal edges on the knowledge graph. When you store contradictory info ("user prefers Python" then later "user prefers Rust"), we don't just overwrite - we track both with timestamps and can:
1. Return the most recent by default 2. Surface contradictions explicitly when queried 3. Let you query point-in-time ("what did user prefer in January?")
For bad data, we have a few approaches: - Confidence scoring on memories - GDPR-compliant forget() to purge specific memories - Audit logging so you can trace what was stored and when
You're right that memory quality is critical. Our benchmark focus (100% on LoCoMo) is specifically about retrieval accuracy - getting the right memory when you need it, not just any memory that keyword-matches.
Would love to hear how testing goes if you try it.
Remembra can store: - Trade decisions with reasoning ("went long NQ at 21450 because of MACD divergence") - Pattern recognition across sessions ("round number rejections working 72% in low VIX") - Regime context (track when strategies work vs don't) - Entity extraction pulls out tickers, levels, signals automatically
The key is semantic recall - your bot can query "what worked last time we saw this setup?" and get relevant past trades, not just keyword matches.
Self-hosted so your trading data stays private. Happy to help you get set up if you want to try it: docs.remembra.dev
We took a different path with Remembra - hybrid search (vector + BM25 keyword) instead of hierarchical summaries. The tradeoff: you lose the explicit levels but gain better fuzzy matching when agents don't remember exact terms.
Entity extraction has been the bigger win for us - automatically linking "Mr. Kim" to "David Kim" without the agent needing to know they're the same person. Hit 100% on the LoCoMo benchmark with that.
Curious about the no-vector-embeddings choice. Does full-text search miss anything in practice when agents use different phrasing across sessions?
Self-host: docker run -d -p 8787:8787 remembra/remembra if anyone wants to compare: remembra.dev
The insight: most 'memory failures' in coding sessions aren't retrieval failures, they're identity failures. The agent knows you mentioned 'David' and 'Mr. Kim' and 'the client' - but doesn't know they're the same person.
We added automatic entity graphs that link these references, so when you search for anything about the project, you get the full context of WHO was involved, not just what was said.
Re: append-only vs rewriting - we do both via temporal decay. Old memories naturally lose salience over time (Ebbinghaus-style) unless they keep getting referenced. Lets you avoid explicit curation without accumulating noise.
GitHub if useful: https://github.com/remembra-ai/remembra
We've been working on a similar problem with Remembra and hit 100% on LoCoMo with a different approach: entity graphs + temporal decay. The insight was that knowing WHO you're talking about (resolving 'Mr. Kim' to 'David Kim') matters as much as what was said.
Curious about your spreading activation implementation - are you doing this at query time or pre-computing the graph connections?
If you want to compare notes: https://github.com/remembra-ai/remembra