pub struct MemoryPolicy {Show 19 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: 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>,
pub consolidation_enabled: Option<bool>,
pub consolidation_threshold: Option<f32>,
pub consolidation_interval_hours: Option<u32>,
pub consolidated_count: Option<u64>,
pub rate_limit_enabled: Option<bool>,
pub rate_limit_stores_per_minute: Option<u32>,
pub rate_limit_recalls_per_minute: Option<u32>,
pub dedup_on_store: Option<bool>,
pub dedup_threshold: Option<f32>,
}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).
consolidation_enabled: Option<bool>Enable background DBSCAN deduplication for this namespace (default: false).
When true the server merges semantically near-duplicate memories every
consolidation_interval_hours hours.
consolidation_threshold: Option<f32>DBSCAN epsilon — cosine-similarity threshold to consider two memories
duplicates (default: 0.92; higher = only merge very close neighbours).
consolidation_interval_hours: Option<u32>How often (in hours) the background consolidation job runs (default: 24).
consolidated_count: Option<u64>Read-only. Lifetime count of memories merged by the consolidation engine.
The server manages this field; any value sent via set_memory_policy is ignored.
rate_limit_enabled: Option<bool>Enable per-namespace store/recall rate limiting (default: false).
rate_limit_stores_per_minute: Option<u32>Max store operations per minute for this namespace. None = unlimited (default).
rate_limit_recalls_per_minute: Option<u32>Max recall operations per minute for this namespace. None = unlimited (default).
dedup_on_store: Option<bool>Deduplicate against existing memories at store time (CE-10, default: false).
When true the server computes a similarity check before persisting a new
memory and drops it if a near-duplicate already exists (threshold controlled
by dedup_threshold).
dedup_threshold: Option<f32>Cosine-similarity threshold for store-time deduplication (default: 0.92).
Memories with similarity ≥ this value are considered duplicates and the
incoming memory is dropped. Only active when dedup_on_store is true.
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