pub enum WeightSignal {
Success {
agent: String,
},
RateLimited {
agent: String,
},
Failed {
agent: String,
},
Blocked,
Rerouted,
None,
}Expand description
Outcome signal for the engine to update router weights.
Returned by the task runner so the engine can feed rate limit and success signals back to the router’s weighted round-robin implementation.
Variants§
Success
Agent completed a task successfully.
RateLimited
Agent hit a rate limit / usage limit.
Failed
The run failed (timeout, no fallback, exhausted agents) and ended in needs_review.
Never read as a completed run, so the no-PR shortcut cannot mark the task done.
Blocked
Task is blocked on child tasks (delegations). Do not trigger review agent.
Rerouted
Task was rerouted (silence detection, timeout, parse error) — reset to new for re-routing. Distinct from None so the engine never converts a silent-reset task into needs_review.
None
No weight-relevant signal (guard skipped task, unrecognised status, etc.)
Trait Implementations§
Source§impl Clone for WeightSignal
impl Clone for WeightSignal
Auto Trait Implementations§
impl Freeze for WeightSignal
impl RefUnwindSafe for WeightSignal
impl Send for WeightSignal
impl Sync for WeightSignal
impl Unpin for WeightSignal
impl UnsafeUnpin for WeightSignal
impl UnwindSafe for WeightSignal
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> 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> 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> ⓘ
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> ⓘ
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 more