Skip to content

v0.11.1 — Global Memory

Latest

Choose a tag to compare

@Rushour0 Rushour0 released this 13 Jul 12:47

Cross-collection memory tier

Adds memory.global_collection: str | None to the memory config. When set, retrieval opens a second Qdrant collection alongside the primary per-session/per-project one, and merges its candidates into the same pre-fusion pool — before the existing RRF fuse, temporal-decay, domain-boost, guaranteed-slot reservation, and MMR pipeline runs. That pipeline still computes its top_k budget once, over one merged pool, exactly as before.

Fully additive and backward compatible:

  • global_collection defaults to None — unset configs are byte-identical to prior behavior.
  • build_memory_store's single-store return contract is untouched (used by replay, inspect-memory, memory show/list/diff, the MCP server, ingest, and benchmarks) — the second store is constructed only inside the retrieval path itself.
  • Any failure opening or querying the global store (unreachable Qdrant, missing collection) degrades cleanly to primary-only results and is logged — never raised.

866 → 871 tests, 5 new (merge respects top_k without inflating guaranteed-slot counts; empty/unreachable global store degrades cleanly; existing single-store configs stay byte-identical), zero regressions.

This is the seam a multi-project deployment can use to give every agent run access to lessons learned anywhere, not just within its own session or project history.