Changelog

What's been happening

LoCoMo benchmark results — 5 runs across 3 models
  • Dataset: LoCoMo long-term conversation memory benchmark.
  • Models tested: Gemma 2 9B (backend), Gemma 3 4B, Gemma 3 12B — all open-source, running locally at 4-bit quantization.
  • Honest headline: ~55–60% accuracy on models 17× smaller than frontier. GPT-4o with no memory layer scores ~60% on the same benchmark.
  • Run 4 caveat: the 75.1% figure is inflated — the smaller 4b judge passes hallucinated answers. Manual review confirms true accuracy sits at 55–60%. The higher idk_over_refusal count in Run 5 (420 instances, 27.3%) reflects rigorous honest refusal by the larger judge model rather than regression.
LoCoMo benchmark results table — 5 runs comparing Gemma 2 9B, Gemma 3 4B, and Gemma 3 12B across multi-hop, open-domain, single-hop, and temporal categories

Full results with failure analysis → Google Sheets

Run Config Avg score vs baseline
1 — Baseline Gemma2:9b backend · 4b answer · 4b judge 42.63% —
2 — Bigger answer Gemma2:9b backend · 12b answer · 4b judge 56.90% +14.27%
3 — Bigger judge Gemma2:9b backend · 4b answer · 12b judge 54.50% +11.87%
4 — Bigger backend 12b backend · 4b answer · 4b judge 75.10% ~55–60%* +32.47% (inflated)
5 — All 12b 12b backend · 12b answer · 12b judge 50.60% +7.97%

* Run 4 score is inflated by judge leniency. Manual review of outputs confirms true accuracy ~55–60%. Run 5's lower score reflects stricter honest grading by the larger judge.

Relative dates no longer stored as dead references
  • Root cause: phrases like "last Saturday" or "next month" were being baked into stored summaries with no calendar anchor, becoming permanently unresolvable the moment that week passed. Queries asking "when did X happen?" would retrieve the right event but get no usable date back.
  • Session date anchoring: the session date is now forwarded through the entire pipeline from ingest to summarization. The summarizer resolves relative references to absolute dates before writing them to storage, so "last Saturday" becomes "6 May 2023" in the actual memory record.
  • Multi-hop temporal queries: this was the primary reason multi-hop questions scored near zero on the LoCoMo benchmark despite the data being present. The information existed in storage, it just had no resolvable date attached.
Becoming DPF and GDPR compliant
  • Determined encryption on backend DBs will be coming to become compliant.
Low LoCoMo scores
  • Did some testing and scored around 10%.
  • Determined response model and backend bug are the main issues, fixed in subsequent runs.
Summaries condensing numbers
  • Updated summary logic to stop condensing key data.
Memory correctness under concurrent load
  • Temporal fact tagging: preferences that flip (e.g. "loves X" → "can't stand X anymore") now mark the old value deprecated instead of both living in the profile forever. Old values stay on disk for audit, but never surface to retrieval as current.
  • Race condition fix: concurrent requests for the same user could clobber each other's writes to the fact store under load — this was the root cause of facts silently disappearing. Reads and writes are now serialized per user, across threads and processes.
  • Idempotency: near-duplicate facts no longer create separate entries on repeated mentions of the same thing.
Closed an unauthenticated key-issuance path
  • The API key endpoint could be called with a bare email string and no proof of identity, meaning an unverified signup could reach the dashboard and pull a working key without ever clicking a verification link.
  • A verified Firebase ID token is now required on every key request, and the backend checks email_verified before issuing or creating a key.
  • Added client-side guards so an unverified session gets redirected before it ever reaches the dashboard or plan picker, not just on the login page.
Local is now free, cloud tiers restructured
  • Self-hosted no longer requires a license or monthly fee — it's free forever, no license key, no expiry.
  • Cloud pricing split into four tiers: Free, Starter, Pro, and Enterprise, priced to undercut comparable hosted memory layers.
  • Removed the old "Managed Pro, coming soon" placeholder in favor of the real tier structure.
Landing page rebuild
  • Sections now lock to full viewport height with eased, section-to-section scroll on desktop.
  • Rewrote the hero and navigation, and cleaned up copy site-wide.
Restructure
  • Made a Reddit post regarding marketing.
  • Got feedback on necessary changes.
Beta launch
  • Officially launched.
  • Made some posts on Reddit and other places.
Updated layer 2 fact extraction
  • Changed fact extraction into fact/status extraction.
  • Statuses are now temporary facts that decay after a certain amount of time unless reminded.
Added layer 2 fact extraction
  • Added fact extraction to keep a list of a user's concrete facts.
  • Implemented confidence scoring and beta decay to facts.
MVP
  • MVP of basic idea.
  • Created a simple keyword extraction tool.