Once you have those real world integrations, no spec is ever complete enough. You can have a whole industry agree on decades-old RFCs and still need "but actually" details diffused through every implementation that actually gets used. There is always more detail in implementations than can be specified by any less than the code itself, and it's multiplied by the set of all possibly deployed versions, and again by possible configurations.Fun fact: The most costly incident I ever "caused" was because I fixed a bug in an API to make it match the spec. The affected client escalated and forced me to restore the defect, even though it also affects many other clients.
Working in almost any mature space requires you to be extremely conservative in ways that have always proven difficult to specify.
No comments yet.