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.
- package/package.json +1 -1
- package/release_notes.md +9 -7
- package/src/module-help.csv +3 -3
- package/src/module.yaml +25 -0
- package/src/workflows/testarch/atdd/atdd-checklist-template.md +6 -0
- package/src/workflows/testarch/atdd/instructions.md +7 -0
- package/src/workflows/testarch/atdd/steps-c/step-01-preflight-and-context.md +25 -0
- package/src/workflows/testarch/atdd/steps-c/step-01b-resume.md +96 -0
- package/src/workflows/testarch/atdd/steps-c/step-02-generation-mode.md +25 -0
- package/src/workflows/testarch/atdd/steps-c/step-03-test-strategy.md +25 -0
- package/src/workflows/testarch/atdd/steps-c/step-04c-aggregate.md +25 -0
- package/src/workflows/testarch/atdd/steps-c/step-05-validate-and-complete.md +25 -0
- package/src/workflows/testarch/atdd/workflow.md +2 -0
- package/src/workflows/testarch/automate/instructions.md +7 -0
- package/src/workflows/testarch/automate/steps-c/step-01-preflight-and-context.md +25 -0
- package/src/workflows/testarch/automate/steps-c/step-01b-resume.md +94 -0
- package/src/workflows/testarch/automate/steps-c/step-02-identify-targets.md +25 -0
- package/src/workflows/testarch/automate/steps-c/step-03c-aggregate.md +25 -0
- package/src/workflows/testarch/automate/steps-c/step-04-validate-and-summarize.md +24 -0
- package/src/workflows/testarch/automate/workflow.md +2 -0
- package/src/workflows/testarch/ci/instructions.md +7 -0
- package/src/workflows/testarch/ci/steps-c/step-01-preflight.md +25 -0
- package/src/workflows/testarch/ci/steps-c/step-01b-resume.md +110 -0
- package/src/workflows/testarch/ci/steps-c/step-02-generate-pipeline.md +27 -2
- package/src/workflows/testarch/ci/steps-c/step-03-configure-quality-gates.md +25 -0
- package/src/workflows/testarch/ci/steps-c/step-04-validate-and-summary.md +25 -0
- package/src/workflows/testarch/ci/workflow.md +2 -0
- package/src/workflows/testarch/framework/instructions.md +7 -0
- package/src/workflows/testarch/framework/steps-c/step-01-preflight.md +25 -0
- package/src/workflows/testarch/framework/steps-c/step-01b-resume.md +116 -0
- package/src/workflows/testarch/framework/steps-c/step-02-select-framework.md +25 -0
- package/src/workflows/testarch/framework/steps-c/step-03-scaffold-framework.md +25 -0
- package/src/workflows/testarch/framework/steps-c/step-04-docs-and-scripts.md +23 -0
- package/src/workflows/testarch/framework/steps-c/step-05-validate-and-summary.md +25 -0
- package/src/workflows/testarch/framework/workflow.md +2 -0
- package/src/workflows/testarch/nfr-assess/instructions.md +7 -0
- package/src/workflows/testarch/nfr-assess/nfr-report-template.md +6 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-01-load-context.md +25 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-01b-resume.md +106 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-02-define-thresholds.md +25 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-03-gather-evidence.md +25 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-04e-aggregate-nfr.md +28 -0
- package/src/workflows/testarch/nfr-assess/steps-c/step-05-generate-report.md +25 -1
- package/src/workflows/testarch/nfr-assess/workflow.md +2 -0
- package/src/workflows/testarch/test-design/instructions.md +7 -0
- package/src/workflows/testarch/test-design/steps-c/step-01-detect-mode.md +25 -0
- package/src/workflows/testarch/test-design/steps-c/step-01b-resume.md +102 -0
- package/src/workflows/testarch/test-design/steps-c/step-02-load-context.md +25 -0
- package/src/workflows/testarch/test-design/steps-c/step-03-risk-and-testability.md +25 -0
- package/src/workflows/testarch/test-design/steps-c/step-04-coverage-plan.md +25 -0
- package/src/workflows/testarch/test-design/steps-c/step-05-generate-output.md +25 -0
- package/src/workflows/testarch/test-design/test-design-architecture-template.md +6 -0
- package/src/workflows/testarch/test-design/test-design-qa-template.md +6 -0
- package/src/workflows/testarch/test-design/test-design-template.md +6 -0
- package/src/workflows/testarch/test-design/workflow.md +2 -0
- package/src/workflows/testarch/test-review/instructions.md +7 -0
- package/src/workflows/testarch/test-review/steps-c/step-01-load-context.md +25 -0
- package/src/workflows/testarch/test-review/steps-c/step-01b-resume.md +104 -0
- package/src/workflows/testarch/test-review/steps-c/step-02-discover-tests.md +25 -0
- package/src/workflows/testarch/test-review/steps-c/step-03f-aggregate-scores.md +28 -0
- package/src/workflows/testarch/test-review/steps-c/step-04-generate-report.md +25 -1
- package/src/workflows/testarch/test-review/test-review-template.md +6 -0
- package/src/workflows/testarch/test-review/workflow.md +2 -0
- package/src/workflows/testarch/trace/instructions.md +7 -0
- package/src/workflows/testarch/trace/steps-c/step-01-load-context.md +25 -0
- package/src/workflows/testarch/trace/steps-c/step-01b-resume.md +102 -0
- package/src/workflows/testarch/trace/steps-c/step-02-discover-tests.md +25 -0
- package/src/workflows/testarch/trace/steps-c/step-03-map-criteria.md +25 -0
- package/src/workflows/testarch/trace/steps-c/step-04-analyze-gaps.md +27 -2
- package/src/workflows/testarch/trace/steps-c/step-05-gate-decision.md +14 -0
- package/src/workflows/testarch/trace/trace-template.md +6 -0
- 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
|
|
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
|
+
## 🚀 What's New in v1.1.0
|
|
2
|
+
|
|
3
|
+
### ✨ New Features
|
|
4
|
+
- feat: prereq prompts part2
|
|
2
5
|
|
|
3
6
|
### 🐛 Bug Fixes
|
|
4
|
-
- fix:
|
|
5
|
-
- fix: CI failures
|
|
7
|
+
- fix: issues 22 23
|
|
6
8
|
|
|
7
9
|
### 📦 Other Changes
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
- Merge pull request #
|
|
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.
|
|
22
|
+
**Full Changelog**: https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise/compare/v1.0.1...v1.1.0
|
package/src/module-help.csv
CHANGED
|
@@ -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
|
|
4
|
-
tea,3-solutioning,
|
|
5
|
-
tea,3-solutioning,
|
|
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}"
|
|
@@ -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:
|