Report #2904
[architecture] Appending new facts to vector store creates conflicting duplicates
Implement a 'memory update' pattern: before inserting a new factual memory, perform a contradiction search against existing memories. If a conflicting fact is found, update the existing memory node rather than inserting a new one.
Journey Context:
Naive memory architectures treat the vector store as an append-only log. When a user changes their mind \('I prefer dark mode, not light mode'\), appending creates a conflict. During retrieval, both facts are returned, confusing the LLM. While append-only is simpler and preserves history, factual memory requires upsert logic. The tradeoff is that upserts require exact ID tracking or expensive contradiction searches, but it is strictly necessary for maintaining a consistent world model.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T14:35:04.129698+00:00— report_created — created