# Schema drift between services: pre-release checklist

Source: https://releasefailures.com/incidents/schema-drift-between-services/
Content version: 1.0.0
Verified on: 2026-10-21
Licence: CC BY 4.0

Definition: Two services expect different versions of a shared schema after one is deployed without the other.
- [ ] PR-01 Run consumer contract tests for each changed internal API against the provider version currently in production, not only the one in the same commit. (test class: Contract tests)
- [ ] PR-02 Fail the merge when an internal service contract changes without a version bump or a backward-compatible fallback. (test class: Contract tests)
- [ ] PR-03 Confirm every routing endpoint a new client SDK calls exists in the deployed version of the service it targets. (test class: Contract tests)
- [ ] PR-04 Compare the deployed version of every service in the release with the release manifest after the deployment job finishes. (test class: Configuration and environment tests)
- [ ] PR-05 Fail the deployment job if any service listed in the manifest was skipped. (test class: Configuration and environment tests)
- [ ] PR-06 Add canary alerts on 400 and 404 response rates for calls between internal services. (test class: Canary and progressive delivery checks)
- [ ] PR-07 Deploy the provider service first and hold the consumer rollout until the provider canary passes. (test class: Canary and progressive delivery checks)
