‹ Juan Valentin Alducin Writing
SDDOpenSpecAI-native

Spec-Driven Development: the spec is the source of truth

2026-06-14 · 5 min read

Most "AI-assisted" workflows treat the prompt as the artifact and the code as the truth. I flip that: the spec is the contract, and code is just its current implementation. That single inversion is what makes working with an LLM predictable instead of a slot machine.

The artifact flow

Every change — a feature, a fix, a refactor — walks through versioned artifacts before a line of code is written:

proposal → specs → design → tasks → apply → archive

Why it works

When the spec is explicit, the model isn't guessing intent — it's executing a contract. Reviews stop being "is this what we meant?" and become "does this satisfy the spec?". In practice that shortened my review cycles and let the N1 team resolve incidents autonomously, because the expected behavior is written down, not tribal.

If a change can't be expressed as a spec, it isn't understood well enough to build yet.

How I run it with Claude

I keep the specs in the repo (OpenSpec) and feed them as grounding. The model generates the proposal and spec deltas, I review the spec (not the diff), and only then we implement. Documentation is part of the same change — a change is incomplete if it leaves docs stale. Every project in my portfolio — platform-STALD, Fidello, VoltGrid, Trackion, Monitoreo-Cloud, dataMasterGK — is built this way, 100% SDD/OpenSpec.

Takeaway

Spec-Driven Development isn't ceremony; it's leverage. Write the contract first, let AI execute it, and verify against it. The spec is what survives — the code is replaceable.

Written by Juan Valentin Alducin Vázquez · Get in touch ›