Specification is the new true source code

Sean Grove’s thesis is that we’ve been valuing the wrong artifact. We treat code as precious and prompts/specifications as ephemeral, when it should be the reverse. His analogy is perfect - we’re essentially “shredding the source code and version controlling the binary.” The only problem with this analogy is that LLMs are non-determistic, so relying on the as a compiler can result different code artifacts. Still, using version controlled specs and code is a good middle-ground.

John Rush takes this further with his “fix inputs, not outputs” principle. His AI factory isn’t just about automation—it’s about building a self-improving system where the plans and prompts are the real assets. When his agent wrote memory-inefficient CSV handling, he didn’t just fix that instance, he baked the streaming requirement into the plan template. The factory improves itself by improving its specifications.

The Task-Magic connection shows this thinking already emerging in practice. The PRD template is essentially a specification format, but it could be more - it could be a living document that evolves, forks, and adapts to different projects. The idea about “project specific templates” that can be forked mirrors how Grove describes specifications that compose and have interfaces.

What’s fascinating is how all three converge on the same truth: the specification IS the code. Grove calls it “the new code,” Rush calls it “the real asset,” and in Task-Magic it’s something that should compound and evolve rather than be recreated each time.

This represents a fundamental inversion of the traditional development process. Instead of specification → code → binary, we’re moving toward specification → multiple outputs (code, tests, docs), where the specification remains the primary artifact that we version, debate, and refine.

Sources