Cycle step 1 · /sdd intent
Intent Statement — capturing the human WHY
The Intent Statement captures and archives the human intent behind each feature, independently of the specification that derives from it. It is a first-order artifact: it precedes and transcends the SPEC.
Why this artifact exists
Six months from now, when a feature is contested or must be revised, the essential question is not "what does the SPEC say?" but "what did the team want to accomplish, and why?". The SPEC answers the first question. The archived Intent Statement answers the second.
Without this archive, the intent gets lost in the noise of iterations — one of the root causes of intentional debt. The Intent Statement is also a measurable optimisation decision: sessions anchored on an explicit intent consume significantly fewer tokens (R2Code, arXiv 2026: −41.7%; AWS Strands, 2026: −96% on intent-based workflows).
The five mandatory fields
## Intent Statement — [ID] — [Title]
**Human author:** [First name Last name] — [Date]
**WHY NOW**
What changed in the world, in the product, or in the team's
understanding that makes this feature necessary today?
**FOR WHOM**
Which human will see their life change, and how? Be precise about
the person, not the persona.
**OBJECTIVE**
What we are trying to accomplish — stated in terms of impact,
not feature.
**CONSTRAINTS**
What we will not sacrifice — values, quality, ethics, resources.
**DRIFT CRITERION**
How will we know, in 3 months, whether the implementation has
betrayed the initial intent?
[If agent actions have effects outside the code: reversibility
class and stop threshold — see below]
The fifth field — the DRIFT CRITERION — anchors the end-of-iteration check not only on a technical verification (does the code match the SPEC?) but on an intent verification: does the implementation reflect what the human really wanted? It is re-checked at every Drift Lock.
Reversibility class and stop threshold
When the intent involves agent actions with effects outside the code — financial, operational or physical —, the Drift Criterion specifies their reversibility class (AIAD doctrine v1.9):
| Class | Definition |
|---|---|
| Reversible | Can be undone at no cost. |
| Costly to reverse | Can be undone with a loss: money, time, restoring from a backup. |
| Irreversible | Cannot be undone: payment executed, contractual commitment, permanent deletion, physical action on equipment. |
For the irreversible class, the Drift Criterion sets a stop threshold, not a mere tracking indicator: any observed overreach of autonomy — spending beyond the cap, an action outside the delegated scope, an attempt to hide or alter its own traces — triggers an immediate halt of the agent and a human review, not an after-the-fact report.
Providers' billing alerts are designed for human-speed errors: they can lag by up to 24 hours (overspend incidents documented by InfoQ, July 2026). They do not fill the role of a stop threshold.
The associated regulatory checkpoints are detailed in AIAD-AI-ACT, "Agents with irreversible effects" profile. The class declared here is carried over into the SPEC ("Agent execution scope" section) and checked at the Execution Gate — see Agent autonomy.
The Human Authorship rule
The Human author field is mandatory and filled in deliberately — never automatically. If an agent wrote the Intent Statement, the session is invalidated. The Execution Gate cannot be passed without an Intent Statement whose author is human and identifiable.
This tiny friction is intentional: it marks the moment of ownership. The agent may enrich, question, refine — it may not initiate. The human-authorship-check skill enforces this principle on every /sdd intent and /sdd init. See the Human Authorship article.
The /sdd intent command
The command guides the writing of the five fields, checks completeness, then creates the INTENT-NNN-[name].md file in .aiad/intents/ and updates the _index.md index.
It applies the Interrogatory LLM pattern (Fowler, 2026): the agent builds context through targeted questions rather than passively — it interrogates the human to reveal the intent, it does not guess it. When in doubt, it answers JNSP rather than inventing.
| Mode | Behaviour |
|---|---|
--guided | One question at a time, concepts explained, examples offered — for a first use. |
--fast | Inputs expected in one block, direct output — expert mode. |
| (no flag) | Auto-detection based on the maturity of the .aiad/ structure. |
Success indicators
- Intent Statements archived for 100% of major features;
- intent/delivery alignment rate above 80% (measured at the Intent Workshop);
- an identifiable human author on every Intent Statement, 100% of the time.
Anti-patterns
Asking the agent to write the Intent invalidates the session. Authorship of intent cannot be delegated — it is value 7 of the framework, and the direct answer to the human-oversight requirements of the AI Act (art. 14) for high-risk systems.
In code and traceability
Each Intent is referenced by the @intent INTENT-NNN annotation in application code, cross-referenced by the traceability matrix (/sdd trace) with the @spec and @verified-by annotations: the Intent ↔ SPEC ↔ Code ↔ Tests chain becomes machine-verifiable.