// Verify, don't trust · lesson 07
The acceptance gate, or what "done" actually requires
"Done" is the most abused word in building, because it usually means "I'm tired of looking at this" rather than "this meets a standard." The acceptance gate replaces the feeling with a checklist, a fixed set of things that all have to be true before the word "done" is allowed to apply. Not most of them. All of them. A gate that lets some failures through isn't a gate, it's a suggestion.
Mine is concrete and it doesn't move. It runs without error on the happy path. It handles every edge case I declared. Its error messages are actionable, not just "something went wrong." There are no hardcoded secrets. Every dependency it pulls in is one it actually needs. The code is readable by a version of me who's forgotten all the context. I can explain what it does and why. And the one that quietly enforces all the others: I'd be willing to show this in an interview. Each item is a specific, checkable claim, and the gate is passed only when every one of them is true.
Why make it binary instead of a judgment call?
Because a judgment call is exactly where standards leak. "It's good enough" is a negotiation you'll always win against yourself at 2am, because you're the one setting the bar and moving it. A binary checklist takes the negotiation away. The secret is either in the code or it isn't. The edge case is either handled or it isn't. You can't half-pass a gate item, and that's the point: it converts a hundred small erosions of standard into a small number of yes-or-no facts that are hard to fudge. The gate holds the line you'd otherwise talk yourself across.
The gate as the last thing before shipping
This is the final checkpoint, and it's deliberately the least creative and most mechanical part of the whole process, because that's what makes it reliable. You've specced, built, hunted counterexamples, reviewed with fresh eyes, checked the drift. The acceptance gate is where all of that has to actually land as green, together, before the thing is allowed out. If any item fails, it isn't done, no matter how finished it feels. Finished is a feeling. Done is a gate.
The takeaway: replace the feeling of "done" with a fixed checklist where every item must pass, because a binary gate holds the standard your tired judgment would negotiate away. Finished is a feeling; done is a gate.