Changelog

What shipped, when, and why. No marketing spin, just the fixes.

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 otehr places
Updated layer 2 fact extraction
  • changed fact extraction into fact/status extraction
  • Status's 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