Expand description
Thin trait abstraction over crate::semantic::SemanticMemory.
MemoryFacade is a narrow interface covering the four operations the agent loop
depends on: remember, recall, summarize, and compact. It exists for two
reasons:
-
Unit testing —
InMemoryFacadeimplements the trait using in-process storage so tests that exercise memory-dependent agent logic do not needSQLiteorQdrant. -
Future migration path — the agent can eventually hold
Arc<dyn MemoryFacade>instead ofArc<SemanticMemory>. Phase 2 will require making the trait object-safe (e.g. via#[trait_variant::make]or boxed-future signatures). This PR implements Phase 1 only.
§Design constraints
MemoryEntry.parts uses Vec<serde_json::Value> (opaque JSON) rather than
Vec<zeph_llm::MessagePart> to keep zeph-memory free of zeph-llm dependencies.
Structs§
- Compaction
Context - Input context for a compaction run.
- Compaction
Result - Result of a compaction run.
- InMemory
Facade - In-process test double for
MemoryFacade. - Memory
Entry - An entry to persist in memory.
- Memory
Match - A matching entry returned by a recall query.
Enums§
- Memory
Source - Which memory backend produced a
MemoryMatch.
Traits§
- Memory
Facade - Narrow read/write interface over a memory backend.