pub enum CompressionPlanError {
ExposureGateNotMet {
usage_percent: f64,
trigger_percent: u8,
},
NoActiveMessages,
NotEnoughMessages {
non_system_count: usize,
},
NothingToCompress {
anchor_index: usize,
non_system_count: usize,
},
ProtectedContentExceedsTarget {
projected_tokens: u32,
target_tokens: u32,
},
CandidateSetChanged,
MessageSummaryToolProtocol {
reason: String,
},
EmptyMessageSummary,
SummaryExceedsTarget {
projected_tokens: u32,
target_tokens: u32,
},
}Expand description
Structured reason why a compression plan could not be built.
Variants§
ExposureGateNotMet
The exposure gate (threshold not reached) prevented building.
NoActiveMessages
No active messages in the session.
NotEnoughMessages
Not enough non-system messages to compress (need >=3).
NothingToCompress
Nothing to compress after anchor/keep splitting.
ProtectedContentExceedsTarget
Eligible history was exhausted while protected/recent content still kept the active prompt above the configured post-compression target.
CandidateSetChanged
The session changed after candidate selection and before finalization.
MessageSummaryToolProtocol
Message-only compression must never archive a partial or protected tool chain.
EmptyMessageSummary
A message-only summary may be empty only when no prose is represented.
SummaryExceedsTarget
The real generated summary was larger than the source-derived reserve, so applying the candidate set would miss the post-compression target.
Trait Implementations§
Source§impl Clone for CompressionPlanError
impl Clone for CompressionPlanError
Source§fn clone(&self) -> CompressionPlanError
fn clone(&self) -> CompressionPlanError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more