pub struct DecayConfig {
pub enabled: bool,
pub base_half_life_secs: f64,
pub decay_shape: f64,
pub min_retention: f64,
pub rehearsal_factor: f64,
}Expand description
Configuration for the Ebbinghaus-inspired memory decay / forgetting curve.
When enabled, older memories are deprioritized during search and dedup via a stretched-exponential retention factor. Memories that are accessed frequently decay more slowly (spaced-repetition effect).
Fields§
§enabled: boolMaster switch. When false (the default), all scoring is unmodified.
base_half_life_secs: f64Base half-life in seconds before any rehearsal bonus. Default: 7 days.
decay_shape: f64Stretched-exponential shape parameter (0 < gamma <= 1). Lower values produce slower initial decay with a steeper tail.
min_retention: f64Minimum retention floor so no memory ever fully vanishes.
rehearsal_factor: f64How much each access (rehearsal) increases memory stability.
Trait Implementations§
Source§impl Clone for DecayConfig
impl Clone for DecayConfig
Source§fn clone(&self) -> DecayConfig
fn clone(&self) -> DecayConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DecayConfig
impl Debug for DecayConfig
Source§impl Default for DecayConfig
impl Default for DecayConfig
Source§impl<'de> Deserialize<'de> for DecayConfig
impl<'de> Deserialize<'de> for DecayConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for DecayConfig
impl RefUnwindSafe for DecayConfig
impl Send for DecayConfig
impl Sync for DecayConfig
impl Unpin for DecayConfig
impl UnsafeUnpin for DecayConfig
impl UnwindSafe for DecayConfig
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
Mutably borrows from an owned value. Read more