Memory (Agent Long-term Memory): foundations
Memory (Agent Long-term Memory) — foundations RFC
Status
*ccepted*— ratificada 20260509 (mesmo dia da abertura) como sector piloto do bootstrap servicesai. Implementação iniciada em `servicesaimemory; tickets em servicesaimemorybacklogpending/{001..005}`.
Summary
Foundation pra memória crosssession de agents — análogo Mem0MemGPTLetta/Anthropic Memory Tool. Provável gap maior pósvision dada a thesis Koder de agentes persistentes.
Motivation
Hoje cada produto reinventa: kode tem CURRENT.md/LATEST.md, kortex indexa, mas zero service genérico. Agentes esquecem entre sessions. Bloqueio direto de UX agent-first.
Scope
In
- Episodic memory store
- Retrieval (semântico via embed)
- Forgetting policies (TTL, decay)
- Per-user/tenant scoping
Out (yet)
- Short-term context (responsabilidade do client)
- Persona memory (escopo agents/)
Initial design
Surfaces
backend/— Go API + storage layerapp/— não aplicável v1
Key APIs
POST /v1/memory/{user}/items— adicionar itemGET /v1/memory/{user}/recall?q=— semantic recallDELETE /v1/memory/{user}/items/{id}— esquecer
Dependencies
services/ai/embed— semantic recallinfra/data/kdb-doc+kdb-vectorservices/ai/gateway— read-through em prompts
Relation to existing sectors
- Provável extração de auto-memória de kode
- Integração com agents para state cross-session
Selfhostedfirst analysis (5 gates)
- *1 Feature parity* zero como service
- *2 Performance* N/A
- *3 Stability* N/A
- *4 Capability* Mem0/Letta inspiração
- *5 Critical-path readiness* bloqueia agentes persistentes (thesis core)
Open questions
- Q1: Memory edit — quem decide o que guardar (auto via heurística vs explicit API)?
- Q2: Privacy — direito ao esquecimento automatizado?
Next steps
- Ratificar esta RFC (1 round de comments).
- Criar sector dir
services/ai/memory/comkoder.toml,README.md, skeleton. - Abrir tickets de implementação em
services/ai/memory/backlog/pending/. - Registrar em
meta/docs/stack/registries/self-hosted-pairs.mdse substituir externo.