Methodology contract. Tier names and confidence values are locked. We do not rename or remove tiers — new tiers can only be added additively, and would trigger a fresh sprint with downstream consumers updated in lockstep.
Live-observed rows also carry an observed_at ISO timestamp recording the moment a courier API confirmed the price. Rows in other tiers leave this field null.
Backward compatibility. The historical source column has not been renamed, dropped, or overwritten. Consumers still reading the legacy free-text values continue to work. All 23,992 pre-sprint rows were backfilled into the new tier vocabulary; zero rows carry a null tier or confidence.
Machine consumers. The tier vocabulary is emitted verbatim under the provenance block of /api/data/dataset.json and /api/data/sa-courier-pricing-2026.json. The CSV export at /api/data/dataset.csv carries the tier and confidence as columns with a preamble comment.
Canonical URL for this vocabulary: https://deliverai.co.za/methodology