pub struct ContextManagementConfig {
pub mode: ContextManagementMode,
pub pressure_tokens: Option<u64>,
pub rollover_tokens: Option<u64>,
pub reserve_tokens: u64,
pub finish_rounds: u32,
pub target_tokens: Option<u64>,
}Expand description
Task-aware soft context bands, parsed from context_management.* keys.
Missing thresholds use window-aware defaults (200k: 140k/180k; 1m: 250k/400k). A single override adjusts the other default as necessary to keep pressure below rollover. These settings never override the host’s hard capacity or authorize tools, disclosure, or a session transition.
Fields§
§mode: ContextManagementMode§pressure_tokens: Option<u64>Optional absolute token threshold; auto in config clears the override.
rollover_tokens: Option<u64>Optional absolute token threshold; auto in config clears the override.
reserve_tokens: u64Minimum remaining headroom before any model round. Default: 16,000.
finish_rounds: u32Maximum extra Plan/WrapUp rounds after rollover becomes due. Default: 2. Zero disables extensions; phase reports cannot renew this allowance.
target_tokens: Option<u64>Footprint a rollover successor aims for (system prompt + tool schemas +
retained messages). None/auto = min(100,000, 2/3 of pressure).
An explicit value must be positive and below the pressure threshold.
Implementations§
Source§impl ContextManagementConfig
impl ContextManagementConfig
Trait Implementations§
Source§impl Clone for ContextManagementConfig
impl Clone for ContextManagementConfig
Source§fn clone(&self) -> ContextManagementConfig
fn clone(&self) -> ContextManagementConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ContextManagementConfig
Source§impl Debug for ContextManagementConfig
impl Debug for ContextManagementConfig
Source§impl Default for ContextManagementConfig
impl Default for ContextManagementConfig
Source§fn default() -> ContextManagementConfig
fn default() -> ContextManagementConfig
impl Eq for ContextManagementConfig
Source§impl PartialEq for ContextManagementConfig
impl PartialEq for ContextManagementConfig
impl StructuralPartialEq for ContextManagementConfig
Auto Trait Implementations§
impl Freeze for ContextManagementConfig
impl RefUnwindSafe for ContextManagementConfig
impl Send for ContextManagementConfig
impl Sync for ContextManagementConfig
impl Unpin for ContextManagementConfig
impl UnsafeUnpin for ContextManagementConfig
impl UnwindSafe for ContextManagementConfig
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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