siesa-agents 2.1.1 → 2.1.3

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 (145) hide show
  1. package/README.md +83 -83
  2. package/bin/install.js +400 -399
  3. package/bin/prepare-publish.js +26 -26
  4. package/bin/restore-folders.js +26 -26
  5. package/bmad-core/agent-teams/team-all.yaml +15 -15
  6. package/bmad-core/agent-teams/team-fullstack.yaml +19 -19
  7. package/bmad-core/agent-teams/team-ide-minimal.yaml +11 -11
  8. package/bmad-core/agent-teams/team-no-ui.yaml +14 -14
  9. package/bmad-core/agents/analyst.md +84 -84
  10. package/bmad-core/agents/architect.md +94 -94
  11. package/bmad-core/agents/backend-agent.md +189 -189
  12. package/bmad-core/agents/bmad-master.md +110 -110
  13. package/bmad-core/agents/bmad-orchestrator.md +147 -147
  14. package/bmad-core/agents/dev.md +81 -81
  15. package/bmad-core/agents/frontend-agent.md +168 -168
  16. package/bmad-core/agents/pm.md +84 -84
  17. package/bmad-core/agents/po.md +79 -79
  18. package/bmad-core/agents/qa.md +91 -91
  19. package/bmad-core/agents/sm.md +65 -65
  20. package/bmad-core/agents/ux-expert.md +69 -69
  21. package/bmad-core/checklists/architect-checklist.md +440 -440
  22. package/bmad-core/checklists/backend-checklist.md +142 -142
  23. package/bmad-core/checklists/change-checklist.md +184 -184
  24. package/bmad-core/checklists/frontend-checklist.md +105 -105
  25. package/bmad-core/checklists/pm-checklist.md +372 -372
  26. package/bmad-core/checklists/po-master-checklist.md +434 -434
  27. package/bmad-core/checklists/story-dod-checklist.md +96 -96
  28. package/bmad-core/checklists/story-draft-checklist.md +155 -155
  29. package/bmad-core/core-config.yaml +22 -22
  30. package/bmad-core/data/backend-standards.md +439 -439
  31. package/bmad-core/data/bmad-kb.md +809 -809
  32. package/bmad-core/data/brainstorming-techniques.md +38 -38
  33. package/bmad-core/data/elicitation-methods.md +156 -156
  34. package/bmad-core/data/frontend-standards.md +323 -323
  35. package/bmad-core/data/technical-preferences.md +5 -5
  36. package/bmad-core/data/test-levels-framework.md +148 -148
  37. package/bmad-core/data/test-priorities-matrix.md +174 -174
  38. package/bmad-core/enhanced-ide-development-workflow.md +248 -248
  39. package/bmad-core/install-manifest.yaml +230 -230
  40. package/bmad-core/tasks/advanced-elicitation.md +119 -119
  41. package/bmad-core/tasks/apply-qa-fixes.md +150 -150
  42. package/bmad-core/tasks/brownfield-create-epic.md +162 -162
  43. package/bmad-core/tasks/brownfield-create-story.md +149 -149
  44. package/bmad-core/tasks/correct-course.md +72 -72
  45. package/bmad-core/tasks/create-brownfield-story.md +314 -314
  46. package/bmad-core/tasks/create-component.md +102 -102
  47. package/bmad-core/tasks/create-deep-research-prompt.md +280 -280
  48. package/bmad-core/tasks/create-doc.md +103 -103
  49. package/bmad-core/tasks/create-entity.md +132 -132
  50. package/bmad-core/tasks/create-feature.md +90 -90
  51. package/bmad-core/tasks/create-next-story.md +114 -114
  52. package/bmad-core/tasks/create-service.md +117 -117
  53. package/bmad-core/tasks/create-use-case.md +140 -140
  54. package/bmad-core/tasks/document-project.md +345 -345
  55. package/bmad-core/tasks/execute-checklist.md +88 -88
  56. package/bmad-core/tasks/facilitate-brainstorming-session.md +138 -138
  57. package/bmad-core/tasks/generate-ai-frontend-prompt.md +53 -53
  58. package/bmad-core/tasks/index-docs.md +175 -175
  59. package/bmad-core/tasks/kb-mode-interaction.md +77 -77
  60. package/bmad-core/tasks/nfr-assess.md +345 -345
  61. package/bmad-core/tasks/qa-gate.md +163 -163
  62. package/bmad-core/tasks/review-story.md +316 -316
  63. package/bmad-core/tasks/risk-profile.md +355 -355
  64. package/bmad-core/tasks/scaffold-backend.md +110 -110
  65. package/bmad-core/tasks/scaffold-frontend.md +78 -78
  66. package/bmad-core/tasks/shard-doc.md +187 -187
  67. package/bmad-core/tasks/test-design.md +176 -176
  68. package/bmad-core/tasks/trace-requirements.md +266 -266
  69. package/bmad-core/tasks/validate-next-story.md +136 -136
  70. package/bmad-core/templates/architecture-tmpl.yaml +662 -662
  71. package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -156
  72. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -477
  73. package/bmad-core/templates/brownfield-prd-tmpl.yaml +281 -281
  74. package/bmad-core/templates/competitor-analysis-tmpl.yaml +307 -307
  75. package/bmad-core/templates/front-end-architecture-tmpl.yaml +258 -258
  76. package/bmad-core/templates/front-end-spec-tmpl.yaml +350 -350
  77. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -824
  78. package/bmad-core/templates/market-research-tmpl.yaml +253 -253
  79. package/bmad-core/templates/prd-tmpl.yaml +203 -203
  80. package/bmad-core/templates/project-brief-tmpl.yaml +222 -222
  81. package/bmad-core/templates/qa-gate-tmpl.yaml +103 -103
  82. package/bmad-core/templates/story-tmpl.yaml +138 -138
  83. package/bmad-core/user-guide.md +530 -530
  84. package/bmad-core/utils/bmad-doc-template.md +327 -327
  85. package/bmad-core/utils/workflow-management.md +71 -71
  86. package/bmad-core/workflows/brownfield-fullstack.yaml +298 -298
  87. package/bmad-core/workflows/brownfield-service.yaml +188 -188
  88. package/bmad-core/workflows/brownfield-ui.yaml +198 -198
  89. package/bmad-core/workflows/greenfield-fullstack.yaml +241 -241
  90. package/bmad-core/workflows/greenfield-service.yaml +207 -207
  91. package/bmad-core/workflows/greenfield-ui.yaml +236 -236
  92. package/bmad-core/working-in-the-brownfield.md +606 -606
  93. package/claude/commands/BMad/agents/analyst.md +88 -0
  94. package/claude/commands/BMad/agents/architect.md +89 -0
  95. package/claude/commands/BMad/agents/backend.md +188 -0
  96. package/claude/commands/BMad/agents/bmad-master.md +114 -0
  97. package/claude/commands/BMad/agents/bmad-orchestrator.md +151 -0
  98. package/claude/commands/BMad/agents/dev.md +85 -0
  99. package/claude/commands/BMad/agents/frontend.md +151 -0
  100. package/claude/commands/BMad/agents/pm.md +88 -0
  101. package/claude/commands/BMad/agents/po.md +83 -0
  102. package/claude/commands/BMad/agents/qa.md +95 -0
  103. package/claude/commands/BMad/agents/sm.md +69 -0
  104. package/claude/commands/BMad/agents/ux-expert.md +73 -0
  105. package/claude/commands/BMad/tasks/advanced-elicitation.md +123 -0
  106. package/claude/commands/BMad/tasks/apply-qa-fixes.md +154 -0
  107. package/claude/commands/BMad/tasks/brownfield-create-epic.md +166 -0
  108. package/claude/commands/BMad/tasks/brownfield-create-story.md +153 -0
  109. package/claude/commands/BMad/tasks/correct-course.md +76 -0
  110. package/claude/commands/BMad/tasks/create-brownfield-story.md +318 -0
  111. package/claude/commands/BMad/tasks/create-deep-research-prompt.md +284 -0
  112. package/claude/commands/BMad/tasks/create-doc.md +107 -0
  113. package/claude/commands/BMad/tasks/create-next-story.md +118 -0
  114. package/claude/commands/BMad/tasks/document-project.md +349 -0
  115. package/claude/commands/BMad/tasks/execute-checklist.md +92 -0
  116. package/claude/commands/BMad/tasks/facilitate-brainstorming-session.md +142 -0
  117. package/claude/commands/BMad/tasks/generate-ai-frontend-prompt.md +57 -0
  118. package/claude/commands/BMad/tasks/index-docs.md +179 -0
  119. package/claude/commands/BMad/tasks/kb-mode-interaction.md +81 -0
  120. package/claude/commands/BMad/tasks/nfr-assess.md +349 -0
  121. package/claude/commands/BMad/tasks/qa-gate.md +167 -0
  122. package/claude/commands/BMad/tasks/review-story.md +320 -0
  123. package/claude/commands/BMad/tasks/risk-profile.md +359 -0
  124. package/claude/commands/BMad/tasks/shard-doc.md +191 -0
  125. package/claude/commands/BMad/tasks/test-design.md +180 -0
  126. package/claude/commands/BMad/tasks/trace-requirements.md +270 -0
  127. package/claude/commands/BMad/tasks/validate-next-story.md +140 -0
  128. package/claude/settings.local.json +20 -0
  129. package/github/b-mad-expert.md +742 -742
  130. package/github/chatmodes/analyst.chatmode.md +89 -89
  131. package/github/chatmodes/architect.chatmode.md +97 -97
  132. package/github/chatmodes/backend.chatmode.md +194 -194
  133. package/github/chatmodes/bmad-master.chatmode.md +115 -115
  134. package/github/chatmodes/bmad-orchestrator.chatmode.md +152 -152
  135. package/github/chatmodes/dev.chatmode.md +86 -86
  136. package/github/chatmodes/frontend.chatmode.md +157 -157
  137. package/github/chatmodes/pm.chatmode.md +89 -89
  138. package/github/chatmodes/po.chatmode.md +84 -84
  139. package/github/chatmodes/qa.chatmode.md +96 -96
  140. package/github/chatmodes/sm.chatmode.md +70 -70
  141. package/github/chatmodes/ux-expert.chatmode.md +74 -74
  142. package/index.js +9 -9
  143. package/package.json +37 -36
  144. package/vscode/mcp.json +11 -11
  145. package/vscode/settings.json +12 -12
@@ -0,0 +1,349 @@
1
+ # /nfr-assess Task
2
+
3
+ When this command is used, execute the following task:
4
+
5
+ <!-- Powered by BMAD™ Core -->
6
+
7
+ # nfr-assess
8
+
9
+ Quick NFR validation focused on the core four: security, performance, reliability, maintainability.
10
+
11
+ ## Inputs
12
+
13
+ ```yaml
14
+ required:
15
+ - story_id: '{epic}.{story}' # e.g., "1.3"
16
+ - story_path: `bmad-core/core-config.yaml` for the `devStoryLocation`
17
+
18
+ optional:
19
+ - architecture_refs: `bmad-core/core-config.yaml` for the `architecture.architectureFile`
20
+ - technical_preferences: `bmad-core/core-config.yaml` for the `technicalPreferences`
21
+ - acceptance_criteria: From story file
22
+ ```
23
+
24
+ ## Purpose
25
+
26
+ Assess non-functional requirements for a story and generate:
27
+
28
+ 1. YAML block for the gate file's `nfr_validation` section
29
+ 2. Brief markdown assessment saved to `qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md`
30
+
31
+ ## Process
32
+
33
+ ### 0. Fail-safe for Missing Inputs
34
+
35
+ If story_path or story file can't be found:
36
+
37
+ - Still create assessment file with note: "Source story not found"
38
+ - Set all selected NFRs to CONCERNS with notes: "Target unknown / evidence missing"
39
+ - Continue with assessment to provide value
40
+
41
+ ### 1. Elicit Scope
42
+
43
+ **Interactive mode:** Ask which NFRs to assess
44
+ **Non-interactive mode:** Default to core four (security, performance, reliability, maintainability)
45
+
46
+ ```text
47
+ Which NFRs should I assess? (Enter numbers or press Enter for default)
48
+ [1] Security (default)
49
+ [2] Performance (default)
50
+ [3] Reliability (default)
51
+ [4] Maintainability (default)
52
+ [5] Usability
53
+ [6] Compatibility
54
+ [7] Portability
55
+ [8] Functional Suitability
56
+
57
+ > [Enter for 1-4]
58
+ ```
59
+
60
+ ### 2. Check for Thresholds
61
+
62
+ Look for NFR requirements in:
63
+
64
+ - Story acceptance criteria
65
+ - `docs/architecture/*.md` files
66
+ - `docs/technical-preferences.md`
67
+
68
+ **Interactive mode:** Ask for missing thresholds
69
+ **Non-interactive mode:** Mark as CONCERNS with "Target unknown"
70
+
71
+ ```text
72
+ No performance requirements found. What's your target response time?
73
+ > 200ms for API calls
74
+
75
+ No security requirements found. Required auth method?
76
+ > JWT with refresh tokens
77
+ ```
78
+
79
+ **Unknown targets policy:** If a target is missing and not provided, mark status as CONCERNS with notes: "Target unknown"
80
+
81
+ ### 3. Quick Assessment
82
+
83
+ For each selected NFR, check:
84
+
85
+ - Is there evidence it's implemented?
86
+ - Can we validate it?
87
+ - Are there obvious gaps?
88
+
89
+ ### 4. Generate Outputs
90
+
91
+ ## Output 1: Gate YAML Block
92
+
93
+ Generate ONLY for NFRs actually assessed (no placeholders):
94
+
95
+ ```yaml
96
+ # Gate YAML (copy/paste):
97
+ nfr_validation:
98
+ _assessed: [security, performance, reliability, maintainability]
99
+ security:
100
+ status: CONCERNS
101
+ notes: 'No rate limiting on auth endpoints'
102
+ performance:
103
+ status: PASS
104
+ notes: 'Response times < 200ms verified'
105
+ reliability:
106
+ status: PASS
107
+ notes: 'Error handling and retries implemented'
108
+ maintainability:
109
+ status: CONCERNS
110
+ notes: 'Test coverage at 65%, target is 80%'
111
+ ```
112
+
113
+ ## Deterministic Status Rules
114
+
115
+ - **FAIL**: Any selected NFR has critical gap or target clearly not met
116
+ - **CONCERNS**: No FAILs, but any NFR is unknown/partial/missing evidence
117
+ - **PASS**: All selected NFRs meet targets with evidence
118
+
119
+ ## Quality Score Calculation
120
+
121
+ ```
122
+ quality_score = 100
123
+ - 20 for each FAIL attribute
124
+ - 10 for each CONCERNS attribute
125
+ Floor at 0, ceiling at 100
126
+ ```
127
+
128
+ If `technical-preferences.md` defines custom weights, use those instead.
129
+
130
+ ## Output 2: Brief Assessment Report
131
+
132
+ **ALWAYS save to:** `qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md`
133
+
134
+ ```markdown
135
+ # NFR Assessment: {epic}.{story}
136
+
137
+ Date: {date}
138
+ Reviewer: Quinn
139
+
140
+ <!-- Note: Source story not found (if applicable) -->
141
+
142
+ ## Summary
143
+
144
+ - Security: CONCERNS - Missing rate limiting
145
+ - Performance: PASS - Meets <200ms requirement
146
+ - Reliability: PASS - Proper error handling
147
+ - Maintainability: CONCERNS - Test coverage below target
148
+
149
+ ## Critical Issues
150
+
151
+ 1. **No rate limiting** (Security)
152
+ - Risk: Brute force attacks possible
153
+ - Fix: Add rate limiting middleware to auth endpoints
154
+
155
+ 2. **Test coverage 65%** (Maintainability)
156
+ - Risk: Untested code paths
157
+ - Fix: Add tests for uncovered branches
158
+
159
+ ## Quick Wins
160
+
161
+ - Add rate limiting: ~2 hours
162
+ - Increase test coverage: ~4 hours
163
+ - Add performance monitoring: ~1 hour
164
+ ```
165
+
166
+ ## Output 3: Story Update Line
167
+
168
+ **End with this line for the review task to quote:**
169
+
170
+ ```
171
+ NFR assessment: qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
172
+ ```
173
+
174
+ ## Output 4: Gate Integration Line
175
+
176
+ **Always print at the end:**
177
+
178
+ ```
179
+ Gate NFR block ready → paste into qa.qaLocation/gates/{epic}.{story}-{slug}.yml under nfr_validation
180
+ ```
181
+
182
+ ## Assessment Criteria
183
+
184
+ ### Security
185
+
186
+ **PASS if:**
187
+
188
+ - Authentication implemented
189
+ - Authorization enforced
190
+ - Input validation present
191
+ - No hardcoded secrets
192
+
193
+ **CONCERNS if:**
194
+
195
+ - Missing rate limiting
196
+ - Weak encryption
197
+ - Incomplete authorization
198
+
199
+ **FAIL if:**
200
+
201
+ - No authentication
202
+ - Hardcoded credentials
203
+ - SQL injection vulnerabilities
204
+
205
+ ### Performance
206
+
207
+ **PASS if:**
208
+
209
+ - Meets response time targets
210
+ - No obvious bottlenecks
211
+ - Reasonable resource usage
212
+
213
+ **CONCERNS if:**
214
+
215
+ - Close to limits
216
+ - Missing indexes
217
+ - No caching strategy
218
+
219
+ **FAIL if:**
220
+
221
+ - Exceeds response time limits
222
+ - Memory leaks
223
+ - Unoptimized queries
224
+
225
+ ### Reliability
226
+
227
+ **PASS if:**
228
+
229
+ - Error handling present
230
+ - Graceful degradation
231
+ - Retry logic where needed
232
+
233
+ **CONCERNS if:**
234
+
235
+ - Some error cases unhandled
236
+ - No circuit breakers
237
+ - Missing health checks
238
+
239
+ **FAIL if:**
240
+
241
+ - No error handling
242
+ - Crashes on errors
243
+ - No recovery mechanisms
244
+
245
+ ### Maintainability
246
+
247
+ **PASS if:**
248
+
249
+ - Test coverage meets target
250
+ - Code well-structured
251
+ - Documentation present
252
+
253
+ **CONCERNS if:**
254
+
255
+ - Test coverage below target
256
+ - Some code duplication
257
+ - Missing documentation
258
+
259
+ **FAIL if:**
260
+
261
+ - No tests
262
+ - Highly coupled code
263
+ - No documentation
264
+
265
+ ## Quick Reference
266
+
267
+ ### What to Check
268
+
269
+ ```yaml
270
+ security:
271
+ - Authentication mechanism
272
+ - Authorization checks
273
+ - Input validation
274
+ - Secret management
275
+ - Rate limiting
276
+
277
+ performance:
278
+ - Response times
279
+ - Database queries
280
+ - Caching usage
281
+ - Resource consumption
282
+
283
+ reliability:
284
+ - Error handling
285
+ - Retry logic
286
+ - Circuit breakers
287
+ - Health checks
288
+ - Logging
289
+
290
+ maintainability:
291
+ - Test coverage
292
+ - Code structure
293
+ - Documentation
294
+ - Dependencies
295
+ ```
296
+
297
+ ## Key Principles
298
+
299
+ - Focus on the core four NFRs by default
300
+ - Quick assessment, not deep analysis
301
+ - Gate-ready output format
302
+ - Brief, actionable findings
303
+ - Skip what doesn't apply
304
+ - Deterministic status rules for consistency
305
+ - Unknown targets → CONCERNS, not guesses
306
+
307
+ ---
308
+
309
+ ## Appendix: ISO 25010 Reference
310
+
311
+ <details>
312
+ <summary>Full ISO 25010 Quality Model (click to expand)</summary>
313
+
314
+ ### All 8 Quality Characteristics
315
+
316
+ 1. **Functional Suitability**: Completeness, correctness, appropriateness
317
+ 2. **Performance Efficiency**: Time behavior, resource use, capacity
318
+ 3. **Compatibility**: Co-existence, interoperability
319
+ 4. **Usability**: Learnability, operability, accessibility
320
+ 5. **Reliability**: Maturity, availability, fault tolerance
321
+ 6. **Security**: Confidentiality, integrity, authenticity
322
+ 7. **Maintainability**: Modularity, reusability, testability
323
+ 8. **Portability**: Adaptability, installability
324
+
325
+ Use these when assessing beyond the core four.
326
+
327
+ </details>
328
+
329
+ <details>
330
+ <summary>Example: Deep Performance Analysis (click to expand)</summary>
331
+
332
+ ```yaml
333
+ performance_deep_dive:
334
+ response_times:
335
+ p50: 45ms
336
+ p95: 180ms
337
+ p99: 350ms
338
+ database:
339
+ slow_queries: 2
340
+ missing_indexes: ['users.email', 'orders.user_id']
341
+ caching:
342
+ hit_rate: 0%
343
+ recommendation: 'Add Redis for session data'
344
+ load_test:
345
+ max_rps: 150
346
+ breaking_point: 200 rps
347
+ ```
348
+
349
+ </details>
@@ -0,0 +1,167 @@
1
+ # /qa-gate Task
2
+
3
+ When this command is used, execute the following task:
4
+
5
+ <!-- Powered by BMAD™ Core -->
6
+
7
+ # qa-gate
8
+
9
+ Create or update a quality gate decision file for a story based on review findings.
10
+
11
+ ## Purpose
12
+
13
+ Generate a standalone quality gate file that provides a clear pass/fail decision with actionable feedback. This gate serves as an advisory checkpoint for teams to understand quality status.
14
+
15
+ ## Prerequisites
16
+
17
+ - Story has been reviewed (manually or via review-story task)
18
+ - Review findings are available
19
+ - Understanding of story requirements and implementation
20
+
21
+ ## Gate File Location
22
+
23
+ **ALWAYS** check the `bmad-core/core-config.yaml` for the `qa.qaLocation/gates`
24
+
25
+ Slug rules:
26
+
27
+ - Convert to lowercase
28
+ - Replace spaces with hyphens
29
+ - Strip punctuation
30
+ - Example: "User Auth - Login!" becomes "user-auth-login"
31
+
32
+ ## Minimal Required Schema
33
+
34
+ ```yaml
35
+ schema: 1
36
+ story: '{epic}.{story}'
37
+ gate: PASS|CONCERNS|FAIL|WAIVED
38
+ status_reason: '1-2 sentence explanation of gate decision'
39
+ reviewer: 'Quinn'
40
+ updated: '{ISO-8601 timestamp}'
41
+ top_issues: [] # Empty array if no issues
42
+ waiver: { active: false } # Only set active: true if WAIVED
43
+ ```
44
+
45
+ ## Schema with Issues
46
+
47
+ ```yaml
48
+ schema: 1
49
+ story: '1.3'
50
+ gate: CONCERNS
51
+ status_reason: 'Missing rate limiting on auth endpoints poses security risk.'
52
+ reviewer: 'Quinn'
53
+ updated: '2025-01-12T10:15:00Z'
54
+ top_issues:
55
+ - id: 'SEC-001'
56
+ severity: high # ONLY: low|medium|high
57
+ finding: 'No rate limiting on login endpoint'
58
+ suggested_action: 'Add rate limiting middleware before production'
59
+ - id: 'TEST-001'
60
+ severity: medium
61
+ finding: 'No integration tests for auth flow'
62
+ suggested_action: 'Add integration test coverage'
63
+ waiver: { active: false }
64
+ ```
65
+
66
+ ## Schema when Waived
67
+
68
+ ```yaml
69
+ schema: 1
70
+ story: '1.3'
71
+ gate: WAIVED
72
+ status_reason: 'Known issues accepted for MVP release.'
73
+ reviewer: 'Quinn'
74
+ updated: '2025-01-12T10:15:00Z'
75
+ top_issues:
76
+ - id: 'PERF-001'
77
+ severity: low
78
+ finding: 'Dashboard loads slowly with 1000+ items'
79
+ suggested_action: 'Implement pagination in next sprint'
80
+ waiver:
81
+ active: true
82
+ reason: 'MVP release - performance optimization deferred'
83
+ approved_by: 'Product Owner'
84
+ ```
85
+
86
+ ## Gate Decision Criteria
87
+
88
+ ### PASS
89
+
90
+ - All acceptance criteria met
91
+ - No high-severity issues
92
+ - Test coverage meets project standards
93
+
94
+ ### CONCERNS
95
+
96
+ - Non-blocking issues present
97
+ - Should be tracked and scheduled
98
+ - Can proceed with awareness
99
+
100
+ ### FAIL
101
+
102
+ - Acceptance criteria not met
103
+ - High-severity issues present
104
+ - Recommend return to InProgress
105
+
106
+ ### WAIVED
107
+
108
+ - Issues explicitly accepted
109
+ - Requires approval and reason
110
+ - Proceed despite known issues
111
+
112
+ ## Severity Scale
113
+
114
+ **FIXED VALUES - NO VARIATIONS:**
115
+
116
+ - `low`: Minor issues, cosmetic problems
117
+ - `medium`: Should fix soon, not blocking
118
+ - `high`: Critical issues, should block release
119
+
120
+ ## Issue ID Prefixes
121
+
122
+ - `SEC-`: Security issues
123
+ - `PERF-`: Performance issues
124
+ - `REL-`: Reliability issues
125
+ - `TEST-`: Testing gaps
126
+ - `MNT-`: Maintainability concerns
127
+ - `ARCH-`: Architecture issues
128
+ - `DOC-`: Documentation gaps
129
+ - `REQ-`: Requirements issues
130
+
131
+ ## Output Requirements
132
+
133
+ 1. **ALWAYS** create gate file at: `qa.qaLocation/gates` from `bmad-core/core-config.yaml`
134
+ 2. **ALWAYS** append this exact format to story's QA Results section:
135
+
136
+ ```text
137
+ Gate: {STATUS} → qa.qaLocation/gates/{epic}.{story}-{slug}.yml
138
+ ```
139
+
140
+ 3. Keep status_reason to 1-2 sentences maximum
141
+ 4. Use severity values exactly: `low`, `medium`, or `high`
142
+
143
+ ## Example Story Update
144
+
145
+ After creating gate file, append to story's QA Results section:
146
+
147
+ ```markdown
148
+ ## QA Results
149
+
150
+ ### Review Date: 2025-01-12
151
+
152
+ ### Reviewed By: Quinn (Test Architect)
153
+
154
+ [... existing review content ...]
155
+
156
+ ### Gate Status
157
+
158
+ Gate: CONCERNS → qa.qaLocation/gates/{epic}.{story}-{slug}.yml
159
+ ```
160
+
161
+ ## Key Principles
162
+
163
+ - Keep it minimal and predictable
164
+ - Fixed severity scale (low/medium/high)
165
+ - Always write to standard path
166
+ - Always update story with gate reference
167
+ - Clear, actionable findings