#[non_exhaustive]pub enum RecallScore {
#[non_exhaustive] Hybrid {
rrf_score: f64,
text_contrib: f64,
vector_contrib: f64,
confidence: f32,
effective_confidence: Option<f32>,
},
#[non_exhaustive] TextOnly {
rank: usize,
bm25_score: f32,
confidence: f32,
effective_confidence: Option<f32>,
},
}Expand description
Per-channel signal breakdown for a recalled fact.
These are the input signals that the retrieval engine used to rank
results — they explain what each channel contributed, not the final
composite ranking score. The result ordering in recall_scored() is
the authoritative ranking; inspect these fields to understand why
a given channel dominated or was weak for a particular fact.
Every variant includes confidence — the fact-level confidence score
from the underlying Fact (default 1.0). This lets callers weight
or filter results by trustworthiness alongside retrieval signals.
The variant indicates which retrieval path produced the result:
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
#[non_exhaustive]Hybrid
Input signals from hybrid retrieval (text + vector channels).
The rrf_score is the pre-rerank RRF fusion score (sum of
text + vector contributions). Final result ordering may differ
because the two-stage reranker applies adaptive weighting and
temporal feasibility filtering on top of these signals.
Fields
This variant is marked as non-exhaustive
#[non_exhaustive]TextOnly
Result from fulltext-only retrieval.
Fields
This variant is marked as non-exhaustive
Implementations§
Source§impl RecallScore
impl RecallScore
Sourcepub fn display_tag(&self) -> String
pub fn display_tag(&self) -> String
Human-readable score tag suitable for debug output or LLM context.
Returns a decimal RRF score "0.032" for hybrid results, or
a BM25 score with rank "#1 bm25:4.21" for text-only results.
Sourcepub fn confidence(&self) -> f32
pub fn confidence(&self) -> f32
The fact-level confidence score, regardless of retrieval path.
Sourcepub fn effective_confidence(&self) -> Option<f32>
pub fn effective_confidence(&self) -> Option<f32>
The effective confidence after uncertainty model processing.
Returns None when uncertainty modeling is disabled. When Some, this
reflects: base_confidence × age_decay × source_weight.
Trait Implementations§
Source§impl Clone for RecallScore
impl Clone for RecallScore
Source§fn clone(&self) -> RecallScore
fn clone(&self) -> RecallScore
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RecallScore
impl Debug for RecallScore
Source§impl PartialEq for RecallScore
impl PartialEq for RecallScore
impl Copy for RecallScore
impl StructuralPartialEq for RecallScore
Auto Trait Implementations§
impl Freeze for RecallScore
impl RefUnwindSafe for RecallScore
impl Send for RecallScore
impl Sync for RecallScore
impl Unpin for RecallScore
impl UnsafeUnpin for RecallScore
impl UnwindSafe for RecallScore
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
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