Conversational AI assistants store extracted facts from user messages in a long‑term profile store and consult it in later turns. When a user merely expresses an intention, such as "might move to Seattle", the system can mistakenly record it as an established fact, a problem we call speculation contamination. Existing final‑state memory benchmarks only evaluate the end state and therefore miss errors that occur in intermediate, unresolved speculations. We introduce AgentMemGate, a write‑time gating component that classifies each extracted statement into speculation, completed event, correction, or other. Speculative statements are kept out of the memory store until explicit conditions trigger their promotion or deletion. To test the approach we created a multi‑session conversation dataset where plans are confirmed, abandoned, or left unresolved. On a held‑out set of 147 conversations, baseline models Mem0 and Graphiti incorrectly treated 35.2% and 27.3% of pending plans as current facts. With AgentMemGate, contamination on the core benchmark dropped from a maximum of 87.5% to zero and task accuracy rose from 65% to 95%. On a harder held‑out set, gated contamination stayed between 3.4% and 5.7% while accuracy improved by 9 to 13 percentage points. Our analysis shows that field matching remains the main bottleneck: realistic speculations often do not match any profile field and thus bypass the gate. We release the datasets, prompts, and evaluation code.
Review