bmad-method 5.1.3 → 6.0.0-Beta.1

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 (739) hide show
  1. package/.coderabbit.yaml +40 -0
  2. package/.github/CODE_OF_CONDUCT.md +128 -0
  3. package/.github/FUNDING.yaml +2 -2
  4. package/.github/ISSUE_TEMPLATE/config.yaml +8 -0
  5. package/.github/ISSUE_TEMPLATE/feature_request.md +11 -11
  6. package/.github/ISSUE_TEMPLATE/issue.md +32 -0
  7. package/.github/scripts/discord-helpers.sh +34 -0
  8. package/.github/workflows/discord.yaml +82 -17
  9. package/.github/workflows/docs.yaml +63 -0
  10. package/.github/workflows/manual-release.yaml +40 -20
  11. package/.github/workflows/quality.yaml +115 -0
  12. package/.husky/pre-commit +17 -0
  13. package/.markdownlint-cli2.yaml +41 -0
  14. package/.nvmrc +1 -0
  15. package/.prettierignore +9 -0
  16. package/.vscode/settings.json +38 -10
  17. package/CHANGELOG.md +1167 -372
  18. package/CNAME +1 -0
  19. package/CONTRIBUTING.md +100 -142
  20. package/CONTRIBUTORS.md +32 -0
  21. package/LICENSE +10 -1
  22. package/README.md +67 -170
  23. package/SECURITY.md +85 -0
  24. package/TRADEMARK.md +55 -0
  25. package/Wordmark.png +0 -0
  26. package/banner-bmad-method.png +0 -0
  27. package/docs/404.md +9 -0
  28. package/docs/_STYLE_GUIDE.md +367 -0
  29. package/docs/downloads.md +74 -0
  30. package/docs/explanation/advanced-elicitation.md +24 -0
  31. package/docs/explanation/adversarial-review.md +57 -0
  32. package/docs/explanation/brainstorming.md +31 -0
  33. package/docs/explanation/brownfield-faq.md +55 -0
  34. package/docs/explanation/party-mode.md +57 -0
  35. package/docs/explanation/preventing-agent-conflicts.md +110 -0
  36. package/docs/explanation/quick-flow.md +27 -0
  37. package/docs/explanation/why-solutioning-matters.md +75 -0
  38. package/docs/how-to/brownfield/index.md +84 -0
  39. package/docs/how-to/brownfield/quick-fix-in-brownfield.md +76 -0
  40. package/docs/how-to/customize-bmad.md +158 -0
  41. package/docs/how-to/get-answers-about-bmad.md +102 -0
  42. package/docs/how-to/install-bmad.md +82 -0
  43. package/docs/how-to/shard-large-documents.md +101 -0
  44. package/docs/how-to/upgrade-to-v6.md +131 -0
  45. package/docs/index.md +56 -0
  46. package/docs/reference/workflow-map.md +83 -0
  47. package/docs/tea/explanation/engagement-models.md +710 -0
  48. package/docs/tea/explanation/fixture-architecture.md +457 -0
  49. package/docs/tea/explanation/knowledge-base-system.md +554 -0
  50. package/docs/tea/explanation/network-first-patterns.md +853 -0
  51. package/docs/tea/explanation/risk-based-testing.md +586 -0
  52. package/docs/tea/explanation/tea-overview.md +410 -0
  53. package/docs/tea/explanation/test-quality-standards.md +907 -0
  54. package/docs/tea/explanation/testing-as-engineering.md +112 -0
  55. package/docs/tea/glossary/index.md +159 -0
  56. package/docs/tea/how-to/brownfield/use-tea-for-enterprise.md +525 -0
  57. package/docs/tea/how-to/brownfield/use-tea-with-existing-tests.md +577 -0
  58. package/docs/tea/how-to/customization/enable-tea-mcp-enhancements.md +424 -0
  59. package/docs/tea/how-to/customization/integrate-playwright-utils.md +813 -0
  60. package/docs/tea/how-to/workflows/run-atdd.md +436 -0
  61. package/docs/tea/how-to/workflows/run-automate.md +653 -0
  62. package/docs/tea/how-to/workflows/run-nfr-assess.md +679 -0
  63. package/docs/tea/how-to/workflows/run-test-design.md +135 -0
  64. package/docs/tea/how-to/workflows/run-test-review.md +605 -0
  65. package/docs/tea/how-to/workflows/run-trace.md +883 -0
  66. package/docs/tea/how-to/workflows/setup-ci.md +712 -0
  67. package/docs/tea/how-to/workflows/setup-test-framework.md +98 -0
  68. package/docs/tea/reference/commands.md +276 -0
  69. package/docs/tea/reference/configuration.md +678 -0
  70. package/docs/tea/reference/knowledge-base.md +340 -0
  71. package/docs/tea/tutorials/tea-lite-quickstart.md +444 -0
  72. package/docs/tutorials/getting-started.md +205 -0
  73. package/eslint.config.mjs +42 -9
  74. package/package.json +50 -38
  75. package/prettier.config.mjs +1 -1
  76. package/src/bmm/_module-installer/installer.js +48 -0
  77. package/src/bmm/agents/analyst.agent.yaml +36 -0
  78. package/src/bmm/agents/architect.agent.yaml +28 -0
  79. package/src/bmm/agents/dev.agent.yaml +38 -0
  80. package/src/bmm/agents/pm.agent.yaml +46 -0
  81. package/src/bmm/agents/quick-flow-solo-dev.agent.yaml +32 -0
  82. package/src/bmm/agents/sm.agent.yaml +36 -0
  83. package/src/bmm/agents/tea.agent.yaml +63 -0
  84. package/src/bmm/agents/tech-writer/tech-writer-sidecar/documentation-standards.md +224 -0
  85. package/src/bmm/agents/tech-writer/tech-writer.agent.yaml +45 -0
  86. package/src/bmm/agents/ux-designer.agent.yaml +26 -0
  87. package/src/bmm/data/project-context-template.md +26 -0
  88. package/src/bmm/module-help.csv +32 -0
  89. package/src/bmm/module.yaml +44 -0
  90. package/src/bmm/teams/default-party.csv +21 -0
  91. package/src/bmm/teams/team-fullstack.yaml +12 -0
  92. package/src/bmm/testarch/knowledge/adr-quality-readiness-checklist.md +350 -0
  93. package/src/bmm/testarch/knowledge/api-request.md +442 -0
  94. package/src/bmm/testarch/knowledge/api-testing-patterns.md +843 -0
  95. package/src/bmm/testarch/knowledge/auth-session.md +552 -0
  96. package/src/bmm/testarch/knowledge/burn-in.md +273 -0
  97. package/src/bmm/testarch/knowledge/ci-burn-in.md +675 -0
  98. package/src/bmm/testarch/knowledge/component-tdd.md +486 -0
  99. package/src/bmm/testarch/knowledge/contract-testing.md +957 -0
  100. package/src/bmm/testarch/knowledge/data-factories.md +500 -0
  101. package/src/bmm/testarch/knowledge/email-auth.md +721 -0
  102. package/src/bmm/testarch/knowledge/error-handling.md +725 -0
  103. package/src/bmm/testarch/knowledge/feature-flags.md +750 -0
  104. package/src/bmm/testarch/knowledge/file-utils.md +463 -0
  105. package/src/bmm/testarch/knowledge/fixture-architecture.md +401 -0
  106. package/src/bmm/testarch/knowledge/fixtures-composition.md +382 -0
  107. package/src/bmm/testarch/knowledge/intercept-network-call.md +430 -0
  108. package/src/bmm/testarch/knowledge/log.md +429 -0
  109. package/src/bmm/testarch/knowledge/network-error-monitor.md +405 -0
  110. package/src/bmm/testarch/knowledge/network-first.md +486 -0
  111. package/src/bmm/testarch/knowledge/network-recorder.md +527 -0
  112. package/src/bmm/testarch/knowledge/nfr-criteria.md +670 -0
  113. package/src/bmm/testarch/knowledge/overview.md +286 -0
  114. package/src/bmm/testarch/knowledge/playwright-config.md +730 -0
  115. package/src/bmm/testarch/knowledge/probability-impact.md +601 -0
  116. package/src/bmm/testarch/knowledge/recurse.md +421 -0
  117. package/src/bmm/testarch/knowledge/risk-governance.md +615 -0
  118. package/src/bmm/testarch/knowledge/selective-testing.md +732 -0
  119. package/src/bmm/testarch/knowledge/selector-resilience.md +527 -0
  120. package/src/bmm/testarch/knowledge/test-healing-patterns.md +644 -0
  121. package/src/bmm/testarch/knowledge/test-levels-framework.md +473 -0
  122. package/src/bmm/testarch/knowledge/test-priorities-matrix.md +373 -0
  123. package/src/bmm/testarch/knowledge/test-quality.md +664 -0
  124. package/src/bmm/testarch/knowledge/timing-debugging.md +372 -0
  125. package/src/bmm/testarch/knowledge/visual-debugging.md +524 -0
  126. package/src/bmm/testarch/tea-index.csv +35 -0
  127. package/src/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  128. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +177 -0
  129. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +161 -0
  130. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +199 -0
  131. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +202 -0
  132. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +205 -0
  133. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +219 -0
  134. package/src/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +162 -0
  135. package/src/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
  136. package/src/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  137. package/src/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  138. package/src/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  139. package/src/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  140. package/src/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  141. package/src/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  142. package/src/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  143. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  144. package/src/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
  145. package/src/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  146. package/src/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  147. package/src/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  148. package/src/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  149. package/src/bmm/workflows/1-analysis/research/research.template.md +29 -0
  150. package/src/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  151. package/src/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  152. package/src/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  153. package/src/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  154. package/src/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  155. package/src/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  156. package/src/bmm/workflows/1-analysis/research/workflow.md +173 -0
  157. package/src/bmm/workflows/2-plan-workflows/create-prd/data/domain-complexity.csv +13 -0
  158. package/src/bmm/workflows/2-plan-workflows/create-prd/data/prd-purpose.md +197 -0
  159. package/src/bmm/workflows/2-plan-workflows/create-prd/data/project-types.csv +11 -0
  160. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01-init.md +191 -0
  161. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-01b-continue.md +153 -0
  162. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-02-discovery.md +224 -0
  163. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-03-success.md +226 -0
  164. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-04-journeys.md +213 -0
  165. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-05-domain.md +207 -0
  166. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-06-innovation.md +226 -0
  167. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-07-project-type.md +237 -0
  168. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-08-scoping.md +228 -0
  169. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-09-functional.md +231 -0
  170. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-10-nonfunctional.md +242 -0
  171. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-11-polish.md +217 -0
  172. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-c/step-12-complete.md +124 -0
  173. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01-discovery.md +247 -0
  174. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
  175. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-02-review.md +249 -0
  176. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-03-edit.md +253 -0
  177. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-e/step-e-04-complete.md +168 -0
  178. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-01-discovery.md +218 -0
  179. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02-format-detection.md +191 -0
  180. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-02b-parity-check.md +209 -0
  181. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-03-density-validation.md +174 -0
  182. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
  183. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-05-measurability-validation.md +228 -0
  184. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-06-traceability-validation.md +217 -0
  185. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
  186. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
  187. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-09-project-type-validation.md +263 -0
  188. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-10-smart-validation.md +209 -0
  189. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
  190. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-12-completeness-validation.md +242 -0
  191. package/src/bmm/workflows/2-plan-workflows/create-prd/steps-v/step-v-13-report-complete.md +231 -0
  192. package/src/bmm/workflows/2-plan-workflows/create-prd/templates/prd-template.md +10 -0
  193. package/src/bmm/workflows/2-plan-workflows/create-prd/validation-report-prd-workflow.md +433 -0
  194. package/src/bmm/workflows/2-plan-workflows/create-prd/workflow.md +150 -0
  195. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  196. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  197. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  198. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  199. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  200. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  201. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  202. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  203. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  204. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  205. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  206. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  207. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  208. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  209. package/src/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +171 -0
  210. package/src/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  211. package/src/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
  212. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  213. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  214. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  215. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  216. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  217. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +135 -0
  218. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  219. package/src/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
  220. package/src/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  221. package/src/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
  222. package/src/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  223. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  224. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  225. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  226. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
  227. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  228. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  229. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  230. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  231. package/src/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +76 -0
  232. package/src/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
  233. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  234. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  235. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  236. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +149 -0
  237. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  238. package/src/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
  239. package/src/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  240. package/src/bmm/workflows/4-implementation/code-review/instructions.xml +227 -0
  241. package/src/bmm/workflows/4-implementation/code-review/workflow.yaml +51 -0
  242. package/src/bmm/workflows/4-implementation/correct-course/checklist.md +288 -0
  243. package/src/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  244. package/src/bmm/workflows/4-implementation/correct-course/workflow.yaml +60 -0
  245. package/src/bmm/workflows/4-implementation/create-story/checklist.md +358 -0
  246. package/src/bmm/workflows/4-implementation/create-story/instructions.xml +345 -0
  247. package/src/bmm/workflows/4-implementation/create-story/template.md +49 -0
  248. package/src/bmm/workflows/4-implementation/create-story/workflow.yaml +61 -0
  249. package/src/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
  250. package/src/bmm/workflows/4-implementation/dev-story/instructions.xml +410 -0
  251. package/src/bmm/workflows/4-implementation/dev-story/workflow.yaml +27 -0
  252. package/src/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  253. package/src/bmm/workflows/4-implementation/retrospective/workflow.yaml +58 -0
  254. package/src/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  255. package/src/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
  256. package/src/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  257. package/src/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +54 -0
  258. package/src/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  259. package/src/bmm/workflows/4-implementation/sprint-status/workflow.yaml +36 -0
  260. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +176 -0
  261. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  262. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
  263. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  264. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  265. package/src/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +149 -0
  266. package/src/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +50 -0
  267. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-01-understand.md +192 -0
  268. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-02-investigate.md +145 -0
  269. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-03-generate.md +128 -0
  270. package/src/bmm/workflows/bmad-quick-flow/quick-spec/steps/step-04-review.md +201 -0
  271. package/src/bmm/workflows/bmad-quick-flow/quick-spec/tech-spec-template.md +74 -0
  272. package/src/bmm/workflows/bmad-quick-flow/quick-spec/workflow.md +79 -0
  273. package/src/bmm/workflows/document-project/checklist.md +245 -0
  274. package/src/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  275. package/src/bmm/workflows/document-project/instructions.md +221 -0
  276. package/src/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  277. package/src/bmm/workflows/document-project/templates/index-template.md +169 -0
  278. package/src/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  279. package/src/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  280. package/src/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  281. package/src/bmm/workflows/document-project/workflow.yaml +30 -0
  282. package/src/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  283. package/src/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  284. package/src/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  285. package/src/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  286. package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
  287. package/src/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
  288. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
  289. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
  290. package/src/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +27 -0
  291. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
  292. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
  293. package/src/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +27 -0
  294. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
  295. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
  296. package/src/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +27 -0
  297. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
  298. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
  299. package/src/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +27 -0
  300. package/src/bmm/workflows/testarch/atdd/atdd-checklist-template.md +363 -0
  301. package/src/bmm/workflows/testarch/atdd/checklist.md +374 -0
  302. package/src/bmm/workflows/testarch/atdd/instructions.md +806 -0
  303. package/src/bmm/workflows/testarch/atdd/workflow.yaml +47 -0
  304. package/src/bmm/workflows/testarch/automate/checklist.md +582 -0
  305. package/src/bmm/workflows/testarch/automate/instructions.md +1324 -0
  306. package/src/bmm/workflows/testarch/automate/workflow.yaml +54 -0
  307. package/src/bmm/workflows/testarch/ci/checklist.md +247 -0
  308. package/src/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
  309. package/src/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  310. package/src/bmm/workflows/testarch/ci/instructions.md +536 -0
  311. package/src/bmm/workflows/testarch/ci/workflow.yaml +47 -0
  312. package/src/bmm/workflows/testarch/framework/checklist.md +320 -0
  313. package/src/bmm/workflows/testarch/framework/instructions.md +481 -0
  314. package/src/bmm/workflows/testarch/framework/workflow.yaml +49 -0
  315. package/src/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
  316. package/src/bmm/workflows/testarch/nfr-assess/instructions.md +726 -0
  317. package/src/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +461 -0
  318. package/src/bmm/workflows/testarch/nfr-assess/workflow.yaml +49 -0
  319. package/src/bmm/workflows/testarch/test-design/checklist.md +407 -0
  320. package/src/bmm/workflows/testarch/test-design/instructions.md +1158 -0
  321. package/src/bmm/workflows/testarch/test-design/test-design-architecture-template.md +213 -0
  322. package/src/bmm/workflows/testarch/test-design/test-design-qa-template.md +286 -0
  323. package/src/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
  324. package/src/bmm/workflows/testarch/test-design/workflow.yaml +71 -0
  325. package/src/bmm/workflows/testarch/test-review/checklist.md +472 -0
  326. package/src/bmm/workflows/testarch/test-review/instructions.md +628 -0
  327. package/src/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
  328. package/src/bmm/workflows/testarch/test-review/workflow.yaml +48 -0
  329. package/src/bmm/workflows/testarch/trace/checklist.md +642 -0
  330. package/src/bmm/workflows/testarch/trace/instructions.md +1030 -0
  331. package/src/bmm/workflows/testarch/trace/trace-template.md +675 -0
  332. package/src/bmm/workflows/testarch/trace/workflow.yaml +57 -0
  333. package/src/core/_module-installer/installer.js +60 -0
  334. package/src/core/agents/bmad-master.agent.yaml +29 -0
  335. package/src/core/module-help.csv +9 -0
  336. package/src/core/module.yaml +25 -0
  337. package/src/core/resources/excalidraw/README.md +160 -0
  338. package/src/core/resources/excalidraw/excalidraw-helpers.md +127 -0
  339. package/src/core/resources/excalidraw/library-loader.md +50 -0
  340. package/src/core/resources/excalidraw/validate-json-instructions.md +79 -0
  341. package/src/core/tasks/editorial-review-prose.xml +100 -0
  342. package/src/core/tasks/editorial-review-structure.xml +209 -0
  343. package/src/core/tasks/help.md +62 -0
  344. package/src/core/tasks/index-docs.xml +65 -0
  345. package/src/core/tasks/review-adversarial-general.xml +48 -0
  346. package/src/core/tasks/shard-doc.xml +109 -0
  347. package/src/core/tasks/workflow.xml +235 -0
  348. package/src/core/workflows/advanced-elicitation/methods.csv +51 -0
  349. package/src/core/workflows/advanced-elicitation/workflow.xml +117 -0
  350. package/src/core/workflows/brainstorming/brain-methods.csv +62 -0
  351. package/src/core/workflows/brainstorming/steps/step-01-session-setup.md +197 -0
  352. package/src/core/workflows/brainstorming/steps/step-01b-continue.md +122 -0
  353. package/src/core/workflows/brainstorming/steps/step-02a-user-selected.md +225 -0
  354. package/src/core/workflows/brainstorming/steps/step-02b-ai-recommended.md +237 -0
  355. package/src/core/workflows/brainstorming/steps/step-02c-random-selection.md +209 -0
  356. package/src/core/workflows/brainstorming/steps/step-02d-progressive-flow.md +264 -0
  357. package/src/core/workflows/brainstorming/steps/step-03-technique-execution.md +399 -0
  358. package/src/core/workflows/brainstorming/steps/step-04-idea-organization.md +303 -0
  359. package/src/core/workflows/brainstorming/template.md +15 -0
  360. package/src/core/workflows/brainstorming/workflow.md +58 -0
  361. package/src/core/workflows/party-mode/steps/step-01-agent-loading.md +138 -0
  362. package/src/core/workflows/party-mode/steps/step-02-discussion-orchestration.md +187 -0
  363. package/src/core/workflows/party-mode/steps/step-03-graceful-exit.md +157 -0
  364. package/src/core/workflows/party-mode/workflow.md +194 -0
  365. package/src/utility/agent-components/activation-rules.txt +6 -0
  366. package/src/utility/agent-components/activation-steps.txt +14 -0
  367. package/src/utility/agent-components/agent-command-header.md +1 -0
  368. package/src/utility/agent-components/agent.customize.template.yaml +41 -0
  369. package/src/utility/agent-components/handler-action.txt +4 -0
  370. package/src/utility/agent-components/handler-data.txt +5 -0
  371. package/src/utility/agent-components/handler-exec.txt +6 -0
  372. package/src/utility/agent-components/handler-multi.txt +14 -0
  373. package/src/utility/agent-components/handler-tmpl.txt +5 -0
  374. package/src/utility/agent-components/handler-validate-workflow.txt +7 -0
  375. package/src/utility/agent-components/handler-workflow.txt +10 -0
  376. package/src/utility/agent-components/menu-handlers.txt +6 -0
  377. package/test/README.md +295 -0
  378. package/test/adversarial-review-tests/README.md +56 -0
  379. package/test/adversarial-review-tests/sample-content.md +46 -0
  380. package/test/adversarial-review-tests/test-cases.yaml +103 -0
  381. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
  382. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
  383. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
  384. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
  385. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
  386. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
  387. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
  388. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
  389. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
  390. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
  391. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
  392. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
  393. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
  394. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
  395. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  396. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  397. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
  398. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  399. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
  400. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
  401. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
  402. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
  403. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
  404. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
  405. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
  406. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
  407. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  408. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
  409. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  410. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  411. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  412. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
  413. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
  414. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
  415. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
  416. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
  417. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
  418. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
  419. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
  420. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
  421. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
  422. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
  423. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
  424. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
  425. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
  426. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
  427. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
  428. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
  429. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
  430. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
  431. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
  432. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
  433. package/test/test-agent-schema.js +387 -0
  434. package/test/test-cli-integration.sh +159 -0
  435. package/test/test-installation-components.js +214 -0
  436. package/test/unit-test-schema.js +133 -0
  437. package/tools/bmad-npx-wrapper.js +11 -12
  438. package/tools/build-docs.js +577 -0
  439. package/tools/cli/README.md +7 -0
  440. package/tools/cli/bmad-cli.js +58 -0
  441. package/tools/cli/commands/install.js +87 -0
  442. package/tools/cli/commands/status.js +65 -0
  443. package/tools/cli/external-official-modules.yaml +44 -0
  444. package/tools/cli/installers/install-messages.yaml +59 -0
  445. package/tools/cli/installers/lib/core/config-collector.js +1079 -0
  446. package/tools/cli/installers/lib/core/custom-module-cache.js +259 -0
  447. package/tools/cli/installers/lib/core/dependency-resolver.js +739 -0
  448. package/tools/cli/installers/lib/core/detector.js +223 -0
  449. package/tools/cli/installers/lib/core/ide-config-manager.js +156 -0
  450. package/tools/cli/installers/lib/core/installer.js +2826 -0
  451. package/tools/cli/installers/lib/core/manifest-generator.js +1054 -0
  452. package/tools/cli/installers/lib/core/manifest.js +1036 -0
  453. package/tools/cli/installers/lib/custom/handler.js +363 -0
  454. package/tools/cli/installers/lib/ide/STANDARDIZATION_PLAN.md +208 -0
  455. package/tools/cli/installers/lib/ide/_base-ide.js +655 -0
  456. package/tools/cli/installers/lib/ide/antigravity.js +474 -0
  457. package/tools/cli/installers/lib/ide/auggie.js +244 -0
  458. package/tools/cli/installers/lib/ide/claude-code.js +506 -0
  459. package/tools/cli/installers/lib/ide/cline.js +272 -0
  460. package/tools/cli/installers/lib/ide/codex.js +412 -0
  461. package/tools/cli/installers/lib/ide/crush.js +149 -0
  462. package/tools/cli/installers/lib/ide/cursor.js +160 -0
  463. package/tools/cli/installers/lib/ide/gemini.js +301 -0
  464. package/tools/cli/installers/lib/ide/github-copilot.js +383 -0
  465. package/tools/cli/installers/lib/ide/iflow.js +191 -0
  466. package/tools/cli/installers/lib/ide/kilo.js +250 -0
  467. package/tools/cli/installers/lib/ide/kiro-cli.js +326 -0
  468. package/tools/cli/installers/lib/ide/manager.js +244 -0
  469. package/tools/cli/installers/lib/ide/opencode.js +257 -0
  470. package/tools/cli/installers/lib/ide/qwen.js +372 -0
  471. package/tools/cli/installers/lib/ide/roo.js +273 -0
  472. package/tools/cli/installers/lib/ide/rovo-dev.js +290 -0
  473. package/tools/cli/installers/lib/ide/shared/agent-command-generator.js +165 -0
  474. package/tools/cli/installers/lib/ide/shared/bmad-artifacts.js +158 -0
  475. package/tools/cli/installers/lib/ide/shared/module-injections.js +136 -0
  476. package/tools/cli/installers/lib/ide/shared/path-utils.js +165 -0
  477. package/tools/cli/installers/lib/ide/shared/task-tool-command-generator.js +268 -0
  478. package/tools/cli/installers/lib/ide/shared/workflow-command-generator.js +293 -0
  479. package/tools/cli/installers/lib/ide/templates/agent-command-template.md +14 -0
  480. package/tools/cli/installers/lib/ide/templates/gemini-agent-command.toml +14 -0
  481. package/tools/cli/installers/lib/ide/templates/gemini-task-command.toml +12 -0
  482. package/tools/cli/installers/lib/ide/templates/workflow-command-template.md +13 -0
  483. package/tools/cli/installers/lib/ide/templates/workflow-commander.md +5 -0
  484. package/tools/cli/installers/lib/ide/trae.js +313 -0
  485. package/tools/cli/installers/lib/ide/windsurf.js +258 -0
  486. package/tools/cli/installers/lib/message-loader.js +85 -0
  487. package/tools/cli/installers/lib/modules/external-manager.js +135 -0
  488. package/tools/cli/installers/lib/modules/manager.js +1375 -0
  489. package/tools/cli/lib/activation-builder.js +163 -0
  490. package/tools/cli/lib/agent/compiler.js +522 -0
  491. package/tools/cli/lib/agent/installer.js +716 -0
  492. package/tools/cli/lib/agent/template-engine.js +152 -0
  493. package/tools/cli/lib/agent-analyzer.js +109 -0
  494. package/tools/cli/lib/agent-party-generator.js +194 -0
  495. package/tools/cli/lib/cli-utils.js +227 -0
  496. package/tools/cli/lib/config.js +213 -0
  497. package/tools/cli/lib/file-ops.js +204 -0
  498. package/tools/cli/lib/platform-codes.js +116 -0
  499. package/tools/cli/lib/project-root.js +77 -0
  500. package/tools/cli/lib/prompts.js +433 -0
  501. package/tools/cli/lib/ui.js +1716 -0
  502. package/tools/cli/lib/xml-handler.js +177 -0
  503. package/tools/cli/lib/xml-to-markdown.js +82 -0
  504. package/tools/{yaml-format.js → cli/lib/yaml-format.js} +9 -17
  505. package/tools/cli/lib/yaml-xml-builder.js +587 -0
  506. package/tools/docs/BUNDLE_DISTRIBUTION_SETUP.md +95 -0
  507. package/tools/docs/fix-refs.md +91 -0
  508. package/tools/docs/index.md +2 -0
  509. package/tools/fix-doc-links.js +288 -0
  510. package/tools/flattener/ignoreRules.js +2 -6
  511. package/tools/flattener/main.js +31 -121
  512. package/tools/flattener/projectRoot.js +3 -8
  513. package/tools/flattener/stats.helpers.js +8 -35
  514. package/tools/flattener/stats.js +1 -6
  515. package/tools/flattener/test-matrix.js +1 -5
  516. package/tools/flattener/xml.js +1 -7
  517. package/tools/format-workflow-md.js +263 -0
  518. package/tools/lib/xml-utils.js +13 -0
  519. package/tools/maintainer/review-pr-README.md +55 -0
  520. package/tools/maintainer/review-pr.md +242 -0
  521. package/tools/migrate-custom-module-paths.js +124 -0
  522. package/tools/platform-codes.yaml +157 -0
  523. package/tools/schema/agent.js +491 -0
  524. package/tools/validate-agent-schema.js +110 -0
  525. package/tools/validate-doc-links.js +371 -0
  526. package/tools/validate-svg-changes.sh +356 -0
  527. package/website/README.md +76 -0
  528. package/website/_basement/components/WorkflowGuide.astro +444 -0
  529. package/website/_basement/pages/workflow-guide.astro +17 -0
  530. package/website/astro.config.mjs +169 -0
  531. package/website/public/favicon.ico +0 -0
  532. package/website/public/img/bmad-dark.png +0 -0
  533. package/website/public/img/bmad-light.png +0 -0
  534. package/website/public/img/logo.svg +4 -0
  535. package/website/public/img/workflow-map.png +0 -0
  536. package/website/public/robots.txt +37 -0
  537. package/website/public/workflow-map-diagram.html +361 -0
  538. package/website/src/components/Banner.astro +59 -0
  539. package/website/src/components/Header.astro +121 -0
  540. package/website/src/components/MobileMenuFooter.astro +53 -0
  541. package/website/src/content/config.ts +6 -0
  542. package/website/src/lib/site-url.js +25 -0
  543. package/website/src/pages/404.astro +11 -0
  544. package/website/src/rehype-base-paths.js +89 -0
  545. package/website/src/rehype-markdown-links.js +117 -0
  546. package/website/src/styles/custom.css +500 -0
  547. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -32
  548. package/.github/workflows/format-check.yaml +0 -42
  549. package/bmad-core/agent-teams/team-all.yaml +0 -14
  550. package/bmad-core/agent-teams/team-fullstack.yaml +0 -18
  551. package/bmad-core/agent-teams/team-ide-minimal.yaml +0 -10
  552. package/bmad-core/agent-teams/team-no-ui.yaml +0 -13
  553. package/bmad-core/agents/analyst.md +0 -81
  554. package/bmad-core/agents/architect.md +0 -83
  555. package/bmad-core/agents/bmad-master.md +0 -107
  556. package/bmad-core/agents/bmad-orchestrator.md +0 -149
  557. package/bmad-core/agents/dev.md +0 -75
  558. package/bmad-core/agents/pm.md +0 -81
  559. package/bmad-core/agents/po.md +0 -76
  560. package/bmad-core/agents/qa.md +0 -88
  561. package/bmad-core/agents/sm.md +0 -62
  562. package/bmad-core/agents/ux-expert.md +0 -66
  563. package/bmad-core/checklists/architect-checklist.md +0 -438
  564. package/bmad-core/checklists/change-checklist.md +0 -182
  565. package/bmad-core/checklists/pm-checklist.md +0 -370
  566. package/bmad-core/checklists/po-master-checklist.md +0 -432
  567. package/bmad-core/checklists/story-dod-checklist.md +0 -94
  568. package/bmad-core/checklists/story-draft-checklist.md +0 -153
  569. package/bmad-core/core-config.yaml +0 -20
  570. package/bmad-core/data/bmad-kb.md +0 -806
  571. package/bmad-core/data/brainstorming-techniques.md +0 -36
  572. package/bmad-core/data/elicitation-methods.md +0 -154
  573. package/bmad-core/data/technical-preferences.md +0 -3
  574. package/bmad-core/data/test-levels-framework.md +0 -146
  575. package/bmad-core/data/test-priorities-matrix.md +0 -172
  576. package/bmad-core/tasks/advanced-elicitation.md +0 -117
  577. package/bmad-core/tasks/brownfield-create-epic.md +0 -160
  578. package/bmad-core/tasks/brownfield-create-story.md +0 -147
  579. package/bmad-core/tasks/correct-course.md +0 -70
  580. package/bmad-core/tasks/create-brownfield-story.md +0 -312
  581. package/bmad-core/tasks/create-deep-research-prompt.md +0 -278
  582. package/bmad-core/tasks/create-next-story.md +0 -112
  583. package/bmad-core/tasks/document-project.md +0 -343
  584. package/bmad-core/tasks/facilitate-brainstorming-session.md +0 -136
  585. package/bmad-core/tasks/generate-ai-frontend-prompt.md +0 -51
  586. package/bmad-core/tasks/index-docs.md +0 -173
  587. package/bmad-core/tasks/kb-mode-interaction.md +0 -75
  588. package/bmad-core/tasks/nfr-assess.md +0 -343
  589. package/bmad-core/tasks/qa-gate.md +0 -159
  590. package/bmad-core/tasks/review-story.md +0 -314
  591. package/bmad-core/tasks/risk-profile.md +0 -353
  592. package/bmad-core/tasks/shard-doc.md +0 -185
  593. package/bmad-core/tasks/test-design.md +0 -174
  594. package/bmad-core/tasks/trace-requirements.md +0 -264
  595. package/bmad-core/tasks/validate-next-story.md +0 -134
  596. package/bmad-core/templates/architecture-tmpl.yaml +0 -650
  597. package/bmad-core/templates/brainstorming-output-tmpl.yaml +0 -156
  598. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +0 -476
  599. package/bmad-core/templates/brownfield-prd-tmpl.yaml +0 -280
  600. package/bmad-core/templates/competitor-analysis-tmpl.yaml +0 -306
  601. package/bmad-core/templates/front-end-architecture-tmpl.yaml +0 -218
  602. package/bmad-core/templates/front-end-spec-tmpl.yaml +0 -349
  603. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +0 -823
  604. package/bmad-core/templates/market-research-tmpl.yaml +0 -252
  605. package/bmad-core/templates/prd-tmpl.yaml +0 -202
  606. package/bmad-core/templates/project-brief-tmpl.yaml +0 -221
  607. package/bmad-core/templates/qa-gate-tmpl.yaml +0 -102
  608. package/bmad-core/templates/story-tmpl.yaml +0 -137
  609. package/bmad-core/workflows/brownfield-fullstack.yaml +0 -297
  610. package/bmad-core/workflows/brownfield-service.yaml +0 -187
  611. package/bmad-core/workflows/brownfield-ui.yaml +0 -197
  612. package/bmad-core/workflows/greenfield-fullstack.yaml +0 -240
  613. package/bmad-core/workflows/greenfield-service.yaml +0 -206
  614. package/bmad-core/workflows/greenfield-ui.yaml +0 -235
  615. package/common/tasks/create-doc.md +0 -101
  616. package/common/tasks/execute-checklist.md +0 -86
  617. package/common/utils/bmad-doc-template.md +0 -325
  618. package/common/utils/workflow-management.md +0 -69
  619. package/dist/agents/analyst.txt +0 -2889
  620. package/dist/agents/architect.txt +0 -3552
  621. package/dist/agents/bmad-master.txt +0 -8769
  622. package/dist/agents/bmad-orchestrator.txt +0 -1513
  623. package/dist/agents/dev.txt +0 -414
  624. package/dist/agents/pm.txt +0 -2204
  625. package/dist/agents/po.txt +0 -1346
  626. package/dist/agents/qa.txt +0 -1987
  627. package/dist/agents/sm.txt +0 -658
  628. package/dist/agents/ux-expert.txt +0 -694
  629. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +0 -2371
  630. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +0 -1620
  631. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +0 -815
  632. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +0 -10952
  633. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +0 -4012
  634. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +0 -3698
  635. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -450
  636. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +0 -973
  637. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +0 -15376
  638. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +0 -2075
  639. package/dist/teams/team-all.txt +0 -12682
  640. package/dist/teams/team-fullstack.txt +0 -10421
  641. package/dist/teams/team-ide-minimal.txt +0 -5103
  642. package/dist/teams/team-no-ui.txt +0 -8980
  643. package/docs/GUIDING-PRINCIPLES.md +0 -91
  644. package/docs/core-architecture.md +0 -219
  645. package/docs/enhanced-ide-development-workflow.md +0 -248
  646. package/docs/expansion-packs.md +0 -280
  647. package/docs/how-to-contribute-with-pull-requests.md +0 -158
  648. package/docs/user-guide.md +0 -504
  649. package/docs/versioning-and-releases.md +0 -147
  650. package/docs/versions.md +0 -48
  651. package/docs/working-in-the-brownfield.md +0 -597
  652. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +0 -102
  653. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash copy.txt +0 -13
  654. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.1 Google Cloud Project Setup/1.1.1 - Initial Project Configuration - bash.txt +0 -13
  655. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.2 Agent Development Kit Installation/1.2.2 - Basic Project Structure - txt.txt +0 -25
  656. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.1 - settings.py +0 -34
  657. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.3 Core Configuration Files/1.3.2 - main.py - Base Application.py +0 -70
  658. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/PART 1 - Google Cloud Vertex AI Setup Documentation/1.4 Deployment Configuration/1.4.2 - cloudbuild.yaml +0 -26
  659. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +0 -109
  660. package/expansion-packs/README.md +0 -3
  661. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +0 -13
  662. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +0 -71
  663. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +0 -78
  664. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +0 -64
  665. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-design-checklist.md +0 -201
  666. package/expansion-packs/bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md +0 -160
  667. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +0 -8
  668. package/expansion-packs/bmad-2d-phaser-game-dev/data/bmad-kb.md +0 -250
  669. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +0 -647
  670. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/advanced-elicitation.md +0 -110
  671. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +0 -216
  672. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/game-design-brainstorming.md +0 -290
  673. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +0 -613
  674. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +0 -356
  675. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +0 -343
  676. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +0 -253
  677. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  678. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  679. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +0 -175
  680. package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +0 -14
  681. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +0 -80
  682. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +0 -77
  683. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +0 -78
  684. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +0 -65
  685. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +0 -391
  686. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +0 -203
  687. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +0 -201
  688. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +0 -124
  689. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +0 -6
  690. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +0 -769
  691. package/expansion-packs/bmad-2d-unity-game-dev/data/development-guidelines.md +0 -586
  692. package/expansion-packs/bmad-2d-unity-game-dev/tasks/advanced-elicitation.md +0 -110
  693. package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +0 -141
  694. package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +0 -184
  695. package/expansion-packs/bmad-2d-unity-game-dev/tasks/game-design-brainstorming.md +0 -290
  696. package/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +0 -200
  697. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +0 -1030
  698. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +0 -356
  699. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +0 -705
  700. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +0 -256
  701. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +0 -484
  702. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +0 -183
  703. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +0 -175
  704. package/expansion-packs/bmad-infrastructure-devops/README.md +0 -147
  705. package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +0 -71
  706. package/expansion-packs/bmad-infrastructure-devops/checklists/infrastructure-checklist.md +0 -484
  707. package/expansion-packs/bmad-infrastructure-devops/config.yaml +0 -9
  708. package/expansion-packs/bmad-infrastructure-devops/data/bmad-kb.md +0 -305
  709. package/expansion-packs/bmad-infrastructure-devops/tasks/review-infrastructure.md +0 -159
  710. package/expansion-packs/bmad-infrastructure-devops/tasks/validate-infrastructure.md +0 -153
  711. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +0 -424
  712. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +0 -629
  713. package/release_notes.md +0 -33
  714. package/tools/builders/web-builder.js +0 -675
  715. package/tools/bump-all-versions.js +0 -115
  716. package/tools/bump-expansion-version.js +0 -90
  717. package/tools/cli.js +0 -152
  718. package/tools/installer/README.md +0 -8
  719. package/tools/installer/bin/bmad.js +0 -585
  720. package/tools/installer/config/ide-agent-config.yaml +0 -58
  721. package/tools/installer/config/install.config.yaml +0 -123
  722. package/tools/installer/lib/config-loader.js +0 -257
  723. package/tools/installer/lib/file-manager.js +0 -389
  724. package/tools/installer/lib/ide-base-setup.js +0 -228
  725. package/tools/installer/lib/ide-setup.js +0 -1441
  726. package/tools/installer/lib/installer.js +0 -1995
  727. package/tools/installer/lib/memory-profiler.js +0 -225
  728. package/tools/installer/lib/module-manager.js +0 -114
  729. package/tools/installer/lib/resource-locator.js +0 -308
  730. package/tools/installer/package.json +0 -44
  731. package/tools/lib/dependency-resolver.js +0 -175
  732. package/tools/lib/yaml-utils.js +0 -29
  733. package/tools/md-assets/web-agent-startup-instructions.md +0 -39
  734. package/tools/preview-release-notes.js +0 -66
  735. package/tools/shared/bannerArt.js +0 -105
  736. package/tools/sync-installer-version.js +0 -32
  737. package/tools/update-expansion-version.js +0 -53
  738. package/tools/upgraders/v3-to-v4-upgrader.js +0 -672
  739. package/tools/version-bump.js +0 -94
@@ -0,0 +1,1030 @@
1
+ # Test Architect Workflow: Requirements Traceability & Quality Gate Decision
2
+
3
+ **Workflow:** `testarch-trace`
4
+ **Purpose:** Generate requirements-to-tests traceability matrix, analyze coverage gaps, and make quality gate decisions (PASS/CONCERNS/FAIL/WAIVED)
5
+ **Agent:** Test Architect (TEA)
6
+ **Format:** Pure Markdown v4.0 (no XML blocks)
7
+
8
+ ---
9
+
10
+ ## Overview
11
+
12
+ This workflow operates in two sequential phases to validate test coverage and deployment readiness:
13
+
14
+ **PHASE 1 - REQUIREMENTS TRACEABILITY:** Create comprehensive traceability matrix mapping acceptance criteria to implemented tests, identify coverage gaps, and provide actionable recommendations.
15
+
16
+ **PHASE 2 - QUALITY GATE DECISION:** Use traceability results combined with test execution evidence to make gate decisions (PASS/CONCERNS/FAIL/WAIVED) that determine deployment readiness.
17
+
18
+ **Key Capabilities:**
19
+
20
+ - Map acceptance criteria to specific test cases across all levels (E2E, API, Component, Unit)
21
+ - Classify coverage status (FULL, PARTIAL, NONE, UNIT-ONLY, INTEGRATION-ONLY)
22
+ - Prioritize gaps by risk level (P0/P1/P2/P3) using test-priorities framework
23
+ - Apply deterministic decision rules based on coverage and test execution results
24
+ - Generate gate decisions with evidence and rationale
25
+ - Support waivers for business-approved exceptions
26
+ - Update workflow status and notify stakeholders
27
+
28
+ ---
29
+
30
+ ## Prerequisites
31
+
32
+ **Required (Phase 1):**
33
+
34
+ - Acceptance criteria (from story file OR provided inline)
35
+ - Implemented test suite (or acknowledge gaps to be addressed)
36
+
37
+ **Required (Phase 2 - if `enable_gate_decision: true`):**
38
+
39
+ - Test execution results (CI/CD test reports, pass/fail rates)
40
+ - Test design with risk priorities (P0/P1/P2/P3)
41
+
42
+ **Recommended:**
43
+
44
+ - `test-design.md` (for risk assessment and priority context)
45
+ - `nfr-assessment.md` (for release-level gates)
46
+ - `tech-spec.md` (for technical implementation context)
47
+ - Test framework configuration (playwright.config.ts, jest.config.js, etc.)
48
+
49
+ **Halt Conditions:**
50
+
51
+ - If story lacks any implemented tests AND no gaps are acknowledged, recommend running `*atdd` workflow first
52
+ - If acceptance criteria are completely missing, halt and request them
53
+ - If Phase 2 enabled but test execution results missing, warn and skip gate decision
54
+
55
+ Note: `*trace` never runs `*atdd` automatically; it only recommends running it when tests are missing.
56
+
57
+ ---
58
+
59
+ ## PHASE 1: REQUIREMENTS TRACEABILITY
60
+
61
+ This phase focuses on mapping requirements to tests, analyzing coverage, and identifying gaps.
62
+
63
+ ---
64
+
65
+ ### Step 1: Load Context and Knowledge Base
66
+
67
+ **Actions:**
68
+
69
+ 1. Load relevant knowledge fragments from `{project-root}/_bmad/bmm/testarch/tea-index.csv`:
70
+ - `test-priorities-matrix.md` - P0/P1/P2/P3 risk framework with automated priority calculation, risk-based mapping, tagging strategy (389 lines, 2 examples)
71
+ - `risk-governance.md` - Risk-based testing approach: 6 categories (TECH, SEC, PERF, DATA, BUS, OPS), automated scoring, gate decision engine, coverage traceability (625 lines, 4 examples)
72
+ - `probability-impact.md` - Risk scoring methodology: probability × impact matrix, automated classification, dynamic re-assessment, gate integration (604 lines, 4 examples)
73
+ - `test-quality.md` - Definition of Done for tests: deterministic, isolated with cleanup, explicit assertions, length/time limits (658 lines, 5 examples)
74
+ - `selective-testing.md` - Duplicate coverage patterns: tag-based, spec filters, diff-based selection, promotion rules (727 lines, 4 examples)
75
+
76
+ 2. Read story file (if provided):
77
+ - Extract acceptance criteria
78
+ - Identify story ID (e.g., 1.3)
79
+ - Note any existing test design or priority information
80
+
81
+ 3. Read related BMad artifacts (if available):
82
+ - `test-design.md` - Risk assessment and test priorities
83
+ - `tech-spec.md` - Technical implementation details
84
+ - `PRD.md` - Product requirements context
85
+
86
+ **Output:** Complete understanding of requirements, priorities, and existing context
87
+
88
+ ---
89
+
90
+ ### Step 2: Discover and Catalog Tests
91
+
92
+ **Actions:**
93
+
94
+ 1. Auto-discover test files related to the story:
95
+ - Search for test IDs (e.g., `1.3-E2E-001`, `1.3-UNIT-005`)
96
+ - Search for describe blocks mentioning feature name
97
+ - Search for file paths matching feature directory
98
+ - Use `glob` to find test files in `{test_dir}`
99
+
100
+ 2. Categorize tests by level:
101
+ - **E2E Tests**: Full user journeys through UI
102
+ - **API Tests**: HTTP contract and integration tests
103
+ - **Component Tests**: UI component behavior in isolation
104
+ - **Unit Tests**: Business logic and pure functions
105
+
106
+ 3. Extract test metadata:
107
+ - Test ID (if present)
108
+ - Describe/context blocks
109
+ - It blocks (individual test cases)
110
+ - Given-When-Then structure (if BDD)
111
+ - Assertions used
112
+ - Priority markers (P0/P1/P2/P3)
113
+
114
+ **Output:** Complete catalog of all tests for this feature
115
+
116
+ ---
117
+
118
+ ### Step 3: Map Criteria to Tests
119
+
120
+ **Actions:**
121
+
122
+ 1. For each acceptance criterion:
123
+ - Search for explicit references (test IDs, describe blocks mentioning criterion)
124
+ - Map to specific test files and it blocks
125
+ - Use Given-When-Then narrative to verify alignment
126
+ - Document test level (E2E, API, Component, Unit)
127
+
128
+ 2. Build traceability matrix:
129
+
130
+ ```
131
+ | Criterion ID | Description | Test ID | Test File | Test Level | Coverage Status |
132
+ | ------------ | ----------- | ----------- | ---------------- | ---------- | --------------- |
133
+ | AC-1 | User can... | 1.3-E2E-001 | e2e/auth.spec.ts | E2E | FULL |
134
+ ```
135
+
136
+ 3. Classify coverage status for each criterion:
137
+ - **FULL**: All scenarios validated at appropriate level(s)
138
+ - **PARTIAL**: Some coverage but missing edge cases or levels
139
+ - **NONE**: No test coverage at any level
140
+ - **UNIT-ONLY**: Only unit tests (missing integration/E2E validation)
141
+ - **INTEGRATION-ONLY**: Only API/Component tests (missing unit confidence)
142
+
143
+ 4. Check for duplicate coverage:
144
+ - Same behavior tested at multiple levels unnecessarily
145
+ - Flag violations of selective testing principles
146
+ - Recommend consolidation where appropriate
147
+
148
+ **Output:** Complete traceability matrix with coverage classifications
149
+
150
+ ---
151
+
152
+ ### Step 4: Analyze Gaps and Prioritize
153
+
154
+ **Actions:**
155
+
156
+ 1. Identify coverage gaps:
157
+ - List criteria with NONE, PARTIAL, UNIT-ONLY, or INTEGRATION-ONLY status
158
+ - Assign severity based on test-priorities framework:
159
+ - **CRITICAL**: P0 criteria without FULL coverage (blocks release)
160
+ - **HIGH**: P1 criteria without FULL coverage (PR blocker)
161
+ - **MEDIUM**: P2 criteria without FULL coverage (nightly test gap)
162
+ - **LOW**: P3 criteria without FULL coverage (acceptable gap)
163
+
164
+ 2. Recommend specific tests to add:
165
+ - Suggest test level (E2E, API, Component, Unit)
166
+ - Provide test description (Given-When-Then)
167
+ - Recommend test ID (e.g., `1.3-E2E-004`)
168
+ - Explain why this test is needed
169
+
170
+ 3. Calculate coverage metrics:
171
+ - Overall coverage percentage (criteria with FULL coverage / total criteria)
172
+ - P0 coverage percentage (critical paths)
173
+ - P1 coverage percentage (high priority)
174
+ - Coverage by level (E2E%, API%, Component%, Unit%)
175
+
176
+ 4. Check against quality gates:
177
+ - P0 coverage >= 100% (required)
178
+ - P1 coverage >= 90% (recommended)
179
+ - Overall coverage >= 80% (recommended)
180
+
181
+ **Output:** Prioritized gap analysis with actionable recommendations and coverage metrics
182
+
183
+ ---
184
+
185
+ ### Step 5: Verify Test Quality
186
+
187
+ **Actions:**
188
+
189
+ 1. For each mapped test, verify:
190
+ - Explicit assertions are present (not hidden in helpers)
191
+ - Test follows Given-When-Then structure
192
+ - No hard waits or sleeps
193
+ - Self-cleaning (test cleans up its data)
194
+ - File size < 300 lines
195
+ - Test duration < 90 seconds
196
+
197
+ 2. Flag quality issues:
198
+ - **BLOCKER**: Missing assertions, hard waits, flaky patterns
199
+ - **WARNING**: Large files, slow tests, unclear structure
200
+ - **INFO**: Style inconsistencies, missing documentation
201
+
202
+ 3. Reference knowledge fragments:
203
+ - `test-quality.md` for Definition of Done
204
+ - `fixture-architecture.md` for self-cleaning patterns
205
+ - `network-first.md` for Playwright best practices
206
+ - `data-factories.md` for test data patterns
207
+
208
+ **Output:** Quality assessment for each test with improvement recommendations
209
+
210
+ ---
211
+
212
+ ### Step 6: Generate Deliverables (Phase 1)
213
+
214
+ **Actions:**
215
+
216
+ 1. Create traceability matrix markdown file:
217
+ - Use template from `trace-template.md`
218
+ - Include full mapping table
219
+ - Add coverage status section
220
+ - Add gap analysis section
221
+ - Add quality assessment section
222
+ - Add recommendations section
223
+ - Save to `{output_folder}/traceability-matrix.md`
224
+
225
+ 2. Generate gate YAML snippet (if enabled):
226
+
227
+ ```yaml
228
+ traceability:
229
+ story_id: '1.3'
230
+ coverage:
231
+ overall: 85%
232
+ p0: 100%
233
+ p1: 90%
234
+ p2: 75%
235
+ gaps:
236
+ critical: 0
237
+ high: 1
238
+ medium: 2
239
+ status: 'PASS' # or "FAIL" if P0 < 100%
240
+ ```
241
+
242
+ 3. Create coverage badge/metric (if enabled):
243
+ - Generate badge markdown: `![Coverage](https://img.shields.io/badge/coverage-85%25-green)`
244
+ - Export metrics to JSON for CI/CD integration
245
+
246
+ 4. Update story file (if enabled):
247
+ - Add "Traceability" section to story markdown
248
+ - Link to traceability matrix
249
+ - Include coverage summary
250
+ - Add gate status
251
+
252
+ **Output:** Complete Phase 1 traceability deliverables
253
+
254
+ **Next:** If `enable_gate_decision: true`, proceed to Phase 2. Otherwise, workflow complete.
255
+
256
+ ---
257
+
258
+ ## PHASE 2: QUALITY GATE DECISION
259
+
260
+ This phase uses traceability results to make a quality gate decision (PASS/CONCERNS/FAIL/WAIVED) based on evidence and decision rules.
261
+
262
+ **When Phase 2 Runs:** Automatically after Phase 1 if `enable_gate_decision: true` (default: true)
263
+
264
+ **Skip Conditions:** If test execution results (`test_results`) not provided, warn and skip Phase 2.
265
+
266
+ ---
267
+
268
+ ### Step 7: Gather Quality Evidence
269
+
270
+ **Actions:**
271
+
272
+ 1. **Load Phase 1 traceability results** (inherited context):
273
+ - Coverage metrics (P0/P1/overall percentages)
274
+ - Gap analysis (missing/partial tests)
275
+ - Quality concerns (test quality flags)
276
+ - Traceability matrix
277
+
278
+ 2. **Load test execution results** (if `test_results` provided):
279
+ - Read CI/CD test reports (JUnit XML, TAP, JSON)
280
+ - Extract pass/fail counts by priority
281
+ - Calculate pass rates:
282
+ - **P0 pass rate**: `(P0 passed / P0 total) * 100`
283
+ - **P1 pass rate**: `(P1 passed / P1 total) * 100`
284
+ - **Overall pass rate**: `(All passed / All total) * 100`
285
+ - Identify failing tests and map to criteria
286
+
287
+ 3. **Load NFR assessment** (if `nfr_file` provided):
288
+ - Read `nfr-assessment.md` or similar
289
+ - Check critical NFR status (performance, security, scalability)
290
+ - Flag any critical NFR failures
291
+
292
+ 4. **Load supporting artifacts**:
293
+ - `test-design.md` → Risk priorities, DoD checklist
294
+ - `story-*.md` or `Epics.md` → Requirements context
295
+
296
+ 5. **Validate evidence freshness** (if `validate_evidence_freshness: true`):
297
+ - Check timestamps of test-design, traceability, NFR assessments
298
+ - Warn if artifacts are >7 days old
299
+
300
+ 6. **Check prerequisite workflows** (if `check_all_workflows_complete: true`):
301
+ - Verify test-design workflow complete
302
+ - Verify trace workflow complete (Phase 1)
303
+ - Verify nfr-assess workflow complete (if release-level gate)
304
+
305
+ **Output:** Consolidated evidence bundle with all quality signals
306
+
307
+ ---
308
+
309
+ ### Step 8: Apply Decision Rules
310
+
311
+ **If `decision_mode: "deterministic"`** (rule-based - default):
312
+
313
+ **Decision rules** (based on `workflow.yaml` thresholds):
314
+
315
+ 1. **PASS** if ALL of the following are true:
316
+ - P0 coverage ≥ `min_p0_coverage` (default: 100%)
317
+ - P1 coverage ≥ `min_p1_coverage` (default: 90%)
318
+ - Overall coverage ≥ `min_overall_coverage` (default: 80%)
319
+ - P0 test pass rate = `min_p0_pass_rate` (default: 100%)
320
+ - P1 test pass rate ≥ `min_p1_pass_rate` (default: 95%)
321
+ - Overall test pass rate ≥ `min_overall_pass_rate` (default: 90%)
322
+ - Critical NFRs passed (if `nfr_file` provided)
323
+ - No unresolved security issues ≤ `max_security_issues` (default: 0)
324
+ - No test quality red flags (hard waits, no assertions)
325
+
326
+ 2. **CONCERNS** if ANY of the following are true:
327
+ - P1 coverage 80-89% (below threshold but not critical)
328
+ - P1 test pass rate 90-94% (below threshold but not critical)
329
+ - Overall pass rate 85-89%
330
+ - P2 coverage <50% (informational)
331
+ - Some non-critical NFRs failing
332
+ - Minor test quality concerns (large test files, inferred mappings)
333
+ - **Note**: CONCERNS does NOT block deployment but requires acknowledgment
334
+
335
+ 3. **FAIL** if ANY of the following are true:
336
+ - P0 coverage <100% (missing critical tests)
337
+ - P0 test pass rate <100% (failing critical tests)
338
+ - P1 coverage <80% (significant gap)
339
+ - P1 test pass rate <90% (significant failures)
340
+ - Overall coverage <80%
341
+ - Overall pass rate <85%
342
+ - Critical NFRs failing (`max_critical_nfrs_fail` exceeded)
343
+ - Unresolved security issues (`max_security_issues` exceeded)
344
+ - Major test quality issues (tests with no assertions, pervasive hard waits)
345
+
346
+ 4. **WAIVED** (only if `allow_waivers: true`):
347
+ - Decision would be FAIL based on rules above
348
+ - Business stakeholder has approved waiver
349
+ - Waiver documented with:
350
+ - Justification (time constraint, known limitation, acceptable risk)
351
+ - Approver name and date
352
+ - Mitigation plan (follow-up stories, manual testing)
353
+ - Waiver evidence linked (email, Slack thread, ticket)
354
+
355
+ **Risk tolerance adjustments:**
356
+
357
+ - If `allow_p2_failures: true` → P2 test failures do NOT affect gate decision
358
+ - If `allow_p3_failures: true` → P3 test failures do NOT affect gate decision
359
+ - If `escalate_p1_failures: true` → P1 failures require explicit manager/lead approval
360
+
361
+ **If `decision_mode: "manual"`:**
362
+
363
+ - Present evidence summary to team
364
+ - Recommend decision based on rules above
365
+ - Team makes final call in meeting/chat
366
+ - Document decision with approver names
367
+
368
+ **Output:** Gate decision (PASS/CONCERNS/FAIL/WAIVED) with rule-based rationale
369
+
370
+ ---
371
+
372
+ ### Step 9: Document Decision and Evidence
373
+
374
+ **Actions:**
375
+
376
+ 1. **Create gate decision document**:
377
+ - Save to `gate_output_file` (default: `{output_folder}/gate-decision-{gate_type}-{story_id}.md`)
378
+ - Use structure below
379
+
380
+ 2. **Document structure**:
381
+
382
+ ```markdown
383
+ # Quality Gate Decision: {gate_type} {story_id/epic_num/release_version}
384
+
385
+ **Decision**: [PASS / CONCERNS / FAIL / WAIVED]
386
+ **Date**: {date}
387
+ **Decider**: {decision_mode} (deterministic | manual)
388
+ **Evidence Date**: {test_results_date}
389
+
390
+ ---
391
+
392
+ ## Summary
393
+
394
+ [1-2 sentence summary of decision and key factors]
395
+
396
+ ---
397
+
398
+ ## Decision Criteria
399
+
400
+ | Criterion | Threshold | Actual | Status |
401
+ | ----------------- | --------- | -------- | ------ |
402
+ | P0 Coverage | ≥100% | 100% | ✅ PASS |
403
+ | P1 Coverage | ≥90% | 88% | ⚠️ FAIL |
404
+ | Overall Coverage | ≥80% | 92% | ✅ PASS |
405
+ | P0 Pass Rate | 100% | 100% | ✅ PASS |
406
+ | P1 Pass Rate | ≥95% | 98% | ✅ PASS |
407
+ | Overall Pass Rate | ≥90% | 96% | ✅ PASS |
408
+ | Critical NFRs | All Pass | All Pass | ✅ PASS |
409
+ | Security Issues | 0 | 0 | ✅ PASS |
410
+
411
+ **Overall Status**: 7/8 criteria met → Decision: **CONCERNS**
412
+
413
+ ---
414
+
415
+ ## Evidence Summary
416
+
417
+ ### Test Coverage (from Phase 1 Traceability)
418
+
419
+ - **P0 Coverage**: 100% (5/5 criteria fully covered)
420
+ - **P1 Coverage**: 88% (7/8 criteria fully covered)
421
+ - **Overall Coverage**: 92% (12/13 criteria covered)
422
+ - **Gap**: AC-5 (P1) missing E2E test
423
+
424
+ ### Test Execution Results
425
+
426
+ - **P0 Pass Rate**: 100% (12/12 tests passed)
427
+ - **P1 Pass Rate**: 98% (45/46 tests passed)
428
+ - **Overall Pass Rate**: 96% (67/70 tests passed)
429
+ - **Failures**: 3 P2 tests (non-blocking)
430
+
431
+ ### Non-Functional Requirements
432
+
433
+ - Performance: ✅ PASS (response time <500ms)
434
+ - Security: ✅ PASS (no vulnerabilities)
435
+ - Scalability: ✅ PASS (handles 10K users)
436
+
437
+ ### Test Quality
438
+
439
+ - All tests have explicit assertions ✅
440
+ - No hard waits detected ✅
441
+ - Test files <300 lines ✅
442
+ - Test IDs follow convention ✅
443
+
444
+ ---
445
+
446
+ ## Decision Rationale
447
+
448
+ **Why CONCERNS (not PASS)**:
449
+
450
+ - P1 coverage at 88% is below 90% threshold
451
+ - AC-5 (P1 priority) missing E2E test for error handling scenario
452
+ - This is a known gap from test-design phase
453
+
454
+ **Why CONCERNS (not FAIL)**:
455
+
456
+ - P0 coverage is 100% (critical paths validated)
457
+ - Overall coverage is 92% (above 80% threshold)
458
+ - Test pass rate is excellent (96% overall)
459
+ - Gap is isolated to one P1 criterion (not systemic)
460
+
461
+ **Recommendation**:
462
+
463
+ - Acknowledge gap and proceed with deployment
464
+ - Add missing AC-5 E2E test in next sprint
465
+ - Create follow-up story: "Add E2E test for AC-5 error handling"
466
+
467
+ ---
468
+
469
+ ## Next Steps
470
+
471
+ - [ ] Create follow-up story for AC-5 E2E test
472
+ - [ ] Deploy to staging environment
473
+ - [ ] Monitor production for edge cases related to AC-5
474
+ - [ ] Update traceability matrix after follow-up test added
475
+
476
+ ---
477
+
478
+ ## References
479
+
480
+ - Traceability Matrix: `_bmad/output/traceability-matrix.md`
481
+ - Test Design: `_bmad/output/test-design-epic-2.md`
482
+ - Test Results: `ci-artifacts/test-report-2025-01-15.xml`
483
+ - NFR Assessment: `_bmad/output/nfr-assessment-release-1.2.md`
484
+ ```
485
+
486
+ 3. **Include evidence links** (if `require_evidence: true`):
487
+ - Link to traceability matrix
488
+ - Link to test execution reports (CI artifacts)
489
+ - Link to NFR assessment
490
+ - Link to test-design document
491
+ - Link to relevant PRs, commits, deployments
492
+
493
+ 4. **Waiver documentation** (if decision is WAIVED):
494
+ - Approver name and role (e.g., "Jane Doe, Engineering Manager")
495
+ - Approval date and method (e.g., "2025-01-15, Slack thread")
496
+ - Justification (e.g., "Time-boxed MVP, missing tests will be added in v1.1")
497
+ - Mitigation plan (e.g., "Manual testing by QA, follow-up stories created")
498
+ - Evidence link (e.g., "Slack: #engineering 2025-01-15 3:42pm")
499
+
500
+ **Output:** Complete gate decision document with evidence and rationale
501
+
502
+ ---
503
+
504
+ ### Step 10: Update Status Tracking and Notify
505
+
506
+ **Actions:**
507
+
508
+ 1. **Generate stakeholder notification** (if `notify_stakeholders: true`):
509
+ - Create concise summary message for team communication
510
+ - Include: Decision, key metrics, action items
511
+ - Format for Slack/email/chat:
512
+
513
+ ```
514
+ 🚦 Quality Gate Decision: Story 1.3 - User Login
515
+
516
+ Decision: ⚠️ CONCERNS
517
+ - P0 Coverage: ✅ 100%
518
+ - P1 Coverage: ⚠️ 88% (below 90%)
519
+ - Test Pass Rate: ✅ 96%
520
+
521
+ Action Required:
522
+ - Create follow-up story for AC-5 E2E test
523
+ - Deploy to staging for validation
524
+
525
+ Full Report: _bmad/output/gate-decision-story-1.3.md
526
+ ```
527
+
528
+ 2. **Request sign-off** (if `require_sign_off: true`):
529
+ - Prompt for named approver (tech lead, QA lead, PM)
530
+ - Document approver name and timestamp in gate decision
531
+ - Block until sign-off received (interactive prompt)
532
+
533
+ **Output:** Status tracking updated, stakeholders notified, sign-off obtained (if required)
534
+
535
+ **Workflow Complete**: Both Phase 1 (traceability) and Phase 2 (gate decision) deliverables generated.
536
+
537
+ ---
538
+
539
+ ## Decision Matrix (Quick Reference)
540
+
541
+ | Scenario | P0 Cov | P1 Cov | Overall Cov | P0 Pass | P1 Pass | Overall Pass | NFRs | Decision |
542
+ | --------------- | ----------------- | ------ | ----------- | ------- | ------- | ------------ | ---- | ------------ |
543
+ | All green | 100% | ≥90% | ≥80% | 100% | ≥95% | ≥90% | Pass | **PASS** |
544
+ | Minor gap | 100% | 80-89% | ≥80% | 100% | 90-94% | 85-89% | Pass | **CONCERNS** |
545
+ | Missing P0 | <100% | - | - | - | - | - | - | **FAIL** |
546
+ | P0 test fail | 100% | - | - | <100% | - | - | - | **FAIL** |
547
+ | P1 gap | 100% | <80% | - | 100% | - | - | - | **FAIL** |
548
+ | NFR fail | 100% | ≥90% | ≥80% | 100% | ≥95% | ≥90% | Fail | **FAIL** |
549
+ | Security issue | - | - | - | - | - | - | Yes | **FAIL** |
550
+ | Business waiver | [FAIL conditions] | - | - | - | - | - | - | **WAIVED** |
551
+
552
+ ---
553
+
554
+ ## Waiver Management
555
+
556
+ **When to use waivers:**
557
+
558
+ - Time-boxed MVP releases (known gaps, follow-up planned)
559
+ - Low-risk P1 gaps with mitigation (manual testing, monitoring)
560
+ - Technical debt acknowledged by product/engineering leadership
561
+ - External dependencies blocking test automation
562
+
563
+ **Waiver approval process:**
564
+
565
+ 1. Document gap and risk in gate decision
566
+ 2. Propose mitigation plan (manual testing, follow-up stories, monitoring)
567
+ 3. Request approval from stakeholder (EM, PM, QA lead)
568
+ 4. Link approval evidence (email, chat thread, meeting notes)
569
+ 5. Add waiver to gate decision document
570
+ 6. Create follow-up stories to close gaps
571
+
572
+ **Waiver does NOT apply to:**
573
+
574
+ - P0 gaps (always blocking)
575
+ - Critical security issues (always blocking)
576
+ - Critical NFR failures (performance, data integrity)
577
+
578
+ ---
579
+
580
+ ## Example Gate Decisions
581
+
582
+ ### Example 1: PASS (All Criteria Met)
583
+
584
+ ```
585
+ Decision: ✅ PASS
586
+
587
+ Summary: All quality criteria met. Story 1.3 is ready for production deployment.
588
+
589
+ Evidence:
590
+ - P0 Coverage: 100% (5/5 criteria)
591
+ - P1 Coverage: 95% (19/20 criteria)
592
+ - Overall Coverage: 92% (24/26 criteria)
593
+ - P0 Pass Rate: 100% (12/12 tests)
594
+ - P1 Pass Rate: 98% (45/46 tests)
595
+ - Overall Pass Rate: 96% (67/70 tests)
596
+ - NFRs: All pass (performance, security, scalability)
597
+
598
+ Action: Deploy to production ✅
599
+ ```
600
+
601
+ ### Example 2: CONCERNS (Minor Gap, Non-Blocking)
602
+
603
+ ```
604
+ Decision: ⚠️ CONCERNS
605
+
606
+ Summary: P1 coverage slightly below threshold (88% vs 90%). Recommend deploying with follow-up story.
607
+
608
+ Evidence:
609
+ - P0 Coverage: 100% ✅
610
+ - P1 Coverage: 88% ⚠️ (below 90%)
611
+ - Overall Coverage: 92% ✅
612
+ - Test Pass Rate: 96% ✅
613
+ - Gap: AC-5 (P1) missing E2E test
614
+
615
+ Action:
616
+ - Deploy to staging for validation
617
+ - Create follow-up story for AC-5 E2E test
618
+ - Monitor production for edge cases related to AC-5
619
+ ```
620
+
621
+ ### Example 3: FAIL (P0 Gap, Blocking)
622
+
623
+ ```
624
+ Decision: ❌ FAIL
625
+
626
+ Summary: P0 coverage incomplete. Missing critical validation test. BLOCKING deployment.
627
+
628
+ Evidence:
629
+ - P0 Coverage: 80% ❌ (4/5 criteria, AC-2 missing)
630
+ - AC-2: "User cannot login with invalid credentials" (P0 priority)
631
+ - No tests validate login security for invalid credentials
632
+ - This is a critical security gap
633
+
634
+ Action:
635
+ - Add P0 test for AC-2: 1.3-E2E-004 (invalid credentials)
636
+ - Re-run traceability after test added
637
+ - Re-evaluate gate decision after P0 coverage = 100%
638
+
639
+ Deployment BLOCKED until P0 gap resolved ❌
640
+ ```
641
+
642
+ ### Example 4: WAIVED (Business Decision)
643
+
644
+ ```
645
+ Decision: ⚠️ WAIVED
646
+
647
+ Summary: P1 coverage below threshold (75% vs 90%), but waived for MVP launch.
648
+
649
+ Evidence:
650
+ - P0 Coverage: 100% ✅
651
+ - P1 Coverage: 75% ❌ (below 90%)
652
+ - Gap: 5 P1 criteria missing E2E tests (error handling, edge cases)
653
+
654
+ Waiver:
655
+ - Approver: Jane Doe, Engineering Manager
656
+ - Date: 2025-01-15
657
+ - Justification: Time-boxed MVP for investor demo. Core functionality (P0) fully validated. P1 gaps are low-risk edge cases.
658
+ - Mitigation: Manual QA testing for P1 scenarios, follow-up stories created for automated tests in v1.1
659
+ - Evidence: Slack #engineering 2025-01-15 3:42pm
660
+
661
+ Action:
662
+ - Deploy to production with manual QA validation ✅
663
+ - Add 5 E2E tests for P1 gaps in v1.1 sprint
664
+ - Monitor production logs for edge case occurrences
665
+ ```
666
+
667
+ ---
668
+
669
+ ## Non-Prescriptive Approach
670
+
671
+ **Minimal Examples:** This workflow provides principles and patterns, not rigid templates. Teams should adapt the traceability and gate decision formats to their needs.
672
+
673
+ **Key Patterns to Follow:**
674
+
675
+ - Map criteria to tests explicitly (don't rely on inference alone)
676
+ - Prioritize by risk (P0 gaps are critical, P3 gaps are acceptable)
677
+ - Check coverage at appropriate levels (E2E for journeys, Unit for logic)
678
+ - Verify test quality (explicit assertions, no flakiness)
679
+ - Apply deterministic gate rules for consistency
680
+ - Document gate decisions with clear evidence
681
+ - Use waivers judiciously (business approved, mitigation planned)
682
+
683
+ **Extend as Needed:**
684
+
685
+ - Add custom coverage classifications
686
+ - Integrate with code coverage tools (Istanbul, NYC)
687
+ - Link to external traceability systems (JIRA, Azure DevOps)
688
+ - Add compliance or regulatory requirements
689
+ - Customize gate decision thresholds per project
690
+ - Add manual approval workflows for gate decisions
691
+
692
+ ---
693
+
694
+ ## Coverage Classification Details
695
+
696
+ ### FULL Coverage
697
+
698
+ - All scenarios validated at appropriate test level(s)
699
+ - Edge cases considered
700
+ - Both happy path and error paths tested
701
+ - Assertions are explicit and complete
702
+
703
+ ### PARTIAL Coverage
704
+
705
+ - Some scenarios validated but missing edge cases
706
+ - Only happy path tested (missing error paths)
707
+ - Assertions present but incomplete
708
+ - Coverage exists but needs enhancement
709
+
710
+ ### NONE Coverage
711
+
712
+ - No tests found for this criterion
713
+ - Complete gap requiring new tests
714
+ - Critical if P0/P1, acceptable if P3
715
+
716
+ ### UNIT-ONLY Coverage
717
+
718
+ - Only unit tests exist (business logic validated)
719
+ - Missing integration or E2E validation
720
+ - Risk: Implementation may not work end-to-end
721
+ - Recommendation: Add integration or E2E tests for critical paths
722
+
723
+ ### INTEGRATION-ONLY Coverage
724
+
725
+ - Only API or Component tests exist
726
+ - Missing unit test confidence for business logic
727
+ - Risk: Logic errors may not be caught quickly
728
+ - Recommendation: Add unit tests for complex algorithms or state machines
729
+
730
+ ---
731
+
732
+ ## Duplicate Coverage Detection
733
+
734
+ Use selective testing principles from `selective-testing.md`:
735
+
736
+ **Acceptable Overlap:**
737
+
738
+ - Unit tests for business logic + E2E tests for user journey (different aspects)
739
+ - API tests for contract + E2E tests for full workflow (defense in depth for critical paths)
740
+
741
+ **Unacceptable Duplication:**
742
+
743
+ - Same validation at multiple levels (e.g., E2E testing math logic better suited for unit tests)
744
+ - Multiple E2E tests covering identical user path
745
+ - Component tests duplicating unit test logic
746
+
747
+ **Recommendation Pattern:**
748
+
749
+ - Test logic at unit level
750
+ - Test integration at API/Component level
751
+ - Test user experience at E2E level
752
+ - Avoid testing framework behavior at any level
753
+
754
+ ---
755
+
756
+ ## Integration with BMad Artifacts
757
+
758
+ ### With test-design.md
759
+
760
+ - Use risk assessment to prioritize gap remediation
761
+ - Reference test priorities (P0/P1/P2/P3) for severity classification and gate decision
762
+ - Align traceability with originally planned test coverage
763
+
764
+ ### With tech-spec.md
765
+
766
+ - Understand technical implementation details
767
+ - Map criteria to specific code modules
768
+ - Verify tests cover technical edge cases
769
+
770
+ ### With PRD.md
771
+
772
+ - Understand full product context
773
+ - Verify acceptance criteria align with product goals
774
+ - Check for unstated requirements that need coverage
775
+
776
+ ### With nfr-assessment.md
777
+
778
+ - Load non-functional validation results for gate decision
779
+ - Check critical NFR status (performance, security, scalability)
780
+ - Include NFR pass/fail in gate decision criteria
781
+
782
+ ---
783
+
784
+ ## Quality Gates (Phase 1 Recommendations)
785
+
786
+ ### P0 Coverage (Critical Paths)
787
+
788
+ - **Requirement:** 100% FULL coverage
789
+ - **Severity:** BLOCKER if not met
790
+ - **Action:** Do not release until P0 coverage is complete
791
+
792
+ ### P1 Coverage (High Priority)
793
+
794
+ - **Requirement:** 90% FULL coverage
795
+ - **Severity:** HIGH if not met
796
+ - **Action:** Block PR merge until addressed
797
+
798
+ ### P2 Coverage (Medium Priority)
799
+
800
+ - **Requirement:** No strict requirement (recommended 80%)
801
+ - **Severity:** MEDIUM if gaps exist
802
+ - **Action:** Address in nightly test improvements
803
+
804
+ ### P3 Coverage (Low Priority)
805
+
806
+ - **Requirement:** No requirement
807
+ - **Severity:** LOW if gaps exist
808
+ - **Action:** Optional - add if time permits
809
+
810
+ ---
811
+
812
+ ## Example Traceability Matrix
813
+
814
+ ````markdown
815
+ # Traceability Matrix - Story 1.3
816
+
817
+ **Story:** User Authentication
818
+ **Date:** 2025-10-14
819
+ **Status:** 85% Coverage (1 HIGH gap)
820
+
821
+ ## Coverage Summary
822
+
823
+ | Priority | Total Criteria | FULL Coverage | Coverage % | Status |
824
+ | --------- | -------------- | ------------- | ---------- | ------ |
825
+ | P0 | 3 | 3 | 100% | ✅ PASS |
826
+ | P1 | 5 | 4 | 80% | ⚠️ WARN |
827
+ | P2 | 4 | 3 | 75% | ✅ PASS |
828
+ | P3 | 2 | 1 | 50% | ✅ PASS |
829
+ | **Total** | **14** | **11** | **79%** | ⚠️ WARN |
830
+
831
+ ## Detailed Mapping
832
+
833
+ ### AC-1: User can login with email and password (P0)
834
+
835
+ - **Coverage:** FULL ✅
836
+ - **Tests:**
837
+ - `1.3-E2E-001` - tests/e2e/auth.spec.ts:12
838
+ - Given: User has valid credentials
839
+ - When: User submits login form
840
+ - Then: User is redirected to dashboard
841
+ - `1.3-UNIT-001` - tests/unit/auth-service.spec.ts:8
842
+ - Given: Valid email and password hash
843
+ - When: validateCredentials is called
844
+ - Then: Returns user object
845
+
846
+ ### AC-2: User sees error for invalid credentials (P0)
847
+
848
+ - **Coverage:** FULL ✅
849
+ - **Tests:**
850
+ - `1.3-E2E-002` - tests/e2e/auth.spec.ts:28
851
+ - Given: User has invalid password
852
+ - When: User submits login form
853
+ - Then: Error message is displayed
854
+ - `1.3-UNIT-002` - tests/unit/auth-service.spec.ts:18
855
+ - Given: Invalid password hash
856
+ - When: validateCredentials is called
857
+ - Then: Throws AuthenticationError
858
+
859
+ ### AC-3: User can reset password via email (P1)
860
+
861
+ - **Coverage:** PARTIAL ⚠️
862
+ - **Tests:**
863
+ - `1.3-E2E-003` - tests/e2e/auth.spec.ts:44
864
+ - Given: User requests password reset
865
+ - When: User clicks reset link
866
+ - Then: User can set new password
867
+ - **Gaps:**
868
+ - Missing: Email delivery validation
869
+ - Missing: Expired token handling
870
+ - Missing: Unit test for token generation
871
+ - **Recommendation:** Add `1.3-API-001` for email service integration and `1.3-UNIT-003` for token logic
872
+
873
+ ## Gap Analysis
874
+
875
+ ### Critical Gaps (BLOCKER)
876
+
877
+ - None ✅
878
+
879
+ ### High Priority Gaps (PR BLOCKER)
880
+
881
+ 1. **AC-3: Password reset email edge cases**
882
+ - Missing tests for expired tokens, invalid tokens, email failures
883
+ - Recommend: `1.3-API-001` (email service integration) and `1.3-E2E-004` (error paths)
884
+ - Impact: Users may not be able to recover accounts in error scenarios
885
+
886
+ ### Medium Priority Gaps (Nightly)
887
+
888
+ 1. **AC-7: Session timeout handling** - UNIT-ONLY coverage (missing E2E validation)
889
+
890
+ ## Quality Assessment
891
+
892
+ ### Tests with Issues
893
+
894
+ - `1.3-E2E-001` ⚠️ - 145 seconds (exceeds 90s target) - Optimize fixture setup
895
+ - `1.3-UNIT-005` ⚠️ - 320 lines (exceeds 300 line limit) - Split into multiple test files
896
+
897
+ ### Tests Passing Quality Gates
898
+
899
+ - 11/13 tests (85%) meet all quality criteria ✅
900
+
901
+ ## Gate YAML Snippet
902
+
903
+ ```yaml
904
+ traceability:
905
+ story_id: '1.3'
906
+ coverage:
907
+ overall: 79%
908
+ p0: 100%
909
+ p1: 80%
910
+ p2: 75%
911
+ p3: 50%
912
+ gaps:
913
+ critical: 0
914
+ high: 1
915
+ medium: 1
916
+ low: 1
917
+ status: 'WARN' # P1 coverage below 90% threshold
918
+ recommendations:
919
+ - 'Add 1.3-API-001 for email service integration'
920
+ - 'Add 1.3-E2E-004 for password reset error paths'
921
+ - 'Optimize 1.3-E2E-001 performance (145s → <90s)'
922
+ ```
923
+ ````
924
+
925
+ ## Recommendations
926
+
927
+ 1. **Address High Priority Gap:** Add password reset edge case tests before PR merge
928
+ 2. **Optimize Slow Test:** Refactor `1.3-E2E-001` to use faster fixture setup
929
+ 3. **Split Large Test:** Break `1.3-UNIT-005` into focused test files
930
+ 4. **Enhance P2 Coverage:** Add E2E validation for session timeout (currently UNIT-ONLY)
931
+
932
+ ```
933
+
934
+ ---
935
+
936
+ ## Validation Checklist
937
+
938
+ Before completing this workflow, verify:
939
+
940
+ **Phase 1 (Traceability):**
941
+ - ✅ All acceptance criteria are mapped to tests (or gaps are documented)
942
+ - ✅ Coverage status is classified (FULL, PARTIAL, NONE, UNIT-ONLY, INTEGRATION-ONLY)
943
+ - ✅ Gaps are prioritized by risk level (P0/P1/P2/P3)
944
+ - ✅ P0 coverage is 100% or blockers are documented
945
+ - ✅ Duplicate coverage is identified and flagged
946
+ - ✅ Test quality is assessed (assertions, structure, performance)
947
+ - ✅ Traceability matrix is generated and saved
948
+
949
+ **Phase 2 (Gate Decision - if enabled):**
950
+ - ✅ Test execution results loaded and pass rates calculated
951
+ - ✅ NFR assessment results loaded (if applicable)
952
+ - ✅ Decision rules applied consistently (PASS/CONCERNS/FAIL/WAIVED)
953
+ - ✅ Gate decision document created with evidence
954
+ - ✅ Waiver documented if decision is WAIVED (approver, justification, mitigation)
955
+ - ✅ Stakeholders notified (if enabled)
956
+
957
+ ---
958
+
959
+ ## Notes
960
+
961
+ **Phase 1 (Traceability):**
962
+ - **Explicit Mapping:** Require tests to reference criteria explicitly (test IDs, describe blocks) for maintainability
963
+ - **Risk-Based Prioritization:** Use test-priorities framework (P0/P1/P2/P3) to determine gap severity
964
+ - **Quality Over Quantity:** Better to have fewer high-quality tests with FULL coverage than many low-quality tests with PARTIAL coverage
965
+ - **Selective Testing:** Avoid duplicate coverage - test each behavior at the appropriate level only
966
+
967
+ **Phase 2 (Gate Decision):**
968
+ - **Deterministic Rules:** Use consistent thresholds (P0=100%, P1≥90%, overall≥80%) for objectivity
969
+ - **Evidence-Based:** Every decision must cite specific metrics (coverage %, pass rates, NFRs)
970
+ - **Waiver Discipline:** Waivers require approver name, justification, mitigation plan, and evidence link
971
+ - **Non-Blocking CONCERNS:** Use CONCERNS for minor gaps that don't justify blocking deployment (e.g., P1 at 88% vs 90%)
972
+ - **Automate in CI/CD:** Generate YAML snippets that can be consumed by CI/CD pipelines for automated quality gates
973
+
974
+ ---
975
+
976
+ ## Troubleshooting
977
+
978
+ ### "No tests found for this story"
979
+ - Run `*atdd` workflow first to generate failing acceptance tests
980
+ - Check test file naming conventions (may not match story ID pattern)
981
+ - Verify test directory path is correct
982
+
983
+ ### "Cannot determine coverage status"
984
+ - Tests may lack explicit mapping to criteria (no test IDs, unclear describe blocks)
985
+ - Review test structure and add Given-When-Then narrative
986
+ - Add test IDs in format: `{STORY_ID}-{LEVEL}-{SEQ}` (e.g., 1.3-E2E-001)
987
+
988
+ ### "P0 coverage below 100%"
989
+ - This is a **BLOCKER** - do not release
990
+ - Identify missing P0 tests in gap analysis
991
+ - Run `*atdd` workflow to generate missing tests
992
+ - Verify with stakeholders that P0 classification is correct
993
+
994
+ ### "Duplicate coverage detected"
995
+ - Review selective testing principles in `selective-testing.md`
996
+ - Determine if overlap is acceptable (defense in depth) or wasteful (same validation at multiple levels)
997
+ - Consolidate tests at appropriate level (logic → unit, integration → API, journey → E2E)
998
+
999
+ ### "Test execution results missing" (Phase 2)
1000
+ - Phase 2 gate decision requires `test_results` (CI/CD test reports)
1001
+ - If missing, Phase 2 will be skipped with warning
1002
+ - Provide JUnit XML, TAP, or JSON test report path via `test_results` variable
1003
+
1004
+ ### "Gate decision is FAIL but deployment needed urgently"
1005
+ - Request business waiver (if `allow_waivers: true`)
1006
+ - Document approver, justification, mitigation plan
1007
+ - Create follow-up stories to address gaps
1008
+ - Use WAIVED decision only for non-P0 gaps
1009
+
1010
+ ---
1011
+
1012
+ ## Related Workflows
1013
+
1014
+ **Prerequisites:**
1015
+ - `testarch-test-design` - Define test priorities (P0/P1/P2/P3) before tracing (required for Phase 2)
1016
+ - `testarch-atdd` or `testarch-automate` - Generate tests before tracing coverage
1017
+
1018
+ **Complements:**
1019
+ - `testarch-nfr-assess` - Non-functional requirements validation (recommended for release gates)
1020
+ - `testarch-test-review` - Review test quality issues flagged in traceability
1021
+
1022
+ **Next Steps:**
1023
+ - If gate decision is PASS/CONCERNS → Deploy and monitor
1024
+ - If gate decision is FAIL → Add missing tests, re-run trace workflow
1025
+ - If gate decision is WAIVED → Deploy with mitigation, create follow-up stories
1026
+
1027
+ ---
1028
+
1029
+ <!-- Powered by BMAD-CORE™ -->
1030
+ ```