bmad-method 4.37.0 → 4.39.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 (251) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +3 -3
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +3 -3
  3. package/.github/workflows/discord.yaml +11 -2
  4. package/.github/workflows/format-check.yaml +42 -0
  5. package/.github/workflows/manual-release.yaml +173 -0
  6. package/.husky/pre-commit +3 -0
  7. package/.vscode/settings.json +26 -1
  8. package/CHANGELOG.md +2 -23
  9. package/README.md +2 -0
  10. package/bmad-core/agent-teams/team-all.yaml +1 -1
  11. package/bmad-core/agents/analyst.md +16 -15
  12. package/bmad-core/agents/architect.md +11 -11
  13. package/bmad-core/agents/bmad-master.md +23 -22
  14. package/bmad-core/agents/bmad-orchestrator.md +13 -17
  15. package/bmad-core/agents/dev.md +14 -11
  16. package/bmad-core/agents/pm.md +15 -14
  17. package/bmad-core/agents/po.md +9 -8
  18. package/bmad-core/agents/qa.md +42 -22
  19. package/bmad-core/agents/sm.md +7 -6
  20. package/bmad-core/agents/ux-expert.md +6 -5
  21. package/bmad-core/core-config.yaml +2 -0
  22. package/bmad-core/data/bmad-kb.md +1 -1
  23. package/bmad-core/data/test-levels-framework.md +146 -0
  24. package/bmad-core/data/test-priorities-matrix.md +172 -0
  25. package/bmad-core/tasks/apply-qa-fixes.md +148 -0
  26. package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
  27. package/bmad-core/tasks/nfr-assess.md +343 -0
  28. package/bmad-core/tasks/qa-gate.md +161 -0
  29. package/bmad-core/tasks/review-story.md +234 -74
  30. package/bmad-core/tasks/risk-profile.md +353 -0
  31. package/bmad-core/tasks/test-design.md +174 -0
  32. package/bmad-core/tasks/trace-requirements.md +264 -0
  33. package/bmad-core/templates/architecture-tmpl.yaml +49 -49
  34. package/bmad-core/templates/brainstorming-output-tmpl.yaml +5 -5
  35. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +31 -31
  36. package/bmad-core/templates/brownfield-prd-tmpl.yaml +13 -13
  37. package/bmad-core/templates/competitor-analysis-tmpl.yaml +19 -6
  38. package/bmad-core/templates/front-end-architecture-tmpl.yaml +21 -9
  39. package/bmad-core/templates/front-end-spec-tmpl.yaml +24 -24
  40. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +122 -104
  41. package/bmad-core/templates/market-research-tmpl.yaml +2 -2
  42. package/bmad-core/templates/prd-tmpl.yaml +9 -9
  43. package/bmad-core/templates/project-brief-tmpl.yaml +4 -4
  44. package/bmad-core/templates/qa-gate-tmpl.yaml +102 -0
  45. package/bmad-core/templates/story-tmpl.yaml +12 -12
  46. package/bmad-core/workflows/brownfield-fullstack.yaml +9 -9
  47. package/bmad-core/workflows/brownfield-service.yaml +1 -1
  48. package/bmad-core/workflows/brownfield-ui.yaml +1 -1
  49. package/bmad-core/workflows/greenfield-fullstack.yaml +1 -1
  50. package/bmad-core/workflows/greenfield-service.yaml +1 -1
  51. package/bmad-core/workflows/greenfield-ui.yaml +1 -1
  52. package/common/utils/bmad-doc-template.md +5 -5
  53. package/dist/agents/analyst.txt +1086 -1079
  54. package/dist/agents/architect.txt +1534 -1526
  55. package/dist/agents/bmad-master.txt +646 -632
  56. package/dist/agents/bmad-orchestrator.txt +40 -18
  57. package/dist/agents/dev.txt +158 -19
  58. package/dist/agents/pm.txt +1082 -1107
  59. package/dist/agents/po.txt +314 -332
  60. package/dist/agents/qa.txt +1754 -151
  61. package/dist/agents/sm.txt +88 -98
  62. package/dist/agents/ux-expert.txt +80 -87
  63. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +109 -146
  64. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +75 -86
  65. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +41 -48
  66. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +1903 -1941
  67. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +15 -50
  68. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +149 -195
  69. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +0 -15
  70. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +20 -37
  71. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +2660 -2752
  72. package/dist/expansion-packs/bmad-creative-writing/agents/beta-reader.txt +871 -0
  73. package/dist/expansion-packs/bmad-creative-writing/agents/book-critic.txt +78 -0
  74. package/dist/expansion-packs/bmad-creative-writing/agents/character-psychologist.txt +839 -0
  75. package/dist/expansion-packs/bmad-creative-writing/agents/cover-designer.txt +85 -0
  76. package/dist/expansion-packs/bmad-creative-writing/agents/dialog-specialist.txt +861 -0
  77. package/dist/expansion-packs/bmad-creative-writing/agents/editor.txt +796 -0
  78. package/dist/expansion-packs/bmad-creative-writing/agents/genre-specialist.txt +927 -0
  79. package/dist/expansion-packs/bmad-creative-writing/agents/narrative-designer.txt +842 -0
  80. package/dist/expansion-packs/bmad-creative-writing/agents/plot-architect.txt +1126 -0
  81. package/dist/expansion-packs/bmad-creative-writing/agents/world-builder.txt +864 -0
  82. package/dist/expansion-packs/bmad-creative-writing/teams/agent-team.txt +5917 -0
  83. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +25 -27
  84. package/dist/teams/team-all.txt +5541 -3768
  85. package/dist/teams/team-fullstack.txt +3014 -2987
  86. package/dist/teams/team-ide-minimal.txt +2219 -469
  87. package/dist/teams/team-no-ui.txt +2993 -2966
  88. package/docs/enhanced-ide-development-workflow.md +220 -15
  89. package/docs/user-guide.md +271 -18
  90. package/docs/versioning-and-releases.md +122 -44
  91. package/docs/working-in-the-brownfield.md +264 -31
  92. package/eslint.config.mjs +119 -0
  93. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +4 -4
  94. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +1 -1
  95. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  96. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +26 -28
  97. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +50 -50
  98. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +23 -23
  99. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +24 -24
  100. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +42 -42
  101. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  102. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  103. package/expansion-packs/bmad-2d-phaser-game-dev/workflows/game-prototype.yaml +1 -1
  104. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +3 -3
  105. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +1 -1
  106. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +1 -1
  107. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +23 -23
  108. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +63 -63
  109. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +20 -20
  110. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +65 -65
  111. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-dev-greenfield.yaml +5 -5
  112. package/expansion-packs/bmad-2d-unity-game-dev/workflows/game-prototype.yaml +1 -1
  113. package/expansion-packs/bmad-creative-writing/README.md +132 -0
  114. package/expansion-packs/bmad-creative-writing/agent-teams/agent-team.yaml +19 -0
  115. package/expansion-packs/bmad-creative-writing/agents/beta-reader.md +91 -0
  116. package/expansion-packs/bmad-creative-writing/agents/book-critic.md +35 -0
  117. package/expansion-packs/bmad-creative-writing/agents/character-psychologist.md +90 -0
  118. package/expansion-packs/bmad-creative-writing/agents/cover-designer.md +41 -0
  119. package/expansion-packs/bmad-creative-writing/agents/dialog-specialist.md +89 -0
  120. package/expansion-packs/bmad-creative-writing/agents/editor.md +90 -0
  121. package/expansion-packs/bmad-creative-writing/agents/genre-specialist.md +92 -0
  122. package/expansion-packs/bmad-creative-writing/agents/narrative-designer.md +90 -0
  123. package/expansion-packs/bmad-creative-writing/agents/plot-architect.md +92 -0
  124. package/expansion-packs/bmad-creative-writing/agents/world-builder.md +91 -0
  125. package/expansion-packs/bmad-creative-writing/checklists/beta-feedback-closure-checklist.md +16 -0
  126. package/expansion-packs/bmad-creative-writing/checklists/character-consistency-checklist.md +16 -0
  127. package/expansion-packs/bmad-creative-writing/checklists/comedic-timing-checklist.md +16 -0
  128. package/expansion-packs/bmad-creative-writing/checklists/cyberpunk-aesthetic-checklist.md +16 -0
  129. package/expansion-packs/bmad-creative-writing/checklists/ebook-formatting-checklist.md +15 -0
  130. package/expansion-packs/bmad-creative-writing/checklists/epic-poetry-meter-checklist.md +16 -0
  131. package/expansion-packs/bmad-creative-writing/checklists/fantasy-magic-system-checklist.md +16 -0
  132. package/expansion-packs/bmad-creative-writing/checklists/foreshadowing-payoff-checklist.md +15 -0
  133. package/expansion-packs/bmad-creative-writing/checklists/genre-tropes-checklist.md +15 -0
  134. package/expansion-packs/bmad-creative-writing/checklists/historical-accuracy-checklist.md +16 -0
  135. package/expansion-packs/bmad-creative-writing/checklists/horror-suspense-checklist.md +16 -0
  136. package/expansion-packs/bmad-creative-writing/checklists/kdp-cover-ready-checklist.md +18 -0
  137. package/expansion-packs/bmad-creative-writing/checklists/line-edit-quality-checklist.md +16 -0
  138. package/expansion-packs/bmad-creative-writing/checklists/marketing-copy-checklist.md +16 -0
  139. package/expansion-packs/bmad-creative-writing/checklists/mystery-clue-trail-checklist.md +16 -0
  140. package/expansion-packs/bmad-creative-writing/checklists/orbital-mechanics-checklist.md +16 -0
  141. package/expansion-packs/bmad-creative-writing/checklists/plot-structure-checklist.md +49 -0
  142. package/expansion-packs/bmad-creative-writing/checklists/publication-readiness-checklist.md +16 -0
  143. package/expansion-packs/bmad-creative-writing/checklists/romance-emotional-beats-checklist.md +16 -0
  144. package/expansion-packs/bmad-creative-writing/checklists/scene-quality-checklist.md +16 -0
  145. package/expansion-packs/bmad-creative-writing/checklists/scifi-technology-plausibility-checklist.md +15 -0
  146. package/expansion-packs/bmad-creative-writing/checklists/sensitivity-representation-checklist.md +16 -0
  147. package/expansion-packs/bmad-creative-writing/checklists/steampunk-gadget-checklist.md +16 -0
  148. package/expansion-packs/bmad-creative-writing/checklists/thriller-pacing-stakes-checklist.md +16 -0
  149. package/expansion-packs/bmad-creative-writing/checklists/timeline-continuity-checklist.md +16 -0
  150. package/expansion-packs/bmad-creative-writing/checklists/world-building-continuity-checklist.md +16 -0
  151. package/expansion-packs/bmad-creative-writing/checklists/ya-appropriateness-checklist.md +16 -0
  152. package/expansion-packs/bmad-creative-writing/config.yaml +11 -0
  153. package/expansion-packs/bmad-creative-writing/data/bmad-kb.md +197 -0
  154. package/expansion-packs/bmad-creative-writing/data/story-structures.md +58 -0
  155. package/expansion-packs/bmad-creative-writing/docs/brief.md +183 -0
  156. package/expansion-packs/bmad-creative-writing/tasks/advanced-elicitation.md +117 -0
  157. package/expansion-packs/bmad-creative-writing/tasks/analyze-reader-feedback.md +16 -0
  158. package/expansion-packs/bmad-creative-writing/tasks/analyze-story-structure.md +55 -0
  159. package/expansion-packs/bmad-creative-writing/tasks/assemble-kdp-package.md +22 -0
  160. package/expansion-packs/bmad-creative-writing/tasks/brainstorm-premise.md +16 -0
  161. package/expansion-packs/bmad-creative-writing/tasks/build-world.md +17 -0
  162. package/expansion-packs/bmad-creative-writing/tasks/character-depth-pass.md +15 -0
  163. package/expansion-packs/bmad-creative-writing/tasks/create-doc.md +101 -0
  164. package/expansion-packs/bmad-creative-writing/tasks/create-draft-section.md +19 -0
  165. package/expansion-packs/bmad-creative-writing/tasks/critical-review.md +19 -0
  166. package/expansion-packs/bmad-creative-writing/tasks/develop-character.md +17 -0
  167. package/expansion-packs/bmad-creative-writing/tasks/execute-checklist.md +93 -0
  168. package/expansion-packs/bmad-creative-writing/tasks/expand-premise.md +16 -0
  169. package/expansion-packs/bmad-creative-writing/tasks/expand-synopsis.md +16 -0
  170. package/expansion-packs/bmad-creative-writing/tasks/final-polish.md +16 -0
  171. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-brief.md +18 -0
  172. package/expansion-packs/bmad-creative-writing/tasks/generate-cover-prompts.md +19 -0
  173. package/expansion-packs/bmad-creative-writing/tasks/generate-scene-list.md +16 -0
  174. package/expansion-packs/bmad-creative-writing/tasks/incorporate-feedback.md +18 -0
  175. package/expansion-packs/bmad-creative-writing/tasks/outline-scenes.md +16 -0
  176. package/expansion-packs/bmad-creative-writing/tasks/provide-feedback.md +17 -0
  177. package/expansion-packs/bmad-creative-writing/tasks/publish-chapter.md +16 -0
  178. package/expansion-packs/bmad-creative-writing/tasks/quick-feedback.md +15 -0
  179. package/expansion-packs/bmad-creative-writing/tasks/select-next-arc.md +16 -0
  180. package/expansion-packs/bmad-creative-writing/tasks/workshop-dialog.md +51 -0
  181. package/expansion-packs/bmad-creative-writing/templates/beta-feedback-form.yaml +96 -0
  182. package/expansion-packs/bmad-creative-writing/templates/chapter-draft-tmpl.yaml +81 -0
  183. package/expansion-packs/bmad-creative-writing/templates/character-profile-tmpl.yaml +92 -0
  184. package/expansion-packs/bmad-creative-writing/templates/cover-design-brief-tmpl.yaml +97 -0
  185. package/expansion-packs/bmad-creative-writing/templates/premise-brief-tmpl.yaml +77 -0
  186. package/expansion-packs/bmad-creative-writing/templates/scene-list-tmpl.yaml +54 -0
  187. package/expansion-packs/bmad-creative-writing/templates/story-outline-tmpl.yaml +96 -0
  188. package/expansion-packs/bmad-creative-writing/templates/world-guide-tmpl.yaml +88 -0
  189. package/expansion-packs/bmad-creative-writing/workflows/book-cover-design-workflow.md +176 -0
  190. package/expansion-packs/bmad-creative-writing/workflows/novel-greenfield-workflow.yaml +58 -0
  191. package/expansion-packs/bmad-creative-writing/workflows/novel-serial-workflow.yaml +51 -0
  192. package/expansion-packs/bmad-creative-writing/workflows/novel-snowflake-workflow.yaml +69 -0
  193. package/expansion-packs/bmad-creative-writing/workflows/novel-writing.yaml +92 -0
  194. package/expansion-packs/bmad-creative-writing/workflows/screenplay-development.yaml +86 -0
  195. package/expansion-packs/bmad-creative-writing/workflows/series-planning.yaml +79 -0
  196. package/expansion-packs/bmad-creative-writing/workflows/short-story-creation.yaml +65 -0
  197. package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  198. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +20 -20
  199. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +7 -7
  200. package/package.json +62 -39
  201. package/prettier.config.mjs +32 -0
  202. package/sync-version.sh +23 -0
  203. package/tools/bmad-npx-wrapper.js +10 -10
  204. package/tools/builders/web-builder.js +124 -130
  205. package/tools/bump-all-versions.js +42 -33
  206. package/tools/bump-expansion-version.js +23 -16
  207. package/tools/cli.js +10 -12
  208. package/tools/flattener/aggregate.js +10 -10
  209. package/tools/flattener/binary.js +44 -17
  210. package/tools/flattener/discovery.js +19 -18
  211. package/tools/flattener/files.js +6 -6
  212. package/tools/flattener/ignoreRules.js +125 -125
  213. package/tools/flattener/main.js +426 -70
  214. package/tools/flattener/projectRoot.js +186 -25
  215. package/tools/flattener/prompts.js +9 -9
  216. package/tools/flattener/stats.helpers.js +395 -0
  217. package/tools/flattener/stats.js +64 -14
  218. package/tools/flattener/test-matrix.js +413 -0
  219. package/tools/flattener/xml.js +33 -31
  220. package/tools/installer/bin/bmad.js +156 -113
  221. package/tools/installer/config/ide-agent-config.yaml +1 -1
  222. package/tools/installer/config/install.config.yaml +13 -3
  223. package/tools/installer/lib/config-loader.js +46 -42
  224. package/tools/installer/lib/file-manager.js +91 -113
  225. package/tools/installer/lib/ide-base-setup.js +57 -56
  226. package/tools/installer/lib/ide-setup.js +545 -399
  227. package/tools/installer/lib/installer.js +875 -714
  228. package/tools/installer/lib/memory-profiler.js +54 -53
  229. package/tools/installer/lib/module-manager.js +19 -15
  230. package/tools/installer/lib/resource-locator.js +26 -28
  231. package/tools/installer/package.json +19 -19
  232. package/tools/lib/dependency-resolver.js +26 -30
  233. package/tools/lib/yaml-utils.js +7 -7
  234. package/tools/preview-release-notes.js +66 -0
  235. package/tools/shared/bannerArt.js +3 -3
  236. package/tools/sync-installer-version.js +7 -9
  237. package/tools/update-expansion-version.js +14 -15
  238. package/tools/upgraders/v3-to-v4-upgrader.js +203 -294
  239. package/tools/version-bump.js +41 -26
  240. package/tools/yaml-format.js +56 -43
  241. package/.github/workflows/release.yaml +0 -60
  242. package/.releaserc.json +0 -21
  243. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/Complete AI Agent System - Flowchart.svg +0 -102
  244. 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
  245. 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
  246. 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
  247. 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
  248. 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
  249. 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
  250. package/expansion-packs/Complete AI Agent System - Blank Templates & Google Cloud Setup/README.md +0 -109
  251. package/tools/semantic-release-sync-installer.js +0 -30
@@ -0,0 +1,172 @@
1
+ # Test Priorities Matrix
2
+
3
+ Guide for prioritizing test scenarios based on risk, criticality, and business impact.
4
+
5
+ ## Priority Levels
6
+
7
+ ### P0 - Critical (Must Test)
8
+
9
+ **Criteria:**
10
+
11
+ - Revenue-impacting functionality
12
+ - Security-critical paths
13
+ - Data integrity operations
14
+ - Regulatory compliance requirements
15
+ - Previously broken functionality (regression prevention)
16
+
17
+ **Examples:**
18
+
19
+ - Payment processing
20
+ - Authentication/authorization
21
+ - User data creation/deletion
22
+ - Financial calculations
23
+ - GDPR/privacy compliance
24
+
25
+ **Testing Requirements:**
26
+
27
+ - Comprehensive coverage at all levels
28
+ - Both happy and unhappy paths
29
+ - Edge cases and error scenarios
30
+ - Performance under load
31
+
32
+ ### P1 - High (Should Test)
33
+
34
+ **Criteria:**
35
+
36
+ - Core user journeys
37
+ - Frequently used features
38
+ - Features with complex logic
39
+ - Integration points between systems
40
+ - Features affecting user experience
41
+
42
+ **Examples:**
43
+
44
+ - User registration flow
45
+ - Search functionality
46
+ - Data import/export
47
+ - Notification systems
48
+ - Dashboard displays
49
+
50
+ **Testing Requirements:**
51
+
52
+ - Primary happy paths required
53
+ - Key error scenarios
54
+ - Critical edge cases
55
+ - Basic performance validation
56
+
57
+ ### P2 - Medium (Nice to Test)
58
+
59
+ **Criteria:**
60
+
61
+ - Secondary features
62
+ - Admin functionality
63
+ - Reporting features
64
+ - Configuration options
65
+ - UI polish and aesthetics
66
+
67
+ **Examples:**
68
+
69
+ - Admin settings panels
70
+ - Report generation
71
+ - Theme customization
72
+ - Help documentation
73
+ - Analytics tracking
74
+
75
+ **Testing Requirements:**
76
+
77
+ - Happy path coverage
78
+ - Basic error handling
79
+ - Can defer edge cases
80
+
81
+ ### P3 - Low (Test if Time Permits)
82
+
83
+ **Criteria:**
84
+
85
+ - Rarely used features
86
+ - Nice-to-have functionality
87
+ - Cosmetic issues
88
+ - Non-critical optimizations
89
+
90
+ **Examples:**
91
+
92
+ - Advanced preferences
93
+ - Legacy feature support
94
+ - Experimental features
95
+ - Debug utilities
96
+
97
+ **Testing Requirements:**
98
+
99
+ - Smoke tests only
100
+ - Can rely on manual testing
101
+ - Document known limitations
102
+
103
+ ## Risk-Based Priority Adjustments
104
+
105
+ ### Increase Priority When:
106
+
107
+ - High user impact (affects >50% of users)
108
+ - High financial impact (>$10K potential loss)
109
+ - Security vulnerability potential
110
+ - Compliance/legal requirements
111
+ - Customer-reported issues
112
+ - Complex implementation (>500 LOC)
113
+ - Multiple system dependencies
114
+
115
+ ### Decrease Priority When:
116
+
117
+ - Feature flag protected
118
+ - Gradual rollout planned
119
+ - Strong monitoring in place
120
+ - Easy rollback capability
121
+ - Low usage metrics
122
+ - Simple implementation
123
+ - Well-isolated component
124
+
125
+ ## Test Coverage by Priority
126
+
127
+ | Priority | Unit Coverage | Integration Coverage | E2E Coverage |
128
+ | -------- | ------------- | -------------------- | ------------------ |
129
+ | P0 | >90% | >80% | All critical paths |
130
+ | P1 | >80% | >60% | Main happy paths |
131
+ | P2 | >60% | >40% | Smoke tests |
132
+ | P3 | Best effort | Best effort | Manual only |
133
+
134
+ ## Priority Assignment Rules
135
+
136
+ 1. **Start with business impact** - What happens if this fails?
137
+ 2. **Consider probability** - How likely is failure?
138
+ 3. **Factor in detectability** - Would we know if it failed?
139
+ 4. **Account for recoverability** - Can we fix it quickly?
140
+
141
+ ## Priority Decision Tree
142
+
143
+ ```
144
+ Is it revenue-critical?
145
+ ├─ YES → P0
146
+ └─ NO → Does it affect core user journey?
147
+ ├─ YES → Is it high-risk?
148
+ │ ├─ YES → P0
149
+ │ └─ NO → P1
150
+ └─ NO → Is it frequently used?
151
+ ├─ YES → P1
152
+ └─ NO → Is it customer-facing?
153
+ ├─ YES → P2
154
+ └─ NO → P3
155
+ ```
156
+
157
+ ## Test Execution Order
158
+
159
+ 1. Execute P0 tests first (fail fast on critical issues)
160
+ 2. Execute P1 tests second (core functionality)
161
+ 3. Execute P2 tests if time permits
162
+ 4. P3 tests only in full regression cycles
163
+
164
+ ## Continuous Adjustment
165
+
166
+ Review and adjust priorities based on:
167
+
168
+ - Production incident patterns
169
+ - User feedback and complaints
170
+ - Usage analytics
171
+ - Test failure history
172
+ - Business priority changes
@@ -0,0 +1,148 @@
1
+ # apply-qa-fixes
2
+
3
+ Implement fixes based on QA results (gate and assessments) for a specific story. This task is for the Dev agent to systematically consume QA outputs and apply code/test changes while only updating allowed sections in the story file.
4
+
5
+ ## Purpose
6
+
7
+ - Read QA outputs for a story (gate YAML + assessment markdowns)
8
+ - Create a prioritized, deterministic fix plan
9
+ - Apply code and test changes to close gaps and address issues
10
+ - Update only the allowed story sections for the Dev agent
11
+
12
+ ## Inputs
13
+
14
+ ```yaml
15
+ required:
16
+ - story_id: '{epic}.{story}' # e.g., "2.2"
17
+ - qa_root: from `bmad-core/core-config.yaml` key `qa.qaLocation` (e.g., `docs/project/qa`)
18
+ - story_root: from `bmad-core/core-config.yaml` key `devStoryLocation` (e.g., `docs/project/stories`)
19
+
20
+ optional:
21
+ - story_title: '{title}' # derive from story H1 if missing
22
+ - story_slug: '{slug}' # derive from title (lowercase, hyphenated) if missing
23
+ ```
24
+
25
+ ## QA Sources to Read
26
+
27
+ - Gate (YAML): `{qa_root}/gates/{epic}.{story}-*.yml`
28
+ - If multiple, use the most recent by modified time
29
+ - Assessments (Markdown):
30
+ - Test Design: `{qa_root}/assessments/{epic}.{story}-test-design-*.md`
31
+ - Traceability: `{qa_root}/assessments/{epic}.{story}-trace-*.md`
32
+ - Risk Profile: `{qa_root}/assessments/{epic}.{story}-risk-*.md`
33
+ - NFR Assessment: `{qa_root}/assessments/{epic}.{story}-nfr-*.md`
34
+
35
+ ## Prerequisites
36
+
37
+ - Repository builds and tests run locally (Deno 2)
38
+ - Lint and test commands available:
39
+ - `deno lint`
40
+ - `deno test -A`
41
+
42
+ ## Process (Do not skip steps)
43
+
44
+ ### 0) Load Core Config & Locate Story
45
+
46
+ - Read `bmad-core/core-config.yaml` and resolve `qa_root` and `story_root`
47
+ - Locate story file in `{story_root}/{epic}.{story}.*.md`
48
+ - HALT if missing and ask for correct story id/path
49
+
50
+ ### 1) Collect QA Findings
51
+
52
+ - Parse the latest gate YAML:
53
+ - `gate` (PASS|CONCERNS|FAIL|WAIVED)
54
+ - `top_issues[]` with `id`, `severity`, `finding`, `suggested_action`
55
+ - `nfr_validation.*.status` and notes
56
+ - `trace` coverage summary/gaps
57
+ - `test_design.coverage_gaps[]`
58
+ - `risk_summary.recommendations.must_fix[]` (if present)
59
+ - Read any present assessment markdowns and extract explicit gaps/recommendations
60
+
61
+ ### 2) Build Deterministic Fix Plan (Priority Order)
62
+
63
+ Apply in order, highest priority first:
64
+
65
+ 1. High severity items in `top_issues` (security/perf/reliability/maintainability)
66
+ 2. NFR statuses: all FAIL must be fixed → then CONCERNS
67
+ 3. Test Design `coverage_gaps` (prioritize P0 scenarios if specified)
68
+ 4. Trace uncovered requirements (AC-level)
69
+ 5. Risk `must_fix` recommendations
70
+ 6. Medium severity issues, then low
71
+
72
+ Guidance:
73
+
74
+ - Prefer tests closing coverage gaps before/with code changes
75
+ - Keep changes minimal and targeted; follow project architecture and TS/Deno rules
76
+
77
+ ### 3) Apply Changes
78
+
79
+ - Implement code fixes per plan
80
+ - Add missing tests to close coverage gaps (unit first; integration where required by AC)
81
+ - Keep imports centralized via `deps.ts` (see `docs/project/typescript-rules.md`)
82
+ - Follow DI boundaries in `src/core/di.ts` and existing patterns
83
+
84
+ ### 4) Validate
85
+
86
+ - Run `deno lint` and fix issues
87
+ - Run `deno test -A` until all tests pass
88
+ - Iterate until clean
89
+
90
+ ### 5) Update Story (Allowed Sections ONLY)
91
+
92
+ CRITICAL: Dev agent is ONLY authorized to update these sections of the story file. Do not modify any other sections (e.g., QA Results, Story, Acceptance Criteria, Dev Notes, Testing):
93
+
94
+ - Tasks / Subtasks Checkboxes (mark any fix subtask you added as done)
95
+ - Dev Agent Record →
96
+ - Agent Model Used (if changed)
97
+ - Debug Log References (commands/results, e.g., lint/tests)
98
+ - Completion Notes List (what changed, why, how)
99
+ - File List (all added/modified/deleted files)
100
+ - Change Log (new dated entry describing applied fixes)
101
+ - Status (see Rule below)
102
+
103
+ Status Rule:
104
+
105
+ - If gate was PASS and all identified gaps are closed → set `Status: Ready for Done`
106
+ - Otherwise → set `Status: Ready for Review` and notify QA to re-run the review
107
+
108
+ ### 6) Do NOT Edit Gate Files
109
+
110
+ - Dev does not modify gate YAML. If fixes address issues, request QA to re-run `review-story` to update the gate
111
+
112
+ ## Blocking Conditions
113
+
114
+ - Missing `bmad-core/core-config.yaml`
115
+ - Story file not found for `story_id`
116
+ - No QA artifacts found (neither gate nor assessments)
117
+ - HALT and request QA to generate at least a gate file (or proceed only with clear developer-provided fix list)
118
+
119
+ ## Completion Checklist
120
+
121
+ - deno lint: 0 problems
122
+ - deno test -A: all tests pass
123
+ - All high severity `top_issues` addressed
124
+ - NFR FAIL → resolved; CONCERNS minimized or documented
125
+ - Coverage gaps closed or explicitly documented with rationale
126
+ - Story updated (allowed sections only) including File List and Change Log
127
+ - Status set according to Status Rule
128
+
129
+ ## Example: Story 2.2
130
+
131
+ Given gate `docs/project/qa/gates/2.2-*.yml` shows
132
+
133
+ - `coverage_gaps`: Back action behavior untested (AC2)
134
+ - `coverage_gaps`: Centralized dependencies enforcement untested (AC4)
135
+
136
+ Fix plan:
137
+
138
+ - Add a test ensuring the Toolkit Menu "Back" action returns to Main Menu
139
+ - Add a static test verifying imports for service/view go through `deps.ts`
140
+ - Re-run lint/tests and update Dev Agent Record + File List accordingly
141
+
142
+ ## Key Principles
143
+
144
+ - Deterministic, risk-first prioritization
145
+ - Minimal, maintainable changes
146
+ - Tests validate behavior and close gaps
147
+ - Strict adherence to allowed story update areas
148
+ - Gate ownership remains with QA; Dev signals readiness via Status
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  docOutputLocation: docs/brainstorming-session-results.md
3
- template: "{root}/templates/brainstorming-output-tmpl.yaml"
3
+ template: '{root}/templates/brainstorming-output-tmpl.yaml'
4
4
  ---
5
5
 
6
6
  # Facilitate Brainstorming Session Task
@@ -0,0 +1,343 @@
1
+ # nfr-assess
2
+
3
+ Quick NFR validation focused on the core four: security, performance, reliability, maintainability.
4
+
5
+ ## Inputs
6
+
7
+ ```yaml
8
+ required:
9
+ - story_id: '{epic}.{story}' # e.g., "1.3"
10
+ - story_path: `bmad-core/core-config.yaml` for the `devStoryLocation`
11
+
12
+ optional:
13
+ - architecture_refs: `bmad-core/core-config.yaml` for the `architecture.architectureFile`
14
+ - technical_preferences: `bmad-core/core-config.yaml` for the `technicalPreferences`
15
+ - acceptance_criteria: From story file
16
+ ```
17
+
18
+ ## Purpose
19
+
20
+ Assess non-functional requirements for a story and generate:
21
+
22
+ 1. YAML block for the gate file's `nfr_validation` section
23
+ 2. Brief markdown assessment saved to `qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md`
24
+
25
+ ## Process
26
+
27
+ ### 0. Fail-safe for Missing Inputs
28
+
29
+ If story_path or story file can't be found:
30
+
31
+ - Still create assessment file with note: "Source story not found"
32
+ - Set all selected NFRs to CONCERNS with notes: "Target unknown / evidence missing"
33
+ - Continue with assessment to provide value
34
+
35
+ ### 1. Elicit Scope
36
+
37
+ **Interactive mode:** Ask which NFRs to assess
38
+ **Non-interactive mode:** Default to core four (security, performance, reliability, maintainability)
39
+
40
+ ```text
41
+ Which NFRs should I assess? (Enter numbers or press Enter for default)
42
+ [1] Security (default)
43
+ [2] Performance (default)
44
+ [3] Reliability (default)
45
+ [4] Maintainability (default)
46
+ [5] Usability
47
+ [6] Compatibility
48
+ [7] Portability
49
+ [8] Functional Suitability
50
+
51
+ > [Enter for 1-4]
52
+ ```
53
+
54
+ ### 2. Check for Thresholds
55
+
56
+ Look for NFR requirements in:
57
+
58
+ - Story acceptance criteria
59
+ - `docs/architecture/*.md` files
60
+ - `docs/technical-preferences.md`
61
+
62
+ **Interactive mode:** Ask for missing thresholds
63
+ **Non-interactive mode:** Mark as CONCERNS with "Target unknown"
64
+
65
+ ```text
66
+ No performance requirements found. What's your target response time?
67
+ > 200ms for API calls
68
+
69
+ No security requirements found. Required auth method?
70
+ > JWT with refresh tokens
71
+ ```
72
+
73
+ **Unknown targets policy:** If a target is missing and not provided, mark status as CONCERNS with notes: "Target unknown"
74
+
75
+ ### 3. Quick Assessment
76
+
77
+ For each selected NFR, check:
78
+
79
+ - Is there evidence it's implemented?
80
+ - Can we validate it?
81
+ - Are there obvious gaps?
82
+
83
+ ### 4. Generate Outputs
84
+
85
+ ## Output 1: Gate YAML Block
86
+
87
+ Generate ONLY for NFRs actually assessed (no placeholders):
88
+
89
+ ```yaml
90
+ # Gate YAML (copy/paste):
91
+ nfr_validation:
92
+ _assessed: [security, performance, reliability, maintainability]
93
+ security:
94
+ status: CONCERNS
95
+ notes: 'No rate limiting on auth endpoints'
96
+ performance:
97
+ status: PASS
98
+ notes: 'Response times < 200ms verified'
99
+ reliability:
100
+ status: PASS
101
+ notes: 'Error handling and retries implemented'
102
+ maintainability:
103
+ status: CONCERNS
104
+ notes: 'Test coverage at 65%, target is 80%'
105
+ ```
106
+
107
+ ## Deterministic Status Rules
108
+
109
+ - **FAIL**: Any selected NFR has critical gap or target clearly not met
110
+ - **CONCERNS**: No FAILs, but any NFR is unknown/partial/missing evidence
111
+ - **PASS**: All selected NFRs meet targets with evidence
112
+
113
+ ## Quality Score Calculation
114
+
115
+ ```
116
+ quality_score = 100
117
+ - 20 for each FAIL attribute
118
+ - 10 for each CONCERNS attribute
119
+ Floor at 0, ceiling at 100
120
+ ```
121
+
122
+ If `technical-preferences.md` defines custom weights, use those instead.
123
+
124
+ ## Output 2: Brief Assessment Report
125
+
126
+ **ALWAYS save to:** `qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md`
127
+
128
+ ```markdown
129
+ # NFR Assessment: {epic}.{story}
130
+
131
+ Date: {date}
132
+ Reviewer: Quinn
133
+
134
+ <!-- Note: Source story not found (if applicable) -->
135
+
136
+ ## Summary
137
+
138
+ - Security: CONCERNS - Missing rate limiting
139
+ - Performance: PASS - Meets <200ms requirement
140
+ - Reliability: PASS - Proper error handling
141
+ - Maintainability: CONCERNS - Test coverage below target
142
+
143
+ ## Critical Issues
144
+
145
+ 1. **No rate limiting** (Security)
146
+ - Risk: Brute force attacks possible
147
+ - Fix: Add rate limiting middleware to auth endpoints
148
+
149
+ 2. **Test coverage 65%** (Maintainability)
150
+ - Risk: Untested code paths
151
+ - Fix: Add tests for uncovered branches
152
+
153
+ ## Quick Wins
154
+
155
+ - Add rate limiting: ~2 hours
156
+ - Increase test coverage: ~4 hours
157
+ - Add performance monitoring: ~1 hour
158
+ ```
159
+
160
+ ## Output 3: Story Update Line
161
+
162
+ **End with this line for the review task to quote:**
163
+
164
+ ```
165
+ NFR assessment: qa.qaLocation/assessments/{epic}.{story}-nfr-{YYYYMMDD}.md
166
+ ```
167
+
168
+ ## Output 4: Gate Integration Line
169
+
170
+ **Always print at the end:**
171
+
172
+ ```
173
+ Gate NFR block ready → paste into qa.qaLocation/gates/{epic}.{story}-{slug}.yml under nfr_validation
174
+ ```
175
+
176
+ ## Assessment Criteria
177
+
178
+ ### Security
179
+
180
+ **PASS if:**
181
+
182
+ - Authentication implemented
183
+ - Authorization enforced
184
+ - Input validation present
185
+ - No hardcoded secrets
186
+
187
+ **CONCERNS if:**
188
+
189
+ - Missing rate limiting
190
+ - Weak encryption
191
+ - Incomplete authorization
192
+
193
+ **FAIL if:**
194
+
195
+ - No authentication
196
+ - Hardcoded credentials
197
+ - SQL injection vulnerabilities
198
+
199
+ ### Performance
200
+
201
+ **PASS if:**
202
+
203
+ - Meets response time targets
204
+ - No obvious bottlenecks
205
+ - Reasonable resource usage
206
+
207
+ **CONCERNS if:**
208
+
209
+ - Close to limits
210
+ - Missing indexes
211
+ - No caching strategy
212
+
213
+ **FAIL if:**
214
+
215
+ - Exceeds response time limits
216
+ - Memory leaks
217
+ - Unoptimized queries
218
+
219
+ ### Reliability
220
+
221
+ **PASS if:**
222
+
223
+ - Error handling present
224
+ - Graceful degradation
225
+ - Retry logic where needed
226
+
227
+ **CONCERNS if:**
228
+
229
+ - Some error cases unhandled
230
+ - No circuit breakers
231
+ - Missing health checks
232
+
233
+ **FAIL if:**
234
+
235
+ - No error handling
236
+ - Crashes on errors
237
+ - No recovery mechanisms
238
+
239
+ ### Maintainability
240
+
241
+ **PASS if:**
242
+
243
+ - Test coverage meets target
244
+ - Code well-structured
245
+ - Documentation present
246
+
247
+ **CONCERNS if:**
248
+
249
+ - Test coverage below target
250
+ - Some code duplication
251
+ - Missing documentation
252
+
253
+ **FAIL if:**
254
+
255
+ - No tests
256
+ - Highly coupled code
257
+ - No documentation
258
+
259
+ ## Quick Reference
260
+
261
+ ### What to Check
262
+
263
+ ```yaml
264
+ security:
265
+ - Authentication mechanism
266
+ - Authorization checks
267
+ - Input validation
268
+ - Secret management
269
+ - Rate limiting
270
+
271
+ performance:
272
+ - Response times
273
+ - Database queries
274
+ - Caching usage
275
+ - Resource consumption
276
+
277
+ reliability:
278
+ - Error handling
279
+ - Retry logic
280
+ - Circuit breakers
281
+ - Health checks
282
+ - Logging
283
+
284
+ maintainability:
285
+ - Test coverage
286
+ - Code structure
287
+ - Documentation
288
+ - Dependencies
289
+ ```
290
+
291
+ ## Key Principles
292
+
293
+ - Focus on the core four NFRs by default
294
+ - Quick assessment, not deep analysis
295
+ - Gate-ready output format
296
+ - Brief, actionable findings
297
+ - Skip what doesn't apply
298
+ - Deterministic status rules for consistency
299
+ - Unknown targets → CONCERNS, not guesses
300
+
301
+ ---
302
+
303
+ ## Appendix: ISO 25010 Reference
304
+
305
+ <details>
306
+ <summary>Full ISO 25010 Quality Model (click to expand)</summary>
307
+
308
+ ### All 8 Quality Characteristics
309
+
310
+ 1. **Functional Suitability**: Completeness, correctness, appropriateness
311
+ 2. **Performance Efficiency**: Time behavior, resource use, capacity
312
+ 3. **Compatibility**: Co-existence, interoperability
313
+ 4. **Usability**: Learnability, operability, accessibility
314
+ 5. **Reliability**: Maturity, availability, fault tolerance
315
+ 6. **Security**: Confidentiality, integrity, authenticity
316
+ 7. **Maintainability**: Modularity, reusability, testability
317
+ 8. **Portability**: Adaptability, installability
318
+
319
+ Use these when assessing beyond the core four.
320
+
321
+ </details>
322
+
323
+ <details>
324
+ <summary>Example: Deep Performance Analysis (click to expand)</summary>
325
+
326
+ ```yaml
327
+ performance_deep_dive:
328
+ response_times:
329
+ p50: 45ms
330
+ p95: 180ms
331
+ p99: 350ms
332
+ database:
333
+ slow_queries: 2
334
+ missing_indexes: ['users.email', 'orders.user_id']
335
+ caching:
336
+ hit_rate: 0%
337
+ recommendation: 'Add Redis for session data'
338
+ load_test:
339
+ max_rps: 150
340
+ breaking_point: 200 rps
341
+ ```
342
+
343
+ </details>