pub struct MemoryPolicy {
pub working_ttl_seconds: Option<u64>,
pub episodic_ttl_seconds: Option<u64>,
pub semantic_ttl_seconds: Option<u64>,
pub procedural_ttl_seconds: Option<u64>,
pub working_decay: DecayStrategy,
pub episodic_decay: DecayStrategy,
pub semantic_decay: DecayStrategy,
pub procedural_decay: DecayStrategy,
pub spaced_repetition_factor: f64,
pub spaced_repetition_base_interval_seconds: u64,
}Expand description
Per-namespace memory lifecycle policy (COG-1).
Controls type-specific TTLs, decay curves, and spaced repetition behaviour. All fields have sensible defaults; only override what you need.
Fields§
§working_ttl_seconds: Option<u64>Default TTL for working memories in seconds (default: 4 h = 14 400 s).
episodic_ttl_seconds: Option<u64>Default TTL for episodic memories in seconds (default: 30 d = 2 592 000 s).
semantic_ttl_seconds: Option<u64>Default TTL for semantic memories in seconds (default: 365 d = 31 536 000 s).
procedural_ttl_seconds: Option<u64>Default TTL for procedural memories in seconds (default: 730 d = 63 072 000 s).
working_decay: DecayStrategyDecay strategy for working memories (default: exponential).
episodic_decay: DecayStrategyDecay strategy for episodic memories (default: power_law).
semantic_decay: DecayStrategyDecay strategy for semantic memories (default: logarithmic).
procedural_decay: DecayStrategyDecay strategy for procedural memories (default: flat — no decay).
spaced_repetition_factor: f64Multiplier applied to the TTL extension on each recall.
Extension = access_count × sr_factor × sr_base_interval_seconds.
Set to 0.0 to disable spaced repetition. (default: 1.0)
spaced_repetition_base_interval_seconds: u64Base interval in seconds for spaced repetition TTL extension (default: 86 400 = 1 day).
Implementations§
Source§impl MemoryPolicy
impl MemoryPolicy
Sourcepub fn ttl_for_type(&self, memory_type: &MemoryType) -> Option<u64>
pub fn ttl_for_type(&self, memory_type: &MemoryType) -> Option<u64>
Return the configured TTL for the given memory type, in seconds.
Sourcepub fn decay_for_type(&self, memory_type: &MemoryType) -> DecayStrategy
pub fn decay_for_type(&self, memory_type: &MemoryType) -> DecayStrategy
Return the configured decay strategy for the given memory type.
Sourcepub fn spaced_repetition_extension(&self, access_count: u32) -> u64
pub fn spaced_repetition_extension(&self, access_count: u32) -> u64
Compute the spaced repetition TTL extension in seconds.
extension = access_count × sr_factor × sr_base_interval_seconds
Trait Implementations§
Source§impl Clone for MemoryPolicy
impl Clone for MemoryPolicy
Source§fn clone(&self) -> MemoryPolicy
fn clone(&self) -> MemoryPolicy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more