pub struct NoteCandidate {
pub id: Uuid,
pub rrf_score: Option<f64>,
pub salience: f64,
pub decay_factor: f64,
pub age_days: f64,
pub rerank_scores: HashMap<String, f64>,
}Expand description
Pre-computed signals for a single memory note candidate.
Used by the recall pipeline’s ComposePipeline to score and rank candidates
via DecayAwareImportanceObjective, TemporalRecencyObjective, and
RerankerObjective without any IO. The runtime layer populates this struct
from stored notes before handing the slice to the pipeline.
See ADR-033 §4.
Fields§
§id: UuidStable note UUID.
rrf_score: Option<f64>Pre-fused RRF score from the retrieval stage (0.0–1.0).
salience: f64Raw salience stored on the note (0.0–1.0).
decay_factor: f64Per-note exponential decay rate (>= 0.0).
age_days: f64Age of the note in days at query time.
rerank_scores: HashMap<String, f64>Per-reranker scores populated by the rerank stage. Keyed by reranker name (e.g. “cross_encoder”, “salience”, “graph_proximity”).
Trait Implementations§
Source§impl Clone for NoteCandidate
impl Clone for NoteCandidate
Source§fn clone(&self) -> NoteCandidate
fn clone(&self) -> NoteCandidate
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NoteCandidate
impl Debug for NoteCandidate
Source§impl HasId for NoteCandidate
impl HasId for NoteCandidate
Source§impl Objective<NoteCandidate> for DecayAwareImportanceObjective
impl Objective<NoteCandidate> for DecayAwareImportanceObjective
Source§fn score(&self, candidate: &NoteCandidate, _context: &ObjectiveContext) -> f64
fn score(&self, candidate: &NoteCandidate, _context: &ObjectiveContext) -> f64
Evaluate a single candidate.
Source§fn precision(&self, _candidate: &T, _context: &ObjectiveContext) -> f64
fn precision(&self, _candidate: &T, _context: &ObjectiveContext) -> f64
Precision (inverse variance) estimate for the score of a candidate. Read more
Source§fn passes_score(&self, score: f64, context: &ObjectiveContext) -> bool
fn passes_score(&self, score: f64, context: &ObjectiveContext) -> bool
Check if a score passes the threshold. Read more
Source§fn passes(&self, candidate: &T, context: &ObjectiveContext) -> bool
fn passes(&self, candidate: &T, context: &ObjectiveContext) -> bool
Check if a candidate passes the threshold.
Source§fn batch_score(
&self,
candidates: &[T],
context: &ObjectiveContext,
) -> Vec<(usize, f64)>
fn batch_score( &self, candidates: &[T], context: &ObjectiveContext, ) -> Vec<(usize, f64)>
Score a batch of candidates and return the passing
(index, score) pairs. Read moreSource§fn select<'a>(
&self,
candidates: &'a [T],
context: &ObjectiveContext,
) -> Vec<Selection<&'a T>>
fn select<'a>( &self, candidates: &'a [T], context: &ObjectiveContext, ) -> Vec<Selection<&'a T>>
Select candidates from a list, returning all that pass in score-descending order. Read more
Source§fn select_top<'a>(
&self,
candidates: &'a [T],
n: usize,
context: &ObjectiveContext,
) -> Vec<Selection<&'a T>>
fn select_top<'a>( &self, candidates: &'a [T], n: usize, context: &ObjectiveContext, ) -> Vec<Selection<&'a T>>
Select the top N candidates. Read more
Source§impl Objective<NoteCandidate> for RerankerObjective
impl Objective<NoteCandidate> for RerankerObjective
Source§fn score(&self, candidate: &NoteCandidate, _context: &ObjectiveContext) -> f64
fn score(&self, candidate: &NoteCandidate, _context: &ObjectiveContext) -> f64
Evaluate a single candidate.
Source§fn precision(&self, _candidate: &T, _context: &ObjectiveContext) -> f64
fn precision(&self, _candidate: &T, _context: &ObjectiveContext) -> f64
Precision (inverse variance) estimate for the score of a candidate. Read more
Source§fn passes_score(&self, score: f64, context: &ObjectiveContext) -> bool
fn passes_score(&self, score: f64, context: &ObjectiveContext) -> bool
Check if a score passes the threshold. Read more
Source§fn passes(&self, candidate: &T, context: &ObjectiveContext) -> bool
fn passes(&self, candidate: &T, context: &ObjectiveContext) -> bool
Check if a candidate passes the threshold.
Source§fn batch_score(
&self,
candidates: &[T],
context: &ObjectiveContext,
) -> Vec<(usize, f64)>
fn batch_score( &self, candidates: &[T], context: &ObjectiveContext, ) -> Vec<(usize, f64)>
Score a batch of candidates and return the passing
(index, score) pairs. Read moreSource§fn select<'a>(
&self,
candidates: &'a [T],
context: &ObjectiveContext,
) -> Vec<Selection<&'a T>>
fn select<'a>( &self, candidates: &'a [T], context: &ObjectiveContext, ) -> Vec<Selection<&'a T>>
Select candidates from a list, returning all that pass in score-descending order. Read more
Source§fn select_top<'a>(
&self,
candidates: &'a [T],
n: usize,
context: &ObjectiveContext,
) -> Vec<Selection<&'a T>>
fn select_top<'a>( &self, candidates: &'a [T], n: usize, context: &ObjectiveContext, ) -> Vec<Selection<&'a T>>
Select the top N candidates. Read more
Source§impl Objective<NoteCandidate> for RrfFusionObjective
impl Objective<NoteCandidate> for RrfFusionObjective
Source§fn score(&self, candidate: &NoteCandidate, _context: &ObjectiveContext) -> f64
fn score(&self, candidate: &NoteCandidate, _context: &ObjectiveContext) -> f64
Evaluate a single candidate.
Source§fn precision(&self, _candidate: &T, _context: &ObjectiveContext) -> f64
fn precision(&self, _candidate: &T, _context: &ObjectiveContext) -> f64
Precision (inverse variance) estimate for the score of a candidate. Read more
Source§fn passes_score(&self, score: f64, context: &ObjectiveContext) -> bool
fn passes_score(&self, score: f64, context: &ObjectiveContext) -> bool
Check if a score passes the threshold. Read more
Source§fn passes(&self, candidate: &T, context: &ObjectiveContext) -> bool
fn passes(&self, candidate: &T, context: &ObjectiveContext) -> bool
Check if a candidate passes the threshold.
Source§fn batch_score(
&self,
candidates: &[T],
context: &ObjectiveContext,
) -> Vec<(usize, f64)>
fn batch_score( &self, candidates: &[T], context: &ObjectiveContext, ) -> Vec<(usize, f64)>
Score a batch of candidates and return the passing
(index, score) pairs. Read moreSource§fn select<'a>(
&self,
candidates: &'a [T],
context: &ObjectiveContext,
) -> Vec<Selection<&'a T>>
fn select<'a>( &self, candidates: &'a [T], context: &ObjectiveContext, ) -> Vec<Selection<&'a T>>
Select candidates from a list, returning all that pass in score-descending order. Read more
Source§fn select_top<'a>(
&self,
candidates: &'a [T],
n: usize,
context: &ObjectiveContext,
) -> Vec<Selection<&'a T>>
fn select_top<'a>( &self, candidates: &'a [T], n: usize, context: &ObjectiveContext, ) -> Vec<Selection<&'a T>>
Select the top N candidates. Read more
Source§impl Objective<NoteCandidate> for TemporalRecencyObjective
impl Objective<NoteCandidate> for TemporalRecencyObjective
Source§fn score(&self, candidate: &NoteCandidate, _context: &ObjectiveContext) -> f64
fn score(&self, candidate: &NoteCandidate, _context: &ObjectiveContext) -> f64
Evaluate a single candidate.
Source§fn precision(&self, _candidate: &T, _context: &ObjectiveContext) -> f64
fn precision(&self, _candidate: &T, _context: &ObjectiveContext) -> f64
Precision (inverse variance) estimate for the score of a candidate. Read more
Source§fn passes_score(&self, score: f64, context: &ObjectiveContext) -> bool
fn passes_score(&self, score: f64, context: &ObjectiveContext) -> bool
Check if a score passes the threshold. Read more
Source§fn passes(&self, candidate: &T, context: &ObjectiveContext) -> bool
fn passes(&self, candidate: &T, context: &ObjectiveContext) -> bool
Check if a candidate passes the threshold.
Source§fn batch_score(
&self,
candidates: &[T],
context: &ObjectiveContext,
) -> Vec<(usize, f64)>
fn batch_score( &self, candidates: &[T], context: &ObjectiveContext, ) -> Vec<(usize, f64)>
Score a batch of candidates and return the passing
(index, score) pairs. Read moreSource§fn select<'a>(
&self,
candidates: &'a [T],
context: &ObjectiveContext,
) -> Vec<Selection<&'a T>>
fn select<'a>( &self, candidates: &'a [T], context: &ObjectiveContext, ) -> Vec<Selection<&'a T>>
Select candidates from a list, returning all that pass in score-descending order. Read more
Source§fn select_top<'a>(
&self,
candidates: &'a [T],
n: usize,
context: &ObjectiveContext,
) -> Vec<Selection<&'a T>>
fn select_top<'a>( &self, candidates: &'a [T], n: usize, context: &ObjectiveContext, ) -> Vec<Selection<&'a T>>
Select the top N candidates. Read more
Auto Trait Implementations§
impl Freeze for NoteCandidate
impl RefUnwindSafe for NoteCandidate
impl Send for NoteCandidate
impl Sync for NoteCandidate
impl Unpin for NoteCandidate
impl UnsafeUnpin for NoteCandidate
impl UnwindSafe for NoteCandidate
Blanket Implementations§
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
Mutably borrows from an owned value. Read more