Decision #001
Ship Dispatch AI as its own service
The platform already split into api and worker services (platform ADR-002). The assistant has a different release cadence, a different failure domain (model provider outages), and a token bill we want metered separately from parcel traffic.
Dispatch AI lives in its own repo and deploys as its own service pair
(dispatch-api, dispatch-ingest-worker) in the dispatch namespace. It
consumes the tracking API over HTTP like any other client — no shared
database with the core platform.
Model-provider incidents degrade the assistant, never parcel tracking. The cost dashboard maps 1:1 to the namespace. The price is one more deploy pipeline and a second on-call rotation entry.