Writing and agreeing the specification first, then having an agent implement against it — the spec, not the code, becomes the artifact you maintain.
When generating code is cheap, the expensive step moves upstream to deciding what should exist. Spec-driven work makes that explicit: settle the behaviour, the edge cases, and the definition of done in writing, then let the agent build and rebuild against it.
It also changes what review means. Reviewing a large generated diff is slow and unreliable; reviewing the spec that produced it is fast, and the diff becomes something you verify rather than something you read line by line.