bmad-method-test-architecture-enterprise 1.2.2 → 1.2.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 (55) hide show
  1. package/README.md +14 -12
  2. package/docs/how-to/workflows/setup-ci.md +3 -1
  3. package/docs/how-to/workflows/setup-test-framework.md +29 -6
  4. package/docs/reference/configuration.md +97 -0
  5. package/docs/reference/knowledge-base.md +15 -6
  6. package/package.json +1 -1
  7. package/release_notes.md +6 -4
  8. package/src/agents/tea.agent.yaml +2 -2
  9. package/src/module.yaml +78 -5
  10. package/src/testarch/knowledge/adr-quality-readiness-checklist.md +9 -9
  11. package/src/testarch/tea-index.csv +36 -36
  12. package/src/workflows/testarch/atdd/atdd-checklist-template.md +2 -0
  13. package/src/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +65 -12
  14. package/src/workflows/testarch/atdd/steps-c/step-02-generation-mode.md +5 -0
  15. package/src/workflows/testarch/atdd/steps-c/step-03-test-strategy.md +10 -1
  16. package/src/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md +13 -2
  17. package/src/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +46 -2
  18. package/src/workflows/testarch/automate/steps-c/step-02-identify-targets.md +12 -0
  19. package/src/workflows/testarch/automate/steps-c/step-03-generate-tests.md +110 -31
  20. package/src/workflows/testarch/automate/steps-c/step-03b-subprocess-backend.md +246 -0
  21. package/src/workflows/testarch/automate/steps-c/step-03c-aggregate.md +90 -38
  22. package/src/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md +13 -2
  23. package/src/workflows/testarch/ci/azure-pipelines-template.yaml +155 -0
  24. package/src/workflows/testarch/ci/checklist.md +48 -7
  25. package/src/workflows/testarch/ci/github-actions-template.yaml +22 -10
  26. package/src/workflows/testarch/ci/gitlab-ci-template.yaml +21 -12
  27. package/src/workflows/testarch/ci/harness-pipeline-template.yaml +159 -0
  28. package/src/workflows/testarch/ci/jenkins-pipeline-template.groovy +129 -0
  29. package/src/workflows/testarch/ci/steps-c/step-01-preflight.md +58 -17
  30. package/src/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +21 -10
  31. package/src/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +5 -0
  32. package/src/workflows/testarch/ci/workflow.yaml +5 -3
  33. package/src/workflows/testarch/framework/checklist.md +11 -10
  34. package/src/workflows/testarch/framework/steps-c/step-01-preflight.md +34 -2
  35. package/src/workflows/testarch/framework/steps-c/step-02-select-framework.md +20 -1
  36. package/src/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +56 -5
  37. package/src/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md +16 -4
  38. package/src/workflows/testarch/nfr-assess/nfr-report-template.md +3 -1
  39. package/src/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md +12 -0
  40. package/src/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md +14 -3
  41. package/src/workflows/testarch/test-design/checklist.md +20 -9
  42. package/src/workflows/testarch/test-design/instructions.md +3 -3
  43. package/src/workflows/testarch/test-design/steps-c/step-02-load-context.md +34 -0
  44. package/src/workflows/testarch/test-design/steps-c/step-05-generate-output.md +29 -2
  45. package/src/workflows/testarch/test-design/test-design-architecture-template.md +16 -14
  46. package/src/workflows/testarch/test-design/test-design-handoff-template.md +70 -0
  47. package/src/workflows/testarch/test-design/test-design-qa-template.md +11 -9
  48. package/src/workflows/testarch/test-design/workflow.yaml +8 -1
  49. package/src/workflows/testarch/test-review/steps-c/step-01-load-context.md +34 -1
  50. package/src/workflows/testarch/test-review/steps-c/step-04-generate-report.md +14 -3
  51. package/src/workflows/testarch/test-review/test-review-template.md +4 -2
  52. package/src/workflows/testarch/test-review/workflow.yaml +1 -0
  53. package/src/workflows/testarch/trace/trace-template.md +7 -5
  54. package/test/test-installation-components.js +1 -1
  55. package/test/test-knowledge-base.js +10 -1
@@ -79,7 +79,34 @@ If any checklist criteria are missing, fix before completion.
79
79
 
80
80
  ---
81
81
 
82
- ## 4. Completion Report
82
+ ## 4. Generate BMAD Handoff Document (System-Level Mode Only)
83
+
84
+ **If this is a system-level test design** (not component/feature level):
85
+
86
+ 1. Copy `test-design-handoff-template.md` to `{test_artifacts}/test-design/{project_name}-handoff.md`
87
+ 2. Populate all sections from the test design output:
88
+ - Fill TEA Artifacts Inventory with actual paths
89
+ - Extract P0/P1 risks into Epic-Level guidance
90
+ - Map critical test scenarios to Story-Level guidance
91
+ - Build risk-to-story mapping table from risk register
92
+ 3. Save alongside the test design document
93
+
94
+ > **Note**: The handoff document is designed for consumption by BMAD's `create-epics-and-stories` workflow. It is only generated for system-level test designs where epic/story decomposition is relevant.
95
+
96
+ ---
97
+
98
+ ## 5. Polish Output
99
+
100
+ Before finalizing, review the complete output document for quality:
101
+
102
+ 1. **Remove duplication**: Progressive-append workflow may have created repeated sections — consolidate
103
+ 2. **Verify consistency**: Ensure terminology, risk scores, and references are consistent throughout
104
+ 3. **Check completeness**: All template sections should be populated or explicitly marked N/A
105
+ 4. **Format cleanup**: Ensure markdown formatting is clean (tables aligned, headers consistent, no orphaned references)
106
+
107
+ ---
108
+
109
+ ## 6. Completion Report
83
110
 
84
111
  Summarize:
85
112
 
@@ -90,7 +117,7 @@ Summarize:
90
117
 
91
118
  ---
92
119
 
93
- ### 5. Save Progress
120
+ ### 7. Save Progress
94
121
 
95
122
  **Save this step's accumulated work to `{progressFile}`.**
96
123
 
@@ -2,6 +2,8 @@
2
2
  stepsCompleted: []
3
3
  lastStep: ''
4
4
  lastSaved: ''
5
+ workflowType: 'testarch-test-design'
6
+ inputDocuments: []
5
7
  ---
6
8
 
7
9
  # Test Design for Architecture: {Feature Name}
@@ -49,21 +51,21 @@ lastSaved: ''
49
51
 
50
52
  ### 🚨 BLOCKERS - Team Must Decide (Can't Proceed Without)
51
53
 
52
- **Sprint 0 Critical Path** - These MUST be completed before QA can write integration tests:
54
+ **Pre-Implementation Critical Path** - These MUST be completed before QA can write integration tests:
53
55
 
54
56
  1. **{Blocker ID}: {Blocker Title}** - {What architecture must provide} (recommended owner: {Team/Role})
55
57
  2. **{Blocker ID}: {Blocker Title}** - {What architecture must provide} (recommended owner: {Team/Role})
56
58
  3. **{Blocker ID}: {Blocker Title}** - {What architecture must provide} (recommended owner: {Team/Role})
57
59
 
58
- **What we need from team:** Complete these {N} items in Sprint 0 or test development is blocked.
60
+ **What we need from team:** Complete these {N} items pre-implementation or test development is blocked.
59
61
 
60
62
  ---
61
63
 
62
64
  ### ⚠️ HIGH PRIORITY - Team Should Validate (We Provide Recommendation, You Approve)
63
65
 
64
- 1. **{Risk ID}: {Title}** - {Recommendation + who should approve} (Sprint {N})
65
- 2. **{Risk ID}: {Title}** - {Recommendation + who should approve} (Sprint {N})
66
- 3. **{Risk ID}: {Title}** - {Recommendation + who should approve} (Sprint {N})
66
+ 1. **{Risk ID}: {Title}** - {Recommendation + who should approve} (implementation phase)
67
+ 2. **{Risk ID}: {Title}** - {Recommendation + who should approve} (implementation phase)
68
+ 3. **{Risk ID}: {Title}** - {Recommendation + who should approve} (implementation phase)
67
69
 
68
70
  **What we need from team:** Review recommendations and approve (or suggest changes).
69
71
 
@@ -124,13 +126,13 @@ lastSaved: ''
124
126
 
125
127
  #### 1. Blockers to Fast Feedback (WHAT WE NEED FROM ARCHITECTURE)
126
128
 
127
- | Concern | Impact | What Architecture Must Provide | Owner | Timeline |
128
- | ------------------ | ------------------- | -------------------------------------- | ------ | -------- |
129
- | **{Concern name}** | {Impact on testing} | {Specific architectural change needed} | {Team} | {Sprint} |
129
+ | Concern | Impact | What Architecture Must Provide | Owner | Timeline |
130
+ | ------------------ | ------------------- | -------------------------------------- | ------ | ----------- |
131
+ | **{Concern name}** | {Impact on testing} | {Specific architectural change needed} | {Team} | {Milestone} |
130
132
 
131
133
  **Example:**
132
134
 
133
- - **No API for test data seeding** → Cannot parallelize tests → Provide POST /test/seed endpoint (Backend, Sprint 0)
135
+ - **No API for test data seeding** → Cannot parallelize tests → Provide POST /test/seed endpoint (Backend, pre-implementation)
134
136
 
135
137
  #### 2. Architectural Improvements Needed (WHAT SHOULD BE CHANGED)
136
138
 
@@ -141,7 +143,7 @@ lastSaved: ''
141
143
  - **Required change**: {What architecture must do}
142
144
  - **Impact if not fixed**: {Consequences}
143
145
  - **Owner**: {Team}
144
- - **Timeline**: {Sprint}
146
+ - **Timeline**: {Milestone}
145
147
 
146
148
  ---
147
149
 
@@ -181,7 +183,7 @@ For {Feature} Phase 1, the following trade-offs are acceptable:
181
183
  3. {Step 3}
182
184
 
183
185
  **Owner:** {Owner}
184
- **Timeline:** {Sprint or date}
186
+ **Timeline:** {Milestone or date}
185
187
  **Status:** Planned / In Progress / Complete
186
188
  **Verification:** {How to verify mitigation is effective}
187
189
 
@@ -201,8 +203,8 @@ For {Feature} Phase 1, the following trade-offs are acceptable:
201
203
 
202
204
  #### Dependencies
203
205
 
204
- 1. {Dependency} - Required by {date/sprint}
205
- 2. {Dependency} - Required by {date/sprint}
206
+ 1. {Dependency} - Required by {date/milestone}
207
+ 2. {Dependency} - Required by {date/milestone}
206
208
 
207
209
  #### Risks to Plan
208
210
 
@@ -223,6 +225,6 @@ For {Feature} Phase 1, the following trade-offs are acceptable:
223
225
 
224
226
  **Next Steps for QA Team:**
225
227
 
226
- 1. Wait for Sprint 0 blockers to be resolved
228
+ 1. Wait for pre-implementation blockers to be resolved
227
229
  2. Refer to companion QA doc (test-design-qa.md) for test scenarios
228
230
  3. Begin test infrastructure setup (factories, fixtures, environments)
@@ -0,0 +1,70 @@
1
+ ---
2
+ title: 'TEA Test Design → BMAD Handoff Document'
3
+ version: '1.0'
4
+ workflowType: 'testarch-test-design-handoff'
5
+ inputDocuments: []
6
+ sourceWorkflow: 'testarch-test-design'
7
+ generatedBy: 'TEA Master Test Architect'
8
+ generatedAt: '{timestamp}'
9
+ projectName: '{project_name}'
10
+ ---
11
+
12
+ # TEA → BMAD Integration Handoff
13
+
14
+ ## Purpose
15
+
16
+ This document bridges TEA's test design outputs with BMAD's epic/story decomposition workflow (`create-epics-and-stories`). It provides structured integration guidance so that quality requirements, risk assessments, and test strategies flow into implementation planning.
17
+
18
+ ## TEA Artifacts Inventory
19
+
20
+ | Artifact | Path | BMAD Integration Point |
21
+ | -------------------- | ------------------------- | ---------------------------------------------------- |
22
+ | Test Design Document | `{test_design_path}` | Epic quality requirements, story acceptance criteria |
23
+ | Risk Assessment | (embedded in test design) | Epic risk classification, story priority |
24
+ | Coverage Strategy | (embedded in test design) | Story test requirements |
25
+
26
+ ## Epic-Level Integration Guidance
27
+
28
+ ### Risk References
29
+
30
+ <!-- TEA will populate: P0/P1 risks that should appear as epic-level quality gates -->
31
+
32
+ ### Quality Gates
33
+
34
+ <!-- TEA will populate: recommended quality gates per epic based on risk assessment -->
35
+
36
+ ## Story-Level Integration Guidance
37
+
38
+ ### P0/P1 Test Scenarios → Story Acceptance Criteria
39
+
40
+ <!-- TEA will populate: critical test scenarios that MUST be acceptance criteria -->
41
+
42
+ ### Data-TestId Requirements
43
+
44
+ <!-- TEA will populate: recommended data-testid attributes for testability -->
45
+
46
+ ## Risk-to-Story Mapping
47
+
48
+ | Risk ID | Category | P×I | Recommended Story/Epic | Test Level |
49
+ | ------- | -------- | --- | ---------------------- | ---------- |
50
+
51
+ <!-- TEA will populate from risk assessment -->
52
+
53
+ ## Recommended BMAD → TEA Workflow Sequence
54
+
55
+ 1. **TEA Test Design** (`TD`) → produces this handoff document
56
+ 2. **BMAD Create Epics & Stories** → consumes this handoff, embeds quality requirements
57
+ 3. **TEA ATDD** (`AT`) → generates acceptance tests per story
58
+ 4. **BMAD Implementation** → developers implement with test-first guidance
59
+ 5. **TEA Automate** (`TA`) → generates full test suite
60
+ 6. **TEA Trace** (`TR`) → validates coverage completeness
61
+
62
+ ## Phase Transition Quality Gates
63
+
64
+ | From Phase | To Phase | Gate Criteria |
65
+ | ------------------- | ------------------- | ------------------------------------------------------ |
66
+ | Test Design | Epic/Story Creation | All P0 risks have mitigation strategy |
67
+ | Epic/Story Creation | ATDD | Stories have acceptance criteria from test design |
68
+ | ATDD | Implementation | Failing acceptance tests exist for all P0/P1 scenarios |
69
+ | Implementation | Test Automation | All acceptance tests pass |
70
+ | Test Automation | Release | Trace matrix shows ≥80% coverage of P0/P1 requirements |
@@ -2,6 +2,8 @@
2
2
  stepsCompleted: []
3
3
  lastStep: ''
4
4
  lastSaved: ''
5
+ workflowType: 'testarch-test-design'
6
+ inputDocuments: []
5
7
  ---
6
8
 
7
9
  # Test Design for QA: {Feature Name}
@@ -52,7 +54,7 @@ lastSaved: ''
52
54
 
53
55
  **CRITICAL:** QA cannot proceed without these items from other teams.
54
56
 
55
- ### Backend/Architecture Dependencies (Sprint 0)
57
+ ### Backend/Architecture Dependencies (Pre-Implementation)
56
58
 
57
59
  **Source:** See Architecture doc "Quick Guide" for detailed mitigation plans
58
60
 
@@ -64,7 +66,7 @@ lastSaved: ''
64
66
  - {What QA needs}
65
67
  - {Why it blocks testing}
66
68
 
67
- ### QA Infrastructure Setup (Sprint 0)
69
+ ### QA Infrastructure Setup (Pre-Implementation)
68
70
 
69
71
  1. **Test Data Factories** - QA
70
72
  - {Entity} factory with faker-based randomization
@@ -125,7 +127,7 @@ test('example test @p0', async ({ apiRequest }) => {
125
127
  - [ ] All requirements and assumptions agreed upon by QA, Dev, PM
126
128
  - [ ] Test environments provisioned and accessible
127
129
  - [ ] Test data factories ready or seed data available
128
- - [ ] Sprint 0 blockers resolved (see Dependencies section)
130
+ - [ ] Pre-implementation blockers resolved (see Dependencies section)
129
131
  - [ ] Feature deployed to test environment
130
132
  - [ ] {Additional project-specific entry criteria}
131
133
 
@@ -276,16 +278,16 @@ test('example test @p0', async ({ apiRequest }) => {
276
278
 
277
279
  ---
278
280
 
279
- ## Sprint Planning Handoff (Optional)
281
+ ## Implementation Planning Handoff (Optional)
280
282
 
281
283
  **Include only if this test design produces implementation tasks that must be scheduled.**
282
284
 
283
- **Use this to inform sprint planning; if no dedicated QA, assign to Dev owners.**
285
+ **Use this to inform implementation planning; if no dedicated QA, assign to Dev owners.**
284
286
 
285
- | Work Item | Owner | Target Sprint (Optional) | Dependencies/Notes |
286
- | ----------- | ------------ | ------------------------ | ------------------ |
287
- | {Work item} | {QA/Dev/etc} | {Sprint or date} | {Notes} |
288
- | {Work item} | {QA/Dev/etc} | {Sprint or date} | {Notes} |
287
+ | Work Item | Owner | Target Milestone (Optional) | Dependencies/Notes |
288
+ | ----------- | ------------ | --------------------------- | ------------------ |
289
+ | {Work item} | {QA/Dev/etc} | {Milestone or date} | {Notes} |
290
+ | {Work item} | {QA/Dev/etc} | {Milestone or date} | {Notes} |
289
291
 
290
292
  ---
291
293
 
@@ -25,6 +25,7 @@ template: "{installed_path}/test-design-template.md"
25
25
  variables:
26
26
  design_level: "full" # full, targeted, minimal - scope of design effort
27
27
  mode: "auto-detect" # auto-detect (default), system-level, epic-level
28
+ test_stack_type: "auto" # auto, frontend, backend, fullstack - from config or auto-detected
28
29
 
29
30
  # Output configuration
30
31
  # Note: Actual output file determined dynamically based on mode detection
@@ -38,11 +39,17 @@ outputs:
38
39
  audience: architecture
39
40
 
40
41
  - id: test-design-qa
41
- description: "System-level test design: Test execution recipe, coverage plan, Sprint 0 setup for QA team"
42
+ description: "System-level test design: Test execution recipe, coverage plan, pre-implementation setup for QA team"
42
43
  path: "{test_artifacts}/test-design-qa.md"
43
44
  mode: system-level
44
45
  audience: qa
45
46
 
47
+ - id: test-design-handoff
48
+ description: "TEA → BMAD handoff document: Bridges test design outputs with epic/story decomposition"
49
+ path: "{test_artifacts}/test-design/{project_name}-handoff.md"
50
+ mode: system-level
51
+ audience: bmad-integration
52
+
46
53
  # Epic-Level Mode (Phase 4) - ONE document (unchanged)
47
54
  - id: epic-level
48
55
  description: "Epic-level test plan (Phase 4)"
@@ -36,7 +36,7 @@ Determine review scope, load required knowledge fragments, and gather related ar
36
36
 
37
37
  **CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
38
38
 
39
- ## 1. Determine Scope
39
+ ## 1. Determine Scope and Stack
40
40
 
41
41
  Use `review_scope`:
42
42
 
@@ -46,8 +46,39 @@ Use `review_scope`:
46
46
 
47
47
  If unclear, ask the user.
48
48
 
49
+ **Stack Detection** (for context-aware loading):
50
+
51
+ Read `test_stack_type` from `{config_source}`. If `"auto"` or not configured, infer `{detected_stack}` by scanning `{project-root}`:
52
+
53
+ - **Frontend indicators**: `playwright.config.*`, `cypress.config.*`, `package.json` with react/vue/angular
54
+ - **Backend indicators**: `pyproject.toml`, `pom.xml`/`build.gradle`, `go.mod`, `*.csproj`, `Gemfile`, `Cargo.toml`
55
+ - **Both present** → `fullstack`; only frontend → `frontend`; only backend → `backend`
56
+ - Explicit `test_stack_type` overrides auto-detection
57
+
49
58
  ---
50
59
 
60
+ ### Tiered Knowledge Loading
61
+
62
+ Load fragments based on their `tier` classification in `tea-index.csv`:
63
+
64
+ 1. **Core tier** (always load): Foundational fragments required for this workflow
65
+ 2. **Extended tier** (load on-demand): Load when deeper analysis is needed or when the user's context requires it
66
+ 3. **Specialized tier** (load only when relevant): Load only when the specific use case matches (e.g., contract-testing only for microservices, email-auth only for email flows)
67
+
68
+ > **Context Efficiency**: Loading only core fragments reduces context usage by 40-50% compared to loading all fragments.
69
+
70
+ ### Playwright Utils Loading Profiles
71
+
72
+ **If `tea_use_playwright_utils` is enabled**, select the appropriate loading profile:
73
+
74
+ - **API-only profile** (when `{detected_stack}` is `backend` or no `page.goto`/`page.locator` found in test files):
75
+ Load: `overview`, `api-request`, `auth-session`, `recurse` (~1,800 lines)
76
+
77
+ - **Full UI+API profile** (when `{detected_stack}` is `frontend`/`fullstack` or browser tests detected):
78
+ Load: all Playwright Utils core fragments (~4,500 lines)
79
+
80
+ **Detection**: Scan `{test_dir}` for files containing `page.goto` or `page.locator`. If none found, use API-only profile.
81
+
51
82
  ## 2. Load Knowledge Base
52
83
 
53
84
  From `{knowledgeIndex}` load:
@@ -122,6 +153,8 @@ Coverage mapping and coverage gates are out of scope in `test-review`. Route tho
122
153
  - Set `lastSaved: '{date}'`
123
154
  - Append this step's output to the appropriate section of the document.
124
155
 
156
+ **Update `inputDocuments`**: Set `inputDocuments` in the output template frontmatter to the list of artifact paths loaded in this step (e.g., knowledge fragments, test design documents, configuration files).
157
+
125
158
  Load next step: `{nextStepFile}`
126
159
 
127
160
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
@@ -46,7 +46,18 @@ Use `test-review-template.md` to produce `{outputFile}` including:
46
46
 
47
47
  ---
48
48
 
49
- ## 2. Validation
49
+ ## 2. Polish Output
50
+
51
+ Before finalizing, review the complete output document for quality:
52
+
53
+ 1. **Remove duplication**: Progressive-append workflow may have created repeated sections — consolidate
54
+ 2. **Verify consistency**: Ensure terminology, risk scores, and references are consistent throughout
55
+ 3. **Check completeness**: All template sections should be populated or explicitly marked N/A
56
+ 4. **Format cleanup**: Ensure markdown formatting is clean (tables aligned, headers consistent, no orphaned references)
57
+
58
+ ---
59
+
60
+ ## 3. Validation
50
61
 
51
62
  Validate against `checklist.md` and fix any gaps.
52
63
 
@@ -55,7 +66,7 @@ Validate against `checklist.md` and fix any gaps.
55
66
 
56
67
  ---
57
68
 
58
- ## 3. Save Progress
69
+ ## 4. Save Progress
59
70
 
60
71
  **Save this step's accumulated work to `{outputFile}`.**
61
72
 
@@ -79,7 +90,7 @@ Validate against `checklist.md` and fix any gaps.
79
90
 
80
91
  ---
81
92
 
82
- ## 4. Completion Summary
93
+ ## 5. Completion Summary
83
94
 
84
95
  Report:
85
96
 
@@ -2,6 +2,8 @@
2
2
  stepsCompleted: []
3
3
  lastStep: ''
4
4
  lastSaved: ''
5
+ workflowType: 'testarch-test-review'
6
+ inputDocuments: []
5
7
  ---
6
8
 
7
9
  # Test Quality Review: {test_filename}
@@ -289,11 +291,11 @@ See [tea-index.csv](../../../testarch/tea-index.csv) for complete knowledge base
289
291
 
290
292
  1. **{action_1}** - {description}
291
293
  - Priority: {P2 | P3}
292
- - Target: {next_sprint | backlog}
294
+ - Target: {next_milestone | backlog}
293
295
 
294
296
  2. **{action_2}** - {description}
295
297
  - Priority: {P2 | P3}
296
- - Target: {next_sprint | backlog}
298
+ - Target: {next_milestone | backlog}
297
299
 
298
300
  ### Re-Review Needed?
299
301
 
@@ -22,6 +22,7 @@ template: "{installed_path}/test-review-template.md"
22
22
  variables:
23
23
  test_dir: "{project-root}/tests" # Root test directory
24
24
  review_scope: "single" # single (one file), directory (folder), suite (all tests)
25
+ test_stack_type: "auto" # auto, frontend, backend, fullstack - from config or auto-detected
25
26
 
26
27
  # Output configuration
27
28
  default_output_file: "{test_artifacts}/test-review.md"
@@ -2,6 +2,8 @@
2
2
  stepsCompleted: []
3
3
  lastStep: ''
4
4
  lastSaved: ''
5
+ workflowType: 'testarch-trace'
6
+ inputDocuments: []
5
7
  ---
6
8
 
7
9
  # Traceability Matrix & Gate Decision - Story {STORY_ID}
@@ -230,7 +232,7 @@ Note: This workflow does not generate tests. If gaps exist, run `*atdd` or `*aut
230
232
  1. **{ACTION_1}** - {DESCRIPTION}
231
233
  2. **{ACTION_2}** - {DESCRIPTION}
232
234
 
233
- #### Short-term Actions (This Sprint)
235
+ #### Short-term Actions (This Milestone)
234
236
 
235
237
  1. **{ACTION_1}** - {DESCRIPTION}
236
238
  2. **{ACTION_2}** - {DESCRIPTION}
@@ -248,7 +250,7 @@ Note: This workflow does not generate tests. If gaps exist, run `*atdd` or `*aut
248
250
  1. **Add P1 Password Reset Tests** - Implement `1.3-API-001` for email service integration and `1.3-E2E-004` for error path validation. P1 coverage currently at 80%, target is 90%.
249
251
  2. **Optimize Slow E2E Test** - Refactor `1.3-E2E-001` to use faster fixture setup. Currently 145s, target is <90s.
250
252
 
251
- **Short-term Actions (This Sprint)**
253
+ **Short-term Actions (This Milestone)**
252
254
 
253
255
  1. **Enhance P2 Coverage** - Add E2E validation for session timeout (`1.3-E2E-005`). Currently UNIT-ONLY coverage.
254
256
  2. **Split Large Test File** - Break `1.3-UNIT-005` (320 lines) into multiple focused test files (<300 lines each).
@@ -439,7 +441,7 @@ List unresolved P1/P2 issues that don't block release but should be tracked:
439
441
  - **Impact**: Low | Medium | High
440
442
  - **Risk Score**: {probability × impact}
441
443
  - **Mitigation**: {workaround or monitoring plan}
442
- - **Remediation**: {fix in next sprint/release}
444
+ - **Remediation**: {fix in next milestone/release}
443
445
 
444
446
  **Overall Residual Risk**: {LOW | MEDIUM | HIGH}
445
447
 
@@ -526,7 +528,7 @@ Top blockers requiring immediate attention:
526
528
  2. **Create Remediation Backlog**
527
529
  - Create story: "{fix_title_1}" (Priority: {priority})
528
530
  - Create story: "{fix_title_2}" (Priority: {priority})
529
- - Target sprint: {next_sprint}
531
+ - Target milestone: {next_milestone}
530
532
 
531
533
  3. **Post-Deployment Actions**
532
534
  - Monitor {specific_areas} closely for {time_period}
@@ -583,7 +585,7 @@ Top blockers requiring immediate attention:
583
585
  2. {action_2}
584
586
  3. {action_3}
585
587
 
586
- **Follow-up Actions** (next sprint/release):
588
+ **Follow-up Actions** (next milestone/release):
587
589
 
588
590
  1. {action_1}
589
591
  2. {action_2}
@@ -127,7 +127,7 @@ async function runTests() {
127
127
  const lines = csvContent.trim().split('\n');
128
128
 
129
129
  assert(lines.length === 36, 'tea-index.csv has 36 lines (header + 35 fragments)', `Found ${lines.length} lines`);
130
- assert(lines[0].includes('id,name,description,tags,fragment_file'), 'tea-index.csv has correct header format');
130
+ assert(lines[0].includes('id,name,description,tags,tier,fragment_file'), 'tea-index.csv has correct header format');
131
131
 
132
132
  // Verify no BMM references in CSV
133
133
  assert(!csvContent.includes('bmm'), 'tea-index.csv has no BMM references');
@@ -90,9 +90,18 @@ function runTests() {
90
90
 
91
91
  assert(records.length === 35, 'tea-index.csv has 35 fragment records', `Found ${records.length}`);
92
92
 
93
- const requiredFields = ['id', 'name', 'description', 'tags', 'fragment_file'];
93
+ const requiredFields = ['id', 'name', 'description', 'tags', 'tier', 'fragment_file'];
94
94
  const missingFields = requiredFields.filter((field) => !Object.prototype.hasOwnProperty.call(records[0] || {}, field));
95
95
  assert(missingFields.length === 0, 'tea-index.csv has required columns', missingFields.join(', '));
96
+
97
+ // Validate tier values
98
+ const validTiers = new Set(['core', 'extended', 'specialized']);
99
+ const invalidTiers = records.filter((r) => !validTiers.has(r.tier));
100
+ assert(
101
+ invalidTiers.length === 0,
102
+ 'All fragments have valid tier values (core/extended/specialized)',
103
+ invalidTiers.map((r) => `${r.id}: "${r.tier}"`).join(', '),
104
+ );
96
105
  } catch (error) {
97
106
  assert(false, 'tea-index.csv parsed successfully', error.message);
98
107
  }