Sylvics Apply for the beta
Exception event stream fieldsReference
REFERENCE

Exception event stream fields

πŸ“Œ TL;DR / Quick Summary <div style="background: rgba(0,0,0,0.3); border: 1px dashed rgba(255,255,255,0.2); padding: 15px; border-radius: 8px; color: rgba(255,255,255,0.7); margin-bottom: 30px;"> The fields of the exception event stream as rebuilt after launch night. Fictional product. Written the day after auto-triage came back, from the timeline in πŸ“Œ Write up the launch incident with Priya, while I still knew why each field exists. </div>

πŸ› οΈ Instructions / Core Material

  1. event_id: one per message. Unique, and now actually checked.
  2. exception_id: the exception this event belongs to. Many events, one exception.
  3. shipment_id: what it is about.
  4. type_code: one of the 23 codes.
  5. occurred_at: when it happened in the world.
  6. received_at: when we heard. The gap between 5 and 6 is the delay nobody owns.
  7. source: carrier feed, scan, manual entry or a rule.
  8. dedupe_key: shipment, code and the hour it occurred. New. Two events with the same key are one exception. This field is the whole of the fix.
  9. status: open, acknowledged, resolved, closed untouched.
  10. triaged_by: a rule or a person.
  11. rule_id: which rule, if it was a rule. Empty between 12 and 20 March.
  12. dispatcher_id: whose list it is on.

Used by everything in πŸ“‚ Exceptions Inbox general availability from 20 March on.

⚠️ Key Warnings / Constraints

  • Before 12 March there is no dedupe_key. Do not count exceptions across that date without saying so.
  • occurred_at is in the carrier's local time on two feeds. Mikkel SΓΈrensen has the list of which.
  • Closed untouched is a status, not a failure. Some exceptions resolve themselves, and that is information too.

πŸ”— Related Entities & Resources

  • πŸ“Œ Write up the launch incident with Priya: the timeline these fields were written from
  • πŸ“‚ Exceptions Inbox general availability: the launch that reads this stream
  • Halden Flow exception codes: what the values of the type field mean
  • Incident and rollback playbook: what to do when the stream misbehaves again