pub struct ConsolidationConfig {
pub enabled: bool,
pub consolidation_provider: ProviderName,
pub confidence_threshold: f32,
pub sweep_interval_secs: u64,
pub sweep_batch_size: usize,
pub similarity_threshold: f32,
pub llm_timeout_secs: u64,
pub embed_timeout_secs: u64,
}Expand description
Configuration for the All-Mem lifelong memory consolidation sweep ([memory.consolidation]).
When enabled = true, a background loop periodically clusters semantically similar messages
and merges them into consolidated entries via an LLM call. Originals are never deleted —
they are marked as consolidated and deprioritized in recall via temporal decay.
Fields§
§enabled: boolEnable the consolidation background loop. Default: false.
consolidation_provider: ProviderNameProvider name from [[llm.providers]] for consolidation LLM calls.
Falls back to the primary provider when empty. Default: "".
confidence_threshold: f32Minimum LLM-assigned confidence for a topology op to be applied. Default: 0.7.
sweep_interval_secs: u64How often the background consolidation sweep runs, in seconds. Default: 3600.
sweep_batch_size: usizeMaximum number of messages to evaluate per sweep cycle. Default: 50.
similarity_threshold: f32Minimum cosine similarity for two messages to be considered consolidation candidates.
Default: 0.85.
llm_timeout_secs: u64LLM call timeout per propose_merge_op invocation, in seconds. Default: 30.
embed_timeout_secs: u64Per-call timeout for every embed() invocation in the consolidation sweep, in seconds.
Default: 5.
Trait Implementations§
Source§impl Clone for ConsolidationConfig
impl Clone for ConsolidationConfig
Source§fn clone(&self) -> ConsolidationConfig
fn clone(&self) -> ConsolidationConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more