{"id":"agent-memory-kv","slug":"agent-memory-kv","name":"Hot agent KV / session memory","shortName":"Hot agent KV / session memory","problemStatement":"Sub-ms session state, caches, and short-term memory.","whenNotTopPick":"Durable relational memory — Postgres. Edge-only light state — Durable Objects.","categoryIds":["cat-vector-memory"],"depotPickProviderId":"redis","depotPickRationale":"reliability + latency capability.","runnersUpIds":["supabase-pgvector","cloudflare-workers","upstash-redis"],"weights":{"capabilityFit":0.2,"pricePerformance":0.15,"latencyReliability":0.3,"developerDx":0.15,"privacyPosture":0.08,"lockInRisk":0.05,"maturity":0.07},"methodologyNotes":"reliability + latency capability.","tags":["agent"],"depth":{"whenNotToUse":{"text":"Durable relational memory — Postgres. Edge-only light state — Durable Objects.","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"supabase-pgvector","name":"Supabase (pgvector)","overallForJob":8.66,"pickOverallForJob":8.24,"beatsPickOn":["capabilityFit","pricePerformance","developerDx","privacyPosture","lockInRisk"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":4,"runnerUpLockInRisk":3,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[],"migration":"Runner-up Supabase (pgvector) has lower stored lock-in risk (3 vs 4, 0–10, higher = more lock-in).","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":43,"stale":true,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":2,"sourcesReachable":2,"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":"redis","slug":"redis","name":"Redis","tagline":"Use as agent hot memory/cache, not as your only 100M-vector archive.","overall":8.24},"runnersUp":[{"id":"supabase-pgvector","slug":"supabase-pgvector","name":"Supabase (pgvector)","tagline":"Depot default for most agent apps under ~25–50M vectors. Don't add Pinecone until Postgres actually hurts.","overall":8.66},{"id":"cloudflare-workers","slug":"cloudflare-workers","name":"Cloudflare Workers","tagline":"Best edge runtime for lightweight agent gateways and tools. Heavy LLM loops still belong on Modal/Fly/GPU…","overall":8.66},{"id":"upstash-redis","slug":"upstash-redis","name":"Upstash Redis","tagline":"Default serverless-edge-redis. Use classic Redis Cloud when you need always-on fat memory / Redis modules…","overall":8.54}]}