pub struct ForgettingConfig {Show 17 fields
pub enabled: bool,
pub cleanup_interval_seconds: u64,
pub cleanup_batch_size: usize,
pub base_decay_rate: f64,
pub working_decay_multiplier: f64,
pub warm_decay_multiplier: f64,
pub cold_decay_multiplier: f64,
pub importance_decay_factor: f64,
pub max_age_decay_multiplier: f64,
pub enable_reinforcement_learning: bool,
pub learning_rate: f64,
pub min_decay_rate: f64,
pub max_decay_rate: f64,
pub enable_hard_deletion: bool,
pub hard_deletion_threshold: f64,
pub hard_deletion_retention_days: u32,
pub enable_metrics: bool,
}Expand description
Configuration for memory forgetting and decay mechanisms
Fields§
§enabled: boolEnable automatic forgetting cleanup jobs
cleanup_interval_seconds: u64Interval between forgetting cleanup runs in seconds
cleanup_batch_size: usizeBatch size for processing memories during cleanup
base_decay_rate: f64Base decay rate for new memories (research-based default)
working_decay_multiplier: f64Tier-specific decay rate multipliers
warm_decay_multiplier: f64§cold_decay_multiplier: f64§importance_decay_factor: f64Importance-based decay rate adjustment
max_age_decay_multiplier: f64Age-based decay rate scaling (maximum multiplier after 60 days)
enable_reinforcement_learning: boolEnable reinforcement learning for dynamic importance scoring
learning_rate: f64Learning rate for reinforcement learning updates
min_decay_rate: f64Minimum decay rate (prevents memories from becoming permanent)
max_decay_rate: f64Maximum decay rate (prevents immediate forgetting)
enable_hard_deletion: boolEnable cleanup of completely forgotten memories (recall_probability < threshold)
hard_deletion_threshold: f64Threshold for hard deletion of forgotten memories
hard_deletion_retention_days: u32Retention period before hard deletion (days)
enable_metrics: boolEnable performance metrics for forgetting operations
Trait Implementations§
Source§impl Clone for ForgettingConfig
impl Clone for ForgettingConfig
Source§fn clone(&self) -> ForgettingConfig
fn clone(&self) -> ForgettingConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ForgettingConfig
impl Debug for ForgettingConfig
Source§impl Default for ForgettingConfig
impl Default for ForgettingConfig
Source§impl<'de> Deserialize<'de> for ForgettingConfig
impl<'de> Deserialize<'de> for ForgettingConfig
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 ForgettingConfig
impl RefUnwindSafe for ForgettingConfig
impl Send for ForgettingConfig
impl Sync for ForgettingConfig
impl Unpin for ForgettingConfig
impl UnwindSafe for ForgettingConfig
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 more