pub struct ExecutionSignature {
pub episode_id: Uuid,
pub tools: HashSet<String>,
pub error_types: HashSet<String>,
pub step_pattern: StepPattern,
pub total_steps: usize,
pub successful_steps: usize,
pub failed_steps: usize,
pub avg_latency_ms: u64,
}Expand description
Execution signature capturing tool, error, and structure patterns.
Represents the execution characteristics of an episode that can be matched against query signatures for retrieval.
Fields§
§episode_id: UuidEpisode ID this signature belongs to.
tools: HashSet<String>Set of tools used in execution.
error_types: HashSet<String>Error types encountered (normalized).
step_pattern: StepPatternStep success pattern (sequence of success/failure).
total_steps: usizeTotal number of steps.
successful_steps: usizeNumber of successful steps.
failed_steps: usizeNumber of failed steps.
avg_latency_ms: u64Average latency per step (ms).
Implementations§
Source§impl ExecutionSignature
impl ExecutionSignature
Sourcepub fn record_step(&mut self, success: bool)
pub fn record_step(&mut self, success: bool)
Record a step outcome (success/failure).
Sourcepub fn set_avg_latency(&mut self, latency_ms: u64)
pub fn set_avg_latency(&mut self, latency_ms: u64)
Set the average latency.
Sourcepub fn success_rate(&self) -> f32
pub fn success_rate(&self) -> f32
Get success rate (0.0 to 1.0).
Sourcepub fn tool_count(&self) -> usize
pub fn tool_count(&self) -> usize
Get tool count.
Sourcepub fn error_count(&self) -> usize
pub fn error_count(&self) -> usize
Get error count.
Sourcepub fn has_errors(&self) -> bool
pub fn has_errors(&self) -> bool
Check if signature has any errors.
Trait Implementations§
Source§impl Clone for ExecutionSignature
impl Clone for ExecutionSignature
Source§fn clone(&self) -> ExecutionSignature
fn clone(&self) -> ExecutionSignature
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 ExecutionSignature
impl Debug for ExecutionSignature
Source§impl<'de> Deserialize<'de> for ExecutionSignature
impl<'de> Deserialize<'de> for ExecutionSignature
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
Auto Trait Implementations§
impl Freeze for ExecutionSignature
impl RefUnwindSafe for ExecutionSignature
impl Send for ExecutionSignature
impl Sync for ExecutionSignature
impl Unpin for ExecutionSignature
impl UnsafeUnpin for ExecutionSignature
impl UnwindSafe for ExecutionSignature
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>,
impl<T> DeserializeOwnedAlias for Twhere
T: DeserializeOwned,
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 moreimpl<T> SendAlias for T
impl<T> SendAlias for T
impl<T> SendSyncUnwindSafe for Twhere
T: Send + Sync + UnwindSafe + ?Sized,
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
impl<T> SerializeAlias for Twhere
T: Serialize,
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.