pub struct RuleExplanation {
pub rule_id: String,
pub rule_type: RuleType,
pub confidence: f64,
pub source_examples: Vec<String>,
pub reasoning: String,
pub pattern_matches: Vec<PatternMatch>,
pub generated_at: DateTime<Utc>,
}Expand description
Rule explanation metadata
Provides information about why and how a rule was generated, including source examples, confidence scores, and reasoning.
Fields§
§rule_id: StringUnique identifier for the rule
rule_type: RuleTypeType of rule
confidence: f64Confidence score (0.0 to 1.0)
source_examples: Vec<String>Source example IDs that triggered rule generation
reasoning: StringHuman-readable reasoning explanation
pattern_matches: Vec<PatternMatch>Pattern matches that contributed to this rule
generated_at: DateTime<Utc>Timestamp when rule was generated
Implementations§
Source§impl RuleExplanation
impl RuleExplanation
Sourcepub fn new(
rule_id: String,
rule_type: RuleType,
confidence: f64,
reasoning: String,
) -> RuleExplanation
pub fn new( rule_id: String, rule_type: RuleType, confidence: f64, reasoning: String, ) -> RuleExplanation
Create a new rule explanation
Sourcepub fn with_source_example(self, example_id: String) -> RuleExplanation
pub fn with_source_example(self, example_id: String) -> RuleExplanation
Add a source example
Sourcepub fn with_pattern_match(self, pattern_match: PatternMatch) -> RuleExplanation
pub fn with_pattern_match(self, pattern_match: PatternMatch) -> RuleExplanation
Add a pattern match
Trait Implementations§
Source§impl Clone for RuleExplanation
impl Clone for RuleExplanation
Source§fn clone(&self) -> RuleExplanation
fn clone(&self) -> RuleExplanation
Returns a duplicate of the value. Read more
1.0.0 · 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 RuleExplanation
impl Debug for RuleExplanation
Source§impl<'de> Deserialize<'de> for RuleExplanation
impl<'de> Deserialize<'de> for RuleExplanation
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<RuleExplanation, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RuleExplanation, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for RuleExplanation
impl Serialize for RuleExplanation
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,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for RuleExplanation
impl RefUnwindSafe for RuleExplanation
impl Send for RuleExplanation
impl Sync for RuleExplanation
impl Unpin for RuleExplanation
impl UnsafeUnpin for RuleExplanation
impl UnwindSafe for RuleExplanation
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,
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