Most AI systems treat memory like a database: everything goes in, nothing comes out. That works until it doesn't. Agents drown in their own context. Important signals get buried under transient noise. We needed something smarter.
The Problem: Memory Without Forgetting
Strug Recall stores everything our agents learn—architecture decisions, debugging context, task outcomes, system patterns. Early on, we hit a scaling wall. Agents would retrieve dozens of memories per task, many of them stale or irrelevant. Confidence scores alone weren't enough. We needed a way to consolidate: keep what matters, fade what's transient, prune what's obsolete.
The Solution: SleepGate + FTM Decay + Fisher Information Pruning
We borrowed from neuroscience. During sleep, the human brain consolidates memories—replaying important events, pruning weak synapses, moving context from short-term to long-term storage. We built the same thing for agents.
SleepGate triggers when the system is idle. It scans the memory store, identifies high-access, high-confidence entries, and marks them for long-term retention. Everything else enters a decay pipeline.
FTM (Fade-to-Memory) Decay gradually lowers confidence on infrequently accessed memories. If an agent hasn't referenced a piece of context in weeks, it fades. Not deleted—just deprioritized in retrieval.
Fisher Information Pruning calculates the 'importance' of each memory based on how much it influenced past decisions. Low-impact memories get pruned entirely. This keeps the memory store lean and fast.
What Changed
Agents now retrieve fewer, more relevant memories per task. Strug Recall's query latency dropped by ~30%. More importantly, agents stopped getting confused by outdated context. A backend agent fixing a Supabase auth bug no longer pulls up memories from a refactor we completed two months ago.
This runs server-side in our Python orchestration layer. SleepGate checks for idle periods (no active missions or tasks) and triggers consolidation. FTM decay runs nightly. Fisher pruning is opt-in per memory scope—right now we're using it for task-level memories but not global knowledge.
What's Next
We're testing adaptive decay rates—memories that get revisited frequently should decay slower than one-off context. We're also exploring memory replay: during consolidation, the system could re-encode related memories to strengthen connections between them. Think of it as the agent 'dreaming' about related tasks and surfacing hidden patterns.
Longer term, we want user control. If you're using Strug Works, you should be able to pin critical memories, force-prune old context, or adjust decay sensitivity per project. Memory isn't just infrastructure—it's part of how your team learns. We're building the controls to shape that.