I'm a fan human pruning (which you refer to as "write gates").
At this point, I'd argue any "automated memory" is a failure over time. I don't know if I'll be convinced otherwise.
If one were to go full automation, then I'd want generations of what to prune ("I haven't used this memory in a while... "). Actually, that might be useful in your tool as well. "Remove-gates"?
Opened a design issue for this if anyone wants to follow along or weigh in: https://github.com/davegoldblatt/total-recall/issues/2
Agree on human pruning piece for the most part. The system is built on the assumption that the model shouldn't necessarily be trusted to decide what's permanently important.
Remove-gates are a good extension of the same philosophy. Right now /recall-maintain lets you manually review and clean up, but it doesn't proactively surface "hey, you haven't referenced this in two weeks, still relevant?" That would be the natural counterpart to the write gate: system surfaces candidates, human decides.
Am going to think on this, but will likely add. Appreciate you!