{"id":"episodic-long-term-memory","slug":"episodic-long-term-memory","name":"Long-term episodic agent memory","shortName":"Episodic memory","problemStatement":"Remember user episodes across weeks with temporal validity (what was true when) — not just a static profile vector.","whenNotTopPick":"Mem0 simplicity, Letta stateful runtime, or HIPAA memory (Supermemory) is the constraint.","categoryIds":["cat-vector-memory"],"depotPickProviderId":"zep","depotPickRationale":"Distinct from `hosted-agent-memory` / `temporal-graph-memory` nuance: episodic timelines. Confidence: medium.","runnersUpIds":["letta","mem0","supermemory","memobase"],"weights":{"capabilityFit":0.32,"pricePerformance":0.12,"latencyReliability":0.14,"developerDx":0.12,"privacyPosture":0.12,"lockInRisk":0.08,"maturity":0.1},"methodologyNotes":"Distinct from `hosted-agent-memory` / `temporal-graph-memory` nuance: episodic timelines. Confidence: medium.","tags":["memory","episodic","temporal","agents"],"depth":{"whenNotToUse":{"text":"Mem0 simplicity, Letta stateful runtime, or HIPAA memory (Supermemory) is the constraint.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"letta","name":"Letta Cloud","overallForJob":7.37,"pickOverallForJob":7.48,"beatsPickOn":["pricePerformance","developerDx"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":5.2,"runnerUpLockInRisk":5.5,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":["open source (provider tag `oss`)"],"runnerUpExitSignals":["open source (provider tag `oss`)"],"pickNotes":[{"text":"Graph ops complexity if self-host","field":"weaknesses"}],"selfHostFallback":[{"id":"graphiti","name":"Graphiti","license":"Apache-2.0","sourceUrl":"https://raw.githubusercontent.com/getzep/graphiti/main/LICENSE"}],"migration":"The pick has lower stored lock-in risk than runner-up Letta Cloud (5.2 vs 5.5). Pick exit signals: open source (provider tag `oss`). Self-host fallback listed for this job: Graphiti.","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-09-14","ageDays":44,"stale":true,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-09-14","ageDays":44,"stale":true,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":3,"sourcesReachable":3,"pricingRows":0,"pricingRowsReconfirmed":0,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}},"depotPick":{"id":"zep","slug":"zep","name":"Zep","tagline":"Pick when agents need temporal/entity graph memory, not just vector snippets. Mem0 for simpler recall.","overall":7.48},"runnersUp":[{"id":"letta","slug":"letta","name":"Letta Cloud","tagline":"Choose when the agent IS a long-lived stateful runtime. For bolt-on memory use Mem0/Zep.","overall":7.37},{"id":"mem0","slug":"mem0","name":"Mem0","tagline":"Default hosted agent memory bolt-on. Model retrieval volume carefully; self-host OSS if caps hurt.","overall":7.51},{"id":"supermemory","slug":"supermemory","name":"Supermemory","tagline":"Managed context engine when you want memory without running a vector DB. Mem0 for simpler fact API; Cognee…","overall":7.86},{"id":"memobase","slug":"memobase","name":"Memobase","tagline":"Depot pick for portable/user-profile memory (MCP across Claude/ChatGPT/agents). Mem0 remains general…","overall":7.85}]}