qaa-agent 1.9.2 → 1.9.6

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 (43) hide show
  1. package/CHANGELOG.md +230 -179
  2. package/CLAUDE.md +720 -557
  3. package/README.md +384 -357
  4. package/VERSION +1 -1
  5. package/agents/qa-pipeline-orchestrator.md +1739 -1425
  6. package/agents/qaa-analyzer.md +0 -1
  7. package/agents/qaa-bug-detective.md +792 -655
  8. package/agents/qaa-codebase-mapper.md +54 -1
  9. package/agents/qaa-discovery.md +431 -384
  10. package/agents/qaa-e2e-runner.md +717 -577
  11. package/agents/qaa-executor.md +966 -830
  12. package/agents/qaa-planner.md +14 -1
  13. package/agents/qaa-project-researcher.md +539 -400
  14. package/agents/qaa-scanner.md +86 -1
  15. package/agents/qaa-testid-injector.md +0 -1
  16. package/agents/qaa-validator.md +86 -1
  17. package/bin/install.cjs +374 -252
  18. package/bin/lib/context7-cache.cjs +299 -0
  19. package/bin/lib/intent-detector.cjs +490 -0
  20. package/commands/qa-audit.md +269 -126
  21. package/commands/qa-create-test-ado.md +439 -404
  22. package/commands/qa-create-test.md +672 -365
  23. package/commands/qa-fix.md +691 -513
  24. package/commands/qa-map.md +319 -139
  25. package/commands/qa-pr.md +63 -0
  26. package/commands/qa-research.md +212 -157
  27. package/commands/qa-start.md +62 -6
  28. package/commands/qa-test-report.md +254 -219
  29. package/commands/qa-testid.md +31 -0
  30. package/frameworks/cypress.json +54 -0
  31. package/frameworks/jest.json +59 -0
  32. package/frameworks/playwright.json +58 -0
  33. package/frameworks/pytest.json +59 -0
  34. package/frameworks/robot-framework.json +54 -0
  35. package/frameworks/selenium.json +65 -0
  36. package/frameworks/vitest.json +57 -0
  37. package/package.json +41 -38
  38. package/workflows/qa-analyze.md +100 -4
  39. package/workflows/qa-from-ticket.md +50 -2
  40. package/workflows/qa-gap.md +50 -2
  41. package/workflows/qa-start.md +2048 -1405
  42. package/workflows/qa-testid.md +50 -2
  43. package/workflows/qa-validate.md +50 -2
@@ -1,157 +1,212 @@
1
- # QA Research
2
-
3
- Research the testing ecosystem for the current project. Investigates framework capabilities, best practices, selector syntax, and testing patterns using Context7 MCP and official documentation. Produces research files consumed by all downstream QA agents (analyzer, planner, executor, validator).
4
-
5
- ## Usage
6
-
7
- ```
8
- /qa-research [options]
9
- ```
10
-
11
- ### Options
12
-
13
- - `--focus <mode>` research mode (default: `stack-testing`)
14
- - `stack-testing` full stack analysis: test runner, assertions, mocking, E2E framework, CI/CD patterns
15
- - `framework-deep-dive`deep dive into the detected/specified framework: full API, patterns, pitfalls, selector syntax
16
- - `api-testing` — API testing strategy: endpoint patterns, contract testing, auth testing, error testing
17
- - `e2e-strategy`E2E strategy: framework comparison, POM patterns, selector strategies, visual testing
18
- - `--dev-repo <path>` path to developer repository (default: current directory)
19
-
20
- ### Mode Detection
21
-
22
- ```
23
- if --focus framework-deep-dive:
24
- MODE = "framework-deep-dive"
25
- elif --focus api-testing:
26
- MODE = "api-testing"
27
- elif --focus e2e-strategy:
28
- MODE = "e2e-strategy"
29
- else:
30
- MODE = "stack-testing"
31
- ```
32
-
33
- ## What It Produces
34
-
35
- All output files are written to `.qa-output/research/`.
36
-
37
- | Mode | Output |
38
- |------|--------|
39
- | stack-testing | `TESTING_STACK.md` (+ `API_TESTING_STRATEGY.md` and `E2E_STRATEGY.md` if project has APIs and frontend) |
40
- | framework-deep-dive | `FRAMEWORK_CAPABILITIES.md` |
41
- | api-testing | `API_TESTING_STRATEGY.md` |
42
- | e2e-strategy | `E2E_STRATEGY.md` |
43
-
44
- These files are consumed by downstream agents:
45
-
46
- | File | Consumed By |
47
- |------|-------------|
48
- | `TESTING_STACK.md` | Analyzer (framework selection), Planner (dependency setup) |
49
- | `FRAMEWORK_CAPABILITIES.md` | Executor (idiomatic test writing), Validator (pattern checking), E2E Runner (correct syntax) |
50
- | `API_TESTING_STRATEGY.md` | Planner (API test case design), Executor (implementation patterns) |
51
- | `E2E_STRATEGY.md` | Planner (E2E scope decisions), Executor (POM and selector patterns) |
52
-
53
- ## Instructions
54
-
55
- ### Step 1: Initialize
56
-
57
- Parse `$ARGUMENTS` for flags.
58
-
59
- ```bash
60
- MODE="stack-testing"
61
- DEV_REPO=""
62
-
63
- if echo "$ARGUMENTS" | grep -qE '\-\-focus'; then
64
- MODE=$(echo "$ARGUMENTS" | grep -oE '\-\-focus\s+[^\s]+' | awk '{print $2}')
65
- fi
66
-
67
- if echo "$ARGUMENTS" | grep -qE '\-\-dev-repo'; then
68
- DEV_REPO=$(echo "$ARGUMENTS" | grep -oE '\-\-dev-repo\s+[^\s]+' | awk '{print $2}')
69
- fi
70
-
71
- if [ -z "$DEV_REPO" ]; then
72
- DEV_REPO=$(pwd)
73
- fi
74
-
75
- mkdir -p .qa-output/research
76
- ```
77
-
78
- Print banner:
79
- ```
80
- === QA Research ===
81
- Mode: {MODE}
82
- Dev Repo: {DEV_REPO}
83
- Output: .qa-output/research/
84
- ====================
85
- ```
86
-
87
- ### Step 2: Read Existing Context (if available)
88
-
89
- Read these files if they exist — they provide context to the researcher:
90
-
91
- - `.qa-output/SCAN_MANIFEST.md` — detected project stack from scanner
92
- - `CLAUDE.md` — QA standards that the research must align with
93
- - `~/.claude/qaa/MY_PREFERENCES.md` user preferences (framework choices, conventions)
94
-
95
- ### Step 3: Spawn Researcher Agent
96
-
97
- Task(
98
- prompt="
99
- <objective>Research the testing ecosystem for this project. Mode: {MODE}. Use Context7 MCP as the primary source for all framework and library questions. Verify everything against current documentation — do not rely on training data alone.</objective>
100
- <execution_context>@agents/qaa-project-researcher.md</execution_context>
101
- <files_to_read>
102
- - CLAUDE.md
103
- - ~/.claude/qaa/MY_PREFERENCES.md (if exists)
104
- - .qa-output/SCAN_MANIFEST.md (if exists)
105
- </files_to_read>
106
- <parameters>
107
- mode: {MODE}
108
- dev_repo_path: {DEV_REPO}
109
- output_dir: .qa-output/research
110
- </parameters>
111
- "
112
- )
113
-
114
- ### Step 4: Present Results
115
-
116
- After the researcher completes, summarize what was found:
117
-
118
- ```
119
- === Research Complete ===
120
- Mode: {MODE}
121
- Files produced: {list of files in .qa-output/research/}
122
- Framework detected: {name + version}
123
- Key findings:
124
- - {finding 1}
125
- - {finding 2}
126
- - {finding 3}
127
-
128
- These files will be automatically consumed by downstream agents
129
- when you run /qa-create-test, /qa-fix, or /qa-start.
130
- =========================
131
- ```
132
-
133
- $ARGUMENTS
134
-
135
- ## MANDATORY verification run ALL commands below, no exceptions, no skipping
136
-
137
- Before returning control, copy-paste and run this ENTIRE block. Do NOT decide which commands "apply" — run all of them every time. The output confirms what happened; you do not get to assume the answer.
138
-
139
- ```bash
140
- echo "=== QA-RESEARCH CHECKLIST START ==="
141
- echo "1. Research output files:"
142
- ls .qa-output/research/ 2>/dev/null || echo "NO_RESEARCH_FILES"
143
- echo "2. TESTING_STACK.md content check:"
144
- head -20 .qa-output/research/TESTING_STACK.md 2>/dev/null || echo "NO_TESTING_STACK"
145
- echo "3. FRAMEWORK_CAPABILITIES.md content check:"
146
- head -20 .qa-output/research/FRAMEWORK_CAPABILITIES.md 2>/dev/null || echo "NO_FRAMEWORK_CAPABILITIES"
147
- echo "4. Context7 was used (check for confidence levels):"
148
- grep -c "HIGH\|MEDIUM\|LOW" .qa-output/research/*.md 2>/dev/null || echo "NO_CONFIDENCE_LEVELS"
149
- echo "5. Version information present:"
150
- grep -i "version" .qa-output/research/*.md 2>/dev/null | head -5 || echo "NO_VERSION_INFO"
151
- echo "=== QA-RESEARCH CHECKLIST END ==="
152
- ```
153
-
154
- **Rules:**
155
- - Run the block AS-IS. Do not modify it. Do not split it. Do not skip lines.
156
- - If any output shows a problem (NO_RESEARCH_FILES after research completed), fix it before returning.
157
- - Do NOT mark this task as complete until the block has been executed and you have read every line of output.
1
+ # QA Research
2
+
3
+ Research the testing ecosystem for the current project. Investigates framework capabilities, best practices, selector syntax, and testing patterns using Context7 MCP and official documentation. Produces research files consumed by all downstream QA agents (analyzer, planner, executor, validator).
4
+
5
+ ## ⚠ MANDATORY: How to Execute This Command
6
+
7
+ Execute these steps IN ORDER. Every step is mandatory. Do NOT improvise,
8
+ reorder, skip, or invent steps. This command is flag-driven — there is no intent
9
+ detector; parse the flags from `$ARGUMENTS` literally.
10
+
11
+ 1. STEP 1 — Initialize (see "## Instructions"): parse `$ARGUMENTS` for `--focus`
12
+ and `--dev-repo`, resolve MODE (default `stack-testing`) and DEV_REPO
13
+ (default: current directory), create `.qa-output/research/`, and print the
14
+ `=== QA Research ===` banner.
15
+ 2. STEP 2 Read existing context if present: `.qa-output/SCAN_MANIFEST.md`,
16
+ `CLAUDE.md`, `~/.claude/qaa/MY_PREFERENCES.md`.
17
+ 3. STEP 3 Spawn the project-researcher via Task() with its `<critical_directive>`
18
+ block, passing the resolved MODE and DEV_REPO. Do NOT do the research inline.
19
+ 4. STEP 4 — After the researcher returns, print the `=== Research Complete ===`
20
+ summary.
21
+ 5. Run the "## MANDATORY verification" checklist at the bottom of this file
22
+ before returning control.
23
+
24
+ ### DO NOT
25
+ - Skip the `=== QA Research ===` banner
26
+ - Do the research yourself inline instead of spawning the project-researcher
27
+ - Invent a mode not in the `--focus` list, or reorder the steps
28
+ - Skip the bottom verification checklist
29
+ - Assume dev-repo path or mode from a previous command invocation — each
30
+ /qa-research call is self-contained
31
+
32
+ If you find yourself improvising, doing the research inline, or skipping the
33
+ verification checklist STOP and restart from step 1.
34
+
35
+ ## Usage
36
+
37
+ ```
38
+ /qa-research [options]
39
+ ```
40
+
41
+ ### Options
42
+
43
+ - `--focus <mode>` — research mode (default: `stack-testing`)
44
+ - `stack-testing` full stack analysis: test runner, assertions, mocking, E2E framework, CI/CD patterns
45
+ - `framework-deep-dive` — deep dive into the detected/specified framework: full API, patterns, pitfalls, selector syntax
46
+ - `api-testing` API testing strategy: endpoint patterns, contract testing, auth testing, error testing
47
+ - `e2e-strategy` — E2E strategy: framework comparison, POM patterns, selector strategies, visual testing
48
+ - `--dev-repo <path>` path to developer repository (default: current directory)
49
+
50
+ ### Mode Detection
51
+
52
+ ```
53
+ if --focus framework-deep-dive:
54
+ MODE = "framework-deep-dive"
55
+ elif --focus api-testing:
56
+ MODE = "api-testing"
57
+ elif --focus e2e-strategy:
58
+ MODE = "e2e-strategy"
59
+ else:
60
+ MODE = "stack-testing"
61
+ ```
62
+
63
+ ## What It Produces
64
+
65
+ All output files are written to `.qa-output/research/`.
66
+
67
+ | Mode | Output |
68
+ |------|--------|
69
+ | stack-testing | `TESTING_STACK.md` (+ `API_TESTING_STRATEGY.md` and `E2E_STRATEGY.md` if project has APIs and frontend) |
70
+ | framework-deep-dive | `FRAMEWORK_CAPABILITIES.md` |
71
+ | api-testing | `API_TESTING_STRATEGY.md` |
72
+ | e2e-strategy | `E2E_STRATEGY.md` |
73
+
74
+ These files are consumed by downstream agents:
75
+
76
+ | File | Consumed By |
77
+ |------|-------------|
78
+ | `TESTING_STACK.md` | Analyzer (framework selection), Planner (dependency setup) |
79
+ | `FRAMEWORK_CAPABILITIES.md` | Executor (idiomatic test writing), Validator (pattern checking), E2E Runner (correct syntax) |
80
+ | `API_TESTING_STRATEGY.md` | Planner (API test case design), Executor (implementation patterns) |
81
+ | `E2E_STRATEGY.md` | Planner (E2E scope decisions), Executor (POM and selector patterns) |
82
+
83
+ ## Instructions
84
+
85
+ ### Step 1: Initialize
86
+
87
+ Parse `$ARGUMENTS` for flags.
88
+
89
+ ```bash
90
+ MODE="stack-testing"
91
+ DEV_REPO=""
92
+
93
+ if echo "$ARGUMENTS" | grep -qE '\-\-focus'; then
94
+ MODE=$(echo "$ARGUMENTS" | grep -oE '\-\-focus\s+[^\s]+' | awk '{print $2}')
95
+ fi
96
+
97
+ if echo "$ARGUMENTS" | grep -qE '\-\-dev-repo'; then
98
+ DEV_REPO=$(echo "$ARGUMENTS" | grep -oE '\-\-dev-repo\s+[^\s]+' | awk '{print $2}')
99
+ fi
100
+
101
+ if [ -z "$DEV_REPO" ]; then
102
+ DEV_REPO=$(pwd)
103
+ fi
104
+
105
+ mkdir -p .qa-output/research
106
+ ```
107
+
108
+ Print banner:
109
+ ```
110
+ === QA Research ===
111
+ Mode: {MODE}
112
+ Dev Repo: {DEV_REPO}
113
+ Output: .qa-output/research/
114
+ ====================
115
+ ```
116
+
117
+ ### Step 2: Read Existing Context (if available)
118
+
119
+ Read these files if they exist — they provide context to the researcher:
120
+
121
+ - `.qa-output/SCAN_MANIFEST.md` detected project stack from scanner
122
+ - `CLAUDE.md` QA standards that the research must align with
123
+ - `~/.claude/qaa/MY_PREFERENCES.md` — user preferences (framework choices, conventions)
124
+
125
+ ### Step 3: Spawn Researcher Agent
126
+
127
+ Task(
128
+ subagent_type="qaa-project-researcher",
129
+ prompt="
130
+ <critical_directive priority="MANDATORY">
131
+ You are executing as a QAA pipeline agent. Your FIRST action MUST be to read
132
+ ~/.claude/qaa/agents/qaa-project-researcher.md and adopt it as your operating contract.
133
+
134
+ Even though you may be running as a general-purpose agent (native subagent type
135
+ routing for QAA agents is not yet enabled), you MUST behave exactly as the
136
+ dedicated agent defined in that file: read everything in its <required_reading>,
137
+ obey its <quality_gate>, and run its mandatory bash checklist before returning.
138
+
139
+ Never modify application source code (src/, app/, lib/, or equivalent
140
+ directories) unless the agent's <scope> section explicitly permits it. If the
141
+ agent's contract restricts what files it can touch, honor that restriction —
142
+ even if a fix seems obvious or trivial.
143
+
144
+ If you cannot read ~/.claude/qaa/agents/qaa-project-researcher.md (file missing, corrupted, parse
145
+ error), STOP and report the failure. Do NOT proceed with default agent
146
+ behavior that defeats the purpose of this directive.
147
+
148
+ Do NOT improvise, substitute steps, apply changes the agent isn't allowed to
149
+ make, or skip any of the above. Skipping the agent's required_reading,
150
+ quality_gate, or bash checklist makes the run INVALID its output cannot be
151
+ trusted.
152
+ </critical_directive>
153
+
154
+ <objective>Research the testing ecosystem for this project. Mode: {MODE}. Use Context7 MCP as the primary source for all framework and library questions. Verify everything against current documentation — do not rely on training data alone.</objective>
155
+ <execution_context>~/.claude/qaa/agents/qaa-project-researcher.md</execution_context>
156
+ <files_to_read>
157
+ - CLAUDE.md
158
+ - ~/.claude/qaa/MY_PREFERENCES.md (if exists)
159
+ - .qa-output/SCAN_MANIFEST.md (if exists)
160
+ </files_to_read>
161
+ <parameters>
162
+ mode: {MODE}
163
+ dev_repo_path: {DEV_REPO}
164
+ output_dir: .qa-output/research
165
+ </parameters>
166
+ "
167
+ )
168
+
169
+ ### Step 4: Present Results
170
+
171
+ After the researcher completes, summarize what was found:
172
+
173
+ ```
174
+ === Research Complete ===
175
+ Mode: {MODE}
176
+ Files produced: {list of files in .qa-output/research/}
177
+ Framework detected: {name + version}
178
+ Key findings:
179
+ - {finding 1}
180
+ - {finding 2}
181
+ - {finding 3}
182
+
183
+ These files will be automatically consumed by downstream agents
184
+ when you run /qa-create-test, /qa-fix, or /qa-start.
185
+ =========================
186
+ ```
187
+
188
+ $ARGUMENTS
189
+
190
+ ## MANDATORY verification — run ALL commands below, no exceptions, no skipping
191
+
192
+ Before returning control, copy-paste and run this ENTIRE block. Do NOT decide which commands "apply" — run all of them every time. The output confirms what happened; you do not get to assume the answer.
193
+
194
+ ```bash
195
+ echo "=== QA-RESEARCH CHECKLIST START ==="
196
+ echo "1. Research output files:"
197
+ ls .qa-output/research/ 2>/dev/null || echo "NO_RESEARCH_FILES"
198
+ echo "2. TESTING_STACK.md content check:"
199
+ head -20 .qa-output/research/TESTING_STACK.md 2>/dev/null || echo "NO_TESTING_STACK"
200
+ echo "3. FRAMEWORK_CAPABILITIES.md content check:"
201
+ head -20 .qa-output/research/FRAMEWORK_CAPABILITIES.md 2>/dev/null || echo "NO_FRAMEWORK_CAPABILITIES"
202
+ echo "4. Context7 was used (check for confidence levels):"
203
+ grep -c "HIGH\|MEDIUM\|LOW" .qa-output/research/*.md 2>/dev/null || echo "NO_CONFIDENCE_LEVELS"
204
+ echo "5. Version information present:"
205
+ grep -i "version" .qa-output/research/*.md 2>/dev/null | head -5 || echo "NO_VERSION_INFO"
206
+ echo "=== QA-RESEARCH CHECKLIST END ==="
207
+ ```
208
+
209
+ **Rules:**
210
+ - Run the block AS-IS. Do not modify it. Do not split it. Do not skip lines.
211
+ - If any output shows a problem (NO_RESEARCH_FILES after research completed), fix it before returning.
212
+ - Do NOT mark this task as complete until the block has been executed and you have read every line of output.
@@ -4,16 +4,72 @@ Run the complete QA automation pipeline. Analyzes a repository, generates a stan
4
4
 
5
5
  ## Usage
6
6
 
7
- /qa-start [--dev-repo <path>] [--qa-repo <path>] [--auto]
7
+ ```
8
+ /qa-start [--dev-repo <path>] [--qa-repo <path>] [--app-url <url>] [--framework <name>] [--auto]
9
+ ```
8
10
 
9
- - No arguments: uses current directory as dev repo (Option 1)
10
- - --dev-repo: explicit path to developer repository
11
- - --qa-repo: path to existing QA repository (triggers Option 2 or 3)
12
- - --auto: enable auto-advance mode (no pauses at safe checkpoints)
11
+ - **No arguments**: uses current directory as dev repo (Option 1)
12
+ - **`--dev-repo <path>`**: explicit path to developer repository
13
+ - **`--qa-repo <path>`**: path to existing QA repository (triggers Option 2 or 3)
14
+ - **`--app-url <url>`**: URL of the running application (used by E2E runner, validator Layer 5, testid-injector verification, bug-detective reproduction). Assumes a repo is also provided (this flag is metadata, not a mode switch)
15
+ - **`--framework <name>`**: override framework auto-detection (playwright, cypress, jest, vitest, pytest, selenium, robot-framework)
16
+ - **`--auto`**: enable auto-advance mode (no pauses at safe checkpoints)
17
+
18
+ ## Natural language fallback
19
+
20
+ This command also accepts natural language. The intent detector will extract URLs, paths (with or without quotes, with or without spaces), framework hints, and ticket URLs from your prompt. If you don't pass a flag explicitly but mention the value in NL, the system will detect it and show you the resolved interpretation in the **INPUT DETECTION** banner before starting the pipeline. Flags always win over NL.
21
+
22
+ Examples:
23
+
24
+ ```
25
+ # All flags explicit
26
+ /qa-start --dev-repo ./myproject --app-url https://staging.example.com --auto
27
+
28
+ # Natural language equivalent
29
+ /qa-start use playwright on my project at ./myproject and test against https://staging.example.com
30
+
31
+ # Mixed (flags win where present, NL fills gaps)
32
+ /qa-start --dev-repo ./myproject test against https://staging.example.com using playwright
33
+ ```
34
+
35
+
36
+ ## ⚠ MANDATORY: How to Execute This Command
37
+
38
+ When invoked, you **MUST** follow `@workflows/qa-start.md` literally — every step, in order, as written. The workflow file contains an explicit `<critical_directive>` block at the top with mandatory execution rules. Read and obey those rules before doing anything else.
39
+
40
+ ### DO NOT
41
+
42
+ - Analyze the target repo before running the workflow's Step 1
43
+ - Decide that "the standard pipeline doesn't apply" because the repo is empty / has a URL / uses a different framework
44
+ - Scaffold files directly without going through the pipeline stages
45
+ - Skip the intent detector (Step 1) regardless of what arguments you received
46
+ - Generate any test files (.spec.ts, .robot, .py, etc.) before reaching the `<step name="generate">` stage
47
+
48
+ ### DO
49
+
50
+ - Run the workflow's Step 1 (intent detector via `node ~/.claude/qaa/bin/lib/intent-detector.cjs --resolve ...`) as your **FIRST** tool call
51
+ - Show the INPUT DETECTION banner before any other action
52
+ - Run the 5 input validations
53
+ - Pause at the confirmation checkpoint if applicable (interactive mode + any value from NL or default)
54
+ - Let each step's verification gates determine success/failure
55
+ - Report errors as pipeline failures, not as opportunities to adapt
56
+
57
+ If you find yourself improvising or scaffolding files before Step 1 has run, **STOP, return to the workflow, and start over from Step 1**.
58
+
59
+
60
+ ### Pass user input literally to the intent detector
61
+
62
+ When the workflow's Step 1 invokes the intent detector with `$ARGUMENTS`, you must substitute that placeholder with the **raw user input as received in the slash command**, NOT with a pre-translated flag-formatted string.
63
+
64
+ **WRONG:** mentally parsing the user's NL and constructing `--app-url https://x --dev-repo C:\y` before calling the detector.
65
+
66
+ **RIGHT:** passing the literal text the user typed (e.g., `"from URL https://x to C:\y using playwright"`) and letting the detector handle the parsing.
67
+
68
+ If you pre-translate, the detector sees only flags and reports every value as `source: flag`, which causes `ALL_FROM_FLAGS=true` and bypasses the confirmation checkpoint — defeating its purpose. Always pass raw input.
13
69
 
14
70
  ## Instructions
15
71
 
16
- 1. Read `CLAUDE.md` -- all QA standards that govern the pipeline.
72
+ 1. Read `CLAUDE.md` all QA standards that govern the pipeline.
17
73
  2. Execute the workflow:
18
74
 
19
75
  Follow the workflow defined in `@workflows/qa-start.md` end-to-end.