pub struct RecallRequest {Show 23 fields
pub query: String,
pub agent_id: Option<String>,
pub limit: Option<usize>,
pub memory_type: Option<MemoryType>,
pub memory_types: Option<Vec<MemoryType>>,
pub scope: Option<Scope>,
pub min_importance: Option<f32>,
pub tags: Option<Vec<String>>,
pub org_id: Option<String>,
pub strategy: Option<String>,
pub temporal_range: Option<TemporalRange>,
pub recency_half_life_hours: Option<f64>,
pub hybrid_weights: Option<Vec<f32>>,
pub rrf_k: Option<f32>,
pub as_of: Option<String>,
pub explain: Option<bool>,
pub with_provenance: Option<bool>,
pub mode: Option<RetrievalMode>,
pub current_fact_resolver: Option<CurrentFactResolverConfig>,
pub orientation_cache: Option<OrientationCacheConfig>,
pub evidence_budget: Option<EvidenceBudget>,
pub retained_token_budget: Option<usize>,
pub domain_scope: Option<DomainScope>,
}Fields§
§query: String§agent_id: Option<String>§limit: Option<usize>§memory_type: Option<MemoryType>§memory_types: Option<Vec<MemoryType>>§scope: Option<Scope>§min_importance: Option<f32>§org_id: Option<String>§strategy: Option<String>§temporal_range: Option<TemporalRange>§recency_half_life_hours: Option<f64>§hybrid_weights: Option<Vec<f32>>§rrf_k: Option<f32>§as_of: Option<String>§explain: Option<bool>When set, each ScoredMemory is augmented with a score_breakdown
that reports the per-signal score contributions (vector, bm25, graph,
recency) and final RRF rank.
with_provenance: Option<bool>v0.4.0-rc3 (Task B1) — when Some(true) AND the engine has a
ProvenanceSigner
attached, the response carries a ReadProvenance
HMAC receipt over the recalled records. Default None keeps
the recall hot-path overhead at zero for callers that don’t
need verifiable receipts.
mode: Option<RetrievalMode>v0.4.4 — typed retrieval mode. When Some, takes precedence
over the legacy strategy field (which stays in place for
backwards compatibility). When None, the engine falls back
to parsing strategy exactly as in v0.4.3. See
crate::retrieval::RetrievalMode.
current_fact_resolver: Option<CurrentFactResolverConfig>v0.4.7 — opt-in current-fact resolver. When Some, the
engine runs a post-processor over the standard recall result
set that groups candidates by cfg.fact_key and keeps the
most-recent write per group. See
crate::query::current_fact_resolver for the contract +
the MINTEval arXiv:2605.18565 anchor. Default None keeps
the read path unchanged.
orientation_cache: Option<OrientationCacheConfig>v0.4.8 — opt-in orientation cache. When Some AND the
engine has an
OrientationCacheStore
attached, the engine maintains a per-namespace, constant-token
“context map” updated from each recall hit, and returns a
bounded rendering in
RecallResponse::orientation_cache. PEEK-anchored
(arXiv:2605.19932). Default None keeps the read path
unchanged.
evidence_budget: Option<EvidenceBudget>v0.4.12 — opt-in cost-aware evidence budget. When Some, the
engine runs the crate::query::evidence selector over the
ranked candidate set and returns the smallest prefix that
clears the configured sufficiency bar (capped by
max_evidence). Purely subtractive — it never reorders the
retrieval’s top-k. Default None keeps the read path unchanged
(front-loaded top-limit).
retained_token_budget: Option<usize>EMBER (arXiv:2606.05894) — opt-in budgeted evidence retention.
When Some(budget), the engine builds a
RetentionReport that
packs the recalled hits into at most budget retained tokens as
verbatim evidence capsules (excerpt + retrieval key), ranked by
a recency × hit-rate recoverability heuristic, and returns it in
RecallResponse::retained_evidence. Purely additive — the
memories list is unchanged, so the default read path is
unaffected. See crate::query::retained.
domain_scope: Option<DomainScope>v0.4.15 — domain-scoped recall predicate (MASDR-RAG,
arXiv:2606.11350). When set (or when
mode is RetrievalMode::DomainScoped),
the candidate set is restricted to the metadata-defined
sub-corpus described by this DomainScope
before the dense similarity step, countering vector-search
dilution at scale. Default None keeps the read path unchanged.
Implementations§
Trait Implementations§
Source§impl Clone for RecallRequest
impl Clone for RecallRequest
Source§fn clone(&self) -> RecallRequest
fn clone(&self) -> RecallRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RecallRequest
impl Debug for RecallRequest
Source§impl<'de> Deserialize<'de> for RecallRequest
impl<'de> Deserialize<'de> for RecallRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for RecallRequest
impl RefUnwindSafe for RecallRequest
impl Send for RecallRequest
impl Sync for RecallRequest
impl Unpin for RecallRequest
impl UnsafeUnpin for RecallRequest
impl UnwindSafe for RecallRequest
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more