Corrections and superseded facts
Corrections are new immutable events
Oway never mutates or retracts a body that was already delivered. When shipment information is
corrected, Oway emits a new event of the same type:
- the correction has a new
event_id; supersedescontains the earlier event's ID;datacontains the corrected values;- both records remain independently verifiable and deduplicated.
For example, an arrival time can be corrected:
{
"event_id": "shipment_milestone:01J3B4R6E7Y2V8W4H6K9M1N2P4",
"type": "shipment.arrived_at_pickup",
"supersedes": "shipment_milestone:01J3B4R6E7Y2V8W4H6K9M1N2P3"
}Store facts by event_id and preserve the supersession edge. If your application maintains a
materialized latest view, update it only after the correction is durably stored. Do not delete the
original; it remains part of the audit history.
A delivery retry or manual replay is not a correction: it keeps the same event_id, body, and
supersedes value.
Updated about 3 hours ago
Did this page help you?