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: Option<String>,
pub episodic_decay: Option<String>,
pub semantic_decay: Option<String>,
pub procedural_decay: Option<String>,
pub spaced_repetition_factor: Option<f64>,
pub spaced_repetition_base_interval_seconds: Option<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.
Used by [DakeraClient::get_memory_policy] and
[DakeraClient::set_memory_policy].
Fields§
§working_ttl_seconds: Option<u64>Default TTL for working memories in seconds (default: 14 400 = 4 h).
episodic_ttl_seconds: Option<u64>Default TTL for episodic memories in seconds (default: 2 592 000 = 30 d).
semantic_ttl_seconds: Option<u64>Default TTL for semantic memories in seconds (default: 31 536 000 = 365 d).
procedural_ttl_seconds: Option<u64>Default TTL for procedural memories in seconds (default: 63 072 000 = 730 d).
working_decay: Option<String>Decay strategy for working memories (default: "exponential").
episodic_decay: Option<String>Decay strategy for episodic memories (default: "power_law").
semantic_decay: Option<String>Decay strategy for semantic memories (default: "logarithmic").
procedural_decay: Option<String>Decay strategy for procedural memories (default: "flat" — no decay).
spaced_repetition_factor: Option<f64>TTL extension multiplier per recall hit (default: 1.0; set to 0.0 to disable).
Extension = access_count × sr_factor × sr_base_interval_seconds.
spaced_repetition_base_interval_seconds: Option<u64>Base interval in seconds for spaced repetition TTL extension (default: 86 400 = 1 d).
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