The version history with diffs helps with that. When you store/update memories, the system tracks changes over time. You can query the timeline to see "what solutions did I already try for X problem?"
The Memory decay approach (tracking access patterns + importance decay) also surfaces this - if you keep accessing the same memory about a bug that never gets resolved, that's a signal.
Not automatic loop detection yet, but the infrastructure is there. Could build a simple heuristic: if similar memory content gets created/updated N times within short timeframe, flag it as potential loop.
The poisoning concern is real. Our design mitigates it somewhat - agents explicitly choose what to store (tool-based, not automatic injection), and you can prune/audit memories.