use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
pub struct CompressionPolicy {
pub compress_tool_output: bool,
pub log_compression_level: u8,
pub code_preserve: bool,
}
impl Default for CompressionPolicy {
fn default() -> Self {
Self {
compress_tool_output: true,
log_compression_level: 2,
code_preserve: true,
}
}
}
pub fn best_policy_for(_task_class: &str) -> CompressionPolicy {
CompressionPolicy::default()
}
pub fn select_policy(_task_class: &str) -> CompressionPolicy {
CompressionPolicy::default()
}
pub fn record_value_gate_outcome(
_task_class: String,
_policy: CompressionPolicy,
_accepted: bool,
_savings_pct: f64,
) {
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq)]
pub struct PolicyOutcome {
pub task_class: String,
pub policy_used: CompressionPolicy,
pub session_success: Option<bool>,
pub savings_pct: f64,
}