pub struct ExtractionRecord {
pub gotcha_key: String,
pub depth: Option<EnrichmentDepth>,
pub file_path: String,
pub created_at: u64,
pub outcome: ExtractionOutcome,
pub outcome_at: Option<u64>,
pub config: ExtractionConfig,
}Expand description
Per-extraction provenance + outcome. One record per enrichment-produced
gotcha, keyed by analytics:extraction:<slug> (slug = the part after
gotcha:).
Fields§
§gotcha_key: String§depth: Option<EnrichmentDepth>Depth tier the agent used during extraction. None when the agent
didn’t tag a depth (e.g. older pre-D2 prompt, or a third-party flow).
file_path: StringFirst affected file (used for directory-scoped aggregation in
mati doctor). Empty when the gotcha had no affected_files.
created_at: u64§outcome: ExtractionOutcome§outcome_at: Option<u64>Unix secs when outcome transitioned from Pending. None while Pending.
config: ExtractionConfigSOTA-γ: which pipeline configuration produced this candidate.
Default::default() (= llm + no_neg) for backward compat with
records written before this field was added.
Implementations§
Source§impl ExtractionRecord
impl ExtractionRecord
Sourcepub fn days_to_outcome(&self) -> Option<i64>
pub fn days_to_outcome(&self) -> Option<i64>
Days between creation and outcome. None while Pending.
Trait Implementations§
Source§impl Clone for ExtractionRecord
impl Clone for ExtractionRecord
Source§fn clone(&self) -> ExtractionRecord
fn clone(&self) -> ExtractionRecord
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 ExtractionRecord
impl Debug for ExtractionRecord
Source§impl<'de> Deserialize<'de> for ExtractionRecord
impl<'de> Deserialize<'de> for ExtractionRecord
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ExtractionRecord
impl PartialEq for ExtractionRecord
Source§fn eq(&self, other: &ExtractionRecord) -> bool
fn eq(&self, other: &ExtractionRecord) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ExtractionRecord
impl Serialize for ExtractionRecord
impl StructuralPartialEq for ExtractionRecord
Auto Trait Implementations§
impl Freeze for ExtractionRecord
impl RefUnwindSafe for ExtractionRecord
impl Send for ExtractionRecord
impl Sync for ExtractionRecord
impl Unpin for ExtractionRecord
impl UnsafeUnpin for ExtractionRecord
impl UnwindSafe for ExtractionRecord
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
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>
Converts
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>
Converts
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)
Converts
&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)
Converts
&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>
Converts
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>
Converts
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