Skip to content

Latest commit

 

History

History
63 lines (50 loc) · 2.35 KB

File metadata and controls

63 lines (50 loc) · 2.35 KB

Roadmap

Ymem is in the design and early prototyping stage. The roadmap below is small and evidence-driven. Detailed design lives in docs/design/split-plan.md.

Phase 0: Repository Foundation

  • Establish the kernel boundary versus host applications.
  • Land the split plan, license, and contribution model.
  • Pick the runtime: TypeScript for core, Python for benchmark adapters.

Phase 1: Public API Surface

  • Specify the generic objects:
    • MemoryRecord, MemoryQuery, MemoryResult;
    • ProvenanceRef, MemoryTrace, MemoryDiff;
    • EvalCase.
  • Specify the core operations:
    • ingest(batch);
    • retrieve(query);
    • consolidate(request);
    • explain(traceId).
  • Define the MemoryStore and MemoryProvider interfaces.

Phase 2: Reference Implementation

  • Default store: SQLite plus in-memory test store, both implementing MemoryStore.
  • Default retrieval: BM25/FTS plus a pluggable embedding adapter.
  • Default consolidation: duplicate, stale, conflict, and forget-candidate detection. No automatic mutation; outputs MemoryDiff candidates only.
  • First host integration: consume from ZhiOne as a package dependency.

Phase 3: Benchmark Integration

  • Adapters for public benchmarks:
    • LongMemEval (long-term conversational memory, update, abstention);
    • MemoryAgentBench (retrieval, test-time learning, long-range understanding, selective forgetting);
    • LoCoMo (long conversation, temporal and causal memory);
    • MemoryArena later (multi-session agentic task memory).
  • Eval runner that operates without any host app.
  • Trace export format so host apps can contribute private eval fixtures.

Phase 4: Consolidation Quality

  • Dream-style offline consolidation runs against trace archives.
  • Quality regression tests across versions.
  • Tooling to import candidate techniques from awesome-agent-memory as sandboxed experiments and graduate them via ADR.

Non-Goals For Now

  • No host-app surface (CLI, MCP server, UI) in this repo. Host apps live elsewhere.
  • No opinionated ingestion pipeline (no file watcher, no parser). Hosts decide what becomes a MemoryRecord.
  • No long-term retention or migration commitments before the API surface stabilizes.
  • No automatic acceptance of high-risk MemoryDiff candidates.