$ cat ROADMAP.md

Roadmap.v0.1.0 is an early release. It is usable and it is honest — and it is not at all complete. This page is the actual backlog.

Early software. The memory core, the proxy, the traces, and the dashboard work today and are tested. Everything below is what's still missing. If a feature you need is on this list, it does not exist yet — no vaporware, no "coming soon" buttons that lie.
Roadmaps move. This sequence is a promise of direction, not a rigid queue: items can ship out of order, and multiple items may land together when one implementation clears several gaps. When that happens, shipped work moves from this page to the changelog.
NOW · v0.1.0

What works today

  • Memory lifecycle: write with dedup/supersede, versioned corrections, reversible forgetting, hard delete, and full version-chain reads.
  • Memory recall: semantic + full-text (exact names, codes, rare tokens), rank-fused, recency-weighted, with a diversity pass. Hybrid document search too.
  • Time-aware facts: validity windows with "as of" recall — what was true when.
  • Export / import: your memory is one versioned JSON file you can take anywhere.
  • Drop-in proxy (/v1/chat/completions) with memory grounding on buffered AND streamed chats.
  • Auto-capture with local LLM distillation — heuristic fallback, sensitive-content exclusion, every capture traced and reversible.
  • Recall traces (/inspect) and a dashboard with edit / forget / delete / history.
  • Retrieval benchmark: bun run bench prints recall@k, MRR, and latency through the real HTTP routes.
  • Native MCP server (bella mcp): 9 memory tools over stdio JSON-RPC on the same local store.
  • Bug reporting (bella report): assembles a content-free GitHub report and prints a prefilled issue link — the binary sends nothing.
  • Credential gate on every write: known secret formats and labeled values are redacted before storage.
  • One binary: embedded Postgres + pgvector, local device-scaled embeddings, loopback by default.
every release passes a test suite that fails the build if coverage drops
NEXT

The trust loop, finished

Richer trust views: rejected-capture reasons, version diffs, provenance trees.

next up
LATER

Memory-system parity

  • Review queue for inferred (auto-captured) memories — approve or decline before they're trusted.
  • Profile rebuild rules, pinned facts, profile + search in one call.
  • Context-window preview: see exactly what your agent will see, before it sees it.
  • Local folder-memory contract (a watched directory that IS your memory).
  • Reranking + result diversity; usage analytics; scoped API keys.
specs first, then code
SOMEDAY

The bigger bets

  • Memory graph view + export.
  • Optional cross-encoder reranker (downloaded on demand, device-scaled).
  • Content extractors (PDF, code, web) and connectors (filesystem / Obsidian first).
  • SDKs, editor integrations, desktop shell.

Plugins over bloat — the core stays one small binary.

plugin surfaces, not core

What will never change

Local-first by default. No telemetry. Every recall traceable. Every correction versioned. Forgetting reversible and audited. If a feature can't be made inspectable, it doesn't ship.

memory you can inspect
memory you can correct
memory that never phones home