pub enum ConvergeError {
BudgetExhausted {
kind: String,
},
InvariantViolation {
name: String,
class: InvariantClass,
reason: String,
context: Box<ContextState>,
},
AgentFailed {
agent_id: String,
},
InvalidResume {
reason: String,
},
Conflict {
id: String,
existing: String,
new: String,
context: Box<ContextState>,
},
}Expand description
Top-level error type for Converge operations.
Note: Context is boxed in error variants to keep the error type small,
as recommended by clippy. Access via error.context() method.
Variants§
BudgetExhausted
Budget limit exceeded (cycles, facts, or time).
InvariantViolation
An invariant was violated during execution.
Fields
class: InvariantClassClass of the invariant (Structural, Semantic, Acceptance).
context: Box<ContextState>Final context state (including diagnostic facts). Boxed to reduce error size.
AgentFailed
Suggestor execution failed.
InvalidResume
Invalid HITL gate resume (e.g., gate_id mismatch between decision and pause).
Conflict
Conflicting facts detected for the same ID.
Implementations§
Source§impl ConvergeError
impl ConvergeError
Sourcepub fn context(&self) -> Option<&ContextState>
pub fn context(&self) -> Option<&ContextState>
Returns a reference to the context if this error variant carries one.
Sourcepub fn stop_reason(&self) -> StopReason
pub fn stop_reason(&self) -> StopReason
Convert this error into a platform-level stop reason.
Trait Implementations§
Source§impl Debug for ConvergeError
impl Debug for ConvergeError
Source§impl Display for ConvergeError
impl Display for ConvergeError
Source§impl Error for ConvergeError
impl Error for ConvergeError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl Serialize for ConvergeError
impl Serialize for ConvergeError
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,
Auto Trait Implementations§
impl Freeze for ConvergeError
impl RefUnwindSafe for ConvergeError
impl Send for ConvergeError
impl Sync for ConvergeError
impl Unpin for ConvergeError
impl UnsafeUnpin for ConvergeError
impl UnwindSafe for ConvergeError
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
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.