The problem
A field quietly changes type between UAT and production, and nobody notices until a client crashes on it.
How it works
- 01Fetch specs
- 02Normalise
- 03Diff
- 04Breaking?
- 05Gate
What was hard
- Telling a real breaking change apart from harmless spec noise.
- Reporting who is affected, not just which JSON path changed.
The goal
Breaking changes are caught in the pipeline, before a client finds them.
This is a design I worked out on paper — the problem, the approach and the trade-offs. It is not a shipped product.