pub struct Escalation {
pub max_rungs_per_request: u32,
pub session_promotion: Option<SessionPromotion>,
pub speculation: u32,
pub serve_threshold: Option<f64>,
pub adaptive: Option<AdaptiveConfig>,
pub enforce_structured: bool,
pub bandit: Option<BanditConfig>,
pub speculation_band: Option<[f64; 2]>,
pub exploration: Option<ExplorationConfig>,
}Expand description
Escalation limits and session-level promotion.
Fields§
§max_rungs_per_request: u32Hard ceiling on rungs climbed within one request.
session_promotion: Option<SessionPromotion>Optionally start higher for the rest of a session that keeps failing.
speculation: u32Prefetch depth: fire this many rungs ahead concurrently to trade wasted spend for latency.
0 (default) is serial — one call at a time. The served result is identical either way.
serve_threshold: Option<f64>Calibrated conformal serve threshold: a rung is served iff its aggregate gate score is
>= this value (SPEC §10.1). None (default) keeps the original rule — serve iff the
aggregate gate verdict is Pass — byte-identical to today.
adaptive: Option<AdaptiveConfig>Online/adaptive conformal (Gibbs-Candès ACI): when set, the serve threshold is tracked
live from deferred feedback instead of held fixed, so served-failure stays at target under
distribution shift. None (default) uses the fixed serve_threshold above — byte-identical.
enforce_structured: boolRoute tool-calling / multimodal requests through enforce (ADR 0005). Default true:
agent traffic — the target workload — is gated out of the box. A per-request fidelity
guard still applies: structured content only routes when every ladder rung’s provider
carries it verbatim (Anthropic-dialect today); otherwise the request falls back to
transparent observe passthrough rather than risking corruption. Set false to restore
the pre-ADR-0005 behavior (structured requests always pass through un-gated).
bandit: Option<BanditConfig>UCB1 start-rung bandit: learn which rung to START the ladder on per request context, to
cut expected cost by skipping rungs that almost always fail for this context. None
(default) starts every request at rung 0 — byte-identical to today. Prediction may only
choose where the ladder STARTS; gating, escalation, and serving are untouched.
speculation_band: Option<[f64; 2]>Speculative-deferral band: when set (and the bandit has a warm gate-pass estimate for
the chosen start rung), speculative prefetch fires only when that estimate falls
inside [low, high] — the marginal zone where the next rung is probably but not
certainly needed, which is where parallel spend buys the most latency (speculative
cascades). Outside the band (confident pass or confident fail-through) requests run
serial and the speculative tokens are saved. None (default) = speculation applies
unconditionally, byte-identical to today. No bandit / cold context ⇒ band inapplicable
⇒ configured speculation applies.
exploration: Option<ExplorationConfig>Epsilon-greedy start-rung exploration: randomise a fraction of start-rung choices and
record propensities so IPS/SNIPS off-policy estimates are valid. None (default) →
deterministic policy — byte-identical to today. See ExplorationConfig.
Trait Implementations§
Source§impl Clone for Escalation
impl Clone for Escalation
Source§fn clone(&self) -> Escalation
fn clone(&self) -> Escalation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more