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§

BoundedMemoryEdges
At most cap edges of one memory point, plus the honest signal that the point carries more — returned by the bounded accessors of MemoryStore (#1820).
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.
EntityProfile
Everything the auto-built graph knows about one named entity: the attributes merged onto its hub and the typed edges touching it.
EntityRelation
One typed edge leaving an entity, as reported by MemoryService::entity_profile.
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.
ListedMemory
One audited fact, as list_memories returns it: the caller-facing shape of a crate::storage::RawListedFact after the service applied its visibility policy (hub filtering, reserved-key stripping).
MemoryEdge
A typed edge in an Explanation subgraph.
MemoryNode
A node in an Explanation subgraph.
Recollection
One semantically recalled memory.
RememberedExtraction
What crate::MemoryService::remember_extracted actually did with a passage: the stored fact ids, and how many extracted facts it had to drop.
UnrelateOutcome
Outcome of MemoryService::unrelate: idempotent by design, so an absent edge is a found: false answer, not an error — a cleanup must be replayable.

Enums§

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

Functions§

column_value_matches
Whether a STORED value satisfies op against a filter’s target.