Skip to content
AyoKoding

Artifact: ADR-0005 — Kafka for the Shipment Event Bus

Accepted RFC distilled into a durable ADR -- exercises co-04 and co-06.

ADR-0005: Use Kafka for the Shipment Event Bus

Status: Accepted

Context: the prior in-process queue between Shipment API and Notification Worker had no replay capability, which caused two Notification Worker bugs to require manual data reconciliation instead of a replay.

Decision: Kafka is the shipment event bus, partitioned by shipment_id for per-shipment ordering, with 7-day message retention for replay.

Consequences: SRE owns Kafka cluster operations (on-call runbook: docs/runbooks/kafka.md); Notification Worker consumes via a Kafka consumer group (see ADR-0003's webhook decision for the upstream carrier-status side of this same event bus).

(Full deliberation -- both options' pros/cons, the review log, and the retention-cost discussion -- lives in the RFC, docs/rfcs/2026-02-event-bus.md, linked here for historical record but not required reading to understand the decision itself.)

Last updated July 15, 2026

Command Palette

Search for a command to run...