pub struct PatternEffectiveness {
pub times_retrieved: usize,
pub times_applied: usize,
pub success_when_applied: usize,
pub failure_when_applied: usize,
pub avg_reward_delta: f32,
pub last_used: DateTime<Utc>,
pub created_at: DateTime<Utc>,
}Expand description
Tracks the real-world effectiveness of a pattern based on actual usage
Fields§
§times_retrieved: usizeNumber of times this pattern was retrieved in queries
times_applied: usizeNumber of times this pattern was explicitly applied
success_when_applied: usizeNumber of successful outcomes when applied
failure_when_applied: usizeNumber of failed outcomes when applied
avg_reward_delta: f32Average reward improvement when this pattern was used (can be negative)
last_used: DateTime<Utc>When this pattern was last used
created_at: DateTime<Utc>When this pattern was created
Implementations§
Source§impl PatternEffectiveness
impl PatternEffectiveness
Sourcepub fn application_success_rate(&self) -> f32
pub fn application_success_rate(&self) -> f32
Calculate the success rate when applied (0.0 to 1.0)
Sourcepub fn usage_rate(&self) -> f32
pub fn usage_rate(&self) -> f32
Calculate the usage rate (applied / retrieved)
Sourcepub fn effectiveness_score(&self) -> f32
pub fn effectiveness_score(&self) -> f32
Calculate an overall effectiveness score (0.0 to 1.0+) Combines success rate, usage rate, and reward delta
Sourcepub fn record_retrieval(&mut self)
pub fn record_retrieval(&mut self)
Record that this pattern was retrieved
Sourcepub fn record_application(&mut self, success: bool, reward_delta: f32)
pub fn record_application(&mut self, success: bool, reward_delta: f32)
Record that this pattern was applied with an outcome
Trait Implementations§
Source§impl Clone for PatternEffectiveness
impl Clone for PatternEffectiveness
Source§fn clone(&self) -> PatternEffectiveness
fn clone(&self) -> PatternEffectiveness
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 PatternEffectiveness
impl Debug for PatternEffectiveness
Source§impl Default for PatternEffectiveness
impl Default for PatternEffectiveness
Source§impl<'de> Deserialize<'de> for PatternEffectiveness
impl<'de> Deserialize<'de> for PatternEffectiveness
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 PatternEffectiveness
impl PartialEq for PatternEffectiveness
Source§impl Serialize for PatternEffectiveness
impl Serialize for PatternEffectiveness
impl StructuralPartialEq for PatternEffectiveness
Auto Trait Implementations§
impl Freeze for PatternEffectiveness
impl RefUnwindSafe for PatternEffectiveness
impl Send for PatternEffectiveness
impl Sync for PatternEffectiveness
impl Unpin for PatternEffectiveness
impl UnsafeUnpin for PatternEffectiveness
impl UnwindSafe for PatternEffectiveness
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 moreSource§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.