memory_supersede
Replace an outdated memory while preserving its history: mark the old entry as superseded and create a linked active entry when a fact changes over time.
Instructions
Replace an outdated memory while keeping history: marks old_id as superseded (kept, and visible via memory_recall with include_history) and inserts a new active memory linked to it. The new entry inherits the old fact_key unless new_fact_key is given. If old_id does not exist, the new memory is still created and oldStatus is 'missing'. Use it when a fact changed over time; to fix a mistake in place use memory_upsert, and to remove a memory use memory_archive or memory_delete. Returns { data: { oldStatus, newId } }.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| old_id | Yes | Id of the memory being replaced. | |
| reason | No | Short note on why the old memory is outdated; stored with the chain. | |
| new_type | No | One of fact, event, preference, relationship, boundary, habit, decision, note. Other values become fact (default). | |
| namespace | No | Memory space to use. Defaults to 'default'. Ignored when the API key is bound to a fixed namespace. | |
| authored_by | No | E-axis signature for the new entry (hand sources only) | |
| new_content | Yes | The up-to-date memory text. | |
| valid_as_of | No | When the new fact became true (ISO date or datetime). | |
| new_fact_key | No | fact_key for the new entry. Defaults to the old entry's fact_key. | |
| response_tendency | No | E-axis: how to respond when the new memory fires |