pub struct ResilienceConfig {
pub initial_turns: usize,
pub max_turns: usize,
pub min_turns: usize,
pub edit_bonus: usize,
pub idle_penalty: usize,
pub idle_threshold: usize,
pub idle_kill_threshold: usize,
pub max_call_retries: usize,
pub hallucination_read_threshold: usize,
}Expand description
Tunable knobs for the resilience layer of SubAgentTask::execute.
Wired from Config::subagent at the call site; defaults match
SubAgentConfig::default().
Fields§
§initial_turns: usizeStarting per-task turn budget.
max_turns: usizeHard cap regardless of progress signals.
min_turns: usizeMinimum turns to run before honoring budget exhaustion (so a single bad turn can’t end the sub-agent prematurely).
edit_bonus: usizeBudget bonus when a turn produced a successful edit.
idle_penalty: usizeBudget penalty when no_edit_runs ≥ idle_threshold.
idle_threshold: usizeNumber of consecutive no-edit turns before idle penalty applies.
idle_kill_threshold: usizeNumber of consecutive no-edit turns that triggers early kill (NoProgress failure).
max_call_retries: usizeMax in-loop retries for stream-timeout class failures (network).
hallucination_read_threshold: usizeReads of the assigned file (with zero successful edits) that triggers the hallucination nudge.
Trait Implementations§
Source§impl Clone for ResilienceConfig
impl Clone for ResilienceConfig
Source§fn clone(&self) -> ResilienceConfig
fn clone(&self) -> ResilienceConfig
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 ResilienceConfig
impl Debug for ResilienceConfig
Auto Trait Implementations§
impl Freeze for ResilienceConfig
impl RefUnwindSafe for ResilienceConfig
impl Send for ResilienceConfig
impl Sync for ResilienceConfig
impl Unpin for ResilienceConfig
impl UnsafeUnpin for ResilienceConfig
impl UnwindSafe for ResilienceConfig
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,
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 more