The hinge: eleven quiet weeks
The most important stretch of the whole project, and not one line of code was written in it.
Between alter_1 sinking and the specs being written, there’s a gap in the commit history, about eleven weeks with nothing in it. I was mostly on holiday. It’s also, without much competition, the most important stretch of the entire project.
What actually happened. alter_1 hadn’t failed because the code was sloppy. It failed because the code came before any real decision about what the product was. I’d jumped to building a platform without a plan for it. So the fix couldn’t be “code more carefully.” It had to be “make the plan the thing you build against.” Those weeks were spent learning two things on purpose:
- How to make a specification the single source of truth, writing the product down completely enough that building it becomes execution, not discovery (what’s now called spec-driven development, and, crucially, the precondition for letting AI agents build autonomously later: an agent can only be trusted to run on its own if the spec it’s running against is complete and correct).
- The engineering standards to bake into that spec. I don’t come from an app-development background, so rather than hope good architecture would emerge, I went and learned the patterns and conventions, then front-loaded them into the specification itself, so anything built from it would be sound by construction.
Why it’s the hinge. Every distinctive thing about how Alter is built today (the unusually thorough spec suite, the rule that the schemas and decision-records win any conflict, the autonomous agent loop) traces back to a conviction formed in these weeks: front-load the thinking, and the building takes care of itself. It’s the reason the project stopped failing.
Next era: The spec-first turn