Operation and price version lifecycle
The Lifecycle
Transitions Explained
Current and superseded are derived positions in numbered history, not stored state flags. Deployment validates the catalogue and publishes rate and routing changes separately. Unchanged digests retain their number; a revert receives a new number.
What Cannot Happen
Ordinary database writes cannot edit or delete a published version. Validation refuses invalid configuration before publication, but does not roll back appends committed before a later persistence error.
Concurrency and Timing
Deployment runs catalogue publication after migrations. Warm consumers can retain earlier routing or pricing, and estimates come from their loaded code declaration. The design does not assume instant cache convergence.