LaterSame fact, new portCosine similarity with the old note is above 0.85.
ResultRejected as a duplicateOnly the old value can come back.
XERJ, default settings
Day 1Old value storedAs sent.
LaterNew value storedDedup is off unless the write asks for it.
RecallBoth can come backA recency weight puts the new one first.
mcp-memory-service turns semantic dedup on by default, with a 0.85 similarity threshold and a 24 hour window (storage/mixins/base.py). In our run it rejected 4 of the 15 updated facts this way. XERJ skips near duplicates only when a write sets dedup to true, at 0.95.