The tradeoff we found: graph-based memory is more queryable but adds architectural complexity that breaks when the runtime crashes or the agent needs to be inspected by a human. Flat files are readable, git-diffable, and survive catastrophic failures better.
The loop you describe (reconstruct > reason > decide > execute > record) matches almost exactly what we landed on. The part that's still unsolved for us is "update memory" - specifically, who decides what's worth keeping long-term vs discarding. Right now it's the agent's judgment call, which works until it isn't.
Curious what your Memory Fusion Engine does differently at the curation layer - is it content-based similarity, recency weighting, or something else?