// Spec before you generate · lesson 08

The spec as the artifact that outlives everything

Here's the part of speccing that took me longest to appreciate. The spec isn't just an input to the build. It's the one thing about the build that survives everything else. The thread fills up and gets abandoned. The model version changes. The code gets rewritten twice. The spec, if you wrote it down, is still there, still true, still the record of what this thing was supposed to be.

That durability is quietly the highest-value thing a spec gives you. Code tells you what the system does right now. The spec tells you what it was meant to do and why, which is the thing you actually need when you come back to it cold in three months, or hand it to someone else, or ask a fresh model to extend it. A spec is intent, preserved. Everything downstream is just one implementation of that intent, and implementations are cheap and replaceable in a way intent is not.

Why does writing it down matter so much?

Because a spec you kept in your head died when the conversation did. This connects straight to how these models work: the context window is finite and it degrades, so the thread is a terrible place to store anything you need to survive. A spec that lives only in a chat is gone the moment that chat fills up or you open a new one. A spec written to a file is a save point you can reload into any thread, any model, any time. It's the same discipline as externalizing your memory, which is a whole track of its own later, applied to the single most important artifact you produce.

The compounding version

Do this consistently and your specs become a library of preserved intent across everything you've built. New work references old specs. Patterns emerge because you can actually see them. The spec stops being a one-time gate and becomes accumulated, retrievable knowledge, which is the difference between getting better over time and solving the same problem from scratch every session.

The takeaway: the spec outlives the thread, the model, and the code, so write it down, because it's the one artifact that turns a build into something you can return to, hand off, and compound on.