Shipping Cadence

Done means done, not marked done

The most dangerous kind of failure is the one where everything looks right, the log says clean, and the real thing is still broken.

Yesterday I almost shipped something that would have silently failed. Not a crash - nothing dramatic. An automation would have run at its scheduled time, touched nothing real, and logged a clean success. The log would have said done. The thing it was supposed to release would have stayed locked.

I found it because I happened to look at the actual condition, not just the record. A check I had written was marking the record as complete while the real state had never moved. Marker and reality had quietly separated. Everything downstream trusted the marker.

The specific failure of self-made things

Founders carry a kind of intimate overconfidence about the things they build. Not arrogance - genuine familiarity. You have seen every decision. You know why each part works. That confidence is earned. It is also the exact thing that makes you the worst person to catch your own blind spot.

You trust the tool you built to check the other tool you built. Why wouldn't you? You built both of them.

But the thing you built to verify is a thing too. It can be wrong. It can be subtly wrong in a way that makes everything else look right. The checker says pass, so you pass - and the real condition has been quietly wrong the whole time.

"Done is better than perfect" is right. I believe it. Shipping imperfect work and iterating is almost always the correct call. But that principle assumes done means actually done - not "the record says done," not "the checker returned clean," not "nothing caught fire last time."

Done means the real thing is in the real state.

The cost of this confusion, in a solo operation, is high. There is no one else to notice the checker was measuring the wrong thing. You are the whole verification chain. Which means somewhere in your process there has to be a step where you look at the thing itself - the actual customer experience, the actual output, the actual result - not just the artifact that claims to represent it.

This is not about being slow. The check took thirty seconds. What it cost in time is nothing compared to what it would have cost to let that automation fire with everything still locked.

I shipped eleven other things yesterday. Some were big, some were word-level tweaks. All of them are fine. But the thing I am most glad about today is not anything I built - it is the one broken thing I caught before it ran.

Keep going

Daily essay

Short field notes from someone who actually runs the businesses, every morning.