pub struct CompressionGuidelinesConfig {
pub enabled: bool,
pub update_threshold: u16,
pub max_guidelines_tokens: usize,
pub max_pairs_per_update: usize,
pub detection_window_turns: u64,
pub update_interval_secs: u64,
pub max_stored_pairs: usize,
pub guidelines_provider: String,
pub categorized_guidelines: bool,
}Expand description
Configuration for ACON failure-driven compression guidelines.
Fields§
§enabled: boolEnable the feature. Default: false.
update_threshold: u16Minimum unused failure pairs before triggering a guidelines update. Default: 5.
max_guidelines_tokens: usizeMaximum token budget for the guidelines document. Default: 500.
max_pairs_per_update: usizeMaximum failure pairs consumed per update cycle. Default: 10.
detection_window_turns: u64Number of turns after hard compaction to watch for context loss. Default: 10.
update_interval_secs: u64Interval in seconds between background updater checks. Default: 300.
max_stored_pairs: usizeMaximum unused failure pairs to retain (cleanup policy). Default: 100.
guidelines_provider: StringProvider name from [[llm.providers]] for guidelines update LLM calls.
Falls back to the primary provider when empty. Default: "".
categorized_guidelines: boolMaintain separate guideline documents per content category (ACON #2433).
When true, the updater runs an independent update cycle for each content
category that has accumulated enough failure pairs (update_threshold).
Categories with fewer than update_threshold failures are skipped to avoid
unnecessary LLM calls.
Categories: tool_output, assistant_reasoning, user_context, unknown.
Default: false (single global guideline, existing behavior).
Trait Implementations§
Source§impl Clone for CompressionGuidelinesConfig
impl Clone for CompressionGuidelinesConfig
Source§fn clone(&self) -> CompressionGuidelinesConfig
fn clone(&self) -> CompressionGuidelinesConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CompressionGuidelinesConfig
impl Debug for CompressionGuidelinesConfig
Source§impl<'de> Deserialize<'de> for CompressionGuidelinesConfigwhere
CompressionGuidelinesConfig: Default,
impl<'de> Deserialize<'de> for CompressionGuidelinesConfigwhere
CompressionGuidelinesConfig: Default,
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>,
Auto Trait Implementations§
impl Freeze for CompressionGuidelinesConfig
impl RefUnwindSafe for CompressionGuidelinesConfig
impl Send for CompressionGuidelinesConfig
impl Sync for CompressionGuidelinesConfig
impl Unpin for CompressionGuidelinesConfig
impl UnsafeUnpin for CompressionGuidelinesConfig
impl UnwindSafe for CompressionGuidelinesConfig
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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request