ma-agents 3.5.0 → 3.5.2

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 (548) hide show
  1. package/README.md +20 -10
  2. package/_bmad-output/implementation-artifacts/16-4-validation-report.md +79 -0
  3. package/_bmad-output/implementation-artifacts/19-1-knowledge-graph-core-library.md +239 -0
  4. package/_bmad-output/implementation-artifacts/19-2-graph-emission-create-prd.md +171 -0
  5. package/_bmad-output/implementation-artifacts/19-3-graph-emission-create-architecture-epics.md +179 -0
  6. package/_bmad-output/implementation-artifacts/19-4-graph-emission-create-story-remaining.md +190 -0
  7. package/_bmad-output/implementation-artifacts/19-5-open-graph-skill.md +213 -0
  8. package/_bmad-output/implementation-artifacts/19-6-interactive-visualization-renderer.md +259 -0
  9. package/_bmad-output/implementation-artifacts/19-7-llm-writability-validation-tests.md +280 -0
  10. package/_bmad-output/implementation-artifacts/sprint-status.yaml +31 -18
  11. package/_bmad-output/planning-artifacts/architecture.md +354 -2
  12. package/_bmad-output/planning-artifacts/epics.md +556 -8
  13. package/_bmad-output/planning-artifacts/prd.md +92 -10
  14. package/_bmad-output/planning-artifacts/validation-report-prd-2026-04-07.md +330 -0
  15. package/lib/bmad-cache/bmb/.claude-plugin/marketplace.json +39 -4
  16. package/lib/bmad-cache/bmb/README.md +39 -27
  17. package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
  18. package/lib/bmad-cache/bmb/_git_preserved/logs/HEAD +1 -1
  19. package/lib/bmad-cache/bmb/_git_preserved/logs/refs/heads/main +1 -1
  20. package/lib/bmad-cache/bmb/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  21. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-4b395d030ca386fc5748f1b670dcf8c0ef41c94c.idx +0 -0
  22. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-4b395d030ca386fc5748f1b670dcf8c0ef41c94c.pack +0 -0
  23. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-4b395d030ca386fc5748f1b670dcf8c0ef41c94c.rev +0 -0
  24. package/lib/bmad-cache/bmb/_git_preserved/packed-refs +1 -1
  25. package/lib/bmad-cache/bmb/_git_preserved/refs/heads/main +1 -1
  26. package/lib/bmad-cache/bmb/_git_preserved/shallow +1 -1
  27. package/lib/bmad-cache/bmb/package.json +1 -9
  28. package/lib/bmad-cache/bmb/samples/bmad-agent-code-coach/scripts/init-sanctum.py +288 -0
  29. package/lib/bmad-cache/bmb/samples/bmad-agent-creative-muse/scripts/init-sanctum.py +274 -0
  30. package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/assets/module-help.csv +9 -0
  31. package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/assets/module.yaml +8 -0
  32. package/lib/bmad-cache/bmb/{skills/bmad-builder-setup → samples/bmad-agent-dream-weaver}/scripts/merge-help-csv.py +3 -5
  33. package/lib/bmad-cache/bmb/samples/bmad-agent-sentinel/scripts/init-sanctum.py +285 -0
  34. package/lib/bmad-cache/bmb/samples/bmad-agent-sentinel/scripts/tests/test-init-sanctum.py +174 -0
  35. package/lib/bmad-cache/bmb/samples/sample-module-setup/assets/module-help.csv +16 -0
  36. package/lib/bmad-cache/bmb/samples/sample-module-setup/assets/module.yaml +13 -0
  37. package/lib/bmad-cache/bmb/samples/sample-module-setup/scripts/merge-config.py +408 -0
  38. package/lib/bmad-cache/bmb/samples/sample-module-setup/scripts/merge-help-csv.py +218 -0
  39. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/init-sanctum-template.py +277 -0
  40. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/references/sample-init-sanctum.py +274 -0
  41. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-execution-deps.py +4 -4
  42. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-prompt-metrics.py +22 -0
  43. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-sanctum-architecture.py +385 -0
  44. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-structure-capabilities.py +64 -27
  45. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/process-template.py +190 -0
  46. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/scan-path-standards.py +17 -32
  47. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/scan-scripts.py +5 -3
  48. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/assets/module-help.csv +10 -0
  49. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/cleanup-legacy.py +259 -0
  50. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/merge-config.py +408 -0
  51. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/merge-help-csv.py +218 -0
  52. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/assets/module-help.csv +1 -0
  53. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/assets/module.yaml +6 -0
  54. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/cleanup-legacy.py +259 -0
  55. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-config.py +408 -0
  56. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-help-csv.py +218 -0
  57. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/standalone-module-template/merge-config.py +408 -0
  58. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/standalone-module-template/merge-help-csv.py +218 -0
  59. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/scaffold-setup-skill.py +124 -0
  60. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/scaffold-standalone-module.py +190 -0
  61. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-scaffold-setup-skill.py +223 -0
  62. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-scaffold-standalone-module.py +266 -0
  63. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-validate-module.py +314 -0
  64. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/validate-module.py +293 -0
  65. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/generate-convert-report.py +406 -0
  66. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/prepass-workflow-integrity.py +1 -6
  67. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/scan-path-standards.py +14 -16
  68. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/tests/test_generate_convert_report.py +243 -0
  69. package/lib/bmad-cache/bmb/skills/module-help.csv +10 -5
  70. package/lib/bmad-cache/bmb/tools/validate-file-refs.mjs +1 -1
  71. package/lib/bmad-cache/bmb/website/astro.config.mjs +10 -6
  72. package/lib/bmad-cache/bmb/website/src/components/Banner.astro +6 -5
  73. package/lib/bmad-cache/bmb/website/src/styles/custom.css +60 -42
  74. package/lib/bmad-cache/cache-manifest.json +11 -11
  75. package/lib/bmad-cache/cis/README.md +9 -0
  76. package/lib/bmad-cache/cis/_git_preserved/index +0 -0
  77. package/lib/bmad-cache/cis/_git_preserved/logs/HEAD +1 -1
  78. package/lib/bmad-cache/cis/_git_preserved/logs/refs/heads/main +1 -1
  79. package/lib/bmad-cache/cis/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  80. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.idx +0 -0
  81. package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.pack → pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.pack} +0 -0
  82. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.rev +0 -0
  83. package/lib/bmad-cache/cis/_git_preserved/packed-refs +1 -1
  84. package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -1
  85. package/lib/bmad-cache/cis/_git_preserved/shallow +1 -1
  86. package/lib/bmad-cache/cis/src/module-help.csv +1 -0
  87. package/lib/bmad-cache/cis/website/astro.config.mjs +14 -6
  88. package/lib/bmad-cache/cis/website/src/components/Banner.astro +26 -11
  89. package/lib/bmad-cache/cis/website/src/styles/custom.css +60 -41
  90. package/lib/bmad-cache/gds/.claude-plugin/marketplace.json +1 -1
  91. package/lib/bmad-cache/gds/README.md +9 -0
  92. package/lib/bmad-cache/gds/_git_preserved/index +0 -0
  93. package/lib/bmad-cache/gds/_git_preserved/logs/HEAD +1 -1
  94. package/lib/bmad-cache/gds/_git_preserved/logs/refs/heads/main +1 -1
  95. package/lib/bmad-cache/gds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  96. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.idx +0 -0
  97. package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-8099a88fca0ad946a573316a00887a2921ca1712.pack → pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.pack} +0 -0
  98. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.rev +0 -0
  99. package/lib/bmad-cache/gds/_git_preserved/packed-refs +1 -1
  100. package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -1
  101. package/lib/bmad-cache/gds/_git_preserved/shallow +1 -1
  102. package/lib/bmad-cache/gds/package.json +1 -1
  103. package/lib/bmad-cache/gds/src/module-help.csv +1 -0
  104. package/lib/bmad-cache/gds/website/astro.config.mjs +14 -6
  105. package/lib/bmad-cache/gds/website/src/components/Banner.astro +26 -11
  106. package/lib/bmad-cache/gds/website/src/styles/custom.css +60 -41
  107. package/lib/bmad-cache/tea/README.md +14 -0
  108. package/lib/bmad-cache/tea/_git_preserved/index +0 -0
  109. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-c79805bb3fee27fa6d8c612a971af7fc86fc80e1.idx +0 -0
  110. package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-d243f64f83b36190434d68872a69a40870c53030.pack → pack-c79805bb3fee27fa6d8c612a971af7fc86fc80e1.pack} +0 -0
  111. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-c79805bb3fee27fa6d8c612a971af7fc86fc80e1.rev +0 -0
  112. package/lib/bmad-cache/tea/_git_preserved/packed-refs +1 -1
  113. package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -1
  114. package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
  115. package/lib/bmad-cache/tea/docs/index.md +4 -14
  116. package/lib/bmad-cache/tea/package-lock.json +2 -2
  117. package/lib/bmad-cache/tea/package.json +1 -1
  118. package/lib/bmad-cache/tea/src/agents/bmad-tea/SKILL.md +6 -6
  119. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/playwright-cli.md +119 -4
  120. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/playwright-config.md +8 -4
  121. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/visual-debugging.md +34 -31
  122. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/tea-index.csv +1 -1
  123. package/lib/bmad-cache/tea/src/module-help.csv +1 -0
  124. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/atdd-checklist-template.md +1 -1
  125. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/instructions.md +0 -1
  126. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  127. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/api-request.md +563 -0
  128. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/api-testing-patterns.md +915 -0
  129. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/auth-session.md +548 -0
  130. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/burn-in.md +273 -0
  131. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/ci-burn-in.md +717 -0
  132. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/component-tdd.md +486 -0
  133. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/contract-testing.md +1050 -0
  134. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/data-factories.md +500 -0
  135. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/email-auth.md +721 -0
  136. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/error-handling.md +725 -0
  137. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/feature-flags.md +750 -0
  138. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/file-utils.md +456 -0
  139. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/fixture-architecture.md +401 -0
  140. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/fixtures-composition.md +382 -0
  141. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/intercept-network-call.md +426 -0
  142. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/log.md +426 -0
  143. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/network-error-monitor.md +401 -0
  144. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/network-first.md +486 -0
  145. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/network-recorder.md +527 -0
  146. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/nfr-criteria.md +670 -0
  147. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/overview.md +286 -0
  148. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-consumer-di.md +310 -0
  149. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  150. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-mcp.md +204 -0
  151. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  152. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-overview.md +216 -0
  153. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  154. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  155. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/playwright-cli.md +280 -0
  156. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/playwright-config.md +734 -0
  157. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/probability-impact.md +601 -0
  158. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/recurse.md +421 -0
  159. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/risk-governance.md +615 -0
  160. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/selective-testing.md +732 -0
  161. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/selector-resilience.md +527 -0
  162. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-healing-patterns.md +644 -0
  163. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-levels-framework.md +473 -0
  164. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-priorities-matrix.md +373 -0
  165. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-quality.md +664 -0
  166. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/timing-debugging.md +372 -0
  167. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/visual-debugging.md +527 -0
  168. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/tea-index.csv +43 -0
  169. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01-preflight-and-context.md +1 -1
  170. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/instructions.md +0 -1
  171. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  172. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/api-request.md +563 -0
  173. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/api-testing-patterns.md +915 -0
  174. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/auth-session.md +548 -0
  175. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/burn-in.md +273 -0
  176. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/ci-burn-in.md +717 -0
  177. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/component-tdd.md +486 -0
  178. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/contract-testing.md +1050 -0
  179. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/data-factories.md +500 -0
  180. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/email-auth.md +721 -0
  181. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/error-handling.md +725 -0
  182. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/feature-flags.md +750 -0
  183. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/file-utils.md +456 -0
  184. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/fixture-architecture.md +401 -0
  185. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/fixtures-composition.md +382 -0
  186. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/intercept-network-call.md +426 -0
  187. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/log.md +426 -0
  188. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/network-error-monitor.md +401 -0
  189. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/network-first.md +486 -0
  190. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/network-recorder.md +527 -0
  191. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/nfr-criteria.md +670 -0
  192. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/overview.md +286 -0
  193. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-consumer-di.md +310 -0
  194. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  195. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-mcp.md +204 -0
  196. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  197. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-overview.md +216 -0
  198. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  199. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  200. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/playwright-cli.md +280 -0
  201. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/playwright-config.md +734 -0
  202. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/probability-impact.md +601 -0
  203. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/recurse.md +421 -0
  204. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/risk-governance.md +615 -0
  205. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/selective-testing.md +732 -0
  206. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/selector-resilience.md +527 -0
  207. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-healing-patterns.md +644 -0
  208. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-levels-framework.md +473 -0
  209. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-priorities-matrix.md +373 -0
  210. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-quality.md +664 -0
  211. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/timing-debugging.md +372 -0
  212. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/visual-debugging.md +527 -0
  213. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/tea-index.csv +43 -0
  214. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01-preflight-and-context.md +1 -1
  215. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03c-aggregate.md +8 -3
  216. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/harness-pipeline-template.yaml +7 -6
  217. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/instructions.md +0 -1
  218. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  219. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/api-request.md +563 -0
  220. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/api-testing-patterns.md +915 -0
  221. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/auth-session.md +548 -0
  222. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/burn-in.md +273 -0
  223. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/ci-burn-in.md +717 -0
  224. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/component-tdd.md +486 -0
  225. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/contract-testing.md +1050 -0
  226. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/data-factories.md +500 -0
  227. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/email-auth.md +721 -0
  228. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/error-handling.md +725 -0
  229. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/feature-flags.md +750 -0
  230. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/file-utils.md +456 -0
  231. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/fixture-architecture.md +401 -0
  232. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/fixtures-composition.md +382 -0
  233. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/intercept-network-call.md +426 -0
  234. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/log.md +426 -0
  235. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/network-error-monitor.md +401 -0
  236. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/network-first.md +486 -0
  237. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/network-recorder.md +527 -0
  238. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/nfr-criteria.md +670 -0
  239. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/overview.md +286 -0
  240. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-consumer-di.md +310 -0
  241. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  242. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-mcp.md +204 -0
  243. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  244. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-overview.md +216 -0
  245. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  246. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  247. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/playwright-cli.md +280 -0
  248. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/playwright-config.md +734 -0
  249. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/probability-impact.md +601 -0
  250. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/recurse.md +421 -0
  251. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/risk-governance.md +615 -0
  252. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/selective-testing.md +732 -0
  253. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/selector-resilience.md +527 -0
  254. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-healing-patterns.md +644 -0
  255. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-levels-framework.md +473 -0
  256. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-priorities-matrix.md +373 -0
  257. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-quality.md +664 -0
  258. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/timing-debugging.md +372 -0
  259. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/visual-debugging.md +527 -0
  260. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/tea-index.csv +43 -0
  261. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-02-generate-pipeline.md +1 -1
  262. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-03-configure-quality-gates.md +1 -1
  263. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/checklist.md +1 -1
  264. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/instructions.md +0 -1
  265. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  266. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/api-request.md +563 -0
  267. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/api-testing-patterns.md +915 -0
  268. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/auth-session.md +548 -0
  269. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/burn-in.md +273 -0
  270. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/ci-burn-in.md +717 -0
  271. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/component-tdd.md +486 -0
  272. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/contract-testing.md +1050 -0
  273. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/data-factories.md +500 -0
  274. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/email-auth.md +721 -0
  275. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/error-handling.md +725 -0
  276. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/feature-flags.md +750 -0
  277. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/file-utils.md +456 -0
  278. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/fixture-architecture.md +401 -0
  279. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/fixtures-composition.md +382 -0
  280. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/intercept-network-call.md +426 -0
  281. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/log.md +426 -0
  282. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/network-error-monitor.md +401 -0
  283. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/network-first.md +486 -0
  284. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/network-recorder.md +527 -0
  285. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/nfr-criteria.md +670 -0
  286. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/overview.md +286 -0
  287. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-consumer-di.md +310 -0
  288. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  289. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-mcp.md +204 -0
  290. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  291. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-overview.md +216 -0
  292. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  293. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  294. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/playwright-cli.md +280 -0
  295. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/playwright-config.md +734 -0
  296. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/probability-impact.md +601 -0
  297. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/recurse.md +421 -0
  298. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/risk-governance.md +615 -0
  299. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/selective-testing.md +732 -0
  300. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/selector-resilience.md +527 -0
  301. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-healing-patterns.md +644 -0
  302. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-levels-framework.md +473 -0
  303. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-priorities-matrix.md +373 -0
  304. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-quality.md +664 -0
  305. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/timing-debugging.md +372 -0
  306. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/visual-debugging.md +527 -0
  307. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/tea-index.csv +43 -0
  308. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md +2 -2
  309. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  310. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/api-request.md +563 -0
  311. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/api-testing-patterns.md +915 -0
  312. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/auth-session.md +548 -0
  313. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/burn-in.md +273 -0
  314. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/ci-burn-in.md +717 -0
  315. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/component-tdd.md +486 -0
  316. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/contract-testing.md +1050 -0
  317. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/data-factories.md +500 -0
  318. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/email-auth.md +721 -0
  319. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/error-handling.md +725 -0
  320. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/feature-flags.md +750 -0
  321. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/file-utils.md +456 -0
  322. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/fixture-architecture.md +401 -0
  323. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/fixtures-composition.md +382 -0
  324. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/intercept-network-call.md +426 -0
  325. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/log.md +426 -0
  326. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/network-error-monitor.md +401 -0
  327. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/network-first.md +486 -0
  328. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/network-recorder.md +527 -0
  329. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/nfr-criteria.md +670 -0
  330. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/overview.md +286 -0
  331. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-consumer-di.md +310 -0
  332. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  333. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-mcp.md +204 -0
  334. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  335. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-overview.md +216 -0
  336. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  337. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  338. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/playwright-cli.md +280 -0
  339. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/playwright-config.md +734 -0
  340. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/probability-impact.md +601 -0
  341. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/recurse.md +421 -0
  342. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/risk-governance.md +615 -0
  343. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/selective-testing.md +732 -0
  344. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/selector-resilience.md +527 -0
  345. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-healing-patterns.md +644 -0
  346. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-levels-framework.md +473 -0
  347. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-priorities-matrix.md +373 -0
  348. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-quality.md +664 -0
  349. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/timing-debugging.md +372 -0
  350. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/visual-debugging.md +527 -0
  351. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/tea-index.csv +43 -0
  352. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01-load-context.md +1 -1
  353. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/instructions.md +0 -1
  354. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  355. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/api-request.md +563 -0
  356. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/api-testing-patterns.md +915 -0
  357. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/auth-session.md +548 -0
  358. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/burn-in.md +273 -0
  359. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/ci-burn-in.md +717 -0
  360. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/component-tdd.md +486 -0
  361. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/contract-testing.md +1050 -0
  362. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/data-factories.md +500 -0
  363. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/email-auth.md +721 -0
  364. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/error-handling.md +725 -0
  365. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/feature-flags.md +750 -0
  366. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/file-utils.md +456 -0
  367. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/fixture-architecture.md +401 -0
  368. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/fixtures-composition.md +382 -0
  369. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/intercept-network-call.md +426 -0
  370. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/log.md +426 -0
  371. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/network-error-monitor.md +401 -0
  372. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/network-first.md +486 -0
  373. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/network-recorder.md +527 -0
  374. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/nfr-criteria.md +670 -0
  375. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/overview.md +286 -0
  376. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-consumer-di.md +310 -0
  377. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  378. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-mcp.md +204 -0
  379. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  380. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-overview.md +216 -0
  381. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  382. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  383. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/playwright-cli.md +280 -0
  384. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/playwright-config.md +734 -0
  385. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/probability-impact.md +601 -0
  386. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/recurse.md +421 -0
  387. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/risk-governance.md +615 -0
  388. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/selective-testing.md +732 -0
  389. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/selector-resilience.md +527 -0
  390. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-healing-patterns.md +644 -0
  391. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-levels-framework.md +473 -0
  392. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-priorities-matrix.md +373 -0
  393. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-quality.md +664 -0
  394. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/timing-debugging.md +372 -0
  395. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/visual-debugging.md +527 -0
  396. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/tea-index.csv +43 -0
  397. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-02-load-context.md +1 -1
  398. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-qa-template.md +1 -1
  399. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-template.md +1 -1
  400. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/checklist.md +1 -1
  401. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  402. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/api-request.md +563 -0
  403. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/api-testing-patterns.md +915 -0
  404. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/auth-session.md +548 -0
  405. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/burn-in.md +273 -0
  406. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/ci-burn-in.md +717 -0
  407. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/component-tdd.md +486 -0
  408. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/contract-testing.md +1050 -0
  409. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/data-factories.md +500 -0
  410. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/email-auth.md +721 -0
  411. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/error-handling.md +725 -0
  412. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/feature-flags.md +750 -0
  413. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/file-utils.md +456 -0
  414. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/fixture-architecture.md +401 -0
  415. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/fixtures-composition.md +382 -0
  416. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/intercept-network-call.md +426 -0
  417. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/log.md +426 -0
  418. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/network-error-monitor.md +401 -0
  419. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/network-first.md +486 -0
  420. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/network-recorder.md +527 -0
  421. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/nfr-criteria.md +670 -0
  422. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/overview.md +286 -0
  423. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-consumer-di.md +310 -0
  424. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  425. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-mcp.md +204 -0
  426. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  427. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-overview.md +216 -0
  428. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  429. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  430. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/playwright-cli.md +280 -0
  431. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/playwright-config.md +734 -0
  432. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/probability-impact.md +601 -0
  433. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/recurse.md +421 -0
  434. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/risk-governance.md +615 -0
  435. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/selective-testing.md +732 -0
  436. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/selector-resilience.md +527 -0
  437. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-healing-patterns.md +644 -0
  438. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-levels-framework.md +473 -0
  439. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-priorities-matrix.md +373 -0
  440. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-quality.md +664 -0
  441. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/timing-debugging.md +372 -0
  442. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/visual-debugging.md +527 -0
  443. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/tea-index.csv +43 -0
  444. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01-load-context.md +1 -1
  445. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-02-discover-tests.md +7 -0
  446. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03a-subagent-determinism.md +1 -1
  447. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  448. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/api-request.md +563 -0
  449. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/api-testing-patterns.md +915 -0
  450. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/auth-session.md +548 -0
  451. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/burn-in.md +273 -0
  452. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/ci-burn-in.md +717 -0
  453. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/component-tdd.md +486 -0
  454. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/contract-testing.md +1050 -0
  455. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/data-factories.md +500 -0
  456. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/email-auth.md +721 -0
  457. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/error-handling.md +725 -0
  458. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/feature-flags.md +750 -0
  459. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/file-utils.md +456 -0
  460. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/fixture-architecture.md +401 -0
  461. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/fixtures-composition.md +382 -0
  462. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/intercept-network-call.md +426 -0
  463. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/log.md +426 -0
  464. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/network-error-monitor.md +401 -0
  465. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/network-first.md +486 -0
  466. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/network-recorder.md +527 -0
  467. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/nfr-criteria.md +670 -0
  468. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/overview.md +286 -0
  469. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-consumer-di.md +310 -0
  470. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  471. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-mcp.md +204 -0
  472. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  473. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-overview.md +216 -0
  474. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  475. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  476. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/playwright-cli.md +280 -0
  477. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/playwright-config.md +734 -0
  478. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/probability-impact.md +601 -0
  479. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/recurse.md +421 -0
  480. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/risk-governance.md +615 -0
  481. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/selective-testing.md +732 -0
  482. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/selector-resilience.md +527 -0
  483. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-healing-patterns.md +644 -0
  484. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-levels-framework.md +473 -0
  485. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-priorities-matrix.md +373 -0
  486. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-quality.md +664 -0
  487. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/timing-debugging.md +372 -0
  488. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/visual-debugging.md +527 -0
  489. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/tea-index.csv +43 -0
  490. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01-load-context.md +1 -1
  491. package/lib/bmad-cache/tea/website/astro.config.mjs +10 -6
  492. package/lib/bmad-cache/tea/website/src/components/Banner.astro +28 -13
  493. package/lib/bmad-cache/tea/website/src/components/Header.astro +1 -1
  494. package/lib/bmad-cache/tea/website/src/components/MobileMenuFooter.astro +1 -1
  495. package/lib/bmad-cache/tea/website/src/styles/custom.css +60 -41
  496. package/lib/bmad-cache/wds/README.md +13 -0
  497. package/lib/bmad-cache/wds/_git_preserved/index +0 -0
  498. package/lib/bmad-cache/wds/_git_preserved/logs/HEAD +1 -1
  499. package/lib/bmad-cache/wds/_git_preserved/logs/refs/heads/main +1 -1
  500. package/lib/bmad-cache/wds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  501. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-96877c1c09123cccb1f91c1412184b11d2b492ad.idx +0 -0
  502. package/lib/bmad-cache/wds/_git_preserved/objects/pack/{pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.pack → pack-96877c1c09123cccb1f91c1412184b11d2b492ad.pack} +0 -0
  503. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-96877c1c09123cccb1f91c1412184b11d2b492ad.rev +0 -0
  504. package/lib/bmad-cache/wds/_git_preserved/packed-refs +1 -1
  505. package/lib/bmad-cache/wds/_git_preserved/refs/heads/main +1 -1
  506. package/lib/bmad-cache/wds/_git_preserved/shallow +1 -1
  507. package/lib/bmad-cache/wds/src/module-help.csv +3 -2
  508. package/lib/bmad-cache/wds/src/module.yaml +1 -4
  509. package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/resources/wds-1-project-brief/templates/platform-requirements.template.yaml +69 -0
  510. package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/resources/wds-7-design-system/templates/catalog.template.html +363 -0
  511. package/lib/bmad-customize/bmm-qa.customize.yaml +19 -1
  512. package/lib/bmad-extension/module-help.csv +4 -1
  513. package/lib/bmad-extension/skills/bmad-ma-agent-sqa/SKILL.md +58 -0
  514. package/lib/bmad-extension/skills/bmad-ma-agent-sqa/bmad-skill-manifest.yaml +11 -0
  515. package/lib/bmad-extension/skills/sqa-audit/.gitkeep +0 -0
  516. package/lib/bmad-extension/skills/sqa-audit/SKILL.md +279 -0
  517. package/lib/bmad-extension/skills/sqa-audit/bmad-skill-manifest.yaml +3 -0
  518. package/lib/bmad-extension/skills/sqa-ieee12207/.gitkeep +0 -0
  519. package/lib/bmad-extension/skills/sqa-ieee12207/SKILL.md +374 -0
  520. package/lib/bmad-extension/skills/sqa-ieee12207/bmad-skill-manifest.yaml +3 -0
  521. package/lib/bmad-extension/skills/sqa-requirements-quality/.gitkeep +0 -0
  522. package/lib/bmad-extension/skills/sqa-requirements-quality/SKILL.md +244 -0
  523. package/lib/bmad-extension/skills/sqa-requirements-quality/bmad-skill-manifest.yaml +3 -0
  524. package/package.json +1 -1
  525. package/test/extension-module-restructure.test.js +29 -6
  526. package/test/migration-validation.test.js +20 -16
  527. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.idx +0 -0
  528. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.pack +0 -0
  529. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.rev +0 -0
  530. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/assets/module-help.csv +0 -6
  531. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-cleanup-legacy.py +0 -429
  532. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-merge-config.py +0 -644
  533. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-merge-help-csv.py +0 -237
  534. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.idx +0 -0
  535. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.rev +0 -0
  536. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-8099a88fca0ad946a573316a00887a2921ca1712.idx +0 -0
  537. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-8099a88fca0ad946a573316a00887a2921ca1712.rev +0 -0
  538. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-d243f64f83b36190434d68872a69a40870c53030.idx +0 -0
  539. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-d243f64f83b36190434d68872a69a40870c53030.rev +0 -0
  540. package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.7.3 +0 -1
  541. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.idx +0 -0
  542. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.rev +0 -0
  543. package/lib/bmad-extension/skills/bmad-ma-agent-mil498/SKILL.md +0 -54
  544. package/lib/bmad-extension/skills/bmad-ma-agent-mil498/bmad-skill-manifest.yaml +0 -11
  545. /package/lib/bmad-cache/bmb/{skills/bmad-builder-setup → samples/bmad-agent-dream-weaver}/scripts/merge-config.py +0 -0
  546. /package/lib/bmad-cache/bmb/{skills/bmad-builder-setup → samples/sample-module-setup}/scripts/cleanup-legacy.py +0 -0
  547. /package/lib/bmad-cache/bmb/skills/{bmad-builder-setup → bmad-bmb-setup}/assets/module.yaml +0 -0
  548. /package/lib/bmad-extension/skills/{bmad-ma-agent-mil498 → bmad-ma-agent-sqa}/.gitkeep +0 -0
@@ -0,0 +1,179 @@
1
+ # Story 19.3: Graph Emission — `create-architecture` and `create-epics-and-stories`
2
+
3
+ Status: ready-for-dev
4
+
5
+ ## Story
6
+
7
+ As a **Chief Architect** and **Product Manager**,
8
+ I want the `create-architecture` and `create-epics-and-stories` skills to emit traceability edges to the knowledge graph automatically,
9
+ so that every architectural decision and every epic traces back to the PRD sections that motivated it.
10
+
11
+ ## Acceptance Criteria
12
+
13
+ 1. **Given** the `create-architecture` skill completes generation of `_bmad-output/planning-artifacts/architecture.md`
14
+ **When** emission runs
15
+ **Then** the architecture file is registered as file-id `arch` with `pointer_type: "relative_path"`
16
+ **And** one node is emitted per `##` heading in architecture.md (type: `architecture`)
17
+ **And** for each architecture decision section (headings matching `## Decision` or `## P[0-9]` patterns), an `implements` edge is emitted: `{ from: "arch#<decision-slug>", to: "prd#relevant-fr-section", type: "implements", label: "implements PRD requirement", created_by: <user>, agent: <agent-id>, created_at: <timestamp> }`
18
+
19
+ 2. **Given** the `create-architecture` skill is run when PRD nodes do not yet exist in the graph
20
+ **When** an edge references a PRD node that is not yet in `nodes`
21
+ **Then** a stub node is emitted for the referenced PRD heading so the edge is not orphaned
22
+ **And** the stub node carries `type: "prd"` and the correct `file` and `anchor` fields
23
+
24
+ 3. **Given** the `create-epics-and-stories` skill completes updating `_bmad-output/planning-artifacts/epics.md`
25
+ **When** emission runs
26
+ **Then** the epics file is registered as file-id `epics` with `pointer_type: "relative_path"`
27
+ **And** one node is emitted per epic heading (type: `epic`) — headings matching `## Epic [0-9]+:` pattern
28
+ **And** for each epic, a `derives-from` edge is emitted to the PRD Functional Requirements node: `{ from: "epics#epic-N-name", to: "prd#functional-requirements", type: "derives-from", ... }`
29
+ **And** where an epic was informed by an architecture decision, an `informed-by` edge is also emitted: `{ from: "epics#epic-N-name", to: "arch#<decision-slug>", type: "informed-by", ... }`
30
+
31
+ 4. **Given** emission runs for `create-architecture` or `create-epics-and-stories`
32
+ **When** the same skill runs a second time (re-run)
33
+ **Then** all emissions are idempotent — no duplicate nodes or edges are added
34
+
35
+ ## Tasks / Subtasks
36
+
37
+ ### Task 1: Add emission to `create-architecture` (AC: 1, 2, 4)
38
+
39
+ Both the IDE skill and BMAD extension skill must be updated (see Dev Notes on two pipelines).
40
+
41
+ - [ ] 1.1 Locate: `skills/bmad-create-architecture/SKILL.md` and `lib/bmad-extension/skills/bmad-create-architecture/SKILL.md`
42
+ - [ ] 1.2 Add final silent step after artifact write:
43
+ - Scan `architecture.md` for `## ` headings; derive anchors with `headingToAnchor()`
44
+ - Identify decision headings: match `^## Decision` or `^## P\d+-\d+` (e.g., `## P3-1: BMAD Knowledge Graph`)
45
+ - For each decision heading, infer the target PRD FR section. Strategy:
46
+ - If the decision section body contains explicit FR references (e.g., `FR141`), map to `prd#functional-requirements` (the broad FR section as the canonical target)
47
+ - If no explicit FR found, still emit to `prd#functional-requirements` as default
48
+ - Build emission: all architecture nodes + `implements` edges for decision nodes + stub PRD nodes if PRD nodes are absent
49
+ - [ ] 1.3 Stub node format (when PRD node does not yet exist):
50
+ ```javascript
51
+ { id: "prd#functional-requirements", file: "prd", anchor: "functional-requirements", title: "Functional Requirements", type: "prd" }
52
+ ```
53
+ - [ ] 1.4 Edge format for architecture decisions:
54
+ ```javascript
55
+ {
56
+ from: "arch#<decision-slug>",
57
+ to: "prd#functional-requirements",
58
+ type: "implements",
59
+ label: "implements PRD requirement",
60
+ created_by: "<user from config>",
61
+ agent: "bmad-create-architecture",
62
+ created_at: new Date().toISOString()
63
+ }
64
+ ```
65
+
66
+ ### Task 2: Add emission to `create-epics-and-stories` (AC: 3, 4)
67
+
68
+ Both the IDE skill and BMAD extension skill must be updated.
69
+
70
+ - [ ] 2.1 Locate: `skills/bmad-create-epics-and-stories/SKILL.md` and `lib/bmad-extension/skills/bmad-create-epics-and-stories/SKILL.md`
71
+ - [ ] 2.2 Add final silent step after artifact write:
72
+ - Scan `epics.md` for epic headings matching `^## Epic [0-9]+:` pattern
73
+ - For each epic heading, derive anchor; emit node with `type: "epic"`
74
+ - Emit `derives-from` edge to `prd#functional-requirements` for each epic
75
+ - For epics that reference architecture decisions (scan epic body for `Decision P\d+-\d+` or `arch#` patterns), emit `informed-by` edges to the relevant `arch#<decision-slug>` node
76
+ - [ ] 2.3 Edge formats:
77
+ ```javascript
78
+ // derives-from edge
79
+ { from: "epics#<epic-slug>", to: "prd#functional-requirements", type: "derives-from", label: "derives from PRD requirements", created_by: "<user>", agent: "bmad-create-epics-and-stories", created_at: <timestamp> }
80
+ // informed-by edge (only when architecture decision referenced in epic body)
81
+ { from: "epics#<epic-slug>", to: "arch#<decision-slug>", type: "informed-by", label: "informed by architecture decision", created_by: "<user>", agent: "bmad-create-epics-and-stories", created_at: <timestamp> }
82
+ ```
83
+
84
+ ### Task 3: Verify idempotency and stub node correctness (AC: 2, 4)
85
+
86
+ - [ ] 3.1 Run emission twice; confirm node/edge counts are identical on both runs
87
+ - [ ] 3.2 Verify stub PRD nodes created by this skill are accepted (not duplicated) when Story 19.2 later emits the real PRD nodes (they share the same `id`; `emitToGraph` deduplicates by id with title update allowed)
88
+
89
+ ## Dev Notes
90
+
91
+ ### CRITICAL: Two Deployment Pipelines
92
+
93
+ Same constraint as Story 19.2. For each skill, update BOTH:
94
+ 1. `skills/<skill-name>/SKILL.md` — IDE source
95
+ 2. `lib/bmad-extension/skills/<skill-name>/SKILL.md` — BMAD extension source
96
+
97
+ Do NOT edit installed copies.
98
+
99
+ ### Prerequisite: Story 19.1 Must Be Complete
100
+
101
+ Requires `lib/knowledge-graph/emit.js`. Do not begin until Story 19.1 is done. Stories 19.2, 19.3, and 19.4 can proceed in parallel once 19.1 is done.
102
+
103
+ ### Decision Heading Detection
104
+
105
+ The architecture document uses two patterns for decision headings:
106
+ - `## Decision P3-1: BMAD Knowledge Graph` — matches `^## .*P\d+-\d+` or `^## Decision`
107
+ - Both patterns should be detected for forward compatibility
108
+
109
+ Current architecture decisions in the file:
110
+ - `P2-1` through `P2-11`, `P3-1` — use pattern `## Decision P[0-9]+-[0-9]+:` or abbreviated `## P[0-9]+-[0-9]+:`
111
+
112
+ Scan for both `^## Decision` and `^## P\d` to be safe.
113
+
114
+ ### Epic Heading Detection
115
+
116
+ The epics file uses: `^## Epic [0-9]+:` (e.g., `## Epic 19: BMAD Knowledge Graph (Phase 3)`)
117
+
118
+ For each matched heading, `headingToAnchor()` produces the node anchor:
119
+ - `"Epic 19: BMAD Knowledge Graph (Phase 3)"` → `"epic-19-bmad-knowledge-graph-phase-3"`
120
+
121
+ ### Stub Nodes for Orphan Edge Prevention (AC: 2)
122
+
123
+ When an `implements` or `informed-by` edge references a node that does not yet exist (e.g., PRD not yet emitted, or architecture not yet emitted), the emitting skill adds a stub node. The `emitToGraph()` function from Story 19.1 handles this naturally — just include the stub in the `nodes` array of the emission payload. If the real node is later emitted by its own skill, the `title` field is updated (Story 19.1 allows title updates on existing nodes).
124
+
125
+ ### `informed-by` Edge — The Non-Hierarchical Edge
126
+
127
+ `informed-by` is the key non-hierarchical edge type. It records influence without asserting derivation or implementation. An epic can be simultaneously `derives-from` a PRD requirement AND `informed-by` an architecture decision — both edges are valid and coexist.
128
+
129
+ Detection strategy for `informed-by` edges in epics:
130
+ - Scan epic section body (from heading to next `##` heading) for architecture decision references
131
+ - Patterns to match: `Decision P\d+-\d+`, `arch#`, or explicit architecture decision names
132
+
133
+ ### User Identity for Provenance
134
+
135
+ Read `created_by` from BMAD config `_bmad/bmm/config.yaml` field `user_name`, or fall back to `"unknown"`. The `agent` field is a static string identifying the skill: `"bmad-create-architecture"` or `"bmad-create-epics-and-stories"`.
136
+
137
+ ### File Structure Reference
138
+
139
+ ```
140
+ skills/
141
+ ├── bmad-create-architecture/
142
+ │ └── SKILL.md ← MODIFY
143
+ └── bmad-create-epics-and-stories/
144
+ └── SKILL.md ← MODIFY
145
+
146
+ lib/bmad-extension/skills/
147
+ ├── bmad-create-architecture/
148
+ │ └── SKILL.md ← MODIFY
149
+ └── bmad-create-epics-and-stories/
150
+ └── SKILL.md ← MODIFY
151
+ ```
152
+
153
+ No new files are created by this story.
154
+
155
+ ### Project Structure Notes
156
+
157
+ - This story touches 4 SKILL.md files (2 skills × 2 pipelines).
158
+ - No new skills, no new directories, no module-help.csv changes.
159
+ - Emission logic added as a silent final step in each skill's workflow.
160
+
161
+ ### References
162
+
163
+ - Story 19.1: `_bmad-output/implementation-artifacts/19-1-knowledge-graph-core-library.md`
164
+ - Architecture Decision P3-1: `_bmad-output/planning-artifacts/architecture.md#decision-p3-1-bmad-knowledge-graph`
165
+ - Skill emission table in architecture: architecture.md section "Skills that emit (and what they emit)"
166
+ - FRs: FR149, FR150, FR151, FR152
167
+ - Edge type vocabulary: `implements`, `derives-from`, `informed-by`
168
+
169
+ ## Dev Agent Record
170
+
171
+ ### Agent Model Used
172
+
173
+ _to be filled by dev agent_
174
+
175
+ ### Debug Log References
176
+
177
+ ### Completion Notes List
178
+
179
+ ### File List
@@ -0,0 +1,190 @@
1
+ # Story 19.4: Graph Emission — `create-story`, `validate-prd`, `dev-story`, `bmad-sprint-planning`
2
+
3
+ Status: ready-for-dev
4
+
5
+ ## Story
6
+
7
+ As a **Developer** and **QA Engineer**,
8
+ I want individual story files and validation artifacts to emit traceability edges automatically,
9
+ so that the knowledge graph captures the full SDLC chain from PRD through architecture through epics through stories through implementation.
10
+
11
+ ## Acceptance Criteria
12
+
13
+ 1. **Given** the `create-story` skill generates a story file (e.g., `_bmad-output/implementation-artifacts/17-9-unified-sprint-status-schema.md`)
14
+ **When** emission runs
15
+ **Then** the story file is registered in the `files` table with `pointer_type: "relative_path"` and a file-id derived from the story number (e.g., `story-17-9`)
16
+ **And** a node is emitted for the story root heading (type: `story`)
17
+ **And** a `traces-to` edge is emitted from the story node to its parent epic node: `{ from: "story-<epic>-<num>#<story-slug>", to: "epics#epic-<N>-<name>", type: "traces-to", ... }`
18
+ **And** if the story's technical notes reference architecture decisions (e.g., `Decision P3-1`, `arch#`), `informed-by` edges are emitted from the story node to the relevant architecture nodes
19
+
20
+ 2. **Given** the `validate-prd` skill completes a validation report
21
+ **When** emission runs
22
+ **Then** the validation report file is registered with file-id `validation-<date>` (e.g., `validation-2026-04-07`)
23
+ **And** a `validates` edge is emitted from the validation report node to `prd#functional-requirements`: `{ type: "validates", label: "PRD validation report <date>", created_by: <user>, agent: "bmad-validate-prd", created_at: <timestamp> }`
24
+
25
+ 3. **Given** `dev-story` completes implementation guidance for a story
26
+ **When** emission runs
27
+ **Then** a `refines` edge is emitted from the story node to `arch#implementation-notes` (or the most relevant architecture section found by scanning the dev-story output)
28
+ **And** if no architecture section is identifiable, the edge target defaults to the story's own epic node
29
+
30
+ 4. **Given** `bmad-sprint-planning` completes sprint plan generation
31
+ **When** emission runs
32
+ **Then** sprint plan nodes are emitted with `type: "sprint"`
33
+ **And** `derives-from` edges connect sprint nodes to the relevant epic nodes referenced in the sprint plan
34
+
35
+ 5. **Given** any of the 4 skills runs a second time on the same project
36
+ **When** emission runs
37
+ **Then** all emissions are idempotent — no duplicate nodes or edges added
38
+
39
+ ## Tasks / Subtasks
40
+
41
+ ### Task 1: Add emission to `create-story` (AC: 1, 5)
42
+
43
+ Both IDE skill and BMAD extension skill must be updated.
44
+
45
+ - [ ] 1.1 Locate: `skills/bmad-create-story/SKILL.md` and `lib/bmad-extension/skills/bmad-create-story/SKILL.md`
46
+ - [ ] 1.2 Add final silent step after story file write:
47
+ - Derive `storyFileId` from the story key: `story-<epic_num>-<story_num>` (e.g., `story-19-1`)
48
+ - Register story file in `files`: `{ pointer: "_bmad-output/implementation-artifacts/<filename>.md", title: "<story title>", pointer_type: "relative_path" }`
49
+ - Emit story root node: `{ id: "<storyFileId>#<story-heading-anchor>", file: "<storyFileId>", anchor: "<story-heading-anchor>", title: "<story title>", type: "story" }`
50
+ - Emit `traces-to` edge to parent epic node: `{ from: "<storyFileId>#<story-heading-anchor>", to: "epics#<epic-slug>", type: "traces-to", label: "implements epic", ... }`
51
+ - Scan story's Dev Notes section for `Decision P\d+-\d+` or `arch#` patterns; emit `informed-by` edges to matched architecture nodes
52
+ - [ ] 1.3 Epic node slug derivation: scan `epics.md` for `## Epic <N>:` heading and apply `headingToAnchor()` to get the target anchor. Or construct `"epic-<N>-<name>"` from the epic title in the story key.
53
+
54
+ ### Task 2: Add emission to `validate-prd` (AC: 2, 5)
55
+
56
+ - [ ] 2.1 Locate: `skills/bmad-validate-prd/SKILL.md` and `lib/bmad-extension/skills/bmad-validate-prd/SKILL.md`
57
+ - [ ] 2.2 Add final silent step after validation report write:
58
+ - Derive date string from current date (ISO format, date portion only): e.g., `2026-04-07`
59
+ - File-id: `validation-<date>`
60
+ - Infer the validation report path from the skill's output path (typically `_bmad-output/planning-artifacts/validation-report-prd-<date>.md`)
61
+ - Emit `validates` edge: `{ from: "validation-<date>#validation-summary", to: "prd#functional-requirements", type: "validates", label: "PRD validation report <date>", created_by: <user>, agent: "bmad-validate-prd", created_at: <timestamp> }`
62
+
63
+ ### Task 3: Add emission to `dev-story` (AC: 3, 5)
64
+
65
+ - [ ] 3.1 Locate: `skills/bmad-dev-story/SKILL.md` and `lib/bmad-extension/skills/bmad-dev-story/SKILL.md`
66
+ - [ ] 3.2 Add final silent step after dev notes written:
67
+ - Identify the story being worked on (story key from context)
68
+ - The story node should already exist in the graph from `create-story` (Story 19.1 step). Re-emit is safe (idempotent).
69
+ - Scan the dev-story output for architecture section references; prefer the most specific match
70
+ - Emit `refines` edge: `{ from: "<storyFileId>#<story-heading-anchor>", to: "arch#<best-arch-section>", type: "refines", label: "dev implementation of story", created_by: <user>, agent: "bmad-dev-story", created_at: <timestamp> }`
71
+ - If no architecture section identifiable, use the epic node as fallback target
72
+
73
+ ### Task 4: Add emission to `bmad-sprint-planning` (AC: 4, 5)
74
+
75
+ - [ ] 4.1 Locate: `skills/bmad-sprint-planning/SKILL.md` and `lib/bmad-extension/skills/bmad-sprint-planning/SKILL.md`
76
+ - [ ] 4.2 Add final silent step after sprint plan output:
77
+ - Sprint plan file-id: `sprint-plan-<sprint-number>` (e.g., `sprint-plan-1`)
78
+ - Emit sprint plan node: `{ id: "sprint-plan-<N>#sprint-plan", file: "sprint-plan-<N>", anchor: "sprint-plan", title: "Sprint <N> Plan", type: "sprint" }`
79
+ - For each epic referenced in the sprint plan, emit `derives-from` edge: `{ from: "sprint-plan-<N>#sprint-plan", to: "epics#<epic-slug>", type: "derives-from", label: "sprint covers epic", ... }`
80
+
81
+ ### Task 5: Verify all 4 skills emit correctly (AC: 1–5)
82
+
83
+ - [ ] 5.1 Trace through a full emission sequence: create-prd → create-architecture → create-epics-and-stories → create-story → validate-prd → dev-story → bmad-sprint-planning
84
+ - [ ] 5.2 Verify the resulting `knowledge-graph.json` has no duplicate nodes or edges
85
+ - [ ] 5.3 Verify `meta` counts match actual array/object sizes
86
+
87
+ ## Dev Notes
88
+
89
+ ### CRITICAL: Two Deployment Pipelines (Same Pattern as 19.2, 19.3)
90
+
91
+ For each of the 4 skills, update BOTH:
92
+ 1. `skills/<skill-name>/SKILL.md` — IDE source
93
+ 2. `lib/bmad-extension/skills/<skill-name>/SKILL.md` — BMAD extension source
94
+
95
+ Do NOT edit installed copies at `.claude/skills/` or `_bmad/extensions/ma-agents-skills/skills/`.
96
+
97
+ ### Prerequisite: Story 19.1 Must Be Complete
98
+
99
+ Stories 19.2, 19.3, and 19.4 can proceed in parallel once 19.1 is done. This story does NOT depend on 19.2 or 19.3 completing first — they all independently wire in to the same `emitToGraph()` utility.
100
+
101
+ ### The 7 Emitting Skills — Full Inventory
102
+
103
+ | Skill | Story | Edge Types Emitted |
104
+ |-------|-------|--------------------|
105
+ | `bmad-create-prd` | 19.2 | (none — seeds nodes only) |
106
+ | `bmad-create-architecture` | 19.3 | `implements` |
107
+ | `bmad-create-epics-and-stories` | 19.3 | `derives-from`, `informed-by` |
108
+ | `bmad-create-story` | **19.4** | `traces-to`, `informed-by` |
109
+ | `bmad-validate-prd` | **19.4** | `validates` |
110
+ | `bmad-dev-story` | **19.4** | `refines` |
111
+ | `bmad-sprint-planning` | **19.4** | `derives-from` |
112
+
113
+ ### Story File-ID Convention
114
+
115
+ File-id format: `story-<epic_num>-<story_num>`
116
+ - Story key `19-1-knowledge-graph-core-library` → file-id `story-19-1`
117
+ - Story key `17-9-unified-sprint-status-schema` → file-id `story-17-9`
118
+
119
+ This is derived directly from the story file path: `_bmad-output/implementation-artifacts/<epic_num>-<story_num>-*.md`
120
+
121
+ ### Story Heading Anchor
122
+
123
+ The story root heading is `# Story <epic>.<story_num>: <title>`. Apply `headingToAnchor()`:
124
+ - `"Story 19.1: Knowledge Graph Core Library (emitToGraph)"` → `"story-191-knowledge-graph-core-library-emittograph"`
125
+
126
+ Use the file-id as the node's `file` field, not `story`.
127
+
128
+ ### Epic Slug Lookup
129
+
130
+ To construct the `traces-to` edge target `"epics#<epic-slug>"`, apply `headingToAnchor()` to the epic heading from `epics.md` (e.g., `"Epic 19: BMAD Knowledge Graph (Phase 3)"` → `"epic-19-bmad-knowledge-graph-phase-3"`).
131
+
132
+ The story's epic number is known from its story key (first number). Scan `epics.md` for `## Epic <N>:` to find the exact heading text and derive the anchor.
133
+
134
+ ### Validation Report File Path
135
+
136
+ The `validate-prd` skill outputs files like `_bmad-output/planning-artifacts/validation-report-prd-<date>.md`. The file-id `validation-<date>` is derived from the output path. Anchor for the validation node: `headingToAnchor("Validation Summary")` → `"validation-summary"` (or the actual first `##` heading in the report).
137
+
138
+ ### `refines` Edge for dev-story
139
+
140
+ The `refines` edge captures that a dev-story execution added implementation guidance to the story's context. The source is the story node (already exists from `create-story` emission). The target is the most relevant architecture section. If none found, use the epic node as fallback.
141
+
142
+ ### Sprint Plan Node Registration
143
+
144
+ `bmad-sprint-planning` does not write a persistent sprint plan file in the current architecture (it writes to `sprint-status.yaml`). For graph emission, use `sprint-status.yaml` as the sprint plan file:
145
+ - File-id: `sprint-status`
146
+ - Pointer: `_bmad-output/implementation-artifacts/sprint-status.yaml`
147
+ - Emit one `sprint` node per sprint entry found in `sprint-status.yaml`
148
+ - Emit `derives-from` edges for epics covered by active/current sprint
149
+
150
+ ### Error Handling
151
+
152
+ Same as Stories 19.2/19.3: wrap all `emitToGraph()` calls in try/catch. Emission failures are non-critical — log to stderr, do not abort the skill or show error to user.
153
+
154
+ ### File Structure Reference
155
+
156
+ ```
157
+ skills/
158
+ ├── bmad-create-story/SKILL.md ← MODIFY
159
+ ├── bmad-validate-prd/SKILL.md ← MODIFY
160
+ ├── bmad-dev-story/SKILL.md ← MODIFY
161
+ └── bmad-sprint-planning/SKILL.md ← MODIFY
162
+
163
+ lib/bmad-extension/skills/
164
+ ├── bmad-create-story/SKILL.md ← MODIFY
165
+ ├── bmad-validate-prd/SKILL.md ← MODIFY
166
+ ├── bmad-dev-story/SKILL.md ← MODIFY
167
+ └── bmad-sprint-planning/SKILL.md ← MODIFY
168
+ ```
169
+
170
+ No new files created (8 existing SKILL.md files modified).
171
+
172
+ ### References
173
+
174
+ - Story 19.1: `_bmad-output/implementation-artifacts/19-1-knowledge-graph-core-library.md`
175
+ - Architecture skill emission table: `_bmad-output/planning-artifacts/architecture.md#skills-that-emit-and-what-they-emit`
176
+ - Architecture Decision P3-1: `_bmad-output/planning-artifacts/architecture.md#decision-p3-1-bmad-knowledge-graph`
177
+ - Epic 19 cross-epic notes: `_bmad-output/planning-artifacts/epics.md#epic-19--cross-epic-notes`
178
+ - FRs: FR149, FR150, FR151, FR152
179
+
180
+ ## Dev Agent Record
181
+
182
+ ### Agent Model Used
183
+
184
+ _to be filled by dev agent_
185
+
186
+ ### Debug Log References
187
+
188
+ ### Completion Notes List
189
+
190
+ ### File List
@@ -0,0 +1,213 @@
1
+ # Story 19.5: `open-graph` Skill
2
+
3
+ Status: ready-for-dev
4
+
5
+ ## Story
6
+
7
+ As an **Engineer**,
8
+ I want to run `/open-graph` in any BMAD agent,
9
+ so that the knowledge graph visualization opens in VSCode (as a webview) or in my default browser when outside VSCode — without any additional configuration.
10
+
11
+ ## Acceptance Criteria
12
+
13
+ 1. **Given** `open-graph` is invoked inside VSCode (detected via `process.env.TERM_PROGRAM === 'vscode'` or `process.env.VSCODE_PID !== undefined`)
14
+ **When** the skill runs
15
+ **Then** it generates `_bmad-output/knowledge-graph.html` (if not already current) from the JSON data
16
+ **And** opens the HTML file using `code "<htmlPath>"` command (opens in VSCode Simple Browser / Live Preview)
17
+
18
+ 2. **Given** `open-graph` is invoked outside VSCode (standard terminal)
19
+ **When** the skill runs
20
+ **Then** it generates `knowledge-graph.html` from the current JSON data
21
+ **And** opens it using the platform-appropriate command: `start` (Windows), `open` (macOS), `xdg-open` (Linux)
22
+
23
+ 3. **Given** `_bmad-output/knowledge-graph.json` does not exist
24
+ **When** `open-graph` is invoked
25
+ **Then** the skill informs the user that no knowledge graph data has been generated yet
26
+ **And** suggests running a BMAD planning skill (e.g., `create-prd`) to seed the graph
27
+
28
+ 4. **Given** `knowledge-graph.html` already exists and is newer than `knowledge-graph.json`
29
+ **When** `open-graph` is invoked
30
+ **Then** the skill skips regeneration and opens the existing HTML directly
31
+
32
+ 5. **Given** `open-graph` is invoked from a BMAD agent
33
+ **When** it runs
34
+ **Then** it is available as an `anytime` phase skill (not restricted to a specific workflow phase)
35
+ **And** it appears in the BMAD module help output
36
+
37
+ ## Tasks / Subtasks
38
+
39
+ ### Task 1: Create BMAD extension skill directory and files (AC: 1, 2, 3, 4, 5)
40
+
41
+ - [ ] 1.1 Create directory: `lib/bmad-extension/skills/open-graph/`
42
+ - [ ] 1.2 Create `lib/bmad-extension/skills/open-graph/bmad-skill-manifest.yaml`:
43
+ ```yaml
44
+ type: skill
45
+ name: open-graph
46
+ module: ma-skills
47
+ ```
48
+ - [ ] 1.3 Create `lib/bmad-extension/skills/open-graph/SKILL.md` with the complete skill workflow (see Task 3)
49
+ - [ ] 1.4 Register in `lib/bmad-extension/module-help.csv` — add row:
50
+ ```
51
+ ma-skills,anytime,Open Knowledge Graph,open-graph,,skill:open-graph,open-graph,false,,,Open the BMAD knowledge graph visualization in VSCode or browser.,_bmad-output,knowledge-graph.json,
52
+ ```
53
+
54
+ ### Task 2: Create the IDE skill source files (AC: 1, 2, 3, 4)
55
+
56
+ - [ ] 2.1 Create `skills/open-graph/skill.json`:
57
+ ```json
58
+ {
59
+ "name": "open-graph",
60
+ "version": "1.0.0",
61
+ "description": "Open the BMAD knowledge graph visualization in VSCode or default browser",
62
+ "category": "workflow",
63
+ "tags": ["knowledge-graph", "visualization", "graph"]
64
+ }
65
+ ```
66
+ Note: `always_load: false` — on-demand skill, not loaded for every task.
67
+ - [ ] 2.2 Create `skills/open-graph/SKILL.md` with the same core workflow as the BMAD extension version (may have minor phrasing differences for IDE context; logic must be identical)
68
+
69
+ ### Task 3: Implement `SKILL.md` workflow content (AC: 1, 2, 3, 4)
70
+
71
+ Both SKILL.md files must implement the following logic:
72
+
73
+ - [ ] 3.1 **Step 1 — Locate graph data:**
74
+ - Resolve `graphJsonPath = <projectRoot>/_bmad-output/knowledge-graph.json`
75
+ - If file does not exist: output `"No knowledge graph data found. Run a BMAD planning skill (e.g., create-prd, create-architecture) to generate the graph first."` and exit (AC: 3)
76
+
77
+ - [ ] 3.2 **Step 2 — Check if regeneration needed:**
78
+ - Resolve `graphHtmlPath = <projectRoot>/_bmad-output/knowledge-graph.html`
79
+ - Compare mtime of `knowledge-graph.html` vs `knowledge-graph.json`:
80
+ - If HTML exists AND `html.mtime > json.mtime`: skip regeneration, proceed to Step 3 (AC: 4)
81
+ - Otherwise: call `generate-html.js` to regenerate HTML from JSON
82
+
83
+ - [ ] 3.3 **Step 3 — Generate HTML (if needed):**
84
+ - Run `node lib/bmad-extension/skills/open-graph/generate-html.js <graphJsonPath> <graphHtmlPath>`
85
+ - (The `generate-html.js` script is created in Story 19.6 — this story creates a placeholder that outputs a basic diagnostic page)
86
+
87
+ - [ ] 3.4 **Step 4 — Open in appropriate viewer:**
88
+ ```javascript
89
+ const isVSCode = process.env.TERM_PROGRAM === 'vscode' || process.env.VSCODE_PID !== undefined;
90
+ if (isVSCode) {
91
+ execSync(`code "${htmlPath}"`); // opens in VSCode Simple Browser / Live Preview
92
+ } else {
93
+ const openCmd = process.platform === 'win32' ? 'start' :
94
+ process.platform === 'darwin' ? 'open' : 'xdg-open';
95
+ execSync(`${openCmd} "${htmlPath}"`);
96
+ }
97
+ ```
98
+
99
+ ### Task 4: Create `generate-html.js` placeholder (AC: 1, 2 — basic version)
100
+
101
+ Story 19.6 implements the full renderer. This story creates a functional placeholder so the skill works end-to-end:
102
+
103
+ - [ ] 4.1 Create `lib/bmad-extension/skills/open-graph/generate-html.js` as a Node.js script that:
104
+ - Accepts arguments: `node generate-html.js <jsonPath> <htmlPath>`
105
+ - Reads `knowledge-graph.json`
106
+ - Writes a minimal HTML page that displays `meta.node_count`, `meta.edge_count`, and a `<pre>` dump of the JSON data
107
+ - This placeholder will be replaced by the full renderer in Story 19.6
108
+
109
+ ### Task 5: Verify deployment pipeline integration (AC: 5)
110
+
111
+ - [ ] 5.1 Run `npx ma-agents` (or `node lib/cli.js`) to trigger the installer
112
+ - [ ] 5.2 Verify IDE skill appears in installed MANIFEST.yaml (e.g., `.claude/skills/MANIFEST.yaml` includes `open-graph`)
113
+ - [ ] 5.3 Verify BMAD extension copy exists at `_bmad/extensions/ma-agents-skills/skills/open-graph/` after BMAD install
114
+ - [ ] 5.4 Verify `open-graph` appears in the BMAD module help output (`anytime` phase)
115
+
116
+ ## Dev Notes
117
+
118
+ ### CRITICAL: Two Deployment Pipelines
119
+
120
+ This story creates files in BOTH pipelines:
121
+ 1. **IDE skill source:** `skills/open-graph/skill.json` + `skills/open-graph/SKILL.md`
122
+ - Deployed by `lib/installer.js` to all agent directories
123
+ 2. **BMAD extension skill source:** `lib/bmad-extension/skills/open-graph/SKILL.md` + `bmad-skill-manifest.yaml`
124
+ - Deployed by `lib/bmad.js` to `_bmad/extensions/ma-agents-skills/`
125
+
126
+ **Reference skill for IDE pipeline:** `skills/story-status-lookup/` (working `skill.json` + `SKILL.md`)
127
+ **Reference skill for BMAD extension:** `lib/bmad-extension/skills/add-to-sprint/` (working `SKILL.md` + `bmad-skill-manifest.yaml`)
128
+
129
+ ### Prerequisite: Story 19.1 Must Be Complete (for `generate-html.js`)
130
+
131
+ This story creates a `generate-html.js` placeholder (Task 4) that becomes the integration point for Story 19.6. The `generate-html.js` interface must be stable: `node generate-html.js <jsonPath> <htmlPath>`.
132
+
133
+ ### VSCode Detection Logic (Architecture-Authoritative)
134
+
135
+ ```javascript
136
+ const isVSCode = process.env.TERM_PROGRAM === 'vscode' || process.env.VSCODE_PID !== undefined;
137
+ if (isVSCode) {
138
+ execSync(`code "${htmlPath}"`);
139
+ } else {
140
+ const openCmd = process.platform === 'win32' ? 'start' :
141
+ process.platform === 'darwin' ? 'open' : 'xdg-open';
142
+ execSync(`${openCmd} "${htmlPath}"`);
143
+ }
144
+ ```
145
+
146
+ This exact pattern is specified in architecture Decision P3-1. Do NOT use a different detection mechanism.
147
+
148
+ ### Skill Count Impact
149
+
150
+ This story increases the BMAD extension module skill count from 44 to 45. The `module-help.csv` row must use phase `anytime` (not a specific workflow phase). Verify the final count in `lib/bmad-extension/module-help.csv` after adding the row.
151
+
152
+ ### `generate-html.js` Interface Contract
153
+
154
+ The interface between SKILL.md and `generate-html.js` is:
155
+ ```
156
+ node lib/bmad-extension/skills/open-graph/generate-html.js <jsonPath> <htmlPath>
157
+ ```
158
+
159
+ Arguments:
160
+ - `<jsonPath>`: absolute path to `knowledge-graph.json`
161
+ - `<htmlPath>`: absolute path where `knowledge-graph.html` should be written
162
+
163
+ Story 19.6 replaces the placeholder with the full interactive renderer, keeping the same interface.
164
+
165
+ ### `always_load: false`
166
+
167
+ This is an on-demand skill. The `skill.json` must NOT include `always_load: true`. Omitting the key defaults to `false`.
168
+
169
+ ### File Structure Created by This Story
170
+
171
+ ```
172
+ skills/
173
+ └── open-graph/
174
+ ├── skill.json ← NEW
175
+ └── SKILL.md ← NEW
176
+
177
+ lib/
178
+ └── bmad-extension/
179
+ └── skills/
180
+ └── open-graph/
181
+ ├── SKILL.md ← NEW
182
+ ├── bmad-skill-manifest.yaml ← NEW
183
+ └── generate-html.js ← NEW (placeholder; replaced by Story 19.6)
184
+ ```
185
+
186
+ **Modified:**
187
+ - `lib/bmad-extension/module-help.csv` ← add `open-graph` row
188
+
189
+ ### Project Structure Notes
190
+
191
+ - Skill location `lib/bmad-extension/skills/open-graph/` follows the same pattern as all other extension skills (e.g., `lib/bmad-extension/skills/add-to-sprint/`)
192
+ - Epic 19 cross-epic notes: `open-graph` skill requires Epic 15 (BMAD 6.2.1 module structure) to be complete. Epic 15 is done as of this writing.
193
+
194
+ ### References
195
+
196
+ - Architecture Decision P3-1 — Layer 3: `_bmad-output/planning-artifacts/architecture.md#layer-3-open-graph-skill-and-renderer`
197
+ - Reference IDE skill: `skills/story-status-lookup/`
198
+ - Reference BMAD extension skill: `lib/bmad-extension/skills/add-to-sprint/`
199
+ - `lib/bmad-extension/module-help.csv` — for phase registration pattern
200
+ - FR: FR153 (open-graph skill, VSCode/browser detection)
201
+ - Story 19.6: `_bmad-output/implementation-artifacts/19-6-interactive-visualization-renderer.md` — replaces `generate-html.js` placeholder
202
+
203
+ ## Dev Agent Record
204
+
205
+ ### Agent Model Used
206
+
207
+ _to be filled by dev agent_
208
+
209
+ ### Debug Log References
210
+
211
+ ### Completion Notes List
212
+
213
+ ### File List