pub struct FailureRecord {
pub task_type: String,
pub approach_tried: String,
pub error_kind: String,
pub root_cause: Option<String>,
pub resolution: Option<String>,
pub timestamp: String,
pub scope_id: String,
}Expand description
A structured record of a failed attempt.
Every failure logged with full context enables pattern recognition: “3 of the last 5 database failures were timeouts.”
§Example
use pe_core::self_model::FailureRecord;
let record = FailureRecord::new("database_migration", "direct ALTER TABLE")
.with_error_kind("timeout")
.with_root_cause("Table too large for online DDL");
assert_eq!(record.task_type, "database_migration");Fields§
§task_type: StringWhat kind of task was being attempted.
approach_tried: StringWhat approach was tried.
error_kind: StringClassification of the error.
root_cause: Option<String>Root cause analysis (may be empty if unknown).
resolution: Option<String>How it was resolved (may be empty if unresolved).
timestamp: StringISO 8601 timestamp when the failure occurred.
scope_id: StringExecution scope where the failure happened.
Implementations§
Source§impl FailureRecord
impl FailureRecord
Sourcepub fn new(
task_type: impl Into<String>,
approach_tried: impl Into<String>,
) -> Self
pub fn new( task_type: impl Into<String>, approach_tried: impl Into<String>, ) -> Self
Create a new failure record.
Sourcepub fn with_error_kind(self, kind: impl Into<String>) -> Self
pub fn with_error_kind(self, kind: impl Into<String>) -> Self
Set the error classification.
Sourcepub fn with_root_cause(self, cause: impl Into<String>) -> Self
pub fn with_root_cause(self, cause: impl Into<String>) -> Self
Set the root cause.
Sourcepub fn with_resolution(self, resolution: impl Into<String>) -> Self
pub fn with_resolution(self, resolution: impl Into<String>) -> Self
Set the resolution.
Trait Implementations§
Source§impl Clone for FailureRecord
impl Clone for FailureRecord
Source§fn clone(&self) -> FailureRecord
fn clone(&self) -> FailureRecord
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 FailureRecord
impl Debug for FailureRecord
Source§impl<'de> Deserialize<'de> for FailureRecord
impl<'de> Deserialize<'de> for FailureRecord
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 FailureRecord
impl PartialEq for FailureRecord
Source§fn eq(&self, other: &FailureRecord) -> bool
fn eq(&self, other: &FailureRecord) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for FailureRecord
impl Serialize for FailureRecord
impl StructuralPartialEq for FailureRecord
Auto Trait Implementations§
impl Freeze for FailureRecord
impl RefUnwindSafe for FailureRecord
impl Send for FailureRecord
impl Sync for FailureRecord
impl Unpin for FailureRecord
impl UnsafeUnpin for FailureRecord
impl UnwindSafe for FailureRecord
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