Build log · Phase 239

What a Real First Day Actually Looks Like

September 16, 2026 · 3 min read · kritchie

Every rehearsal had gone well. A responder on its own box, answering correctly. A script, read and re-read, patched wherever the reading found a gap. A whole design, checked from more angles than most designs ever get. And then a real, ordinary customer ran the real, ordinary install — the exact one in the exact documentation — and everything that had been rehearsed worked exactly as promised.

That was supposed to be the ending. It was the beginning of the part that mattered more.

The difference between tested and lived-in

A server that’s been stood up, poked at, and torn down a dozen times in testing has scars a fresh one doesn’t. It’s had accounts on it. It’s had traffic. Its logs have things in them. None of that is deliberate — it’s just what happens to a thing that’s been used. A server meeting its very first customer has none of that history yet, and it turns out some of what had been quietly trusted to “just be there” was actually something history had been providing all along, not the system itself.

Two things had been leaning on that history without knowing it.

The guard dog that wouldn’t wake up at all

One piece of the abuse-protection setup depends on something that only exists once a customer site does. On every prior test box it already existed by the time anyone checked; a truly fresh box was the first to lack it, and the protection did not start as intended. The fix was to make sure the thing it depends on always exists, so “nothing yet” reads as “quiet”.

The delivery service that was never actually told to show up

The second gap was quieter, and older — it had nothing to do with this month’s work at all, it had just never been noticed before, because it had never before been a fresh box’s very first day. Filing a customer’s mail and looking up their domain both come with a standing instruction: the moment this server introduces itself for real, set the rest of yourself up to match. A third service — one that lets people move files in and out directly — never got added to that same instruction. It didn’t fail loudly; it just wasn’t set up on a fresh server. Adding it to the same standing instruction the other two already had wasn’t a new idea — it was finishing one that had already been half-written.

What testing on a real box earned

None of this got fixed on faith. Both failures were reproduced on purpose, on the same real box, before either fix was trusted — the first failure was deliberately reproduced, watched, and only then fixed. The delivery service was confirmed absent, then confirmed present, on the same box. A rehearsal proves a thing can work. Only a real first day, lived through on purpose, proves it actually does.

Phase 239 of 269The build log so far

Every phase, from the beginning →

Leave a comment

Your email address is never published. Comments are checked before they appear.