Corrections happen automatically
When you save a conversation withmemory/ingest, EDN checks the user’s
message:
- A new fact (“Sara manages the website project.”) is saved as a
USER_STATEDrecord. - A correction (“Actually, Tom manages it now.”) is saved as a new
USER_STATEDrecord and, where it matches an earlier fact, replaces it.
What gets replaced
EDN only replaces a fact when the new statement clearly refers to the same
thing. If it is unsure, it keeps both.
Example:
- The user says “Sara manages the website project.” EDN saves record A
(
USER_STATED). - Later: “Actually, Tom manages the website project now.” EDN saves record B
(
USER_STATED), and A getssuperseded_by: B. - A SIP for “Who manages the website project?” now contains only B. Record A is still listed, so you can see what changed.
Seeing what changed
Thememory/ingest response tells you when a message replaced a fact. In the
example above, saving step 2 returns:
Response
fact.replaces is null when the new fact didn’t replace anything, including
when EDN kept both because it was unsure. Use
GET /api/v1/memory/records/{record_id}/history to see every version of a
fact.
Next steps
Memory records
How replaced records appear.
Provenance
What each source label means.
The SIP
Why replaced records never reach your model.
