bmad-odoo 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +317 -0
  4. package/_config/agent-manifest.csv +10 -0
  5. package/_config/manifest.yaml +10 -0
  6. package/_config/workflow-manifest.csv +10 -0
  7. package/bmm/agents/analyst.md +93 -0
  8. package/bmm/agents/architect.md +72 -0
  9. package/bmm/agents/dev.md +85 -0
  10. package/bmm/agents/pm.md +61 -0
  11. package/bmm/agents/quick-flow-solo-dev.md +58 -0
  12. package/bmm/agents/sm.md +56 -0
  13. package/bmm/agents/tea.md +57 -0
  14. package/bmm/agents/tech-writer.md +56 -0
  15. package/bmm/agents/ux-designer.md +56 -0
  16. package/bmm/config.yaml +27 -0
  17. package/bmm/data/odoo-knowledge-base.md +90 -0
  18. package/bmm/teams/default-team.md +17 -0
  19. package/bmm/testarch/odoo-test-design/steps/step-01-init.md +44 -0
  20. package/bmm/testarch/odoo-test-design/steps/step-02-test-cases.md +82 -0
  21. package/bmm/testarch/odoo-test-design/steps/step-03-complete.md +69 -0
  22. package/bmm/testarch/odoo-test-design/workflow.md +30 -0
  23. package/bmm/testarch/odoo-testing-guide.md +30 -0
  24. package/bmm/workflows/1-analysis/analyze-process/process-analysis.template.md +80 -0
  25. package/bmm/workflows/1-analysis/analyze-process/steps/step-01-init.md +44 -0
  26. package/bmm/workflows/1-analysis/analyze-process/steps/step-02-current-state.md +55 -0
  27. package/bmm/workflows/1-analysis/analyze-process/steps/step-03-pain-points.md +67 -0
  28. package/bmm/workflows/1-analysis/analyze-process/steps/step-04-odoo-mapping.md +67 -0
  29. package/bmm/workflows/1-analysis/analyze-process/steps/step-05-recommendations.md +99 -0
  30. package/bmm/workflows/1-analysis/analyze-process/steps/step-06-complete.md +62 -0
  31. package/bmm/workflows/1-analysis/analyze-process/workflow.md +60 -0
  32. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-01-init.md +45 -0
  33. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-02-users-stakeholders.md +46 -0
  34. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-03-odoo-modules.md +59 -0
  35. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-04-scope-timeline.md +64 -0
  36. package/bmm/workflows/1-analysis/create-odoo-product-brief/steps/step-05-complete.md +32 -0
  37. package/bmm/workflows/1-analysis/create-odoo-product-brief/workflow.md +35 -0
  38. package/bmm/workflows/1-analysis/create-product-brief/product-brief.template.md +10 -0
  39. package/bmm/workflows/1-analysis/create-product-brief/steps/step-01-init.md +182 -0
  40. package/bmm/workflows/1-analysis/create-product-brief/steps/step-01b-continue.md +166 -0
  41. package/bmm/workflows/1-analysis/create-product-brief/steps/step-02-vision.md +204 -0
  42. package/bmm/workflows/1-analysis/create-product-brief/steps/step-03-users.md +207 -0
  43. package/bmm/workflows/1-analysis/create-product-brief/steps/step-04-metrics.md +210 -0
  44. package/bmm/workflows/1-analysis/create-product-brief/steps/step-05-scope.md +224 -0
  45. package/bmm/workflows/1-analysis/create-product-brief/steps/step-06-complete.md +199 -0
  46. package/bmm/workflows/1-analysis/create-product-brief/workflow.md +58 -0
  47. package/bmm/workflows/1-analysis/gap-analysis/steps/step-01-init.md +45 -0
  48. package/bmm/workflows/1-analysis/gap-analysis/steps/step-02-odoo-capabilities.md +36 -0
  49. package/bmm/workflows/1-analysis/gap-analysis/steps/step-03-gap-matrix.md +51 -0
  50. package/bmm/workflows/1-analysis/gap-analysis/workflow.md +45 -0
  51. package/bmm/workflows/1-analysis/research/domain-steps/step-01-init.md +137 -0
  52. package/bmm/workflows/1-analysis/research/domain-steps/step-02-domain-analysis.md +229 -0
  53. package/bmm/workflows/1-analysis/research/domain-steps/step-03-competitive-landscape.md +238 -0
  54. package/bmm/workflows/1-analysis/research/domain-steps/step-04-regulatory-focus.md +206 -0
  55. package/bmm/workflows/1-analysis/research/domain-steps/step-05-technical-trends.md +234 -0
  56. package/bmm/workflows/1-analysis/research/domain-steps/step-06-research-synthesis.md +443 -0
  57. package/bmm/workflows/1-analysis/research/market-steps/step-01-init.md +182 -0
  58. package/bmm/workflows/1-analysis/research/market-steps/step-02-customer-behavior.md +237 -0
  59. package/bmm/workflows/1-analysis/research/market-steps/step-02-customer-insights.md +200 -0
  60. package/bmm/workflows/1-analysis/research/market-steps/step-03-customer-pain-points.md +249 -0
  61. package/bmm/workflows/1-analysis/research/market-steps/step-04-customer-decisions.md +259 -0
  62. package/bmm/workflows/1-analysis/research/market-steps/step-05-competitive-analysis.md +177 -0
  63. package/bmm/workflows/1-analysis/research/market-steps/step-06-research-completion.md +475 -0
  64. package/bmm/workflows/1-analysis/research/research.template.md +29 -0
  65. package/bmm/workflows/1-analysis/research/technical-steps/step-01-init.md +137 -0
  66. package/bmm/workflows/1-analysis/research/technical-steps/step-02-technical-overview.md +239 -0
  67. package/bmm/workflows/1-analysis/research/technical-steps/step-03-integration-patterns.md +248 -0
  68. package/bmm/workflows/1-analysis/research/technical-steps/step-04-architectural-patterns.md +202 -0
  69. package/bmm/workflows/1-analysis/research/technical-steps/step-05-implementation-research.md +239 -0
  70. package/bmm/workflows/1-analysis/research/technical-steps/step-06-research-synthesis.md +486 -0
  71. package/bmm/workflows/1-analysis/research/workflow.md +173 -0
  72. package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-01-init.md +48 -0
  73. package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-02-technical-design.md +82 -0
  74. package/bmm/workflows/2-plan-workflows/create-odoo-addon/steps/step-03-generate.md +86 -0
  75. package/bmm/workflows/2-plan-workflows/create-odoo-addon/workflow.md +39 -0
  76. package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-01-init.md +55 -0
  77. package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-02-stories.md +53 -0
  78. package/bmm/workflows/2-plan-workflows/create-odoo-epic/steps/step-03-complete.md +39 -0
  79. package/bmm/workflows/2-plan-workflows/create-odoo-epic/workflow.md +35 -0
  80. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-01-init.md +46 -0
  81. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-02-functional-requirements.md +56 -0
  82. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-03-technical-requirements.md +45 -0
  83. package/bmm/workflows/2-plan-workflows/create-odoo-prd/steps/step-04-complete.md +40 -0
  84. package/bmm/workflows/2-plan-workflows/create-odoo-prd/workflow.md +29 -0
  85. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-01-init.md +52 -0
  86. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-02-form-design.md +78 -0
  87. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-03-tree-design.md +84 -0
  88. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/steps/step-04-complete.md +55 -0
  89. package/bmm/workflows/2-plan-workflows/create-odoo-ux-design/workflow.md +30 -0
  90. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01-init.md +135 -0
  91. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-01b-continue.md +127 -0
  92. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-02-discovery.md +190 -0
  93. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-03-core-experience.md +216 -0
  94. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-04-emotional-response.md +219 -0
  95. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-05-inspiration.md +234 -0
  96. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-06-design-system.md +252 -0
  97. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-07-defining-experience.md +254 -0
  98. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-08-visual-foundation.md +224 -0
  99. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-09-design-directions.md +224 -0
  100. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-10-user-journeys.md +241 -0
  101. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-11-component-strategy.md +248 -0
  102. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-12-ux-patterns.md +237 -0
  103. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-13-responsive-accessibility.md +264 -0
  104. package/bmm/workflows/2-plan-workflows/create-ux-design/steps/step-14-complete.md +228 -0
  105. package/bmm/workflows/2-plan-workflows/create-ux-design/ux-design-template.md +13 -0
  106. package/bmm/workflows/2-plan-workflows/create-ux-design/workflow.md +43 -0
  107. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-01-init.md +49 -0
  108. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-02-risk-assessment.md +51 -0
  109. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/steps/step-03-roadmap.md +58 -0
  110. package/bmm/workflows/2-plan-workflows/plan-odoo-migration/workflow.md +29 -0
  111. package/bmm/workflows/2-plan-workflows/prd/domain-complexity.csv +13 -0
  112. package/bmm/workflows/2-plan-workflows/prd/prd-template.md +11 -0
  113. package/bmm/workflows/2-plan-workflows/prd/project-types.csv +11 -0
  114. package/bmm/workflows/2-plan-workflows/prd/steps/step-01-init.md +197 -0
  115. package/bmm/workflows/2-plan-workflows/prd/steps/step-01b-continue.md +166 -0
  116. package/bmm/workflows/2-plan-workflows/prd/steps/step-02-discovery.md +421 -0
  117. package/bmm/workflows/2-plan-workflows/prd/steps/step-03-success.md +290 -0
  118. package/bmm/workflows/2-plan-workflows/prd/steps/step-04-journeys.md +291 -0
  119. package/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md +271 -0
  120. package/bmm/workflows/2-plan-workflows/prd/steps/step-06-innovation.md +262 -0
  121. package/bmm/workflows/2-plan-workflows/prd/steps/step-07-project-type.md +258 -0
  122. package/bmm/workflows/2-plan-workflows/prd/steps/step-08-scoping.md +299 -0
  123. package/bmm/workflows/2-plan-workflows/prd/steps/step-09-functional.md +270 -0
  124. package/bmm/workflows/2-plan-workflows/prd/steps/step-10-nonfunctional.md +294 -0
  125. package/bmm/workflows/2-plan-workflows/prd/steps/step-11-complete.md +186 -0
  126. package/bmm/workflows/2-plan-workflows/prd/workflow.md +63 -0
  127. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-01-document-discovery.md +190 -0
  128. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-02-prd-analysis.md +178 -0
  129. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
  130. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-04-ux-alignment.md +139 -0
  131. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
  132. package/bmm/workflows/3-solutioning/check-implementation-readiness/steps/step-06-final-assessment.md +133 -0
  133. package/bmm/workflows/3-solutioning/check-implementation-readiness/templates/readiness-report-template.md +4 -0
  134. package/bmm/workflows/3-solutioning/check-implementation-readiness/workflow.md +55 -0
  135. package/bmm/workflows/3-solutioning/create-architecture/architecture-decision-template.md +12 -0
  136. package/bmm/workflows/3-solutioning/create-architecture/data/domain-complexity.csv +11 -0
  137. package/bmm/workflows/3-solutioning/create-architecture/data/project-types.csv +7 -0
  138. package/bmm/workflows/3-solutioning/create-architecture/steps/step-01-init.md +153 -0
  139. package/bmm/workflows/3-solutioning/create-architecture/steps/step-01b-continue.md +164 -0
  140. package/bmm/workflows/3-solutioning/create-architecture/steps/step-02-context.md +224 -0
  141. package/bmm/workflows/3-solutioning/create-architecture/steps/step-03-starter.md +331 -0
  142. package/bmm/workflows/3-solutioning/create-architecture/steps/step-04-decisions.md +318 -0
  143. package/bmm/workflows/3-solutioning/create-architecture/steps/step-05-patterns.md +359 -0
  144. package/bmm/workflows/3-solutioning/create-architecture/steps/step-06-structure.md +379 -0
  145. package/bmm/workflows/3-solutioning/create-architecture/steps/step-07-validation.md +359 -0
  146. package/bmm/workflows/3-solutioning/create-architecture/steps/step-08-complete.md +352 -0
  147. package/bmm/workflows/3-solutioning/create-architecture/workflow.md +50 -0
  148. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-01-validate-prerequisites.md +259 -0
  149. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-02-design-epics.md +233 -0
  150. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md +272 -0
  151. package/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-04-final-validation.md +145 -0
  152. package/bmm/workflows/3-solutioning/create-epics-and-stories/templates/epics-template.md +57 -0
  153. package/bmm/workflows/3-solutioning/create-epics-and-stories/workflow.md +59 -0
  154. package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-01-init.md +44 -0
  155. package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-02-inheritance-strategy.md +75 -0
  156. package/bmm/workflows/3-solutioning/enhance-existing-system/steps/step-03-implementation.md +64 -0
  157. package/bmm/workflows/3-solutioning/enhance-existing-system/workflow.md +30 -0
  158. package/bmm/workflows/3-solutioning/quick-addon/workflow.md +23 -0
  159. package/bmm/workflows/4-implementation/code-review/checklist.md +23 -0
  160. package/bmm/workflows/4-implementation/code-review/instructions.xml +225 -0
  161. package/bmm/workflows/4-implementation/code-review/workflow.yaml +50 -0
  162. package/bmm/workflows/4-implementation/correct-course/checklist.md +279 -0
  163. package/bmm/workflows/4-implementation/correct-course/instructions.md +206 -0
  164. package/bmm/workflows/4-implementation/correct-course/workflow.yaml +58 -0
  165. package/bmm/workflows/4-implementation/create-next-story/steps/step-01-init.md +53 -0
  166. package/bmm/workflows/4-implementation/create-next-story/steps/step-02-acceptance-criteria.md +63 -0
  167. package/bmm/workflows/4-implementation/create-next-story/steps/step-03-tasks.md +68 -0
  168. package/bmm/workflows/4-implementation/create-next-story/steps/step-04-complete.md +70 -0
  169. package/bmm/workflows/4-implementation/create-next-story/workflow.md +30 -0
  170. package/bmm/workflows/4-implementation/dev-story/checklist.md +80 -0
  171. package/bmm/workflows/4-implementation/dev-story/instructions.xml +409 -0
  172. package/bmm/workflows/4-implementation/dev-story/workflow.yaml +25 -0
  173. package/bmm/workflows/4-implementation/rapid-brownfield/steps/step-01-quick-story.md +79 -0
  174. package/bmm/workflows/4-implementation/rapid-brownfield/workflow.md +29 -0
  175. package/bmm/workflows/4-implementation/retrospective/instructions.md +1443 -0
  176. package/bmm/workflows/4-implementation/retrospective/workflow.yaml +57 -0
  177. package/bmm/workflows/4-implementation/sprint-planning/checklist.md +33 -0
  178. package/bmm/workflows/4-implementation/sprint-planning/instructions.md +225 -0
  179. package/bmm/workflows/4-implementation/sprint-planning/sprint-status-template.yaml +55 -0
  180. package/bmm/workflows/4-implementation/sprint-planning/workflow.yaml +52 -0
  181. package/bmm/workflows/4-implementation/sprint-status/instructions.md +229 -0
  182. package/bmm/workflows/4-implementation/sprint-status/workflow.yaml +35 -0
  183. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-01-understand.md +189 -0
  184. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-02-investigate.md +144 -0
  185. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-03-generate.md +128 -0
  186. package/bmm/workflows/bmad-quick-flow/create-tech-spec/steps/step-04-review.md +173 -0
  187. package/bmm/workflows/bmad-quick-flow/create-tech-spec/tech-spec-template.md +74 -0
  188. package/bmm/workflows/bmad-quick-flow/create-tech-spec/workflow.md +79 -0
  189. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-01-mode-detection.md +156 -0
  190. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-02-context-gathering.md +120 -0
  191. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-03-execute.md +113 -0
  192. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-04-self-check.md +113 -0
  193. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-05-adversarial-review.md +106 -0
  194. package/bmm/workflows/bmad-quick-flow/quick-dev/steps/step-06-resolve-findings.md +140 -0
  195. package/bmm/workflows/bmad-quick-flow/quick-dev/workflow.md +52 -0
  196. package/bmm/workflows/document-odoo/steps/step-01-init.md +43 -0
  197. package/bmm/workflows/document-odoo/steps/step-02-readme.md +98 -0
  198. package/bmm/workflows/document-odoo/steps/step-03-user-guide.md +76 -0
  199. package/bmm/workflows/document-odoo/steps/step-04-complete.md +58 -0
  200. package/bmm/workflows/document-odoo/workflow.md +30 -0
  201. package/bmm/workflows/document-project/checklist.md +245 -0
  202. package/bmm/workflows/document-project/documentation-requirements.csv +12 -0
  203. package/bmm/workflows/document-project/instructions.md +221 -0
  204. package/bmm/workflows/document-project/templates/deep-dive-template.md +345 -0
  205. package/bmm/workflows/document-project/templates/index-template.md +169 -0
  206. package/bmm/workflows/document-project/templates/project-overview-template.md +103 -0
  207. package/bmm/workflows/document-project/templates/project-scan-report-schema.json +160 -0
  208. package/bmm/workflows/document-project/templates/source-tree-template.md +135 -0
  209. package/bmm/workflows/document-project/workflow.yaml +28 -0
  210. package/bmm/workflows/document-project/workflows/deep-dive-instructions.md +298 -0
  211. package/bmm/workflows/document-project/workflows/deep-dive.yaml +31 -0
  212. package/bmm/workflows/document-project/workflows/full-scan-instructions.md +1106 -0
  213. package/bmm/workflows/document-project/workflows/full-scan.yaml +31 -0
  214. package/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-library.json +90 -0
  215. package/bmm/workflows/excalidraw-diagrams/_shared/excalidraw-templates.yaml +127 -0
  216. package/bmm/workflows/excalidraw-diagrams/create-dataflow/checklist.md +39 -0
  217. package/bmm/workflows/excalidraw-diagrams/create-dataflow/instructions.md +130 -0
  218. package/bmm/workflows/excalidraw-diagrams/create-dataflow/workflow.yaml +26 -0
  219. package/bmm/workflows/excalidraw-diagrams/create-diagram/checklist.md +43 -0
  220. package/bmm/workflows/excalidraw-diagrams/create-diagram/instructions.md +141 -0
  221. package/bmm/workflows/excalidraw-diagrams/create-diagram/workflow.yaml +26 -0
  222. package/bmm/workflows/excalidraw-diagrams/create-flowchart/checklist.md +49 -0
  223. package/bmm/workflows/excalidraw-diagrams/create-flowchart/instructions.md +241 -0
  224. package/bmm/workflows/excalidraw-diagrams/create-flowchart/workflow.yaml +26 -0
  225. package/bmm/workflows/excalidraw-diagrams/create-wireframe/checklist.md +38 -0
  226. package/bmm/workflows/excalidraw-diagrams/create-wireframe/instructions.md +133 -0
  227. package/bmm/workflows/excalidraw-diagrams/create-wireframe/workflow.yaml +26 -0
  228. package/bmm/workflows/generate-project-context/project-context-template.md +21 -0
  229. package/bmm/workflows/generate-project-context/steps/step-01-discover.md +184 -0
  230. package/bmm/workflows/generate-project-context/steps/step-02-generate.md +318 -0
  231. package/bmm/workflows/generate-project-context/steps/step-03-complete.md +278 -0
  232. package/bmm/workflows/generate-project-context/workflow.md +49 -0
  233. package/bmm/workflows/testarch/atdd/atdd-checklist-template.md +364 -0
  234. package/bmm/workflows/testarch/atdd/checklist.md +374 -0
  235. package/bmm/workflows/testarch/atdd/instructions.md +806 -0
  236. package/bmm/workflows/testarch/atdd/workflow.yaml +45 -0
  237. package/bmm/workflows/testarch/automate/checklist.md +582 -0
  238. package/bmm/workflows/testarch/automate/instructions.md +1324 -0
  239. package/bmm/workflows/testarch/automate/workflow.yaml +52 -0
  240. package/bmm/workflows/testarch/ci/checklist.md +248 -0
  241. package/bmm/workflows/testarch/ci/github-actions-template.yaml +198 -0
  242. package/bmm/workflows/testarch/ci/gitlab-ci-template.yaml +149 -0
  243. package/bmm/workflows/testarch/ci/instructions.md +536 -0
  244. package/bmm/workflows/testarch/ci/workflow.yaml +45 -0
  245. package/bmm/workflows/testarch/framework/checklist.md +321 -0
  246. package/bmm/workflows/testarch/framework/instructions.md +481 -0
  247. package/bmm/workflows/testarch/framework/workflow.yaml +47 -0
  248. package/bmm/workflows/testarch/nfr-assess/checklist.md +407 -0
  249. package/bmm/workflows/testarch/nfr-assess/instructions.md +722 -0
  250. package/bmm/workflows/testarch/nfr-assess/nfr-report-template.md +445 -0
  251. package/bmm/workflows/testarch/nfr-assess/workflow.yaml +47 -0
  252. package/bmm/workflows/testarch/test-design/checklist.md +235 -0
  253. package/bmm/workflows/testarch/test-design/instructions.md +788 -0
  254. package/bmm/workflows/testarch/test-design/test-design-template.md +294 -0
  255. package/bmm/workflows/testarch/test-design/workflow.yaml +54 -0
  256. package/bmm/workflows/testarch/test-review/checklist.md +472 -0
  257. package/bmm/workflows/testarch/test-review/instructions.md +628 -0
  258. package/bmm/workflows/testarch/test-review/test-review-template.md +390 -0
  259. package/bmm/workflows/testarch/test-review/workflow.yaml +46 -0
  260. package/bmm/workflows/testarch/trace/checklist.md +655 -0
  261. package/bmm/workflows/testarch/trace/instructions.md +1047 -0
  262. package/bmm/workflows/testarch/trace/trace-template.md +675 -0
  263. package/bmm/workflows/testarch/trace/workflow.yaml +55 -0
  264. package/bmm/workflows/workflow-status/init/instructions.md +346 -0
  265. package/bmm/workflows/workflow-status/init/workflow.yaml +29 -0
  266. package/bmm/workflows/workflow-status/instructions.md +395 -0
  267. package/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +103 -0
  268. package/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +100 -0
  269. package/bmm/workflows/workflow-status/paths/method-brownfield.yaml +103 -0
  270. package/bmm/workflows/workflow-status/paths/method-greenfield.yaml +100 -0
  271. package/bmm/workflows/workflow-status/project-levels.yaml +59 -0
  272. package/bmm/workflows/workflow-status/workflow-status-template.yaml +24 -0
  273. package/bmm/workflows/workflow-status/workflow.yaml +30 -0
  274. package/core/agents/bmad-odoo-master.md +61 -0
  275. package/core/config.yaml +7 -0
  276. package/core/resources/README.md +5 -0
  277. package/core/tasks/README.md +7 -0
  278. package/core/workflows/README.md +8 -0
  279. package/index.js +84 -0
  280. package/package.json +48 -0
  281. package/scripts/postinstall.js +447 -0
  282. package/scripts/setup-cli.js +17 -0
@@ -0,0 +1,722 @@
1
+ # Non-Functional Requirements Assessment - Instructions v4.0
2
+
3
+ **Workflow:** `testarch-nfr`
4
+ **Purpose:** Assess non-functional requirements (performance, security, reliability, maintainability) before release with evidence-based validation
5
+ **Agent:** Test Architect (TEA)
6
+ **Format:** Pure Markdown v4.0 (no XML blocks)
7
+
8
+ ---
9
+
10
+ ## Overview
11
+
12
+ This workflow performs a comprehensive assessment of non-functional requirements (NFRs) to validate that the implementation meets performance, security, reliability, and maintainability standards before release. It uses evidence-based validation with deterministic PASS/CONCERNS/FAIL rules and provides actionable recommendations for remediation.
13
+
14
+ **Key Capabilities:**
15
+
16
+ - Assess multiple NFR categories (performance, security, reliability, maintainability, custom)
17
+ - Validate NFRs against defined thresholds from tech specs, PRD, or defaults
18
+ - Classify status deterministically (PASS/CONCERNS/FAIL) based on evidence
19
+ - Never guess thresholds - mark as CONCERNS if unknown
20
+ - Generate gate-ready YAML snippets for CI/CD integration
21
+ - Provide quick wins and recommended actions for remediation
22
+ - Create evidence checklists for gaps
23
+
24
+ ---
25
+
26
+ ## Prerequisites
27
+
28
+ **Required:**
29
+
30
+ - Implementation deployed locally or accessible for evaluation
31
+ - Evidence sources available (test results, metrics, logs, CI results)
32
+
33
+ **Recommended:**
34
+
35
+ - NFR requirements defined in tech-spec.md, PRD.md, or story
36
+ - Test results from performance, security, reliability tests
37
+ - Application metrics (response times, error rates, throughput)
38
+ - CI/CD pipeline results for burn-in validation
39
+
40
+ **Halt Conditions:**
41
+
42
+ - If NFR targets are undefined and cannot be obtained, halt and request definition
43
+ - If implementation is not accessible for evaluation, halt and request deployment
44
+
45
+ ---
46
+
47
+ ## Workflow Steps
48
+
49
+ ### Step 1: Load Context and Knowledge Base
50
+
51
+ **Actions:**
52
+
53
+ 1. Load relevant knowledge fragments from `{project-root}/_bmad/bmm/testarch/tea-index.csv`:
54
+ - `nfr-criteria.md` - Non-functional requirements criteria and thresholds (security, performance, reliability, maintainability with code examples, 658 lines, 4 examples)
55
+ - `ci-burn-in.md` - CI/CD burn-in patterns for reliability validation (10-iteration detection, sharding, selective execution, 678 lines, 4 examples)
56
+ - `test-quality.md` - Test quality expectations for maintainability (deterministic, isolated, explicit assertions, length/time limits, 658 lines, 5 examples)
57
+ - `playwright-config.md` - Performance configuration patterns: parallelization, timeout standards, artifact output (722 lines, 5 examples)
58
+ - `error-handling.md` - Reliability validation patterns: scoped exceptions, retry validation, telemetry logging, graceful degradation (736 lines, 4 examples)
59
+
60
+ 2. Read story file (if provided):
61
+ - Extract NFR requirements
62
+ - Identify specific thresholds or SLAs
63
+ - Note any custom NFR categories
64
+
65
+ 3. Read related BMad artifacts (if available):
66
+ - `tech-spec.md` - Technical NFR requirements and targets
67
+ - `PRD.md` - Product-level NFR context (user expectations)
68
+ - `test-design.md` - NFR test plan and priorities
69
+
70
+ **Output:** Complete understanding of NFR targets, evidence sources, and validation criteria
71
+
72
+ ---
73
+
74
+ ### Step 2: Identify NFR Categories and Thresholds
75
+
76
+ **Actions:**
77
+
78
+ 1. Determine which NFR categories to assess (default: performance, security, reliability, maintainability):
79
+ - **Performance**: Response time, throughput, resource usage
80
+ - **Security**: Authentication, authorization, data protection, vulnerability scanning
81
+ - **Reliability**: Error handling, recovery, availability, fault tolerance
82
+ - **Maintainability**: Code quality, test coverage, documentation, technical debt
83
+
84
+ 2. Add custom NFR categories if specified (e.g., accessibility, internationalization, compliance)
85
+
86
+ 3. Gather thresholds for each NFR:
87
+ - From tech-spec.md (primary source)
88
+ - From PRD.md (product-level SLAs)
89
+ - From story file (feature-specific requirements)
90
+ - From workflow variables (default thresholds)
91
+ - Mark thresholds as UNKNOWN if not defined
92
+
93
+ 4. Never guess thresholds - if a threshold is unknown, mark the NFR as CONCERNS
94
+
95
+ **Output:** Complete list of NFRs to assess with defined (or UNKNOWN) thresholds
96
+
97
+ ---
98
+
99
+ ### Step 3: Gather Evidence
100
+
101
+ **Actions:**
102
+
103
+ 1. For each NFR category, discover evidence sources:
104
+
105
+ **Performance Evidence:**
106
+ - Load test results (JMeter, k6, Lighthouse)
107
+ - Application metrics (response times, throughput, resource usage)
108
+ - Performance monitoring data (New Relic, Datadog, APM)
109
+ - Playwright performance traces (if applicable)
110
+
111
+ **Security Evidence:**
112
+ - Security scan results (SAST, DAST, dependency scanning)
113
+ - Authentication/authorization test results
114
+ - Penetration test reports
115
+ - Vulnerability assessment reports
116
+ - Compliance audit results
117
+
118
+ **Reliability Evidence:**
119
+ - Error logs and error rates
120
+ - Uptime monitoring data
121
+ - Chaos engineering test results
122
+ - Failover/recovery test results
123
+ - CI burn-in results (stability over time)
124
+
125
+ **Maintainability Evidence:**
126
+ - Code coverage reports (Istanbul, NYC, c8)
127
+ - Static analysis results (ESLint, SonarQube)
128
+ - Technical debt metrics
129
+ - Documentation completeness
130
+ - Test quality assessment (from test-review workflow)
131
+
132
+ 2. Read relevant files from evidence directories:
133
+ - `{test_results_dir}` for test execution results
134
+ - `{metrics_dir}` for application metrics
135
+ - `{logs_dir}` for application logs
136
+ - CI/CD pipeline results (if `include_ci_results` is true)
137
+
138
+ 3. Mark NFRs without evidence as "NO EVIDENCE" - never infer or assume
139
+
140
+ **Output:** Comprehensive evidence inventory for each NFR
141
+
142
+ ---
143
+
144
+ ### Step 4: Assess NFRs with Deterministic Rules
145
+
146
+ **Actions:**
147
+
148
+ 1. For each NFR, apply deterministic PASS/CONCERNS/FAIL rules:
149
+
150
+ **PASS Criteria:**
151
+ - Evidence exists AND meets defined threshold
152
+ - No concerns flagged in evidence
153
+ - Example: Response time is 350ms (threshold: 500ms) → PASS
154
+
155
+ **CONCERNS Criteria:**
156
+ - Threshold is UNKNOWN (not defined)
157
+ - Evidence is MISSING or INCOMPLETE
158
+ - Evidence is close to threshold (within 10%)
159
+ - Evidence shows intermittent issues
160
+ - Example: Response time is 480ms (threshold: 500ms, 96% of threshold) → CONCERNS
161
+
162
+ **FAIL Criteria:**
163
+ - Evidence exists BUT does not meet threshold
164
+ - Critical evidence is MISSING
165
+ - Evidence shows consistent failures
166
+ - Example: Response time is 750ms (threshold: 500ms) → FAIL
167
+
168
+ 2. Document findings for each NFR:
169
+ - Status (PASS/CONCERNS/FAIL)
170
+ - Evidence source (file path, test name, metric name)
171
+ - Actual value vs threshold
172
+ - Justification for status classification
173
+
174
+ 3. Classify severity based on category:
175
+ - **CRITICAL**: Security failures, reliability failures (affect users immediately)
176
+ - **HIGH**: Performance failures, maintainability failures (affect users soon)
177
+ - **MEDIUM**: Concerns without failures (may affect users eventually)
178
+ - **LOW**: Missing evidence for non-critical NFRs
179
+
180
+ **Output:** Complete NFR assessment with deterministic status classifications
181
+
182
+ ---
183
+
184
+ ### Step 5: Identify Quick Wins and Recommended Actions
185
+
186
+ **Actions:**
187
+
188
+ 1. For each NFR with CONCERNS or FAIL status, identify quick wins:
189
+ - Low-effort, high-impact improvements
190
+ - Configuration changes (no code changes needed)
191
+ - Optimization opportunities (caching, indexing, compression)
192
+ - Monitoring additions (detect issues before they become failures)
193
+
194
+ 2. Provide recommended actions for each issue:
195
+ - Specific steps to remediate (not generic advice)
196
+ - Priority (CRITICAL, HIGH, MEDIUM, LOW)
197
+ - Estimated effort (hours, days)
198
+ - Owner suggestion (dev, ops, security)
199
+
200
+ 3. Suggest monitoring hooks for gaps:
201
+ - Add performance monitoring (APM, synthetic monitoring)
202
+ - Add error tracking (Sentry, Rollbar, error logs)
203
+ - Add security monitoring (intrusion detection, audit logs)
204
+ - Add alerting thresholds (notify before thresholds are breached)
205
+
206
+ 4. Suggest fail-fast mechanisms:
207
+ - Add circuit breakers for reliability
208
+ - Add rate limiting for performance
209
+ - Add validation gates for security
210
+ - Add smoke tests for maintainability
211
+
212
+ **Output:** Actionable remediation plan with prioritized recommendations
213
+
214
+ ---
215
+
216
+ ### Step 6: Generate Deliverables
217
+
218
+ **Actions:**
219
+
220
+ 1. Create NFR assessment markdown file:
221
+ - Use template from `nfr-report-template.md`
222
+ - Include executive summary (overall status, critical issues)
223
+ - Add NFR-by-NFR assessment (status, evidence, thresholds)
224
+ - Add findings summary (PASS count, CONCERNS count, FAIL count)
225
+ - Add quick wins section
226
+ - Add recommended actions section
227
+ - Add evidence gaps checklist
228
+ - Save to `{output_folder}/nfr-assessment.md`
229
+
230
+ 2. Generate gate YAML snippet (if enabled):
231
+
232
+ ```yaml
233
+ nfr_assessment:
234
+ date: '2025-10-14'
235
+ categories:
236
+ performance: 'PASS'
237
+ security: 'CONCERNS'
238
+ reliability: 'PASS'
239
+ maintainability: 'PASS'
240
+ overall_status: 'CONCERNS'
241
+ critical_issues: 0
242
+ high_priority_issues: 1
243
+ concerns: 2
244
+ blockers: false
245
+ ```
246
+
247
+ 3. Generate evidence checklist (if enabled):
248
+ - List all NFRs with MISSING or INCOMPLETE evidence
249
+ - Assign owners for evidence collection
250
+ - Suggest evidence sources (tests, metrics, logs)
251
+ - Set deadlines for evidence collection
252
+
253
+ 4. Update story file (if enabled and requested):
254
+ - Add "NFR Assessment" section to story markdown
255
+ - Link to NFR assessment report
256
+ - Include overall status and critical issues
257
+ - Add gate status
258
+
259
+ **Output:** Complete NFR assessment documentation ready for review and CI/CD integration
260
+
261
+ ---
262
+
263
+ ## Non-Prescriptive Approach
264
+
265
+ **Minimal Examples:** This workflow provides principles and patterns, not rigid templates. Teams should adapt NFR categories, thresholds, and assessment criteria to their needs.
266
+
267
+ **Key Patterns to Follow:**
268
+
269
+ - Use evidence-based validation (no guessing or inference)
270
+ - Apply deterministic rules (consistent PASS/CONCERNS/FAIL classification)
271
+ - Never guess thresholds (mark as CONCERNS if unknown)
272
+ - Provide actionable recommendations (specific steps, not generic advice)
273
+ - Generate gate-ready artifacts (YAML snippets for CI/CD)
274
+
275
+ **Extend as Needed:**
276
+
277
+ - Add custom NFR categories (accessibility, internationalization, compliance)
278
+ - Integrate with external tools (New Relic, Datadog, SonarQube, JIRA)
279
+ - Add custom thresholds and rules
280
+ - Link to external assessment systems
281
+
282
+ ---
283
+
284
+ ## NFR Categories and Criteria
285
+
286
+ ### Performance
287
+
288
+ **Criteria:**
289
+
290
+ - Response time (p50, p95, p99 percentiles)
291
+ - Throughput (requests per second, transactions per second)
292
+ - Resource usage (CPU, memory, disk, network)
293
+ - Scalability (horizontal, vertical)
294
+
295
+ **Thresholds (Default):**
296
+
297
+ - Response time p95: 500ms
298
+ - Throughput: 100 RPS
299
+ - CPU usage: < 70% average
300
+ - Memory usage: < 80% max
301
+
302
+ **Evidence Sources:**
303
+
304
+ - Load test results (JMeter, k6, Gatling)
305
+ - APM data (New Relic, Datadog, Dynatrace)
306
+ - Lighthouse reports (for web apps)
307
+ - Playwright performance traces
308
+
309
+ ---
310
+
311
+ ### Security
312
+
313
+ **Criteria:**
314
+
315
+ - Authentication (login security, session management)
316
+ - Authorization (access control, permissions)
317
+ - Data protection (encryption, PII handling)
318
+ - Vulnerability management (SAST, DAST, dependency scanning)
319
+ - Compliance (GDPR, HIPAA, PCI-DSS)
320
+
321
+ **Thresholds (Default):**
322
+
323
+ - Security score: >= 85/100
324
+ - Critical vulnerabilities: 0
325
+ - High vulnerabilities: < 3
326
+ - Authentication strength: MFA enabled
327
+
328
+ **Evidence Sources:**
329
+
330
+ - SAST results (SonarQube, Checkmarx, Veracode)
331
+ - DAST results (OWASP ZAP, Burp Suite)
332
+ - Dependency scanning (Snyk, Dependabot, npm audit)
333
+ - Penetration test reports
334
+ - Security audit logs
335
+
336
+ ---
337
+
338
+ ### Reliability
339
+
340
+ **Criteria:**
341
+
342
+ - Availability (uptime percentage)
343
+ - Error handling (graceful degradation, error recovery)
344
+ - Fault tolerance (redundancy, failover)
345
+ - Disaster recovery (backup, restore, RTO/RPO)
346
+ - Stability (CI burn-in, chaos engineering)
347
+
348
+ **Thresholds (Default):**
349
+
350
+ - Uptime: >= 99.9% (three nines)
351
+ - Error rate: < 0.1% (1 in 1000 requests)
352
+ - MTTR (Mean Time To Recovery): < 15 minutes
353
+ - CI burn-in: 100 consecutive successful runs
354
+
355
+ **Evidence Sources:**
356
+
357
+ - Uptime monitoring (Pingdom, UptimeRobot, StatusCake)
358
+ - Error logs and error rates
359
+ - CI burn-in results (see `ci-burn-in.md`)
360
+ - Chaos engineering test results (Chaos Monkey, Gremlin)
361
+ - Incident reports and postmortems
362
+
363
+ ---
364
+
365
+ ### Maintainability
366
+
367
+ **Criteria:**
368
+
369
+ - Code quality (complexity, duplication, code smells)
370
+ - Test coverage (unit, integration, E2E)
371
+ - Documentation (code comments, README, architecture docs)
372
+ - Technical debt (debt ratio, code churn)
373
+ - Test quality (from test-review workflow)
374
+
375
+ **Thresholds (Default):**
376
+
377
+ - Test coverage: >= 80%
378
+ - Code quality score: >= 85/100
379
+ - Technical debt ratio: < 5%
380
+ - Documentation completeness: >= 90%
381
+
382
+ **Evidence Sources:**
383
+
384
+ - Coverage reports (Istanbul, NYC, c8, JaCoCo)
385
+ - Static analysis (ESLint, SonarQube, CodeClimate)
386
+ - Documentation audit (manual or automated)
387
+ - Test review report (from test-review workflow)
388
+ - Git metrics (code churn, commit frequency)
389
+
390
+ ---
391
+
392
+ ## Deterministic Assessment Rules
393
+
394
+ ### PASS Rules
395
+
396
+ - Evidence exists
397
+ - Evidence meets or exceeds threshold
398
+ - No concerns flagged
399
+ - Quality is acceptable
400
+
401
+ **Example:**
402
+
403
+ ```markdown
404
+ NFR: Response Time p95
405
+ Threshold: 500ms
406
+ Evidence: Load test result shows 350ms p95
407
+ Status: PASS ✅
408
+ ```
409
+
410
+ ---
411
+
412
+ ### CONCERNS Rules
413
+
414
+ - Threshold is UNKNOWN
415
+ - Evidence is MISSING or INCOMPLETE
416
+ - Evidence is close to threshold (within 10%)
417
+ - Evidence shows intermittent issues
418
+ - Quality is marginal
419
+
420
+ **Example:**
421
+
422
+ ```markdown
423
+ NFR: Response Time p95
424
+ Threshold: 500ms
425
+ Evidence: Load test result shows 480ms p95 (96% of threshold)
426
+ Status: CONCERNS ⚠️
427
+ Recommendation: Optimize before production - very close to threshold
428
+ ```
429
+
430
+ ---
431
+
432
+ ### FAIL Rules
433
+
434
+ - Evidence exists BUT does not meet threshold
435
+ - Critical evidence is MISSING
436
+ - Evidence shows consistent failures
437
+ - Quality is unacceptable
438
+
439
+ **Example:**
440
+
441
+ ```markdown
442
+ NFR: Response Time p95
443
+ Threshold: 500ms
444
+ Evidence: Load test result shows 750ms p95 (150% of threshold)
445
+ Status: FAIL ❌
446
+ Recommendation: BLOCKER - optimize performance before release
447
+ ```
448
+
449
+ ---
450
+
451
+ ## Integration with BMad Artifacts
452
+
453
+ ### With tech-spec.md
454
+
455
+ - Primary source for NFR requirements and thresholds
456
+ - Load performance targets, security requirements, reliability SLAs
457
+ - Use architectural decisions to understand NFR trade-offs
458
+
459
+ ### With test-design.md
460
+
461
+ - Understand NFR test plan and priorities
462
+ - Reference test priorities (P0/P1/P2/P3) for severity classification
463
+ - Align assessment with planned NFR validation
464
+
465
+ ### With PRD.md
466
+
467
+ - Understand product-level NFR expectations
468
+ - Verify NFRs align with user experience goals
469
+ - Check for unstated NFR requirements (implied by product goals)
470
+
471
+ ---
472
+
473
+ ## Quality Gates
474
+
475
+ ### Release Blocker (FAIL)
476
+
477
+ - Critical NFR has FAIL status (security, reliability)
478
+ - Performance failure affects user experience severely
479
+ - Do not release until FAIL is resolved
480
+
481
+ ### PR Blocker (HIGH CONCERNS)
482
+
483
+ - High-priority NFR has FAIL status
484
+ - Multiple CONCERNS exist
485
+ - Block PR merge until addressed
486
+
487
+ ### Warning (CONCERNS)
488
+
489
+ - Any NFR has CONCERNS status
490
+ - Evidence is missing or incomplete
491
+ - Address before next release
492
+
493
+ ### Pass (PASS)
494
+
495
+ - All NFRs have PASS status
496
+ - No blockers or concerns
497
+ - Ready for release
498
+
499
+ ---
500
+
501
+ ## Example NFR Assessment
502
+
503
+ ````markdown
504
+ # NFR Assessment - Story 1.3
505
+
506
+ **Feature:** User Authentication
507
+ **Date:** 2025-10-14
508
+ **Overall Status:** CONCERNS ⚠️ (1 HIGH issue)
509
+
510
+ ## Executive Summary
511
+
512
+ **Assessment:** 3 PASS, 1 CONCERNS, 0 FAIL
513
+ **Blockers:** None
514
+ **High Priority Issues:** 1 (Security - MFA not enforced)
515
+ **Recommendation:** Address security concern before release
516
+
517
+ ## Performance Assessment
518
+
519
+ ### Response Time (p95)
520
+
521
+ - **Status:** PASS ✅
522
+ - **Threshold:** 500ms
523
+ - **Actual:** 320ms (64% of threshold)
524
+ - **Evidence:** Load test results (test-results/load-2025-10-14.json)
525
+ - **Findings:** Response time well below threshold across all percentiles
526
+
527
+ ### Throughput
528
+
529
+ - **Status:** PASS ✅
530
+ - **Threshold:** 100 RPS
531
+ - **Actual:** 250 RPS (250% of threshold)
532
+ - **Evidence:** Load test results (test-results/load-2025-10-14.json)
533
+ - **Findings:** System handles 2.5x target load without degradation
534
+
535
+ ## Security Assessment
536
+
537
+ ### Authentication Strength
538
+
539
+ - **Status:** CONCERNS ⚠️
540
+ - **Threshold:** MFA enabled for all users
541
+ - **Actual:** MFA optional (not enforced)
542
+ - **Evidence:** Security audit (security-audit-2025-10-14.md)
543
+ - **Findings:** MFA is implemented but not enforced by default
544
+ - **Recommendation:** HIGH - Enforce MFA for all new accounts, provide migration path for existing users
545
+
546
+ ### Data Protection
547
+
548
+ - **Status:** PASS ✅
549
+ - **Threshold:** PII encrypted at rest and in transit
550
+ - **Actual:** AES-256 at rest, TLS 1.3 in transit
551
+ - **Evidence:** Security scan (security-scan-2025-10-14.json)
552
+ - **Findings:** All PII properly encrypted
553
+
554
+ ## Reliability Assessment
555
+
556
+ ### Uptime
557
+
558
+ - **Status:** PASS ✅
559
+ - **Threshold:** 99.9% (three nines)
560
+ - **Actual:** 99.95% over 30 days
561
+ - **Evidence:** Uptime monitoring (uptime-report-2025-10-14.csv)
562
+ - **Findings:** Exceeds target with margin
563
+
564
+ ### Error Rate
565
+
566
+ - **Status:** PASS ✅
567
+ - **Threshold:** < 0.1% (1 in 1000)
568
+ - **Actual:** 0.05% (1 in 2000)
569
+ - **Evidence:** Error logs (logs/errors-2025-10.log)
570
+ - **Findings:** Error rate well below threshold
571
+
572
+ ## Maintainability Assessment
573
+
574
+ ### Test Coverage
575
+
576
+ - **Status:** PASS ✅
577
+ - **Threshold:** >= 80%
578
+ - **Actual:** 87%
579
+ - **Evidence:** Coverage report (coverage/lcov-report/index.html)
580
+ - **Findings:** Coverage exceeds threshold with good distribution
581
+
582
+ ### Code Quality
583
+
584
+ - **Status:** PASS ✅
585
+ - **Threshold:** >= 85/100
586
+ - **Actual:** 92/100
587
+ - **Evidence:** SonarQube analysis (sonarqube-report-2025-10-14.pdf)
588
+ - **Findings:** High code quality score with low technical debt
589
+
590
+ ## Quick Wins
591
+
592
+ 1. **Enforce MFA (Security)** - HIGH - 4 hours
593
+ - Add configuration flag to enforce MFA for new accounts
594
+ - No code changes needed, only config adjustment
595
+
596
+ ## Recommended Actions
597
+
598
+ ### Immediate (Before Release)
599
+
600
+ 1. **Enforce MFA for all new accounts** - HIGH - 4 hours - Security Team
601
+ - Add `ENFORCE_MFA=true` to production config
602
+ - Update user onboarding flow to require MFA setup
603
+ - Test MFA enforcement in staging environment
604
+
605
+ ### Short-term (Next Sprint)
606
+
607
+ 1. **Migrate existing users to MFA** - MEDIUM - 3 days - Product + Engineering
608
+ - Design migration UX (prompt, incentives, deadline)
609
+ - Implement migration flow with grace period
610
+ - Communicate migration to existing users
611
+
612
+ ## Evidence Gaps
613
+
614
+ - [ ] Chaos engineering test results (reliability)
615
+ - Owner: DevOps Team
616
+ - Deadline: 2025-10-21
617
+ - Suggested evidence: Run chaos monkey tests in staging
618
+
619
+ - [ ] Penetration test report (security)
620
+ - Owner: Security Team
621
+ - Deadline: 2025-10-28
622
+ - Suggested evidence: Schedule third-party pentest
623
+
624
+ ## Gate YAML Snippet
625
+
626
+ ```yaml
627
+ nfr_assessment:
628
+ date: '2025-10-14'
629
+ story_id: '1.3'
630
+ categories:
631
+ performance: 'PASS'
632
+ security: 'CONCERNS'
633
+ reliability: 'PASS'
634
+ maintainability: 'PASS'
635
+ overall_status: 'CONCERNS'
636
+ critical_issues: 0
637
+ high_priority_issues: 1
638
+ medium_priority_issues: 0
639
+ concerns: 1
640
+ blockers: false
641
+ recommendations:
642
+ - 'Enforce MFA for all new accounts (HIGH - 4 hours)'
643
+ evidence_gaps: 2
644
+ ```
645
+ ````
646
+
647
+ ## Recommendations Summary
648
+
649
+ - **Release Blocker:** None ✅
650
+ - **High Priority:** 1 (Enforce MFA before release)
651
+ - **Medium Priority:** 1 (Migrate existing users to MFA)
652
+ - **Next Steps:** Address HIGH priority item, then proceed to gate workflow
653
+
654
+ ```
655
+
656
+ ---
657
+
658
+ ## Validation Checklist
659
+
660
+ Before completing this workflow, verify:
661
+
662
+ - ✅ All NFR categories assessed (performance, security, reliability, maintainability, custom)
663
+ - ✅ Thresholds defined or marked as UNKNOWN
664
+ - ✅ Evidence gathered for each NFR (or marked as MISSING)
665
+ - ✅ Status classified deterministically (PASS/CONCERNS/FAIL)
666
+ - ✅ No thresholds were guessed (marked as CONCERNS if unknown)
667
+ - ✅ Quick wins identified for CONCERNS/FAIL
668
+ - ✅ Recommended actions are specific and actionable
669
+ - ✅ Evidence gaps documented with owners and deadlines
670
+ - ✅ NFR assessment report generated and saved
671
+ - ✅ Gate YAML snippet generated (if enabled)
672
+ - ✅ Evidence checklist generated (if enabled)
673
+
674
+ ---
675
+
676
+ ## Notes
677
+
678
+ - **Never Guess Thresholds:** If a threshold is unknown, mark as CONCERNS and recommend defining it
679
+ - **Evidence-Based:** Every assessment must be backed by evidence (tests, metrics, logs, CI results)
680
+ - **Deterministic Rules:** Use consistent PASS/CONCERNS/FAIL classification based on evidence
681
+ - **Actionable Recommendations:** Provide specific steps, not generic advice
682
+ - **Gate Integration:** Generate YAML snippets that can be consumed by CI/CD pipelines
683
+
684
+ ---
685
+
686
+ ## Troubleshooting
687
+
688
+ ### "NFR thresholds not defined"
689
+ - Check tech-spec.md for NFR requirements
690
+ - Check PRD.md for product-level SLAs
691
+ - Check story file for feature-specific requirements
692
+ - If thresholds truly unknown, mark as CONCERNS and recommend defining them
693
+
694
+ ### "No evidence found"
695
+ - Check evidence directories (test-results, metrics, logs)
696
+ - Check CI/CD pipeline for test results
697
+ - If evidence truly missing, mark NFR as "NO EVIDENCE" and recommend generating it
698
+
699
+ ### "CONCERNS status but no threshold exceeded"
700
+ - CONCERNS is correct when threshold is UNKNOWN or evidence is MISSING/INCOMPLETE
701
+ - CONCERNS is also correct when evidence is close to threshold (within 10%)
702
+ - Document why CONCERNS was assigned
703
+
704
+ ### "FAIL status blocks release"
705
+ - This is intentional - FAIL means critical NFR not met
706
+ - Recommend remediation actions with specific steps
707
+ - Re-run assessment after remediation
708
+
709
+ ---
710
+
711
+ ## Related Workflows
712
+
713
+ - **testarch-test-design** - Define NFR requirements and test plan
714
+ - **testarch-framework** - Set up performance/security testing frameworks
715
+ - **testarch-ci** - Configure CI/CD for NFR validation
716
+ - **testarch-gate** - Use NFR assessment as input for quality gate decisions
717
+ - **testarch-test-review** - Review test quality (maintainability NFR)
718
+
719
+ ---
720
+
721
+ <!-- Powered by BMAD-CORE™ -->
722
+ ```