diff --git a/nexus/components/memory-optimizer.js b/nexus/components/memory-optimizer.js index d56985fa..9e56c473 100644 --- a/nexus/components/memory-optimizer.js +++ b/nexus/components/memory-optimizer.js @@ -1,13 +1,22 @@ class MemoryOptimizer { constructor(options = {}) { - this.threshold = options.threshold || 0.8; - this.decayRate = options.decayRate || 0.05; + this.threshold = options.threshold || 0.3; + this.decayRate = options.decayRate || 0.01; + this.lastRun = Date.now(); } - optimize(memory) { - console.log('Optimizing memory...'); - // Heuristic-based pruning - return memory.filter(m => m.strength > this.threshold); + optimize(memories) { + const now = Date.now(); + const elapsed = (now - this.lastRun) / 1000; + this.lastRun = now; + + console.log(`Optimizing ${memories.length} memories...`); + + return memories.map(m => { + // Temporal decay: strength drops over time unless reinforced + const decay = m.importance * this.decayRate * elapsed; + return { ...m, strength: Math.max(0, m.strength - decay) }; + }).filter(m => m.strength > this.threshold || m.locked); } } export default MemoryOptimizer;