#[non_exhaustive]pub struct PerHitExplain {
pub id: u64,
pub arm: SoftFallbackBranch,
pub vector_rank: Option<u32>,
pub text_rank: Option<u32>,
pub graph_rank: Option<u32>,
pub fused_score: f64,
pub ce_score: Option<f64>,
pub blended: f64,
pub importance: Option<f64>,
pub confidence: Option<f64>,
}Expand description
0.8.8 EXP-OBS (Slice 5) — per-hit provenance + score breakdown. One entry per
returned SearchHit, same order. *_rank is the 0-based rank the hit’s body
held in that arm’s pre-fusion list (None = absent from that arm).
Derives Clone, Debug, PartialEq but not Eq — scores are f64.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.id: u64The hit’s engine-internal positional write_cursor (the pre-C-2
SearchHit.id). Post-0.8.19 the caller-facing SearchHit.id is a typed
IdSpace; this field keeps carrying the positional cursor so the explain
sidecar cross-references the telemetry result_ids space. Correlate a
PerHitExplain to its SearchHit by position (both lists are 1:1, same
order).
arm: SoftFallbackBranchWinning arm after RRF dedup (vector-first), == SearchHit.branch.
vector_rank: Option<u32>§text_rank: Option<u32>§graph_rank: Option<u32>§fused_score: f64Raw RRF fused score AFTER recency reweight, BEFORE CE blend (the value
ce_rerank normalizes). Faithful to the engine computation — downstream
may normalize. (ADR §A.4 Q1: raw exposed; normalization deferred.)
ce_score: Option<f64>In-pool cross-encoder score sigmoid(ce_logit) ∈ [0,1], == the returned
SearchHit.ce_score; None outside the reranked pool / no-CE path.
blended: f64Final blended score, == the returned SearchHit.score.
importance: Option<f64>0.8.16 Slice 5 / F9 — the node importance scalar applied to this hit’s
fused contribution when the importance reweight is ON, else the raw stored
value. None = never assigned (graceful-absent, ranks NEUTRAL). Additive
(#[non_exhaustive] leaf absorbs the new score component).
confidence: Option<f64>0.8.16 Slice 5 / F9 — the edge confidence scalar applied to this hit’s
graph-arm contribution when the importance reweight is ON, else the raw
stored value. None for node hits / edges without a confidence
(graceful-absent, ranks NEUTRAL).
Trait Implementations§
Source§impl Clone for PerHitExplain
impl Clone for PerHitExplain
Source§fn clone(&self) -> PerHitExplain
fn clone(&self) -> PerHitExplain
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more