A message shape is a contract with every consumer that exists and every consumer that is mid-deploy. Adding an optional field is safe because an old consumer ignores…
Hand-written validation in a REST callback, when the argument definition can do it and produce documentation at the same time. The argument schema validates before the callback runs,…
A status filter validated with an in: rule listing seven values, which had drifted from the eight the enum defined. The drift is the whole point: any list…
Four years of an API with no version number in the path, because the rule was that nothing incompatible ships. The discipline is cheaper than versioning and it…
Three packages in the same application, each with its own curl wrapper, each with its own idea of what a timeout means. The value is not the abstraction,…
Generated types describe what the specification says, and the specification is a document rather than a runtime guarantee. res.json() returns any and assigning it to a generated type…
A test comparing the full response against a recorded fixture, breaking on an added field that no consumer reads. Additive changes are compatible and a test that fails…