Skip to main content

Module model

Module model 

Source
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§

ColumnFilter
A structured predicate over a memory’s metadata column, for the fused vector+ColumnStore recall MemoryService::recall_where. Unlike the exact-match filter on MemoryService::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 why question: 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).
FusionOptions
Tuning knobs for MemoryService::recall_fused.
Link
A typed link from a freshly remembered fact to an existing memory.
MemoryEdge
A typed edge in an Explanation subgraph.
MemoryNode
A node in an Explanation subgraph.
Recollection
One semantically recalled memory.

Enums§

ColumnOp
Comparison operator for a ColumnFilter in MemoryService::recall_where.