siesa-agents 2.1.2 → 2.1.4

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 (111) hide show
  1. package/README.md +83 -83
  2. package/bin/install.js +400 -400
  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/backend.md +187 -187
  94. package/claude/commands/BMad/agents/frontend.md +150 -150
  95. package/github/b-mad-expert.md +742 -742
  96. package/github/chatmodes/analyst.chatmode.md +89 -89
  97. package/github/chatmodes/architect.chatmode.md +97 -97
  98. package/github/chatmodes/backend.chatmode.md +194 -194
  99. package/github/chatmodes/bmad-master.chatmode.md +115 -115
  100. package/github/chatmodes/bmad-orchestrator.chatmode.md +152 -152
  101. package/github/chatmodes/dev.chatmode.md +86 -86
  102. package/github/chatmodes/frontend.chatmode.md +157 -157
  103. package/github/chatmodes/pm.chatmode.md +89 -89
  104. package/github/chatmodes/po.chatmode.md +84 -84
  105. package/github/chatmodes/qa.chatmode.md +96 -96
  106. package/github/chatmodes/sm.chatmode.md +70 -70
  107. package/github/chatmodes/ux-expert.chatmode.md +74 -74
  108. package/index.js +9 -9
  109. package/package.json +37 -37
  110. package/vscode/mcp.json +11 -11
  111. package/vscode/settings.json +12 -12
@@ -1,266 +1,266 @@
1
- <!-- Powered by BMAD™ Core -->
2
-
3
- # trace-requirements
4
-
5
- Map story requirements to test cases using Given-When-Then patterns for comprehensive traceability.
6
-
7
- ## Purpose
8
-
9
- Create a requirements traceability matrix that ensures every acceptance criterion has corresponding test coverage. This task helps identify gaps in testing and ensures all requirements are validated.
10
-
11
- **IMPORTANT**: Given-When-Then is used here for documenting the mapping between requirements and tests, NOT for writing the actual test code. Tests should follow your project's testing standards (no BDD syntax in test code).
12
-
13
- ## Prerequisites
14
-
15
- - Story file with clear acceptance criteria
16
- - Access to test files or test specifications
17
- - Understanding of the implementation
18
-
19
- ## Traceability Process
20
-
21
- ### 1. Extract Requirements
22
-
23
- Identify all testable requirements from:
24
-
25
- - Acceptance Criteria (primary source)
26
- - User story statement
27
- - Tasks/subtasks with specific behaviors
28
- - Non-functional requirements mentioned
29
- - Edge cases documented
30
-
31
- ### 2. Map to Test Cases
32
-
33
- For each requirement, document which tests validate it. Use Given-When-Then to describe what the test validates (not how it's written):
34
-
35
- ```yaml
36
- requirement: 'AC1: User can login with valid credentials'
37
- test_mappings:
38
- - test_file: 'auth/login.test.ts'
39
- test_case: 'should successfully login with valid email and password'
40
- # Given-When-Then describes WHAT the test validates, not HOW it's coded
41
- given: 'A registered user with valid credentials'
42
- when: 'They submit the login form'
43
- then: 'They are redirected to dashboard and session is created'
44
- coverage: full
45
-
46
- - test_file: 'e2e/auth-flow.test.ts'
47
- test_case: 'complete login flow'
48
- given: 'User on login page'
49
- when: 'Entering valid credentials and submitting'
50
- then: 'Dashboard loads with user data'
51
- coverage: integration
52
- ```
53
-
54
- ### 3. Coverage Analysis
55
-
56
- Evaluate coverage for each requirement:
57
-
58
- **Coverage Levels:**
59
-
60
- - `full`: Requirement completely tested
61
- - `partial`: Some aspects tested, gaps exist
62
- - `none`: No test coverage found
63
- - `integration`: Covered in integration/e2e tests only
64
- - `unit`: Covered in unit tests only
65
-
66
- ### 4. Gap Identification
67
-
68
- Document any gaps found:
69
-
70
- ```yaml
71
- coverage_gaps:
72
- - requirement: 'AC3: Password reset email sent within 60 seconds'
73
- gap: 'No test for email delivery timing'
74
- severity: medium
75
- suggested_test:
76
- type: integration
77
- description: 'Test email service SLA compliance'
78
-
79
- - requirement: 'AC5: Support 1000 concurrent users'
80
- gap: 'No load testing implemented'
81
- severity: high
82
- suggested_test:
83
- type: performance
84
- description: 'Load test with 1000 concurrent connections'
85
- ```
86
-
87
- ## Outputs
88
-
89
- ### Output 1: Gate YAML Block
90
-
91
- **Generate for pasting into gate file under `trace`:**
92
-
93
- ```yaml
94
- trace:
95
- totals:
96
- requirements: X
97
- full: Y
98
- partial: Z
99
- none: W
100
- planning_ref: 'qa.qaLocation/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md'
101
- uncovered:
102
- - ac: 'AC3'
103
- reason: 'No test found for password reset timing'
104
- notes: 'See qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md'
105
- ```
106
-
107
- ### Output 2: Traceability Report
108
-
109
- **Save to:** `qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md`
110
-
111
- Create a traceability report with:
112
-
113
- ```markdown
114
- # Requirements Traceability Matrix
115
-
116
- ## Story: {epic}.{story} - {title}
117
-
118
- ### Coverage Summary
119
-
120
- - Total Requirements: X
121
- - Fully Covered: Y (Z%)
122
- - Partially Covered: A (B%)
123
- - Not Covered: C (D%)
124
-
125
- ### Requirement Mappings
126
-
127
- #### AC1: {Acceptance Criterion 1}
128
-
129
- **Coverage: FULL**
130
-
131
- Given-When-Then Mappings:
132
-
133
- - **Unit Test**: `auth.service.test.ts::validateCredentials`
134
- - Given: Valid user credentials
135
- - When: Validation method called
136
- - Then: Returns true with user object
137
-
138
- - **Integration Test**: `auth.integration.test.ts::loginFlow`
139
- - Given: User with valid account
140
- - When: Login API called
141
- - Then: JWT token returned and session created
142
-
143
- #### AC2: {Acceptance Criterion 2}
144
-
145
- **Coverage: PARTIAL**
146
-
147
- [Continue for all ACs...]
148
-
149
- ### Critical Gaps
150
-
151
- 1. **Performance Requirements**
152
- - Gap: No load testing for concurrent users
153
- - Risk: High - Could fail under production load
154
- - Action: Implement load tests using k6 or similar
155
-
156
- 2. **Security Requirements**
157
- - Gap: Rate limiting not tested
158
- - Risk: Medium - Potential DoS vulnerability
159
- - Action: Add rate limit tests to integration suite
160
-
161
- ### Test Design Recommendations
162
-
163
- Based on gaps identified, recommend:
164
-
165
- 1. Additional test scenarios needed
166
- 2. Test types to implement (unit/integration/e2e/performance)
167
- 3. Test data requirements
168
- 4. Mock/stub strategies
169
-
170
- ### Risk Assessment
171
-
172
- - **High Risk**: Requirements with no coverage
173
- - **Medium Risk**: Requirements with only partial coverage
174
- - **Low Risk**: Requirements with full unit + integration coverage
175
- ```
176
-
177
- ## Traceability Best Practices
178
-
179
- ### Given-When-Then for Mapping (Not Test Code)
180
-
181
- Use Given-When-Then to document what each test validates:
182
-
183
- **Given**: The initial context the test sets up
184
-
185
- - What state/data the test prepares
186
- - User context being simulated
187
- - System preconditions
188
-
189
- **When**: The action the test performs
190
-
191
- - What the test executes
192
- - API calls or user actions tested
193
- - Events triggered
194
-
195
- **Then**: What the test asserts
196
-
197
- - Expected outcomes verified
198
- - State changes checked
199
- - Values validated
200
-
201
- **Note**: This is for documentation only. Actual test code follows your project's standards (e.g., describe/it blocks, no BDD syntax).
202
-
203
- ### Coverage Priority
204
-
205
- Prioritize coverage based on:
206
-
207
- 1. Critical business flows
208
- 2. Security-related requirements
209
- 3. Data integrity requirements
210
- 4. User-facing features
211
- 5. Performance SLAs
212
-
213
- ### Test Granularity
214
-
215
- Map at appropriate levels:
216
-
217
- - Unit tests for business logic
218
- - Integration tests for component interaction
219
- - E2E tests for user journeys
220
- - Performance tests for NFRs
221
-
222
- ## Quality Indicators
223
-
224
- Good traceability shows:
225
-
226
- - Every AC has at least one test
227
- - Critical paths have multiple test levels
228
- - Edge cases are explicitly covered
229
- - NFRs have appropriate test types
230
- - Clear Given-When-Then for each test
231
-
232
- ## Red Flags
233
-
234
- Watch for:
235
-
236
- - ACs with no test coverage
237
- - Tests that don't map to requirements
238
- - Vague test descriptions
239
- - Missing edge case coverage
240
- - NFRs without specific tests
241
-
242
- ## Integration with Gates
243
-
244
- This traceability feeds into quality gates:
245
-
246
- - Critical gaps → FAIL
247
- - Minor gaps → CONCERNS
248
- - Missing P0 tests from test-design → CONCERNS
249
-
250
- ### Output 3: Story Hook Line
251
-
252
- **Print this line for review task to quote:**
253
-
254
- ```text
255
- Trace matrix: qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md
256
- ```
257
-
258
- - Full coverage → PASS contribution
259
-
260
- ## Key Principles
261
-
262
- - Every requirement must be testable
263
- - Use Given-When-Then for clarity
264
- - Identify both presence and absence
265
- - Prioritize based on risk
266
- - Make recommendations actionable
1
+ <!-- Powered by BMAD™ Core -->
2
+
3
+ # trace-requirements
4
+
5
+ Map story requirements to test cases using Given-When-Then patterns for comprehensive traceability.
6
+
7
+ ## Purpose
8
+
9
+ Create a requirements traceability matrix that ensures every acceptance criterion has corresponding test coverage. This task helps identify gaps in testing and ensures all requirements are validated.
10
+
11
+ **IMPORTANT**: Given-When-Then is used here for documenting the mapping between requirements and tests, NOT for writing the actual test code. Tests should follow your project's testing standards (no BDD syntax in test code).
12
+
13
+ ## Prerequisites
14
+
15
+ - Story file with clear acceptance criteria
16
+ - Access to test files or test specifications
17
+ - Understanding of the implementation
18
+
19
+ ## Traceability Process
20
+
21
+ ### 1. Extract Requirements
22
+
23
+ Identify all testable requirements from:
24
+
25
+ - Acceptance Criteria (primary source)
26
+ - User story statement
27
+ - Tasks/subtasks with specific behaviors
28
+ - Non-functional requirements mentioned
29
+ - Edge cases documented
30
+
31
+ ### 2. Map to Test Cases
32
+
33
+ For each requirement, document which tests validate it. Use Given-When-Then to describe what the test validates (not how it's written):
34
+
35
+ ```yaml
36
+ requirement: 'AC1: User can login with valid credentials'
37
+ test_mappings:
38
+ - test_file: 'auth/login.test.ts'
39
+ test_case: 'should successfully login with valid email and password'
40
+ # Given-When-Then describes WHAT the test validates, not HOW it's coded
41
+ given: 'A registered user with valid credentials'
42
+ when: 'They submit the login form'
43
+ then: 'They are redirected to dashboard and session is created'
44
+ coverage: full
45
+
46
+ - test_file: 'e2e/auth-flow.test.ts'
47
+ test_case: 'complete login flow'
48
+ given: 'User on login page'
49
+ when: 'Entering valid credentials and submitting'
50
+ then: 'Dashboard loads with user data'
51
+ coverage: integration
52
+ ```
53
+
54
+ ### 3. Coverage Analysis
55
+
56
+ Evaluate coverage for each requirement:
57
+
58
+ **Coverage Levels:**
59
+
60
+ - `full`: Requirement completely tested
61
+ - `partial`: Some aspects tested, gaps exist
62
+ - `none`: No test coverage found
63
+ - `integration`: Covered in integration/e2e tests only
64
+ - `unit`: Covered in unit tests only
65
+
66
+ ### 4. Gap Identification
67
+
68
+ Document any gaps found:
69
+
70
+ ```yaml
71
+ coverage_gaps:
72
+ - requirement: 'AC3: Password reset email sent within 60 seconds'
73
+ gap: 'No test for email delivery timing'
74
+ severity: medium
75
+ suggested_test:
76
+ type: integration
77
+ description: 'Test email service SLA compliance'
78
+
79
+ - requirement: 'AC5: Support 1000 concurrent users'
80
+ gap: 'No load testing implemented'
81
+ severity: high
82
+ suggested_test:
83
+ type: performance
84
+ description: 'Load test with 1000 concurrent connections'
85
+ ```
86
+
87
+ ## Outputs
88
+
89
+ ### Output 1: Gate YAML Block
90
+
91
+ **Generate for pasting into gate file under `trace`:**
92
+
93
+ ```yaml
94
+ trace:
95
+ totals:
96
+ requirements: X
97
+ full: Y
98
+ partial: Z
99
+ none: W
100
+ planning_ref: 'qa.qaLocation/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md'
101
+ uncovered:
102
+ - ac: 'AC3'
103
+ reason: 'No test found for password reset timing'
104
+ notes: 'See qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md'
105
+ ```
106
+
107
+ ### Output 2: Traceability Report
108
+
109
+ **Save to:** `qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md`
110
+
111
+ Create a traceability report with:
112
+
113
+ ```markdown
114
+ # Requirements Traceability Matrix
115
+
116
+ ## Story: {epic}.{story} - {title}
117
+
118
+ ### Coverage Summary
119
+
120
+ - Total Requirements: X
121
+ - Fully Covered: Y (Z%)
122
+ - Partially Covered: A (B%)
123
+ - Not Covered: C (D%)
124
+
125
+ ### Requirement Mappings
126
+
127
+ #### AC1: {Acceptance Criterion 1}
128
+
129
+ **Coverage: FULL**
130
+
131
+ Given-When-Then Mappings:
132
+
133
+ - **Unit Test**: `auth.service.test.ts::validateCredentials`
134
+ - Given: Valid user credentials
135
+ - When: Validation method called
136
+ - Then: Returns true with user object
137
+
138
+ - **Integration Test**: `auth.integration.test.ts::loginFlow`
139
+ - Given: User with valid account
140
+ - When: Login API called
141
+ - Then: JWT token returned and session created
142
+
143
+ #### AC2: {Acceptance Criterion 2}
144
+
145
+ **Coverage: PARTIAL**
146
+
147
+ [Continue for all ACs...]
148
+
149
+ ### Critical Gaps
150
+
151
+ 1. **Performance Requirements**
152
+ - Gap: No load testing for concurrent users
153
+ - Risk: High - Could fail under production load
154
+ - Action: Implement load tests using k6 or similar
155
+
156
+ 2. **Security Requirements**
157
+ - Gap: Rate limiting not tested
158
+ - Risk: Medium - Potential DoS vulnerability
159
+ - Action: Add rate limit tests to integration suite
160
+
161
+ ### Test Design Recommendations
162
+
163
+ Based on gaps identified, recommend:
164
+
165
+ 1. Additional test scenarios needed
166
+ 2. Test types to implement (unit/integration/e2e/performance)
167
+ 3. Test data requirements
168
+ 4. Mock/stub strategies
169
+
170
+ ### Risk Assessment
171
+
172
+ - **High Risk**: Requirements with no coverage
173
+ - **Medium Risk**: Requirements with only partial coverage
174
+ - **Low Risk**: Requirements with full unit + integration coverage
175
+ ```
176
+
177
+ ## Traceability Best Practices
178
+
179
+ ### Given-When-Then for Mapping (Not Test Code)
180
+
181
+ Use Given-When-Then to document what each test validates:
182
+
183
+ **Given**: The initial context the test sets up
184
+
185
+ - What state/data the test prepares
186
+ - User context being simulated
187
+ - System preconditions
188
+
189
+ **When**: The action the test performs
190
+
191
+ - What the test executes
192
+ - API calls or user actions tested
193
+ - Events triggered
194
+
195
+ **Then**: What the test asserts
196
+
197
+ - Expected outcomes verified
198
+ - State changes checked
199
+ - Values validated
200
+
201
+ **Note**: This is for documentation only. Actual test code follows your project's standards (e.g., describe/it blocks, no BDD syntax).
202
+
203
+ ### Coverage Priority
204
+
205
+ Prioritize coverage based on:
206
+
207
+ 1. Critical business flows
208
+ 2. Security-related requirements
209
+ 3. Data integrity requirements
210
+ 4. User-facing features
211
+ 5. Performance SLAs
212
+
213
+ ### Test Granularity
214
+
215
+ Map at appropriate levels:
216
+
217
+ - Unit tests for business logic
218
+ - Integration tests for component interaction
219
+ - E2E tests for user journeys
220
+ - Performance tests for NFRs
221
+
222
+ ## Quality Indicators
223
+
224
+ Good traceability shows:
225
+
226
+ - Every AC has at least one test
227
+ - Critical paths have multiple test levels
228
+ - Edge cases are explicitly covered
229
+ - NFRs have appropriate test types
230
+ - Clear Given-When-Then for each test
231
+
232
+ ## Red Flags
233
+
234
+ Watch for:
235
+
236
+ - ACs with no test coverage
237
+ - Tests that don't map to requirements
238
+ - Vague test descriptions
239
+ - Missing edge case coverage
240
+ - NFRs without specific tests
241
+
242
+ ## Integration with Gates
243
+
244
+ This traceability feeds into quality gates:
245
+
246
+ - Critical gaps → FAIL
247
+ - Minor gaps → CONCERNS
248
+ - Missing P0 tests from test-design → CONCERNS
249
+
250
+ ### Output 3: Story Hook Line
251
+
252
+ **Print this line for review task to quote:**
253
+
254
+ ```text
255
+ Trace matrix: qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md
256
+ ```
257
+
258
+ - Full coverage → PASS contribution
259
+
260
+ ## Key Principles
261
+
262
+ - Every requirement must be testable
263
+ - Use Given-When-Then for clarity
264
+ - Identify both presence and absence
265
+ - Prioritize based on risk
266
+ - Make recommendations actionable