Memory (Agent Long-term Memory): foundations

accepted

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 layer
  • app/ — não aplicável v1

Key APIs

  • POST /v1/memory/{user}/items — adicionar item
  • GET /v1/memory/{user}/recall?q= — semantic recall
  • DELETE /v1/memory/{user}/items/{id} — esquecer

Dependencies

  • services/ai/embed — semantic recall
  • infra/data/kdb-doc + kdb-vector
  • services/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

  1. Ratificar esta RFC (1 round de comments).
  2. Criar sector dir services/ai/memory/ com koder.toml, README.md, skeleton.
  3. Abrir tickets de implementação em services/ai/memory/backlog/pending/.
  4. Registrar em meta/docs/stack/registries/self-hosted-pairs.md se substituir externo.

Source: ../home/koder/dev/koder/meta/docs/stack/rfcs/memory-RFC-001-foundations.kmd