pub struct ConvergenceSignal<U: StateUpdate> {
pub actual_contribution: f64,
pub surprise: f64,
pub quality: f64,
pub partial_update: U,
}Expand description
Optional convergence signal — nodes can report quality metadata.
Without the matrix layer, only partial_update is used (applied as a normal update).
With the matrix layer, actual_contribution, surprise, and quality guide routing.
Fields§
§actual_contribution: f64How much this node contributed to task completion (0.0 - 1.0)
surprise: f64How unexpected the result was (0.0 = expected, 1.0 = surprise)
quality: f64Output quality estimate for C value update
partial_update: UThe state update to apply. Always used, regardless of matrix mode.
NOTE: #[serde(skip)] — same rationale as InterruptRequest::partial_update.
Applied to state during the engine’s UPDATE phase, already in the checkpoint.
Trait Implementations§
Source§impl<U: Clone + StateUpdate> Clone for ConvergenceSignal<U>
impl<U: Clone + StateUpdate> Clone for ConvergenceSignal<U>
Source§fn clone(&self) -> ConvergenceSignal<U>
fn clone(&self) -> ConvergenceSignal<U>
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<U: Debug + StateUpdate> Debug for ConvergenceSignal<U>
impl<U: Debug + StateUpdate> Debug for ConvergenceSignal<U>
Source§impl<'de, U> Deserialize<'de> for ConvergenceSignal<U>where
U: Default + StateUpdate,
impl<'de, U> Deserialize<'de> for ConvergenceSignal<U>where
U: Default + StateUpdate,
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<U: StateUpdate> Serialize for ConvergenceSignal<U>
impl<U: StateUpdate> Serialize for ConvergenceSignal<U>
Auto Trait Implementations§
impl<U> Freeze for ConvergenceSignal<U>where
U: Freeze,
impl<U> RefUnwindSafe for ConvergenceSignal<U>where
U: RefUnwindSafe,
impl<U> Send for ConvergenceSignal<U>
impl<U> Sync for ConvergenceSignal<U>
impl<U> Unpin for ConvergenceSignal<U>where
U: Unpin,
impl<U> UnsafeUnpin for ConvergenceSignal<U>where
U: UnsafeUnpin,
impl<U> UnwindSafe for ConvergenceSignal<U>where
U: UnwindSafe,
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