pub struct Hit {
pub id: Vec<u8>,
pub episode_id: Vec<u8>,
pub score: f32,
pub text: String,
pub source: String,
pub heading_path: Vec<String>,
pub valid_from: Hlc,
pub valid_to: Option<Hlc>,
pub degraded: bool,
pub rerank_applied: bool,
pub source_op: SourceOp,
}Expand description
Final hydrated retrieval hit returned to the caller.
text + source come from the chunk’s KV row (looked up via
StoragePort::read_as_of in crate::hydrate::hydrate). valid_from /
valid_to come from the chunk’s bi-temporal stamp (so callers can render
“this fact was true on …”).
Fields§
§id: Vec<u8>§episode_id: Vec<u8>16-byte ULID of the parent Episode this chunk was extracted from
(chunk.episode_id), populated during crate::hydrate::hydrate.
In-process provenance channel ONLY: #[serde(skip)] keeps it off the
wire and out of SDK responses (no payload bloat). Exact-key callers
such as WorkingMemory::read use it to recover the VERBATIM Episode
content instead of the lossy, smart-punctuation-rewritten chunk
text. Empty for hits produced outside the main hydration path.
score: f32§text: StringChunk text body — from the chunk’s KV row.
source: StringEpisode source (e.g., helios:fs/notes.md). Empty when the episode
row was not found at hydration time (e.g., since-deleted).
heading_path: Vec<String>Heading path inherited from the chunk. Empty list = root document.
valid_from: Hlc§valid_to: Option<Hlc>§degraded: booltrue when a degraded_fallback operator (Plan 02-03) flipped to a
fallback retriever for this branch. Plumbed through hydration from
RawHit::degraded. Callers can render “stale result” UI off this
flag.
rerank_applied: bool§source_op: SourceOpTrait Implementations§
Source§impl<'de> Deserialize<'de> for Hit
impl<'de> Deserialize<'de> for Hit
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Hit, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Hit, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for Hit
impl Serialize for Hit
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for Hit
impl RefUnwindSafe for Hit
impl Send for Hit
impl Sync for Hit
impl Unpin for Hit
impl UnsafeUnpin for Hit
impl UnwindSafe for Hit
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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