Expand description
The domain data model — the value types the memory layer exchanges
(Link, Recollection, ColumnFilter, Explanation, …), separate from the
service that computes them.
Domain data model: the request/response value types of the memory layer.
These are pure data — the shapes a caller links, recalls, filters on, and
gets back — with no dependency on MemoryService
itself. Keeping them here separates what the memory layer exchanges from
how the service computes it, and gives every adapter (MCP, bindings) one
canonical place to import the contract from.
Structs§
- Column
Filter - A structured predicate over a memory’s metadata column, for the fused
vector+
ColumnStorerecallMemoryService::recall_where. Unlike the exact-match filter onMemoryService::recall, this supports ranges and comparisons (e.g.timestamp >= …), so temporal and numeric facets become queryable, not just equal-matchable. - Explanation
- The connected answer to a
whyquestion: the best-matching seed memory plus everything reachable from it within a hop budget. This connected subgraph is the differentiator — it surfaces related memories a purely vector recall is blind to (no textual similarity required). - Link
- A typed link from a freshly remembered fact to an existing memory.
- Memory
Edge - A typed edge in an
Explanationsubgraph. - Memory
Node - A node in an
Explanationsubgraph. - Recollection
- One semantically recalled memory.
Enums§
- Column
Op - Comparison operator for a
ColumnFilterinMemoryService::recall_where.