lean_ctx/core/
adaptive_policy.rs1use serde::{Deserialize, Serialize};
8
9#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
11pub struct CompressionPolicy {
12 pub compress_tool_output: bool,
13 pub log_compression_level: u8,
14 pub code_preserve: bool,
15}
16
17impl Default for CompressionPolicy {
18 fn default() -> Self {
19 Self {
20 compress_tool_output: true,
21 log_compression_level: 2,
22 code_preserve: true,
23 }
24 }
25}
26
27pub fn best_policy_for(_task_class: &str) -> CompressionPolicy {
30 CompressionPolicy::default()
31}
32
33pub fn select_policy(_task_class: &str) -> CompressionPolicy {
35 CompressionPolicy::default()
36}
37
38pub fn record_value_gate_outcome(
41 _task_class: String,
42 _policy: CompressionPolicy,
43 _accepted: bool,
44 _savings_pct: f64,
45) {
46}
47
48#[derive(Debug, Clone, serde::Serialize, serde::Deserialize, PartialEq)]
50pub struct PolicyOutcome {
51 pub task_class: String,
52 pub policy_used: CompressionPolicy,
53 pub session_success: Option<bool>,
54 pub savings_pct: f64,
55}