consolidation/
consolidation.rs1use omega_memory::{
4 CosmicMemory, Memory, MemoryContent, MemoryTier,
5};
6
7#[tokio::main]
8async fn main() -> Result<(), Box<dyn std::error::Error>> {
9 println!("š ExoGenesis Omega - Memory Consolidation Demo\n");
10
11 let memory = CosmicMemory::new().await?;
12
13 println!("š Creating memories with varying importance...\n");
15
16 for i in 0..5 {
17 let importance = 0.2 + (i as f64 * 0.2);
18 let mem = Memory::new(
19 MemoryTier::Instant,
20 MemoryContent::Text(format!("Memory #{} with importance {:.1}", i, importance)),
21 vec![i as f32 / 5.0; 4],
22 importance,
23 );
24 memory.store(mem).await?;
25 println!(" Created instant memory #{} (importance: {:.1})", i, importance);
26 }
27
28 println!("\nš Initial statistics:");
29 let stats = memory.stats().await;
30 println!(" Instant: {}", stats.individual.instant);
31 println!(" Session: {}", stats.individual.session);
32 println!(" Episodic: {}", stats.individual.episodic);
33 println!(" Semantic: {}", stats.individual.semantic);
34
35 println!("\nš Running auto-consolidation...");
37 memory.auto_consolidate().await?;
38
39 println!("\nš Post-consolidation statistics:");
40 let stats = memory.stats().await;
41 println!(" Instant: {}", stats.individual.instant);
42 println!(" Session: {}", stats.individual.session);
43 println!(" Episodic: {}", stats.individual.episodic);
44 println!(" Semantic: {}", stats.individual.semantic);
45
46 println!("\nā
High-importance memories were consolidated to higher tiers!");
47
48 Ok(())
49}