#[derive(Debug, Clone)]
pub struct BeliefRevisionConfig {
pub similarity_threshold: f32,
}
#[derive(Debug, Clone)]
pub struct NoteLinkingConfig {
pub enabled: bool,
pub similarity_threshold: f32,
pub top_k: usize,
pub timeout_secs: u64,
}
impl Default for NoteLinkingConfig {
fn default() -> Self {
Self {
enabled: false,
similarity_threshold: 0.85,
top_k: 10,
timeout_secs: 5,
}
}
}
#[derive(Debug, Clone)]
pub struct ConsolidationConfig {
pub enabled: bool,
pub confidence_threshold: f32,
pub sweep_interval_secs: u64,
pub sweep_batch_size: usize,
pub similarity_threshold: f32,
}
#[derive(Debug, Clone)]
pub struct ForgettingConfig {
pub enabled: bool,
pub decay_rate: f32,
pub forgetting_floor: f32,
pub sweep_interval_secs: u64,
pub sweep_batch_size: usize,
pub replay_window_hours: u32,
pub replay_min_access_count: u32,
pub protect_recent_hours: u32,
pub protect_min_access_count: u32,
}
impl Default for ForgettingConfig {
fn default() -> Self {
Self {
enabled: false,
decay_rate: 0.1,
forgetting_floor: 0.05,
sweep_interval_secs: 7200,
sweep_batch_size: 500,
replay_window_hours: 24,
replay_min_access_count: 3,
protect_recent_hours: 24,
protect_min_access_count: 3,
}
}
}