bmad-method-test-architecture-enterprise 1.0.1 → 1.1.0

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/package.json +1 -1
  2. package/release_notes.md +9 -7
  3. package/src/module-help.csv +3 -3
  4. package/src/module.yaml +25 -0
  5. package/src/workflows/testarch/atdd/atdd-checklist-template.md +6 -0
  6. package/src/workflows/testarch/atdd/instructions.md +7 -0
  7. package/src/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +25 -0
  8. package/src/workflows/testarch/atdd/steps-c/step-01b-resume.md +96 -0
  9. package/src/workflows/testarch/atdd/steps-c/step-02-generation-mode.md +25 -0
  10. package/src/workflows/testarch/atdd/steps-c/step-03-test-strategy.md +25 -0
  11. package/src/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +25 -0
  12. package/src/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md +25 -0
  13. package/src/workflows/testarch/atdd/workflow.md +2 -0
  14. package/src/workflows/testarch/automate/instructions.md +7 -0
  15. package/src/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +25 -0
  16. package/src/workflows/testarch/automate/steps-c/step-01b-resume.md +94 -0
  17. package/src/workflows/testarch/automate/steps-c/step-02-identify-targets.md +25 -0
  18. package/src/workflows/testarch/automate/steps-c/step-03c-aggregate.md +25 -0
  19. package/src/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md +24 -0
  20. package/src/workflows/testarch/automate/workflow.md +2 -0
  21. package/src/workflows/testarch/ci/instructions.md +7 -0
  22. package/src/workflows/testarch/ci/steps-c/step-01-preflight.md +25 -0
  23. package/src/workflows/testarch/ci/steps-c/step-01b-resume.md +110 -0
  24. package/src/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +27 -2
  25. package/src/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +25 -0
  26. package/src/workflows/testarch/ci/steps-c/step-04-validate-and-summary.md +25 -0
  27. package/src/workflows/testarch/ci/workflow.md +2 -0
  28. package/src/workflows/testarch/framework/instructions.md +7 -0
  29. package/src/workflows/testarch/framework/steps-c/step-01-preflight.md +25 -0
  30. package/src/workflows/testarch/framework/steps-c/step-01b-resume.md +116 -0
  31. package/src/workflows/testarch/framework/steps-c/step-02-select-framework.md +25 -0
  32. package/src/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +25 -0
  33. package/src/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md +23 -0
  34. package/src/workflows/testarch/framework/steps-c/step-05-validate-and-summary.md +25 -0
  35. package/src/workflows/testarch/framework/workflow.md +2 -0
  36. package/src/workflows/testarch/nfr-assess/instructions.md +7 -0
  37. package/src/workflows/testarch/nfr-assess/nfr-report-template.md +6 -0
  38. package/src/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md +25 -0
  39. package/src/workflows/testarch/nfr-assess/steps-c/step-01b-resume.md +106 -0
  40. package/src/workflows/testarch/nfr-assess/steps-c/step-02-define-thresholds.md +25 -0
  41. package/src/workflows/testarch/nfr-assess/steps-c/step-03-gather-evidence.md +25 -0
  42. package/src/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +28 -0
  43. package/src/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md +25 -1
  44. package/src/workflows/testarch/nfr-assess/workflow.md +2 -0
  45. package/src/workflows/testarch/test-design/instructions.md +7 -0
  46. package/src/workflows/testarch/test-design/steps-c/step-01-detect-mode.md +25 -0
  47. package/src/workflows/testarch/test-design/steps-c/step-01b-resume.md +102 -0
  48. package/src/workflows/testarch/test-design/steps-c/step-02-load-context.md +25 -0
  49. package/src/workflows/testarch/test-design/steps-c/step-03-risk-and-testability.md +25 -0
  50. package/src/workflows/testarch/test-design/steps-c/step-04-coverage-plan.md +25 -0
  51. package/src/workflows/testarch/test-design/steps-c/step-05-generate-output.md +25 -0
  52. package/src/workflows/testarch/test-design/test-design-architecture-template.md +6 -0
  53. package/src/workflows/testarch/test-design/test-design-qa-template.md +6 -0
  54. package/src/workflows/testarch/test-design/test-design-template.md +6 -0
  55. package/src/workflows/testarch/test-design/workflow.md +2 -0
  56. package/src/workflows/testarch/test-review/instructions.md +7 -0
  57. package/src/workflows/testarch/test-review/steps-c/step-01-load-context.md +25 -0
  58. package/src/workflows/testarch/test-review/steps-c/step-01b-resume.md +104 -0
  59. package/src/workflows/testarch/test-review/steps-c/step-02-discover-tests.md +25 -0
  60. package/src/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +28 -0
  61. package/src/workflows/testarch/test-review/steps-c/step-04-generate-report.md +25 -1
  62. package/src/workflows/testarch/test-review/test-review-template.md +6 -0
  63. package/src/workflows/testarch/test-review/workflow.md +2 -0
  64. package/src/workflows/testarch/trace/instructions.md +7 -0
  65. package/src/workflows/testarch/trace/steps-c/step-01-load-context.md +25 -0
  66. package/src/workflows/testarch/trace/steps-c/step-01b-resume.md +102 -0
  67. package/src/workflows/testarch/trace/steps-c/step-02-discover-tests.md +25 -0
  68. package/src/workflows/testarch/trace/steps-c/step-03-map-criteria.md +25 -0
  69. package/src/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +27 -2
  70. package/src/workflows/testarch/trace/steps-c/step-05-gate-decision.md +14 -0
  71. package/src/workflows/testarch/trace/trace-template.md +6 -0
  72. package/src/workflows/testarch/trace/workflow.md +2 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "bmad-method-test-architecture-enterprise",
4
- "version": "1.0.1",
4
+ "version": "1.1.0",
5
5
  "description": "Master Test Architect for quality strategy, test automation, and release gates",
6
6
  "keywords": [
7
7
  "bmad",
package/release_notes.md CHANGED
@@ -1,13 +1,15 @@
1
- ## 🚀 What's New in v1.0.1
1
+ ## 🚀 What's New in v1.1.0
2
+
3
+ ### ✨ New Features
4
+ - feat: prereq prompts part2
2
5
 
3
6
  ### 🐛 Bug Fixes
4
- - fix: playwright cli docs alignment
5
- - fix: CI failures
7
+ - fix: issues 22 23
6
8
 
7
9
  ### 📦 Other Changes
8
- - Remove _module-installer pattern for declarative directory creation
9
- - re-run checks
10
- - Merge pull request #24 from bmad-code-org/fix/playwright-cli-docs-alignment
10
+ - Merge pull request #25 from bmad-code-org/feat/prereq-prompts-part2
11
+ - addressed PR comments
12
+ - Merge pull request #26 from bmad-code-org/fix/issue-22-23
11
13
 
12
14
 
13
15
  ## 📦 Installation
@@ -17,4 +19,4 @@ npx bmad-method install
17
19
  # Select "Test Architect" from module menu
18
20
  ```
19
21
 
20
- **Full Changelog**: https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/compare/v1.0.0...v1.0.1
22
+ **Full Changelog**: https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/compare/v1.0.1...v1.1.0
@@ -1,8 +1,8 @@
1
1
  module,phase,name,code,sequence,workflow-file,command,required,agent,options,description,output-location,outputs,
2
2
  tea,0-learning,Teach Me Testing,TMT,10,_bmad/tea/workflows/testarch/teach-me-testing/workflow.md,bmad_tea_teach-me-testing,false,tea,Create Mode,"Teach testing fundamentals through 7 sessions (TEA Academy)",test_artifacts,"progress file|session notes|certificate",
3
- tea,3-solutioning,Test Framework,TF,10,_bmad/tea/workflows/testarch/framework/workflow.yaml,bmad_tea_framework,false,tea,Create Mode,"Initialize production-ready test framework",test_artifacts,"framework scaffold",
4
- tea,3-solutioning,CI Setup,CI,20,_bmad/tea/workflows/testarch/ci/workflow.yaml,bmad_tea_ci,false,tea,Create Mode,"Configure CI/CD quality pipeline",test_artifacts,"ci config",
5
- tea,3-solutioning,Test Design,TD,30,_bmad/tea/workflows/testarch/test-design/workflow.yaml,bmad_tea_test-design,false,tea,Create Mode,"Risk-based test planning",test_artifacts,"test design document",
3
+ tea,3-solutioning,Test Design,TD,10,_bmad/tea/workflows/testarch/test-design/workflow.yaml,bmad_tea_test-design,false,tea,Create Mode,"Risk-based test planning",test_artifacts,"test design document",
4
+ tea,3-solutioning,Test Framework,TF,20,_bmad/tea/workflows/testarch/framework/workflow.yaml,bmad_tea_framework,false,tea,Create Mode,"Initialize production-ready test framework",test_artifacts,"framework scaffold",
5
+ tea,3-solutioning,CI Setup,CI,30,_bmad/tea/workflows/testarch/ci/workflow.yaml,bmad_tea_ci,false,tea,Create Mode,"Configure CI/CD quality pipeline",test_artifacts,"ci config",
6
6
  tea,4-implementation,ATDD,AT,10,_bmad/tea/workflows/testarch/atdd/workflow.yaml,bmad_tea_atdd,false,tea,Create Mode,"Generate failing tests (TDD red phase)",test_artifacts,"atdd tests",
7
7
  tea,4-implementation,Test Automation,TA,20,_bmad/tea/workflows/testarch/automate/workflow.yaml,bmad_tea_automate,false,tea,Create Mode,"Expand test coverage",test_artifacts,"test suite",
8
8
  tea,4-implementation,Test Review,RV,30,_bmad/tea/workflows/testarch/test-review/workflow.yaml,bmad_tea_test-review,false,tea,Validate Mode,"Quality audit (0-100 scoring)",test_artifacts,"review report",
package/src/module.yaml CHANGED
@@ -95,6 +95,31 @@ trace_output:
95
95
  default: "traceability"
96
96
  result: "{test_artifacts}/{value}"
97
97
 
98
+ post-install-notes:
99
+ tea_browser_automation:
100
+ cli: |
101
+ Playwright CLI Setup:
102
+ npm install -g @playwright/cli@latest
103
+ playwright-cli install --skills # Run from project root
104
+ Node.js 18+ required.
105
+ mcp: |
106
+ Playwright MCP Setup (two servers):
107
+ 1. playwright — npx @playwright/mcp@latest
108
+ 2. playwright-test — npx playwright run-test-mcp-server
109
+ Configure both MCP servers in your IDE settings.
110
+ See: https://github.com/microsoft/playwright-mcp
111
+ auto: |
112
+ Playwright CLI Setup:
113
+ npm install -g @playwright/cli@latest
114
+ playwright-cli install --skills # Run from project root
115
+ Node.js 18+ required.
116
+
117
+ Playwright MCP Setup (two servers):
118
+ 1. playwright — npx @playwright/mcp@latest
119
+ 2. playwright-test — npx playwright run-test-mcp-server
120
+ Configure both MCP servers in your IDE settings.
121
+ See: https://github.com/microsoft/playwright-mcp
122
+
98
123
  # Directories to create during installation (declarative, no code execution)
99
124
  directories:
100
125
  - "{test_artifacts}"
@@ -1,3 +1,9 @@
1
+ ---
2
+ stepsCompleted: []
3
+ lastStep: ''
4
+ lastSaved: ''
5
+ ---
6
+
1
7
  # ATDD Checklist - Epic {epic_num}, Story {story_num}: {story_title}
2
8
 
3
9
  **Date:** {date}
@@ -36,3 +36,10 @@ From `workflow.yaml`, resolve:
36
36
 
37
37
  Load, read completely, and execute:
38
38
  `{project-root}/_bmad/tea/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md`
39
+
40
+ ### 3. Resume Support
41
+
42
+ If the user selects **Resume** mode, load, read completely, and execute:
43
+ `{project-root}/_bmad/tea/workflows/testarch/atdd/steps-c/step-01b-resume.md`
44
+
45
+ This checks the output document for progress tracking frontmatter and routes to the next incomplete step.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-01-preflight-and-context'
3
3
  description: 'Verify prerequisites and load story, framework, and knowledge base'
4
+ outputFile: '{test_artifacts}/atdd-checklist-{story_id}.md'
4
5
  nextStepFile: './step-02-generation-mode.md'
5
6
  knowledgeIndex: '{project-root}/_bmad/tea/testarch/tea-index.csv'
6
7
  ---
@@ -104,6 +105,30 @@ Use `{knowledgeIndex}` to load:
104
105
 
105
106
  Summarize loaded inputs and confirm with the user. Then proceed.
106
107
 
108
+ ---
109
+
110
+ ## 6. Save Progress
111
+
112
+ **Save this step's accumulated work to `{outputFile}`.**
113
+
114
+ - **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
115
+
116
+ ```yaml
117
+ ---
118
+ stepsCompleted: ['step-01-preflight-and-context']
119
+ lastStep: 'step-01-preflight-and-context'
120
+ lastSaved: '{date}'
121
+ ---
122
+ ```
123
+
124
+ Then write this step's output below the frontmatter.
125
+
126
+ - **If `{outputFile}` already exists**, update:
127
+ - Add `'step-01-preflight-and-context'` to `stepsCompleted` array (only if not already present)
128
+ - Set `lastStep: 'step-01-preflight-and-context'`
129
+ - Set `lastSaved: '{date}'`
130
+ - Append this step's output to the appropriate section.
131
+
107
132
  Load next step: `{nextStepFile}`
108
133
 
109
134
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: 'step-01b-resume'
3
+ description: 'Resume interrupted workflow from last completed step'
4
+ outputFile: '{test_artifacts}/atdd-checklist-{story_id}.md'
5
+ ---
6
+
7
+ # Step 1b: Resume Workflow
8
+
9
+ ## STEP GOAL
10
+
11
+ Resume an interrupted workflow by loading the existing output document, displaying progress, and routing to the next incomplete step.
12
+
13
+ ## MANDATORY EXECUTION RULES
14
+
15
+ - 📖 Read the entire step file before acting
16
+ - ✅ Speak in `{communication_language}`
17
+
18
+ ---
19
+
20
+ ## EXECUTION PROTOCOLS:
21
+
22
+ - 🎯 Follow the MANDATORY SEQUENCE exactly
23
+ - 📖 Load the next step only when instructed
24
+
25
+ ## CONTEXT BOUNDARIES:
26
+
27
+ - Available context: Output document with progress frontmatter
28
+ - Focus: Load progress and route to next step
29
+ - Limits: Do not re-execute completed steps
30
+ - Dependencies: Output document must exist from a previous run
31
+
32
+ ## MANDATORY SEQUENCE
33
+
34
+ **CRITICAL:** Follow this sequence exactly.
35
+
36
+ ### 1. Load Output Document
37
+
38
+ Read `{outputFile}` and parse YAML frontmatter for:
39
+
40
+ - `stepsCompleted` — array of completed step names
41
+ - `lastStep` — last completed step name
42
+ - `lastSaved` — timestamp of last save
43
+
44
+ **If `{outputFile}` does not exist**, display:
45
+
46
+ "⚠️ **No previous progress found.** There is no output document to resume from. Please use **[C] Create** to start a fresh workflow run."
47
+
48
+ **THEN:** Halt. Do not proceed.
49
+
50
+ ---
51
+
52
+ ### 2. Display Progress Dashboard
53
+
54
+ Display progress with ✅/⬜ indicators:
55
+
56
+ 1. ✅/⬜ Preflight & Context (step-01-preflight-and-context)
57
+ 2. ✅/⬜ Generation Mode (step-02-generation-mode)
58
+ 3. ✅/⬜ Test Strategy (step-03-test-strategy)
59
+ 4. ✅/⬜ Generate Tests + Aggregate (step-04c-aggregate)
60
+ 5. ✅/⬜ Validate & Complete (step-05-validate-and-complete)
61
+
62
+ ---
63
+
64
+ ### 3. Route to Next Step
65
+
66
+ Based on `lastStep`, load the next incomplete step:
67
+
68
+ - `'step-01-preflight-and-context'` → load `./step-02-generation-mode.md`
69
+ - `'step-02-generation-mode'` → load `./step-03-test-strategy.md`
70
+ - `'step-03-test-strategy'` → load `./step-04-generate-tests.md`
71
+ - `'step-04c-aggregate'` → load `./step-05-validate-and-complete.md`
72
+ - `'step-05-validate-and-complete'` → **Workflow already complete.** Display: "✅ **All steps completed.** Use **[V] Validate** to review outputs or **[E] Edit** to make revisions." Then halt.
73
+
74
+ **If `lastStep` does not match any value above**, display: "⚠️ **Unknown progress state** (`lastStep`: {lastStep}). Please use **[C] Create** to start fresh." Then halt.
75
+
76
+ **Otherwise**, load the identified step file, read completely, and execute.
77
+
78
+ The existing content in `{outputFile}` provides context from previously completed steps.
79
+
80
+ ---
81
+
82
+ ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
83
+
84
+ ### ✅ SUCCESS:
85
+
86
+ - Output document loaded and parsed correctly
87
+ - Progress dashboard displayed accurately
88
+ - Routed to correct next step
89
+
90
+ ### ❌ SYSTEM FAILURE:
91
+
92
+ - Not loading output document
93
+ - Incorrect progress display
94
+ - Routing to wrong step
95
+
96
+ **Master Rule:** Resume MUST route to the exact next incomplete step. Never re-execute completed steps.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-02-generation-mode'
3
3
  description: 'Choose AI generation or recording mode'
4
+ outputFile: '{test_artifacts}/atdd-checklist-{story_id}.md'
4
5
  nextStepFile: './step-03-test-strategy.md'
5
6
  ---
6
7
 
@@ -81,6 +82,30 @@ If `none`:
81
82
 
82
83
  State the chosen mode and why. Then proceed.
83
84
 
85
+ ---
86
+
87
+ ## 4. Save Progress
88
+
89
+ **Save this step's accumulated work to `{outputFile}`.**
90
+
91
+ - **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
92
+
93
+ ```yaml
94
+ ---
95
+ stepsCompleted: ['step-02-generation-mode']
96
+ lastStep: 'step-02-generation-mode'
97
+ lastSaved: '{date}'
98
+ ---
99
+ ```
100
+
101
+ Then write this step's output below the frontmatter.
102
+
103
+ - **If `{outputFile}` already exists**, update:
104
+ - Add `'step-02-generation-mode'` to `stepsCompleted` array (only if not already present)
105
+ - Set `lastStep: 'step-02-generation-mode'`
106
+ - Set `lastSaved: '{date}'`
107
+ - Append this step's output to the appropriate section.
108
+
84
109
  Load next step: `{nextStepFile}`
85
110
 
86
111
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-03-test-strategy'
3
3
  description: 'Map acceptance criteria to test levels and priorities'
4
+ outputFile: '{test_artifacts}/atdd-checklist-{story_id}.md'
4
5
  nextStepFile: './step-04-generate-tests.md'
5
6
  ---
6
7
 
@@ -62,6 +63,30 @@ Assign P0–P3 priorities using risk and business impact.
62
63
 
63
64
  Ensure all tests are designed to **fail before implementation** (TDD red phase).
64
65
 
66
+ ---
67
+
68
+ ## 5. Save Progress
69
+
70
+ **Save this step's accumulated work to `{outputFile}`.**
71
+
72
+ - **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
73
+
74
+ ```yaml
75
+ ---
76
+ stepsCompleted: ['step-03-test-strategy']
77
+ lastStep: 'step-03-test-strategy'
78
+ lastSaved: '{date}'
79
+ ---
80
+ ```
81
+
82
+ Then write this step's output below the frontmatter.
83
+
84
+ - **If `{outputFile}` already exists**, update:
85
+ - Add `'step-03-test-strategy'` to `stepsCompleted` array (only if not already present)
86
+ - Set `lastStep: 'step-03-test-strategy'`
87
+ - Set `lastSaved: '{date}'`
88
+ - Append this step's output to the appropriate section.
89
+
65
90
  Load next step: `{nextStepFile}`
66
91
 
67
92
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-04c-aggregate'
3
3
  description: 'Aggregate subprocess outputs and complete ATDD test infrastructure'
4
+ outputFile: '{test_artifacts}/atdd-checklist-{story_id}.md'
4
5
  nextStepFile: './step-05-validate-and-complete.md'
5
6
  ---
6
7
 
@@ -304,6 +305,30 @@ Proceed to Step 5 when:
304
305
  - ✅ Summary statistics calculated and saved
305
306
  - ✅ Output displayed to user
306
307
 
308
+ ---
309
+
310
+ ### 8. Save Progress
311
+
312
+ **Save this step's accumulated work to `{outputFile}`.**
313
+
314
+ - **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
315
+
316
+ ```yaml
317
+ ---
318
+ stepsCompleted: ['step-04c-aggregate']
319
+ lastStep: 'step-04c-aggregate'
320
+ lastSaved: '{date}'
321
+ ---
322
+ ```
323
+
324
+ Then write this step's output below the frontmatter.
325
+
326
+ - **If `{outputFile}` already exists**, update:
327
+ - Add `'step-04c-aggregate'` to `stepsCompleted` array (only if not already present)
328
+ - Set `lastStep: 'step-04c-aggregate'`
329
+ - Set `lastSaved: '{date}'`
330
+ - Append this step's output to the appropriate section.
331
+
307
332
  Load next step: `{nextStepFile}`
308
333
 
309
334
  ---
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-05-validate-and-complete'
3
3
  description: 'Validate ATDD outputs and summarize'
4
+ outputFile: '{test_artifacts}/atdd-checklist-{story_id}.md'
4
5
  ---
5
6
 
6
7
  # Step 5: Validate & Complete
@@ -58,6 +59,30 @@ Report:
58
59
  - Key risks or assumptions
59
60
  - Next recommended workflow (e.g., implementation or `automate`)
60
61
 
62
+ ---
63
+
64
+ ## 3. Save Progress
65
+
66
+ **Save this step's accumulated work to `{outputFile}`.**
67
+
68
+ - **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
69
+
70
+ ```yaml
71
+ ---
72
+ stepsCompleted: ['step-05-validate-and-complete']
73
+ lastStep: 'step-05-validate-and-complete'
74
+ lastSaved: '{date}'
75
+ ---
76
+ ```
77
+
78
+ Then write this step's output below the frontmatter.
79
+
80
+ - **If `{outputFile}` already exists**, update:
81
+ - Add `'step-05-validate-and-complete'` to `stepsCompleted` array (only if not already present)
82
+ - Set `lastStep: 'step-05-validate-and-complete'`
83
+ - Set `lastSaved: '{date}'`
84
+ - Append this step's output to the appropriate section.
85
+
61
86
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
62
87
 
63
88
  ### ✅ SUCCESS:
@@ -29,11 +29,13 @@ This workflow uses **tri-modal step-file architecture**:
29
29
  "Welcome to the workflow. What would you like to do?"
30
30
 
31
31
  - **[C] Create** — Run the workflow
32
+ - **[R] Resume** — Resume an interrupted workflow
32
33
  - **[V] Validate** — Validate existing outputs
33
34
  - **[E] Edit** — Edit existing outputs
34
35
 
35
36
  ### 2. Route to First Step
36
37
 
37
38
  - **If C:** Load `steps-c/step-01-preflight-and-context.md`
39
+ - **If R:** Load `steps-c/step-01b-resume.md`
38
40
  - **If V:** Load `steps-v/step-01-validate.md`
39
41
  - **If E:** Load `steps-e/step-01-assess.md`
@@ -41,3 +41,10 @@ From `workflow.yaml`, resolve:
41
41
 
42
42
  Load, read completely, and execute:
43
43
  `{project-root}/_bmad/tea/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md`
44
+
45
+ ### 3. Resume Support
46
+
47
+ If the user selects **Resume** mode, load, read completely, and execute:
48
+ `{project-root}/_bmad/tea/workflows/testarch/automate/steps-c/step-01b-resume.md`
49
+
50
+ This checks the output document for progress tracking frontmatter and routes to the next incomplete step.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-01-preflight-and-context'
3
3
  description: 'Determine mode, verify framework, and load context and knowledge'
4
+ outputFile: '{test_artifacts}/automation-summary.md'
4
5
  nextStepFile: './step-02-identify-targets.md'
5
6
  knowledgeIndex: '{project-root}/_bmad/tea/testarch/tea-index.csv'
6
7
  ---
@@ -122,6 +123,30 @@ Use `{knowledgeIndex}` and load only what is required.
122
123
 
123
124
  Summarize loaded artifacts, framework, and knowledge fragments, then proceed.
124
125
 
126
+ ---
127
+
128
+ ## 6. Save Progress
129
+
130
+ **Save this step's accumulated work to `{outputFile}`.**
131
+
132
+ - **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
133
+
134
+ ```yaml
135
+ ---
136
+ stepsCompleted: ['step-01-preflight-and-context']
137
+ lastStep: 'step-01-preflight-and-context'
138
+ lastSaved: '{date}'
139
+ ---
140
+ ```
141
+
142
+ Then write this step's output below the frontmatter.
143
+
144
+ - **If `{outputFile}` already exists**, update:
145
+ - Add `'step-01-preflight-and-context'` to `stepsCompleted` array (only if not already present)
146
+ - Set `lastStep: 'step-01-preflight-and-context'`
147
+ - Set `lastSaved: '{date}'`
148
+ - Append this step's output to the appropriate section.
149
+
125
150
  Load next step: `{nextStepFile}`
126
151
 
127
152
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: 'step-01b-resume'
3
+ description: 'Resume interrupted workflow from last completed step'
4
+ outputFile: '{test_artifacts}/automation-summary.md'
5
+ ---
6
+
7
+ # Step 1b: Resume Workflow
8
+
9
+ ## STEP GOAL
10
+
11
+ Resume an interrupted workflow by loading the existing output document, displaying progress, and routing to the next incomplete step.
12
+
13
+ ## MANDATORY EXECUTION RULES
14
+
15
+ - 📖 Read the entire step file before acting
16
+ - ✅ Speak in `{communication_language}`
17
+
18
+ ---
19
+
20
+ ## EXECUTION PROTOCOLS:
21
+
22
+ - 🎯 Follow the MANDATORY SEQUENCE exactly
23
+ - 📖 Load the next step only when instructed
24
+
25
+ ## CONTEXT BOUNDARIES:
26
+
27
+ - Available context: Output document with progress frontmatter
28
+ - Focus: Load progress and route to next step
29
+ - Limits: Do not re-execute completed steps
30
+ - Dependencies: Output document must exist from a previous run
31
+
32
+ ## MANDATORY SEQUENCE
33
+
34
+ **CRITICAL:** Follow this sequence exactly.
35
+
36
+ ### 1. Load Output Document
37
+
38
+ Read `{outputFile}` and parse YAML frontmatter for:
39
+
40
+ - `stepsCompleted` — array of completed step names
41
+ - `lastStep` — last completed step name
42
+ - `lastSaved` — timestamp of last save
43
+
44
+ **If `{outputFile}` does not exist**, display:
45
+
46
+ "⚠️ **No previous progress found.** There is no output document to resume from. Please use **[C] Create** to start a fresh workflow run."
47
+
48
+ **THEN:** Halt. Do not proceed.
49
+
50
+ ---
51
+
52
+ ### 2. Display Progress Dashboard
53
+
54
+ Display progress with ✅/⬜ indicators:
55
+
56
+ 1. ✅/⬜ Preflight & Context (step-01-preflight-and-context)
57
+ 2. ✅/⬜ Identify Targets (step-02-identify-targets)
58
+ 3. ✅/⬜ Generate Tests + Aggregate (step-03c-aggregate)
59
+ 4. ✅/⬜ Validate & Summarize (step-04-validate-and-summarize)
60
+
61
+ ---
62
+
63
+ ### 3. Route to Next Step
64
+
65
+ Based on `lastStep`, load the next incomplete step:
66
+
67
+ - `'step-01-preflight-and-context'` → load `./step-02-identify-targets.md`
68
+ - `'step-02-identify-targets'` → load `./step-03-generate-tests.md`
69
+ - `'step-03c-aggregate'` → load `./step-04-validate-and-summarize.md`
70
+ - `'step-04-validate-and-summarize'` → **Workflow already complete.** Display: "✅ **All steps completed.** Use **[V] Validate** to review outputs or **[E] Edit** to make revisions." Then halt.
71
+
72
+ **If `lastStep` does not match any value above**, display: "⚠️ **Unknown progress state** (`lastStep`: {lastStep}). Please use **[C] Create** to start fresh." Then halt.
73
+
74
+ **Otherwise**, load the identified step file, read completely, and execute.
75
+
76
+ The existing content in `{outputFile}` provides context from previously completed steps.
77
+
78
+ ---
79
+
80
+ ## 🚨 SYSTEM SUCCESS/FAILURE METRICS
81
+
82
+ ### ✅ SUCCESS:
83
+
84
+ - Output document loaded and parsed correctly
85
+ - Progress dashboard displayed accurately
86
+ - Routed to correct next step
87
+
88
+ ### ❌ SYSTEM FAILURE:
89
+
90
+ - Not loading output document
91
+ - Incorrect progress display
92
+ - Routing to wrong step
93
+
94
+ **Master Rule:** Resume MUST route to the exact next incomplete step. Never re-execute completed steps.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-02-identify-targets'
3
3
  description: 'Identify automation targets and create coverage plan'
4
+ outputFile: '{test_artifacts}/automation-summary.md'
4
5
  nextStepFile: './step-03-generate-tests.md'
5
6
  ---
6
7
 
@@ -94,6 +95,30 @@ Produce a concise coverage plan:
94
95
  - Priority assignments
95
96
  - Justification for coverage scope (critical-paths/comprehensive/selective)
96
97
 
98
+ ---
99
+
100
+ ## 5. Save Progress
101
+
102
+ **Save this step's accumulated work to `{outputFile}`.**
103
+
104
+ - **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
105
+
106
+ ```yaml
107
+ ---
108
+ stepsCompleted: ['step-02-identify-targets']
109
+ lastStep: 'step-02-identify-targets'
110
+ lastSaved: '{date}'
111
+ ---
112
+ ```
113
+
114
+ Then write this step's output below the frontmatter.
115
+
116
+ - **If `{outputFile}` already exists**, update:
117
+ - Add `'step-02-identify-targets'` to `stepsCompleted` array (only if not already present)
118
+ - Set `lastStep: 'step-02-identify-targets'`
119
+ - Set `lastSaved: '{date}'`
120
+ - Append this step's output to the appropriate section.
121
+
97
122
  Load next step: `{nextStepFile}`
98
123
 
99
124
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: 'step-03c-aggregate'
3
3
  description: 'Aggregate subprocess outputs and complete test infrastructure'
4
+ outputFile: '{test_artifacts}/automation-summary.md'
4
5
  nextStepFile: './step-04-validate-and-summarize.md'
5
6
  ---
6
7
 
@@ -277,6 +278,30 @@ Proceed to Step 4 when:
277
278
  - ✅ Summary statistics calculated and saved
278
279
  - ✅ Output displayed to user
279
280
 
281
+ ---
282
+
283
+ ### 7. Save Progress
284
+
285
+ **Save this step's accumulated work to `{outputFile}`.**
286
+
287
+ - **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
288
+
289
+ ```yaml
290
+ ---
291
+ stepsCompleted: ['step-03c-aggregate']
292
+ lastStep: 'step-03c-aggregate'
293
+ lastSaved: '{date}'
294
+ ---
295
+ ```
296
+
297
+ Then write this step's output below the frontmatter.
298
+
299
+ - **If `{outputFile}` already exists**, update:
300
+ - Add `'step-03c-aggregate'` to `stepsCompleted` array (only if not already present)
301
+ - Set `lastStep: 'step-03c-aggregate'`
302
+ - Set `lastSaved: '{date}'`
303
+ - Append this step's output to the appropriate section.
304
+
280
305
  Load next step: `{nextStepFile}`
281
306
 
282
307
  ---
@@ -59,6 +59,30 @@ Write `{outputFile}` including:
59
59
  - Key assumptions and risks
60
60
  - Next recommended workflow (e.g., `test-review` or `trace`)
61
61
 
62
+ ---
63
+
64
+ ## 3. Save Progress
65
+
66
+ **Save this step's accumulated work to `{outputFile}`.**
67
+
68
+ - **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
69
+
70
+ ```yaml
71
+ ---
72
+ stepsCompleted: ['step-04-validate-and-summarize']
73
+ lastStep: 'step-04-validate-and-summarize'
74
+ lastSaved: '{date}'
75
+ ---
76
+ ```
77
+
78
+ Then write this step's output below the frontmatter.
79
+
80
+ - **If `{outputFile}` already exists**, update:
81
+ - Add `'step-04-validate-and-summarize'` to `stepsCompleted` array (only if not already present)
82
+ - Set `lastStep: 'step-04-validate-and-summarize'`
83
+ - Set `lastSaved: '{date}'`
84
+ - Append this step's output to the appropriate section.
85
+
62
86
  ## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
63
87
 
64
88
  ### ✅ SUCCESS: