You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/changelog.adoc
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,12 @@
2
2
3
3
A chronological record of all semantic anchors added to the catalog. Community contributors are credited with thanks.
4
4
5
+
== 2026-05-03
6
+
7
+
*Workflow improvements:*
8
+
9
+
* *Specification workflow restructured* — Step 4 now builds the spec in layers: Persona Use Cases (Cockburn Fully Dressed, User Goal level), System Use Cases (technical interfaces: API, CLI, events, file formats), and Supplementary Specifications (Entity Model, State Machines, Interface Contracts, Validation Rules). Aligned with Martinelli's AIUP distinction between Business and System Use Case Specifications.
Copy file name to clipboardExpand all lines: docs/spec-driven-workflow.adoc
+64-5Lines changed: 64 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -205,6 +205,10 @@ Write a PRD based on our discussion. Save it as src/docs/specs/prd.adoc.
205
205
206
206
=== Step 4: Create Detailed Specification
207
207
208
+
Step 4 builds the specification in layers: from scope discovery (Actor-Goal List) through persona-level use cases to technical system specifications and supplementary models.
209
+
210
+
==== Step 4a: Discover Scope with the Actor-Goal List
211
+
208
212
Start by discovering scope with an ⚓ link:#/anchor/cockburn-use-cases[*Actor-Goal List*]:
209
213
210
214
[source]
@@ -216,11 +220,14 @@ is achieved?" — if yes, it's a User Goal. If not, it's a Subfunction
216
220
(extract only when reused). Save as src/docs/specs/actor-goal-list.adoc.
217
221
----
218
222
219
-
Then generate the full specification from the Actor-Goal List:
223
+
==== Step 4b: Persona Use Cases
224
+
225
+
Generate use cases at User Goal level from the Actor-Goal List.
226
+
These describe what actors want to achieve and how the system responds -- in prose, at a level that stakeholders can review.
220
227
221
228
[source]
222
229
----
223
-
Create a detailed specification from the PRD and Actor-Goal List.
230
+
Create Persona Use Cases from the PRD and Actor-Goal List.
224
231
For each User Goal, write a Use Case in Cockburn's Fully Dressed format:
225
232
- Primary Actor and Stakeholders & Interests
226
233
- Trigger, Preconditions
@@ -257,6 +264,50 @@ These criteria become the foundation for TDD later.
257
264
258
265
Activity Diagrams define flows, error paths, and edge cases visually — the AI can follow them during implementation to cover all branches, not just the happy path.
259
266
267
+
==== Step 4c: System Use Cases
268
+
269
+
Derive System Use Cases from the Persona Use Cases.
270
+
Where Persona Use Cases describe what actors want, System Use Cases describe what the system does at its technical boundaries -- API endpoints, CLI commands, events, file formats.
271
+
272
+
[source]
273
+
----
274
+
Derive System Use Cases from the Persona Use Cases.
275
+
For each system interface (API endpoint, CLI command, event, file format):
276
+
- Trigger and Preconditions (technical: HTTP method, auth token, system state)
277
+
- Input: format, validation rules, constraints
278
+
- Processing: steps the system performs (reference Business Rules)
279
+
- Output: response format, status codes, payload schema
Use EARS syntax (When/While/If/Shall) for individual requirements
283
+
where applicable. Save as src/docs/specs/system-use-cases.adoc.
284
+
----
285
+
286
+
System Use Cases bridge the gap between stakeholder-facing Persona Use Cases and implementation.
287
+
They are the input the AI needs to generate correct API handlers, CLI parsers, and event processors without guessing at technical details.
288
+
289
+
Simon Martinelli's https://unifiedprocess.ai/[AI Unified Process] calls this the move from Business Use Cases to System Use Case Specifications -- the same distinction at a different granularity.
290
+
291
+
==== Step 4d: Supplementary Specifications
292
+
293
+
Not every requirement fits into a use case.
294
+
Create supplementary specifications as needed based on the project type:
295
+
296
+
[source]
297
+
----
298
+
Based on the Use Cases, create supplementary specifications:
|`Create a detailed spec with Use Cases (Trigger, Main Flow, Alternative Flows, Postconditions, Business Rules), Activity Diagrams (all paths), and Gherkin acceptance criteria.`
485
-
|link:#/anchor/gherkin[Gherkin]
534
+
|Persona Use Cases
535
+
|`Create Persona Use Cases in Cockburn's Fully Dressed format (Actor, Trigger, Main Flow, Extensions, Postconditions, Business Rules). Add Activity Diagrams and Gherkin acceptance criteria.`
|`Derive System Use Cases from Persona Use Cases. For each interface: input/validation, processing, output/status codes, error responses. EARS syntax where applicable.`
540
+
|link:#/anchor/ears-requirements[EARS]
541
+
542
+
|Supplementary Specs
543
+
|`Create Entity Model (PlantUML ERD), State Machines, Interface Contracts (DTOs), Validation Rules as needed.`
544
+
|{empty}--
486
545
487
546
|Architecture
488
547
|`Create arc42 docs with PlantUML C4 diagrams based on the spec. Save in src/docs/arc42/.`
Schritt 4 baut die Spezifikation in Schichten auf: von der Scope-Ermittlung (Actor-Goal-Liste) über Use Cases auf Persona-Ebene bis zu technischen System-Spezifikationen und ergänzenden Modellen.
219
+
220
+
==== Schritt 4a: Scope mit der Actor-Goal-Liste ermitteln
221
+
218
222
Zuerst den Scope mit einer ⚓ link:#/anchor/cockburn-use-cases[*Actor-Goal-Liste*] entdecken:
219
223
220
224
[source]
@@ -226,11 +230,14 @@ is achieved?" — if yes, it's a User Goal. If not, it's a Subfunction
226
230
(extract only when reused). Save as src/docs/specs/actor-goal-list.adoc.
227
231
----
228
232
229
-
Dann aus der Actor-Goal-Liste die vollständige Spezifikation generieren:
233
+
==== Schritt 4b: Persona Use Cases
234
+
235
+
Use Cases auf User-Goal-Ebene aus der Actor-Goal-Liste generieren.
236
+
Diese beschreiben, was Akteure erreichen wollen und wie das System reagiert — in Prosa, auf einem Abstraktionsniveau, das Stakeholder reviewen können.
230
237
231
238
[source]
232
239
----
233
-
Create a detailed specification from the PRD and Actor-Goal List.
240
+
Create Persona Use Cases from the PRD and Actor-Goal List.
234
241
For each User Goal, write a Use Case in Cockburn's Fully Dressed format:
235
242
- Primary Actor and Stakeholders & Interests
236
243
- Trigger, Preconditions
@@ -267,6 +274,50 @@ Diese Kriterien werden später die Grundlage für TDD.
267
274
268
275
Activity Diagrams definieren Abläufe, Fehlerpfade und Randfälle visuell — die KI kann ihnen bei der Implementierung folgen, um alle Zweige abzudecken, nicht nur den Happy Path.
269
276
277
+
==== Schritt 4c: System Use Cases
278
+
279
+
System Use Cases aus den Persona Use Cases ableiten.
280
+
Wo Persona Use Cases beschreiben, was Akteure wollen, beschreiben System Use Cases, was das System an seinen technischen Schnittstellen tut — API-Endpunkte, CLI-Befehle, Events, Dateiformate.
281
+
282
+
[source]
283
+
----
284
+
Derive System Use Cases from the Persona Use Cases.
285
+
For each system interface (API endpoint, CLI command, event, file format):
286
+
- Trigger and Preconditions (technical: HTTP method, auth token, system state)
287
+
- Input: format, validation rules, constraints
288
+
- Processing: steps the system performs (reference Business Rules)
289
+
- Output: response format, status codes, payload schema
Use EARS syntax (When/While/If/Shall) for individual requirements
293
+
where applicable. Save as src/docs/specs/system-use-cases.adoc.
294
+
----
295
+
296
+
System Use Cases schließen die Lücke zwischen stakeholder-orientierten Persona Use Cases und der Implementierung.
297
+
Sie sind der Input, den die KI braucht, um korrekte API-Handler, CLI-Parser und Event-Prozessoren zu generieren, ohne technische Details zu erraten.
298
+
299
+
Simon Martinellis https://unifiedprocess.ai/[AI Unified Process] nennt das den Übergang von Business Use Cases zu System Use Case Specifications — dieselbe Unterscheidung auf anderer Granularitätsebene.
300
+
301
+
==== Schritt 4d: Ergänzende Spezifikationen
302
+
303
+
Nicht jede Anforderung passt in einen Use Case.
304
+
Ergänzende Spezifikationen je nach Projekttyp erstellen:
305
+
306
+
[source]
307
+
----
308
+
Based on the Use Cases, create supplementary specifications:
|`Create a detailed spec with Use Cases (Trigger, Main Flow, Alternative Flows, Postconditions, Business Rules), Activity Diagrams (all paths), and Gherkin acceptance criteria.`
502
-
|link:#/anchor/gherkin[Gherkin]
551
+
|Persona Use Cases
552
+
|`Create Persona Use Cases in Cockburn's Fully Dressed format (Actor, Trigger, Main Flow, Extensions, Postconditions, Business Rules). Add Activity Diagrams and Gherkin acceptance criteria.`
|`Derive System Use Cases from Persona Use Cases. For each interface: input/validation, processing, output/status codes, error responses. EARS syntax where applicable.`
557
+
|link:#/anchor/ears-requirements[EARS]
558
+
559
+
|Ergänzende Specs
560
+
|`Create Entity Model (PlantUML ERD), State Machines, Interface Contracts (DTOs), Validation Rules as needed.`
561
+
|{empty}--
503
562
504
563
|Architektur
505
564
|`Create arc42 docs with PlantUML C4 diagrams based on the spec. Save in src/docs/arc42/.`
"template": "When we talk about a \"specification\" or \"spec\", we mean:\n- Use Cases in Cockburn's Fully Dressed format (Primary Actor, Trigger, Main Success Scenario, Extensions, Postconditions) at User Goal level, with Business Rules (BR-IDs)\n- Activity Diagrams for all flows (not just the happy path)\n- Acceptance criteria in Gherkin format (Given/When/Then)\n- Individual requirements in EARS syntax where applicable (When/While/If/Shall)",
10
-
"templateDe": "Wenn wir von einer \"Spezifikation\" oder \"Spec\" sprechen, meinen wir:\n- Use Cases im Cockburn Fully Dressed Format (Primary Actor, Trigger, Main Success Scenario, Extensions, Nachbedingungen) auf User-Goal-Ebene, mit Geschäftsregeln (BR-IDs)\n- Activity Diagrams für alle Abläufe (nicht nur der Happy Path)\n- Akzeptanzkriterien im Gherkin-Format (Given/When/Then)\n- Einzelanforderungen in EARS-Syntax wo passend (When/While/If/Shall)",
9
+
"template": "When we talk about a \"specification\" or \"spec\", we mean:\n- Persona Use Cases in Cockburn's Fully Dressed format (Primary Actor, Trigger, Main Success Scenario, Extensions, Postconditions) at User Goal level, with Business Rules (BR-IDs)\n- System Use Cases for each technical interface (API endpoint, CLI command, event, file format): input/validation, processing, output/status codes, error responses\n- Activity Diagrams for all flows (not just the happy path)\n- Acceptance criteria in Gherkin format (Given/When/Then)\n- Individual requirements in EARS syntax where applicable (When/While/If/Shall)\n- Supplementary Specifications as needed: Entity Model, State Machines, Interface Contracts, Validation Rules",
10
+
"templateDe": "Wenn wir von einer \"Spezifikation\" oder \"Spec\" sprechen, meinen wir:\n- Persona Use Cases im Cockburn Fully Dressed Format (Primary Actor, Trigger, Main Success Scenario, Extensions, Nachbedingungen) auf User-Goal-Ebene, mit Geschäftsregeln (BR-IDs)\n- System Use Cases für jede technische Schnittstelle (API-Endpunkt, CLI-Befehl, Event, Dateiformat): Input/Validierung, Verarbeitung, Output/Statuscodes, Fehlerantworten\n- Activity Diagrams für alle Abläufe (nicht nur der Happy Path)\n- Akzeptanzkriterien im Gherkin-Format (Given/When/Then)\n- Einzelanforderungen in EARS-Syntax wo passend (When/While/If/Shall)\n- Ergänzende Spezifikationen nach Bedarf: Entity Model, State Machines, Interface Contracts, Validierungsregeln",
0 commit comments