pub struct MemoryPolicy {Show 17 fields
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,
pub consolidation_enabled: bool,
pub consolidation_threshold: f32,
pub consolidation_interval_hours: u32,
pub consolidated_count: u64,
pub rate_limit_enabled: bool,
pub rate_limit_stores_per_minute: Option<u32>,
pub rate_limit_recalls_per_minute: Option<u32>,
}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).
consolidation_enabled: boolEnable background deduplication of semantically similar memories (default: false).
consolidation_threshold: f32Cosine-similarity threshold for merging memories (default: 0.92, range 0.85–0.99).
consolidation_interval_hours: u32How often the background consolidation job runs, in hours (default: 24).
consolidated_count: u64Total number of memories merged since namespace creation (read-only).
rate_limit_enabled: boolMaster rate-limit switch (default: false — opt-in to avoid breaking existing clients).
Set to true to enforce rate_limit_stores_per_minute / rate_limit_recalls_per_minute.
rate_limit_stores_per_minute: Option<u32>Maximum POST /v1/memory/store operations per minute for this namespace.
None = unlimited. Only enforced when rate_limit_enabled = true.
rate_limit_recalls_per_minute: Option<u32>Maximum POST /v1/memory/recall operations per minute for this namespace.
None = unlimited. Only enforced when rate_limit_enabled = true.
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