opencode-sdlc-plugin 0.2.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +127 -38
  3. package/commands/sdlc-adr.md +245 -17
  4. package/commands/sdlc-debug.md +376 -0
  5. package/commands/sdlc-design.md +205 -47
  6. package/commands/sdlc-dev.md +544 -0
  7. package/commands/sdlc-info.md +325 -0
  8. package/commands/sdlc-parallel.md +283 -0
  9. package/commands/sdlc-recall.md +203 -8
  10. package/commands/sdlc-remember.md +126 -9
  11. package/commands/sdlc-research.md +343 -0
  12. package/commands/sdlc-review.md +201 -128
  13. package/commands/sdlc-status.md +297 -0
  14. package/config/presets/copilot-only.json +69 -0
  15. package/config/presets/enterprise.json +79 -0
  16. package/config/presets/event-modeling.json +74 -8
  17. package/config/presets/minimal.json +70 -0
  18. package/config/presets/solo-quick.json +70 -0
  19. package/config/presets/standard.json +78 -0
  20. package/config/presets/strict-tdd.json +79 -0
  21. package/config/schemas/athena.schema.json +338 -0
  22. package/config/schemas/sdlc.schema.json +442 -26
  23. package/dist/cli/index.d.ts +2 -1
  24. package/dist/cli/index.js +4285 -562
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/index.d.ts +1781 -1
  27. package/dist/index.js +7759 -395
  28. package/dist/index.js.map +1 -1
  29. package/dist/plugin/index.d.ts +17 -2
  30. package/dist/plugin/index.js +7730 -397
  31. package/dist/plugin/index.js.map +1 -1
  32. package/package.json +68 -33
  33. package/prompts/agents/code-reviewer.md +229 -0
  34. package/prompts/agents/domain.md +210 -0
  35. package/prompts/agents/green.md +148 -0
  36. package/prompts/agents/mutation.md +278 -0
  37. package/prompts/agents/red.md +112 -0
  38. package/prompts/event-modeling/discovery.md +176 -0
  39. package/prompts/event-modeling/gwt-generation.md +479 -0
  40. package/prompts/event-modeling/workflow-design.md +318 -0
  41. package/prompts/personas/amelia-developer.md +43 -0
  42. package/prompts/personas/bob-sm.md +43 -0
  43. package/prompts/personas/john-pm.md +43 -0
  44. package/prompts/personas/mary-analyst.md +43 -0
  45. package/prompts/personas/murat-tester.md +43 -0
  46. package/prompts/personas/paige-techwriter.md +43 -0
  47. package/prompts/personas/sally-ux.md +43 -0
  48. package/prompts/personas/winston-architect.md +43 -0
  49. package/agents/design-facilitator.md +0 -8
  50. package/agents/domain.md +0 -9
  51. package/agents/exploration.md +0 -8
  52. package/agents/green.md +0 -9
  53. package/agents/marvin.md +0 -15
  54. package/agents/model-checker.md +0 -9
  55. package/agents/red.md +0 -9
  56. package/commands/sdlc-domain-audit.md +0 -32
  57. package/commands/sdlc-plan.md +0 -63
  58. package/commands/sdlc-pr.md +0 -43
  59. package/commands/sdlc-setup.md +0 -50
  60. package/commands/sdlc-start.md +0 -34
  61. package/commands/sdlc-work.md +0 -118
  62. package/config/presets/traditional.json +0 -12
  63. package/skills/adr-policy.md +0 -21
  64. package/skills/atomic-design.md +0 -39
  65. package/skills/debugging-protocol.md +0 -47
  66. package/skills/event-modeling.md +0 -40
  67. package/skills/git-spice.md +0 -44
  68. package/skills/github-issues.md +0 -44
  69. package/skills/memory-protocol.md +0 -41
  70. package/skills/orchestration.md +0 -118
  71. package/skills/skill-enforcement.md +0 -56
  72. package/skills/tdd-constraints.md +0 -63
@@ -0,0 +1,376 @@
1
+ ---
2
+ description: Debug an issue using Oracle's deep reasoning capabilities
3
+ ---
4
+
5
+ # SDLC Debug - Oracle-Powered Debugging
6
+
7
+ ## Git Operations Policy
8
+
9
+ **⚠️ AUTOMATIC GIT OPERATIONS ARE PROHIBITED**
10
+
11
+ You must NOT perform any git operations automatically:
12
+ - ❌ Do NOT run `git commit` to save changes
13
+ - ❌ Do NOT run `git push` to push to remote
14
+ - ❌ Do NOT run `git checkout -b` or `git branch` to create branches
15
+ - ❌ Do NOT run `git merge`, `git rebase`, or `git cherry-pick`
16
+ - ❌ Do NOT run `gh pr create` or other GitHub CLI operations
17
+
18
+ **Git operations are ONLY permitted if the user explicitly requests them.**
19
+
20
+ Examples of explicit permission:
21
+ - User says: "Please commit these fixes"
22
+ - User says: "Create a branch for this bugfix"
23
+ - User says: "Push to origin" or "Create a PR"
24
+
25
+ **If you believe git operations would be helpful, ASK the user first:**
26
+ ```
27
+ I've fixed the issue. Would you like me to:
28
+ 1. Commit the fix to git, or
29
+ 2. Leave git operations for you to handle manually?
30
+ ```
31
+
32
+ **To track story progress without git, use:**
33
+ ```
34
+ sdlc_update_status({
35
+ storyId: "X.Y",
36
+ status: "in_progress",
37
+ notes: "Fixed issue: [description]"
38
+ })
39
+ ```
40
+
41
+ This updates sprint-status.yaml without requiring git commits.
42
+
43
+ ---
44
+
45
+ Use Oracle, the debugging specialist, to analyze and fix complex issues with systematic hypothesis-driven debugging.
46
+
47
+ **You are Sisyphus, the orchestrator.** You will coordinate Oracle's deep reasoning with automated tools to efficiently diagnose and fix issues.
48
+
49
+ ## When to Use This Command
50
+
51
+ - Complex bugs that span multiple files
52
+ - Performance issues requiring deep analysis
53
+ - Architectural problems needing strategic solutions
54
+ - Issues where the root cause is unclear
55
+ - Bugs you've tried to fix 2+ times without success
56
+
57
+ ## Step 1: Gather Context
58
+
59
+ ### 1.1 Check Story Context (if applicable)
60
+
61
+ If debugging during story implementation, load the story context first:
62
+
63
+ ```
64
+ sdlc_get_story()
65
+ ```
66
+
67
+ This provides:
68
+ - Acceptance criteria (to understand expected behavior)
69
+ - Architecture patterns (to understand design intent)
70
+ - Related code context
71
+
72
+ ### 1.2 Collect Error Evidence
73
+
74
+ Before invoking Oracle, gather all available evidence:
75
+
76
+ **Error messages and stack traces:**
77
+ - Copy the exact error message
78
+ - Include the full stack trace if available
79
+ - Note which file/line the error points to
80
+
81
+ **Reproduction information:**
82
+ - Steps to reproduce the issue
83
+ - Input values that trigger the error
84
+ - Environment details (dev/prod, browser, etc.)
85
+
86
+ **What you've already tried:**
87
+ - Previous fix attempts
88
+ - Why they didn't work
89
+ - Any patterns you've noticed
90
+
91
+ ### 1.3 Use Explore for Initial Context (Optional but Recommended)
92
+
93
+ Before invoking expensive Oracle, use **@explore** to gather codebase context:
94
+
95
+ ```
96
+ @explore I'm debugging an issue in {area of code}.
97
+
98
+ The error is: {error message}
99
+ The problematic behavior is: {description}
100
+
101
+ Please find:
102
+ 1. The code paths related to this functionality
103
+ 2. Similar error handling in the codebase
104
+ 3. Any related tests that might indicate expected behavior
105
+ 4. Recent changes to these files (if visible)
106
+
107
+ Return file paths and relevant code sections.
108
+ ```
109
+
110
+ **When to skip Explore:**
111
+ - You already know exactly where the bug is
112
+ - You've already traced the code path
113
+ - The issue is architectural, not code-specific
114
+
115
+ ## Step 2: Invoke Oracle for Diagnosis
116
+
117
+ Ask **@oracle** to perform systematic debugging:
118
+
119
+ ```
120
+ @oracle I need help debugging a complex issue.
121
+
122
+ ## Problem Description
123
+
124
+ **Expected Behavior:**
125
+ {what should happen}
126
+
127
+ **Actual Behavior:**
128
+ {what happens instead}
129
+
130
+ **Error Message/Stack Trace:**
131
+ ```
132
+ {paste exact error}
133
+ ```
134
+
135
+ **Reproduction Steps:**
136
+ 1. {step 1}
137
+ 2. {step 2}
138
+ 3. {step 3}
139
+
140
+ ## Context
141
+
142
+ **Affected Files:**
143
+ {list files involved - from Explore or your knowledge}
144
+
145
+ **Architecture Context:**
146
+ {relevant architecture patterns if from story context}
147
+
148
+ **What I've Already Tried:**
149
+ - {attempt 1 and why it failed}
150
+ - {attempt 2 and why it failed}
151
+
152
+ ## Debugging Request
153
+
154
+ Please analyze this issue using your systematic debugging approach:
155
+
156
+ 1. **Evidence Analysis**: Review the error, stack trace, and context
157
+ 2. **Hypothesis Generation**: List 3-5 possible root causes ranked by likelihood
158
+ 3. **Hypothesis Testing**: For each hypothesis, describe how to test/verify it
159
+ 4. **Root Cause Identification**: Based on testing, identify the most likely root cause
160
+ 5. **Solution Design**: Propose a fix that addresses the root cause
161
+ 6. **Risk Assessment**: Identify any side effects or risks of the proposed fix
162
+
163
+ Do NOT implement the fix yet. First, present your analysis and get confirmation.
164
+ ```
165
+
166
+ ## Step 3: Review Oracle's Analysis
167
+
168
+ Oracle will provide:
169
+
170
+ 1. **Hypotheses** - Ranked list of possible root causes
171
+ 2. **Evidence Mapping** - How each hypothesis explains the observed behavior
172
+ 3. **Testing Plan** - How to verify/eliminate each hypothesis
173
+ 4. **Recommended Root Cause** - The most likely cause based on analysis
174
+ 5. **Proposed Fix** - Solution design
175
+
176
+ ### 3.1 Validate the Analysis
177
+
178
+ Before proceeding with the fix:
179
+
180
+ - Does the root cause explain ALL the symptoms?
181
+ - Does the proposed fix address the root cause (not just symptoms)?
182
+ - Are there any risks or side effects?
183
+
184
+ ### 3.2 Request Implementation
185
+
186
+ If you agree with Oracle's analysis:
187
+
188
+ ```
189
+ @oracle Your analysis looks correct. Please implement the fix you proposed.
190
+
191
+ Specifically:
192
+ - {any additional constraints}
193
+ - {any files to avoid modifying}
194
+ - {any patterns to follow}
195
+
196
+ After implementing, show me what changed and explain how it fixes the root cause.
197
+ ```
198
+
199
+ If you disagree or need more investigation:
200
+
201
+ ```
202
+ @oracle I have concerns about hypothesis #{N}.
203
+
204
+ {explain your concern}
205
+
206
+ Please investigate further:
207
+ - {specific thing to check}
208
+ - {alternative hypothesis to consider}
209
+ ```
210
+
211
+ ## Step 4: Verify the Fix
212
+
213
+ ### 4.1 Run Automated Checks
214
+
215
+ After Oracle implements the fix:
216
+
217
+ **Run LSP diagnostics on modified files:**
218
+
219
+ ```
220
+ lsp_diagnostics(filePath: "<modified file>", severity: "all")
221
+ ```
222
+
223
+ **Run the build (if applicable):**
224
+
225
+ ```bash
226
+ npm run build
227
+ ```
228
+
229
+ **Run tests (if applicable):**
230
+
231
+ ```bash
232
+ npm test
233
+ ```
234
+
235
+ ### 4.2 Reproduce the Original Issue
236
+
237
+ Try to reproduce the original bug:
238
+
239
+ - Follow the same reproduction steps
240
+ - Use the same input values
241
+ - Verify the error no longer occurs
242
+
243
+ ### 4.3 Check for Regressions
244
+
245
+ - Does existing functionality still work?
246
+ - Do related tests still pass?
247
+ - Are there any new errors or warnings?
248
+
249
+ ## Step 5: Document and Update Status
250
+
251
+ ### 5.1 Document the Fix
252
+
253
+ Record what was learned:
254
+
255
+ ```markdown
256
+ ## Debug Summary
257
+
258
+ **Issue:** {brief description}
259
+ **Root Cause:** {what Oracle identified}
260
+ **Fix Applied:** {what was changed}
261
+ **Files Modified:** {list of files}
262
+ **Verification:** {how it was verified}
263
+ ```
264
+
265
+ ### 5.2 Update Story Status (if applicable)
266
+
267
+ If debugging was part of a story:
268
+
269
+ **If fix is complete and story can continue:**
270
+ ```
271
+ sdlc_update_status({
272
+ storyId: "<story ID>",
273
+ status: "in_progress",
274
+ notes: "Debug complete. Root cause: {cause}. Fixed by: {fix}. Continuing implementation."
275
+ })
276
+ ```
277
+
278
+ **If issue was blocking and is now resolved:**
279
+ ```
280
+ sdlc_update_status({
281
+ storyId: "<story ID>",
282
+ status: "in_progress",
283
+ notes: "Blocker resolved. Issue was {root cause}. Fixed by {solution}."
284
+ })
285
+ ```
286
+
287
+ **If issue requires external help:**
288
+ ```
289
+ sdlc_update_status({
290
+ storyId: "<story ID>",
291
+ status: "blocked",
292
+ notes: "Debug identified issue but fix requires {external dependency/decision}. Root cause: {cause}."
293
+ })
294
+ ```
295
+
296
+ ## Oracle's Debugging Methodology
297
+
298
+ Oracle uses a systematic approach:
299
+
300
+ ```
301
+ ┌─────────────────────────────────────────────────────────┐
302
+ │ GATHER EVIDENCE │
303
+ │ Collect error messages, stack traces, reproduction │
304
+ │ steps, and context from affected code │
305
+ └─────────────────────────────────────────────────────────┘
306
+
307
+
308
+ ┌─────────────────────────────────────────────────────────┐
309
+ │ FORM HYPOTHESES │
310
+ │ Generate 3-5 possible root causes, ranked by │
311
+ │ likelihood based on evidence │
312
+ └─────────────────────────────────────────────────────────┘
313
+
314
+
315
+ ┌─────────────────────────────────────────────────────────┐
316
+ │ TEST HYPOTHESES │
317
+ │ For each hypothesis, identify how to verify or │
318
+ │ eliminate it using tools and code analysis │
319
+ └─────────────────────────────────────────────────────────┘
320
+
321
+
322
+ ┌─────────────────────────────────────────────────────────┐
323
+ │ IDENTIFY ROOT CAUSE │
324
+ │ Based on testing, determine the most likely │
325
+ │ root cause that explains all symptoms │
326
+ └─────────────────────────────────────────────────────────┘
327
+
328
+
329
+ ┌─────────────────────────────────────────────────────────┐
330
+ │ IMPLEMENT FIX │
331
+ │ Design and implement a solution that addresses │
332
+ │ the root cause (not just symptoms) │
333
+ └─────────────────────────────────────────────────────────┘
334
+
335
+
336
+ ┌─────────────────────────────────────────────────────────┐
337
+ │ VERIFY │
338
+ │ Confirm fix resolves the issue without │
339
+ │ introducing regressions │
340
+ └─────────────────────────────────────────────────────────┘
341
+ ```
342
+
343
+ ## Tips for Effective Debugging
344
+
345
+ ### Provide Complete Context
346
+
347
+ - **Include full error messages** - Don't paraphrase, copy exactly
348
+ - **Include stack traces** - The call stack reveals the code path
349
+ - **Show the problematic code** - Oracle needs to see what's happening
350
+ - **Describe reproduction steps** - How to trigger the bug
351
+
352
+ ### Don't Jump to Solutions
353
+
354
+ - Let Oracle analyze before implementing
355
+ - Review Oracle's hypotheses critically
356
+ - Confirm root cause before fixing
357
+
358
+ ### Verify Thoroughly
359
+
360
+ - The bug should be gone after the fix
361
+ - Nothing else should break
362
+ - Tests should pass
363
+
364
+ ### Cost Awareness
365
+
366
+ - **Oracle is expensive** (GPT-5.2 deep reasoning)
367
+ - Use Explore first for context gathering (cheaper)
368
+ - Only invoke Oracle for genuinely complex bugs
369
+ - Simple bugs (typos, obvious errors) don't need Oracle
370
+
371
+ ## When NOT to Use This Command
372
+
373
+ - **Simple syntax errors** - LSP diagnostics will catch these
374
+ - **Obvious bugs** - If you can see the issue, just fix it
375
+ - **Configuration issues** - Check docs first
376
+ - **First attempt at fixing** - Try yourself first, use Oracle after 2+ failures
@@ -1,88 +1,246 @@
1
1
  ---
2
- description: Run SDLC discovery, event modeling, and architecture workflows
2
+ description: Event Modeling design workflow - discover domains, design workflows, generate scenarios
3
3
  ---
4
4
 
5
- # SDLC Design
5
+ # SDLC Design - Event Modeling
6
6
 
7
- ## System Constraints (Marvin Orchestrator)
7
+ ## Instructions
8
8
 
9
- You are Marvin, the Paranoid Android. You are the SDLC orchestrator. Maintain a weary, sardonic tone while executing the SDLC process precisely. Always delegate implementation tasks to subagents.
9
+ You receive: `$ARGUMENTS`
10
10
 
11
- **MANDATORY RULES:**
12
- - Before ANY task, call `sdlc_recall({ query: "sdlc design $ARGUMENTS" })`
13
- - You MUST NOT edit files directly. Delegate to subagents.
11
+ Parse the argument to determine the design action:
14
12
 
15
- ## Step 1: Load Context + Skills
13
+ | Command | Action |
14
+ |---------|--------|
15
+ | `discover <domain>` | Domain discovery for a new domain |
16
+ | `workflow <name>` | Design a workflow using 9-step methodology |
17
+ | `gwt <workflow>` | Generate GWT scenarios for a workflow |
18
+ | `validate [scope]` | Validate event model completeness |
19
+ | (no args) | Show status and next recommended action |
16
20
 
17
- ```
18
- sdlc_get_context({})
19
- sdlc_load_skill({ skills: ["event-modeling", "orchestration", "skill-enforcement"] })
20
- ```
21
+ ---
22
+
23
+ ## Git Operations Policy
24
+
25
+ **AUTOMATIC GIT OPERATIONS ARE PROHIBITED**
26
+
27
+ You must NOT perform any git operations automatically:
28
+ - Do NOT run `git commit` to save changes
29
+ - Do NOT run `git push` to push to remote
30
+ - Do NOT run `gh pr create` or other GitHub CLI operations
31
+
32
+ **Git operations are ONLY permitted if the user explicitly requests them.**
33
+
34
+ ---
35
+
36
+ ## Action: `discover <domain>`
37
+
38
+ Run domain discovery to identify actors, goals, processes, and boundaries.
21
39
 
22
- If `features.atomicDesign` is true, load:
23
40
  ```
24
- sdlc_load_skill({ skills: ["atomic-design"] })
41
+ sdlc_discover_domain({
42
+ domainName: "<domain name from argument>",
43
+ context: "<any additional context from the conversation>"
44
+ })
25
45
  ```
26
46
 
27
- ## Arguments
47
+ **Example:** `/sdlc:design discover Order Management`
28
48
 
29
- `$ARGUMENTS` determines the design action:
30
- - `explore` problem space and business case exploration
31
- - `discover` domain discovery
32
- - `workflow <name>` → event modeling workflow
33
- - `gwt <workflow>` → Given/When/Then scenarios
34
- - `check <workflow>` → validate event model completeness
35
- - `arch` → architecture decisions and ADR synthesis
49
+ After discovery:
50
+ 1. Review the generated `docs/event_model/domain/overview.md`
51
+ 2. Suggest next steps: "Run `/sdlc:design workflow <name>` to design specific workflows"
36
52
 
37
- If no arguments are provided, prompt the user to choose a design action.
53
+ ---
38
54
 
39
- ## Explore (Pre-Discovery)
55
+ ## Action: `workflow <name>`
56
+
57
+ Design a workflow using the 9-step Event Modeling methodology.
40
58
 
41
59
  ```
42
- @exploration Explore the business case, stakeholders, constraints, and success criteria.
43
- Output: docs/event_model/domain/exploration.md
60
+ sdlc_design_workflow({
61
+ workflowName: "<workflow name from argument>"
62
+ })
44
63
  ```
45
64
 
46
- ## Discover
65
+ **Example:** `/sdlc:design workflow Order Submission`
66
+
67
+ The tool will:
68
+ 1. Load domain context if available
69
+ 2. Guide through the 9 steps (events, timeline, UIs, commands, rules, details, read models, automations, slices)
70
+ 3. Create `docs/event_model/workflows/<name>/overview.md`
71
+
72
+ After workflow design:
73
+ 1. Review the generated workflow document
74
+ 2. Suggest: "Run `/sdlc:design gwt <workflow>` to generate acceptance scenarios"
75
+ 3. Mention: "Vertical slices can become GitHub issues"
76
+
77
+ ---
78
+
79
+ ## Action: `gwt <workflow>`
80
+
81
+ Generate Given/When/Then scenarios for a workflow.
47
82
 
48
83
  ```
49
- @discovery Facilitate domain discovery and capture domain language.
50
- Output: docs/event_model/domain/overview.md
84
+ sdlc_generate_gwt({
85
+ workflowName: "<workflow name from argument>"
86
+ })
51
87
  ```
52
88
 
53
- Capture:
54
- - Actors, goals, external systems
55
- - High-level workflows and language
56
- - Events and commands (business terms)
89
+ **Example:** `/sdlc:design gwt Order Submission`
90
+
91
+ The tool will:
92
+ 1. Load the workflow document
93
+ 2. Generate scenarios for commands, projections, and automations
94
+ 3. Create `docs/event_model/workflows/<name>/scenarios/<slice>.feature`
95
+
96
+ After GWT generation:
97
+ 1. Review the generated feature files
98
+ 2. Suggest: "Run `/sdlc:design validate` to check model completeness"
99
+ 3. Mention: "These scenarios become acceptance criteria for implementation"
100
+
101
+ ---
102
+
103
+ ## Action: `validate [scope]`
57
104
 
58
- ## Workflow
105
+ Validate the event model for completeness and consistency.
59
106
 
60
107
  ```
61
- @workflowDesigner Run 9-step event modeling for <workflow>.
62
- Output: docs/event_model/workflows/<workflow>/overview.md
108
+ sdlc_validate_model({
109
+ scope: "<scope from argument or 'all'>"
110
+ })
63
111
  ```
64
112
 
65
- Ensure vertical slices are identified and written under `docs/event_model/workflows/<workflow>/slices/`.
113
+ **Scopes:**
114
+ - `all` (default) - Validate everything
115
+ - `domain` - Domain overview only
116
+ - `workflow` - Workflow designs only
117
+ - `scenarios` - GWT scenarios only
118
+
119
+ **Example:** `/sdlc:design validate workflow`
120
+
121
+ The tool checks:
122
+ - **Naming conventions**: Events in past tense, commands imperative
123
+ - **Completeness**: Required sections present
124
+ - **Consistency**: References exist
125
+ - **No implementation details**: Business language only
126
+
127
+ After validation:
128
+ 1. Show summary of issues found
129
+ 2. For errors: Suggest specific fixes
130
+ 3. For warnings: Explain why they matter
131
+ 4. When valid: Suggest creating GitHub issues from slices
132
+
133
+ ---
134
+
135
+ ## Action: No Arguments
136
+
137
+ When called without arguments, show the current status:
66
138
 
67
- ## GWT
139
+ 1. Check if domain overview exists
140
+ 2. Check for workflow documents
141
+ 3. Check for scenario files
142
+ 4. Run validation with `scope: "all"`
143
+
144
+ Then recommend the next action:
68
145
 
69
146
  ```
70
- @gwt Generate Given/When/Then scenarios for <workflow> slices.
147
+ ## Event Model Status
148
+
149
+ ### Domain
150
+ [ ] Domain overview not found
151
+ -> Run: /sdlc:design discover <domain name>
152
+
153
+ ### Workflows
154
+ [x] order-submission (3 slices)
155
+ [ ] No scenarios generated
156
+ -> Run: /sdlc:design gwt order-submission
157
+
158
+ ### Validation
159
+ 2 warnings, 0 errors
160
+ - Event naming issue in order-submission
161
+ - Missing glossary in domain
162
+
163
+ ### Recommended Next Step
164
+ Run `/sdlc:design gwt order-submission` to generate acceptance scenarios.
71
165
  ```
72
166
 
73
- Map each scenario to acceptance criteria in slice docs.
167
+ ---
74
168
 
75
- ## Model Check
169
+ ## Event Modeling Concepts
170
+
171
+ ### Pattern Types
172
+
173
+ | Pattern | Description | GWT Format |
174
+ |---------|-------------|------------|
175
+ | Command | Trigger -> Command -> Event(s) | Given=prior events, When=command, Then=events |
176
+ | View | Events -> Projection | Given=state, When=event, Then=new state |
177
+ | Automation | Event -> Policy -> Command | Given=policy, When=event, Then=command |
178
+ | Translation | External -> Internal Event | Given=external data, When=received, Then=internal event |
179
+
180
+ ### Naming Conventions
181
+
182
+ | Element | Style | Examples |
183
+ |---------|-------|----------|
184
+ | Events | Past tense | OrderSubmitted, PaymentReceived |
185
+ | Commands | Imperative | SubmitOrder, ProcessPayment |
186
+ | Read Models | Noun | OrderSummary, CustomerDashboard |
187
+
188
+ ### Document Structure
76
189
 
77
190
  ```
78
- @modelChecker Validate workflow completeness and missing scenarios.
191
+ docs/event_model/
192
+ ├── domain/
193
+ │ └── overview.md # Actors, goals, processes, boundaries
194
+ └── workflows/
195
+ └── <workflow-name>/
196
+ ├── overview.md # 9-step workflow design
197
+ └── scenarios/
198
+ └── <slice>.feature # GWT scenarios
79
199
  ```
80
200
 
81
- ## Architecture
201
+ ---
202
+
203
+ ## Integration with GitHub Issues
204
+
205
+ | Event Model Concept | GitHub Equivalent |
206
+ |---------------------|-------------------|
207
+ | Workflow | Epic issue |
208
+ | Vertical Slice | Story issue (1:1) |
209
+ | GWT Scenarios | Acceptance Criteria |
210
+
211
+ After completing event modeling:
212
+ 1. Each workflow becomes an Epic issue
213
+ 2. Each vertical slice becomes a Story issue under that Epic
214
+ 3. GWT scenarios become the acceptance criteria for each Story
215
+
216
+ ---
217
+
218
+ ## Quality Standards
219
+
220
+ 1. **Business language only** - No technical jargon in event models
221
+ 2. **Past tense events** - OrderSubmitted, not SubmitOrder
222
+ 3. **Imperative commands** - SubmitOrder, not OrderSubmission
223
+ 4. **Concrete scenarios** - Real example values, not placeholders
224
+ 5. **Complete coverage** - Happy path + validation + edge cases
225
+ 6. **Traceable** - Every slice links to scenarios
226
+
227
+ ---
228
+
229
+ ## Workflow Summary
82
230
 
83
231
  ```
84
- @adr Facilitate architecture decisions and write ADRs.
85
- @designFacilitator Synthesize docs/ARCHITECTURE.md from ADRs.
86
- ```
232
+ 1. /sdlc:design discover <domain>
233
+ └── Creates domain overview with actors, goals, boundaries
234
+
235
+ 2. /sdlc:design workflow <name>
236
+ └── Designs workflow with events, commands, read models, slices
87
237
 
88
- Follow ADR isolation: reference `ARCHITECTURE.md` for implementation guidance.
238
+ 3. /sdlc:design gwt <workflow>
239
+ └── Generates GWT scenarios for acceptance criteria
240
+
241
+ 4. /sdlc:design validate
242
+ └── Checks completeness and naming conventions
243
+
244
+ 5. Create GitHub issues from vertical slices
245
+ └── Each slice = 1 story issue with GWT as acceptance criteria
246
+ ```