The spec is the unit of work
I write a markdown spec before implementation starts. Not a ticket or a paragraph of intent — a document that names the data model, the failure modes, the interfaces between components, and the cases the result has to handle. It is the artifact I actually author.
Writing it is where the thinking happens. Most of the decisions that determine whether a system holds up get made there, and they get made whether or not you write them down. Writing them down means they get made deliberately, and it means the reasoning survives past the moment.
A spec that is precise enough for an AI tool to implement correctly is, not coincidentally, precise enough for a human engineer to implement correctly. When implementation comes back wrong, the spec was usually ambiguous. That is a fast, honest feedback loop on my own clarity.