ma-agents 3.5.0 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. package/_bmad-output/implementation-artifacts/16-4-validation-report.md +79 -0
  2. package/_bmad-output/implementation-artifacts/19-1-knowledge-graph-core-library.md +239 -0
  3. package/_bmad-output/implementation-artifacts/19-2-graph-emission-create-prd.md +171 -0
  4. package/_bmad-output/implementation-artifacts/19-3-graph-emission-create-architecture-epics.md +179 -0
  5. package/_bmad-output/implementation-artifacts/19-4-graph-emission-create-story-remaining.md +190 -0
  6. package/_bmad-output/implementation-artifacts/19-5-open-graph-skill.md +213 -0
  7. package/_bmad-output/implementation-artifacts/19-6-interactive-visualization-renderer.md +259 -0
  8. package/_bmad-output/implementation-artifacts/19-7-llm-writability-validation-tests.md +280 -0
  9. package/_bmad-output/implementation-artifacts/sprint-status.yaml +31 -18
  10. package/_bmad-output/planning-artifacts/architecture.md +354 -2
  11. package/_bmad-output/planning-artifacts/epics.md +556 -8
  12. package/_bmad-output/planning-artifacts/prd.md +92 -10
  13. package/_bmad-output/planning-artifacts/validation-report-prd-2026-04-07.md +330 -0
  14. package/lib/bmad-cache/bmb/.claude-plugin/marketplace.json +38 -4
  15. package/lib/bmad-cache/bmb/README.md +39 -27
  16. package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
  17. package/lib/bmad-cache/bmb/_git_preserved/logs/HEAD +1 -1
  18. package/lib/bmad-cache/bmb/_git_preserved/logs/refs/heads/main +1 -1
  19. package/lib/bmad-cache/bmb/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  20. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-5e915049d8459481e4aa7be8d5959643fa68a981.idx +0 -0
  21. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-5e915049d8459481e4aa7be8d5959643fa68a981.pack +0 -0
  22. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-5e915049d8459481e4aa7be8d5959643fa68a981.rev +0 -0
  23. package/lib/bmad-cache/bmb/_git_preserved/packed-refs +1 -1
  24. package/lib/bmad-cache/bmb/_git_preserved/refs/heads/main +1 -1
  25. package/lib/bmad-cache/bmb/_git_preserved/shallow +1 -1
  26. package/lib/bmad-cache/bmb/package.json +1 -9
  27. package/lib/bmad-cache/bmb/samples/bmad-agent-code-coach/scripts/init-sanctum.py +288 -0
  28. package/lib/bmad-cache/bmb/samples/bmad-agent-creative-muse/scripts/init-sanctum.py +274 -0
  29. package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/assets/module-help.csv +9 -0
  30. package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/assets/module.yaml +8 -0
  31. package/lib/bmad-cache/bmb/{skills/bmad-builder-setup → samples/bmad-agent-dream-weaver}/scripts/merge-help-csv.py +3 -5
  32. package/lib/bmad-cache/bmb/samples/bmad-agent-sentinel/scripts/init-sanctum.py +285 -0
  33. package/lib/bmad-cache/bmb/samples/bmad-agent-sentinel/scripts/tests/test-init-sanctum.py +174 -0
  34. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/assets/init-sanctum-template.py +277 -0
  35. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/references/sample-init-sanctum.py +274 -0
  36. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-execution-deps.py +4 -4
  37. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-prompt-metrics.py +22 -0
  38. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-sanctum-architecture.py +385 -0
  39. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/prepass-structure-capabilities.py +64 -27
  40. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/process-template.py +190 -0
  41. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/scan-path-standards.py +17 -32
  42. package/lib/bmad-cache/bmb/skills/bmad-agent-builder/scripts/scan-scripts.py +5 -3
  43. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/assets/module-help.csv +10 -0
  44. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/merge-config.py +408 -0
  45. package/lib/bmad-cache/bmb/skills/bmad-bmb-setup/scripts/merge-help-csv.py +218 -0
  46. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/assets/module-help.csv +1 -0
  47. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/assets/module.yaml +6 -0
  48. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/cleanup-legacy.py +259 -0
  49. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-config.py +408 -0
  50. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-help-csv.py +218 -0
  51. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/standalone-module-template/merge-config.py +408 -0
  52. package/lib/bmad-cache/bmb/skills/bmad-module-builder/assets/standalone-module-template/merge-help-csv.py +218 -0
  53. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/scaffold-setup-skill.py +124 -0
  54. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/scaffold-standalone-module.py +190 -0
  55. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-scaffold-setup-skill.py +223 -0
  56. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-scaffold-standalone-module.py +266 -0
  57. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/tests/test-validate-module.py +314 -0
  58. package/lib/bmad-cache/bmb/skills/bmad-module-builder/scripts/validate-module.py +293 -0
  59. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/generate-convert-report.py +406 -0
  60. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/prepass-workflow-integrity.py +1 -6
  61. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/scan-path-standards.py +14 -16
  62. package/lib/bmad-cache/bmb/skills/bmad-workflow-builder/scripts/tests/test_generate_convert_report.py +243 -0
  63. package/lib/bmad-cache/bmb/skills/module-help.csv +10 -5
  64. package/lib/bmad-cache/bmb/tools/validate-file-refs.mjs +1 -1
  65. package/lib/bmad-cache/bmb/website/astro.config.mjs +10 -6
  66. package/lib/bmad-cache/bmb/website/src/components/Banner.astro +6 -5
  67. package/lib/bmad-cache/bmb/website/src/styles/custom.css +60 -42
  68. package/lib/bmad-cache/cache-manifest.json +11 -11
  69. package/lib/bmad-cache/cis/README.md +9 -0
  70. package/lib/bmad-cache/cis/_git_preserved/index +0 -0
  71. package/lib/bmad-cache/cis/_git_preserved/logs/HEAD +1 -1
  72. package/lib/bmad-cache/cis/_git_preserved/logs/refs/heads/main +1 -1
  73. package/lib/bmad-cache/cis/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  74. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.idx +0 -0
  75. package/lib/bmad-cache/cis/_git_preserved/objects/pack/{pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.pack → pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.pack} +0 -0
  76. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-39c4fd66f4e0eb3f4d93665318df04cd356b0297.rev +0 -0
  77. package/lib/bmad-cache/cis/_git_preserved/packed-refs +1 -1
  78. package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -1
  79. package/lib/bmad-cache/cis/_git_preserved/shallow +1 -1
  80. package/lib/bmad-cache/cis/src/module-help.csv +1 -0
  81. package/lib/bmad-cache/cis/website/astro.config.mjs +14 -6
  82. package/lib/bmad-cache/cis/website/src/components/Banner.astro +26 -11
  83. package/lib/bmad-cache/cis/website/src/styles/custom.css +60 -41
  84. package/lib/bmad-cache/gds/.claude-plugin/marketplace.json +1 -1
  85. package/lib/bmad-cache/gds/README.md +9 -0
  86. package/lib/bmad-cache/gds/_git_preserved/index +0 -0
  87. package/lib/bmad-cache/gds/_git_preserved/logs/HEAD +1 -1
  88. package/lib/bmad-cache/gds/_git_preserved/logs/refs/heads/main +1 -1
  89. package/lib/bmad-cache/gds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  90. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.idx +0 -0
  91. package/lib/bmad-cache/gds/_git_preserved/objects/pack/{pack-8099a88fca0ad946a573316a00887a2921ca1712.pack → pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.pack} +0 -0
  92. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-ac967149d58fba215d07238ad8881bdbdad5c9c3.rev +0 -0
  93. package/lib/bmad-cache/gds/_git_preserved/packed-refs +1 -1
  94. package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -1
  95. package/lib/bmad-cache/gds/_git_preserved/shallow +1 -1
  96. package/lib/bmad-cache/gds/package.json +1 -1
  97. package/lib/bmad-cache/gds/src/module-help.csv +1 -0
  98. package/lib/bmad-cache/gds/website/astro.config.mjs +14 -6
  99. package/lib/bmad-cache/gds/website/src/components/Banner.astro +26 -11
  100. package/lib/bmad-cache/gds/website/src/styles/custom.css +60 -41
  101. package/lib/bmad-cache/tea/README.md +14 -0
  102. package/lib/bmad-cache/tea/_git_preserved/index +0 -0
  103. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-c79805bb3fee27fa6d8c612a971af7fc86fc80e1.idx +0 -0
  104. package/lib/bmad-cache/tea/_git_preserved/objects/pack/{pack-d243f64f83b36190434d68872a69a40870c53030.pack → pack-c79805bb3fee27fa6d8c612a971af7fc86fc80e1.pack} +0 -0
  105. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-c79805bb3fee27fa6d8c612a971af7fc86fc80e1.rev +0 -0
  106. package/lib/bmad-cache/tea/_git_preserved/packed-refs +1 -1
  107. package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -1
  108. package/lib/bmad-cache/tea/_git_preserved/shallow +1 -1
  109. package/lib/bmad-cache/tea/docs/index.md +4 -14
  110. package/lib/bmad-cache/tea/package-lock.json +2 -2
  111. package/lib/bmad-cache/tea/package.json +1 -1
  112. package/lib/bmad-cache/tea/src/agents/bmad-tea/SKILL.md +6 -6
  113. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/playwright-cli.md +119 -4
  114. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/playwright-config.md +8 -4
  115. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/knowledge/visual-debugging.md +34 -31
  116. package/lib/bmad-cache/tea/src/agents/bmad-tea/resources/tea-index.csv +1 -1
  117. package/lib/bmad-cache/tea/src/module-help.csv +1 -0
  118. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/atdd-checklist-template.md +1 -1
  119. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/instructions.md +0 -1
  120. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  121. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/api-request.md +563 -0
  122. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/api-testing-patterns.md +915 -0
  123. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/auth-session.md +548 -0
  124. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/burn-in.md +273 -0
  125. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/ci-burn-in.md +717 -0
  126. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/component-tdd.md +486 -0
  127. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/contract-testing.md +1050 -0
  128. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/data-factories.md +500 -0
  129. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/email-auth.md +721 -0
  130. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/error-handling.md +725 -0
  131. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/feature-flags.md +750 -0
  132. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/file-utils.md +456 -0
  133. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/fixture-architecture.md +401 -0
  134. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/fixtures-composition.md +382 -0
  135. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/intercept-network-call.md +426 -0
  136. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/log.md +426 -0
  137. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/network-error-monitor.md +401 -0
  138. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/network-first.md +486 -0
  139. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/network-recorder.md +527 -0
  140. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/nfr-criteria.md +670 -0
  141. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/overview.md +286 -0
  142. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-consumer-di.md +310 -0
  143. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  144. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pact-mcp.md +204 -0
  145. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  146. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-overview.md +216 -0
  147. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  148. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  149. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/playwright-cli.md +280 -0
  150. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/playwright-config.md +734 -0
  151. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/probability-impact.md +601 -0
  152. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/recurse.md +421 -0
  153. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/risk-governance.md +615 -0
  154. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/selective-testing.md +732 -0
  155. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/selector-resilience.md +527 -0
  156. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-healing-patterns.md +644 -0
  157. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-levels-framework.md +473 -0
  158. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-priorities-matrix.md +373 -0
  159. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/test-quality.md +664 -0
  160. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/timing-debugging.md +372 -0
  161. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/knowledge/visual-debugging.md +527 -0
  162. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/resources/tea-index.csv +43 -0
  163. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01-preflight-and-context.md +1 -1
  164. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/instructions.md +0 -1
  165. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  166. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/api-request.md +563 -0
  167. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/api-testing-patterns.md +915 -0
  168. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/auth-session.md +548 -0
  169. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/burn-in.md +273 -0
  170. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/ci-burn-in.md +717 -0
  171. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/component-tdd.md +486 -0
  172. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/contract-testing.md +1050 -0
  173. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/data-factories.md +500 -0
  174. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/email-auth.md +721 -0
  175. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/error-handling.md +725 -0
  176. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/feature-flags.md +750 -0
  177. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/file-utils.md +456 -0
  178. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/fixture-architecture.md +401 -0
  179. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/fixtures-composition.md +382 -0
  180. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/intercept-network-call.md +426 -0
  181. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/log.md +426 -0
  182. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/network-error-monitor.md +401 -0
  183. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/network-first.md +486 -0
  184. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/network-recorder.md +527 -0
  185. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/nfr-criteria.md +670 -0
  186. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/overview.md +286 -0
  187. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-consumer-di.md +310 -0
  188. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  189. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pact-mcp.md +204 -0
  190. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  191. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-overview.md +216 -0
  192. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  193. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  194. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/playwright-cli.md +280 -0
  195. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/playwright-config.md +734 -0
  196. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/probability-impact.md +601 -0
  197. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/recurse.md +421 -0
  198. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/risk-governance.md +615 -0
  199. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/selective-testing.md +732 -0
  200. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/selector-resilience.md +527 -0
  201. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-healing-patterns.md +644 -0
  202. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-levels-framework.md +473 -0
  203. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-priorities-matrix.md +373 -0
  204. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/test-quality.md +664 -0
  205. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/timing-debugging.md +372 -0
  206. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/knowledge/visual-debugging.md +527 -0
  207. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/resources/tea-index.csv +43 -0
  208. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01-preflight-and-context.md +1 -1
  209. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03c-aggregate.md +8 -3
  210. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/harness-pipeline-template.yaml +7 -6
  211. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/instructions.md +0 -1
  212. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  213. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/api-request.md +563 -0
  214. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/api-testing-patterns.md +915 -0
  215. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/auth-session.md +548 -0
  216. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/burn-in.md +273 -0
  217. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/ci-burn-in.md +717 -0
  218. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/component-tdd.md +486 -0
  219. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/contract-testing.md +1050 -0
  220. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/data-factories.md +500 -0
  221. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/email-auth.md +721 -0
  222. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/error-handling.md +725 -0
  223. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/feature-flags.md +750 -0
  224. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/file-utils.md +456 -0
  225. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/fixture-architecture.md +401 -0
  226. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/fixtures-composition.md +382 -0
  227. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/intercept-network-call.md +426 -0
  228. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/log.md +426 -0
  229. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/network-error-monitor.md +401 -0
  230. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/network-first.md +486 -0
  231. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/network-recorder.md +527 -0
  232. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/nfr-criteria.md +670 -0
  233. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/overview.md +286 -0
  234. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-consumer-di.md +310 -0
  235. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  236. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pact-mcp.md +204 -0
  237. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  238. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-overview.md +216 -0
  239. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  240. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  241. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/playwright-cli.md +280 -0
  242. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/playwright-config.md +734 -0
  243. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/probability-impact.md +601 -0
  244. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/recurse.md +421 -0
  245. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/risk-governance.md +615 -0
  246. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/selective-testing.md +732 -0
  247. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/selector-resilience.md +527 -0
  248. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-healing-patterns.md +644 -0
  249. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-levels-framework.md +473 -0
  250. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-priorities-matrix.md +373 -0
  251. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/test-quality.md +664 -0
  252. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/timing-debugging.md +372 -0
  253. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/knowledge/visual-debugging.md +527 -0
  254. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/resources/tea-index.csv +43 -0
  255. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-02-generate-pipeline.md +1 -1
  256. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-03-configure-quality-gates.md +1 -1
  257. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/checklist.md +1 -1
  258. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/instructions.md +0 -1
  259. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  260. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/api-request.md +563 -0
  261. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/api-testing-patterns.md +915 -0
  262. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/auth-session.md +548 -0
  263. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/burn-in.md +273 -0
  264. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/ci-burn-in.md +717 -0
  265. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/component-tdd.md +486 -0
  266. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/contract-testing.md +1050 -0
  267. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/data-factories.md +500 -0
  268. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/email-auth.md +721 -0
  269. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/error-handling.md +725 -0
  270. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/feature-flags.md +750 -0
  271. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/file-utils.md +456 -0
  272. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/fixture-architecture.md +401 -0
  273. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/fixtures-composition.md +382 -0
  274. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/intercept-network-call.md +426 -0
  275. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/log.md +426 -0
  276. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/network-error-monitor.md +401 -0
  277. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/network-first.md +486 -0
  278. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/network-recorder.md +527 -0
  279. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/nfr-criteria.md +670 -0
  280. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/overview.md +286 -0
  281. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-consumer-di.md +310 -0
  282. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  283. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pact-mcp.md +204 -0
  284. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  285. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-overview.md +216 -0
  286. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  287. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  288. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/playwright-cli.md +280 -0
  289. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/playwright-config.md +734 -0
  290. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/probability-impact.md +601 -0
  291. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/recurse.md +421 -0
  292. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/risk-governance.md +615 -0
  293. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/selective-testing.md +732 -0
  294. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/selector-resilience.md +527 -0
  295. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-healing-patterns.md +644 -0
  296. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-levels-framework.md +473 -0
  297. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-priorities-matrix.md +373 -0
  298. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/test-quality.md +664 -0
  299. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/timing-debugging.md +372 -0
  300. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/knowledge/visual-debugging.md +527 -0
  301. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/resources/tea-index.csv +43 -0
  302. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md +2 -2
  303. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  304. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/api-request.md +563 -0
  305. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/api-testing-patterns.md +915 -0
  306. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/auth-session.md +548 -0
  307. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/burn-in.md +273 -0
  308. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/ci-burn-in.md +717 -0
  309. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/component-tdd.md +486 -0
  310. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/contract-testing.md +1050 -0
  311. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/data-factories.md +500 -0
  312. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/email-auth.md +721 -0
  313. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/error-handling.md +725 -0
  314. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/feature-flags.md +750 -0
  315. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/file-utils.md +456 -0
  316. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/fixture-architecture.md +401 -0
  317. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/fixtures-composition.md +382 -0
  318. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/intercept-network-call.md +426 -0
  319. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/log.md +426 -0
  320. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/network-error-monitor.md +401 -0
  321. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/network-first.md +486 -0
  322. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/network-recorder.md +527 -0
  323. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/nfr-criteria.md +670 -0
  324. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/overview.md +286 -0
  325. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-consumer-di.md +310 -0
  326. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  327. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pact-mcp.md +204 -0
  328. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  329. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-overview.md +216 -0
  330. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  331. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  332. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/playwright-cli.md +280 -0
  333. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/playwright-config.md +734 -0
  334. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/probability-impact.md +601 -0
  335. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/recurse.md +421 -0
  336. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/risk-governance.md +615 -0
  337. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/selective-testing.md +732 -0
  338. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/selector-resilience.md +527 -0
  339. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-healing-patterns.md +644 -0
  340. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-levels-framework.md +473 -0
  341. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-priorities-matrix.md +373 -0
  342. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/test-quality.md +664 -0
  343. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/timing-debugging.md +372 -0
  344. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/knowledge/visual-debugging.md +527 -0
  345. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/resources/tea-index.csv +43 -0
  346. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01-load-context.md +1 -1
  347. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/instructions.md +0 -1
  348. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  349. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/api-request.md +563 -0
  350. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/api-testing-patterns.md +915 -0
  351. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/auth-session.md +548 -0
  352. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/burn-in.md +273 -0
  353. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/ci-burn-in.md +717 -0
  354. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/component-tdd.md +486 -0
  355. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/contract-testing.md +1050 -0
  356. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/data-factories.md +500 -0
  357. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/email-auth.md +721 -0
  358. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/error-handling.md +725 -0
  359. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/feature-flags.md +750 -0
  360. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/file-utils.md +456 -0
  361. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/fixture-architecture.md +401 -0
  362. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/fixtures-composition.md +382 -0
  363. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/intercept-network-call.md +426 -0
  364. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/log.md +426 -0
  365. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/network-error-monitor.md +401 -0
  366. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/network-first.md +486 -0
  367. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/network-recorder.md +527 -0
  368. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/nfr-criteria.md +670 -0
  369. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/overview.md +286 -0
  370. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-consumer-di.md +310 -0
  371. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  372. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pact-mcp.md +204 -0
  373. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  374. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-overview.md +216 -0
  375. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  376. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  377. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/playwright-cli.md +280 -0
  378. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/playwright-config.md +734 -0
  379. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/probability-impact.md +601 -0
  380. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/recurse.md +421 -0
  381. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/risk-governance.md +615 -0
  382. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/selective-testing.md +732 -0
  383. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/selector-resilience.md +527 -0
  384. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-healing-patterns.md +644 -0
  385. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-levels-framework.md +473 -0
  386. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-priorities-matrix.md +373 -0
  387. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/test-quality.md +664 -0
  388. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/timing-debugging.md +372 -0
  389. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/knowledge/visual-debugging.md +527 -0
  390. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/resources/tea-index.csv +43 -0
  391. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-02-load-context.md +1 -1
  392. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-qa-template.md +1 -1
  393. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-template.md +1 -1
  394. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/checklist.md +1 -1
  395. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  396. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/api-request.md +563 -0
  397. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/api-testing-patterns.md +915 -0
  398. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/auth-session.md +548 -0
  399. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/burn-in.md +273 -0
  400. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/ci-burn-in.md +717 -0
  401. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/component-tdd.md +486 -0
  402. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/contract-testing.md +1050 -0
  403. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/data-factories.md +500 -0
  404. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/email-auth.md +721 -0
  405. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/error-handling.md +725 -0
  406. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/feature-flags.md +750 -0
  407. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/file-utils.md +456 -0
  408. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/fixture-architecture.md +401 -0
  409. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/fixtures-composition.md +382 -0
  410. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/intercept-network-call.md +426 -0
  411. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/log.md +426 -0
  412. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/network-error-monitor.md +401 -0
  413. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/network-first.md +486 -0
  414. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/network-recorder.md +527 -0
  415. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/nfr-criteria.md +670 -0
  416. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/overview.md +286 -0
  417. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-consumer-di.md +310 -0
  418. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  419. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pact-mcp.md +204 -0
  420. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  421. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-overview.md +216 -0
  422. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  423. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  424. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/playwright-cli.md +280 -0
  425. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/playwright-config.md +734 -0
  426. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/probability-impact.md +601 -0
  427. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/recurse.md +421 -0
  428. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/risk-governance.md +615 -0
  429. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/selective-testing.md +732 -0
  430. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/selector-resilience.md +527 -0
  431. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-healing-patterns.md +644 -0
  432. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-levels-framework.md +473 -0
  433. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-priorities-matrix.md +373 -0
  434. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/test-quality.md +664 -0
  435. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/timing-debugging.md +372 -0
  436. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/knowledge/visual-debugging.md +527 -0
  437. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/resources/tea-index.csv +43 -0
  438. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01-load-context.md +1 -1
  439. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-02-discover-tests.md +7 -0
  440. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03a-subagent-determinism.md +1 -1
  441. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  442. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/api-request.md +563 -0
  443. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/api-testing-patterns.md +915 -0
  444. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/auth-session.md +548 -0
  445. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/burn-in.md +273 -0
  446. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/ci-burn-in.md +717 -0
  447. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/component-tdd.md +486 -0
  448. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/contract-testing.md +1050 -0
  449. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/data-factories.md +500 -0
  450. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/email-auth.md +721 -0
  451. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/error-handling.md +725 -0
  452. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/feature-flags.md +750 -0
  453. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/file-utils.md +456 -0
  454. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/fixture-architecture.md +401 -0
  455. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/fixtures-composition.md +382 -0
  456. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/intercept-network-call.md +426 -0
  457. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/log.md +426 -0
  458. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/network-error-monitor.md +401 -0
  459. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/network-first.md +486 -0
  460. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/network-recorder.md +527 -0
  461. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/nfr-criteria.md +670 -0
  462. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/overview.md +286 -0
  463. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-consumer-di.md +310 -0
  464. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-consumer-framework-setup.md +635 -0
  465. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pact-mcp.md +204 -0
  466. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-consumer-helpers.md +270 -0
  467. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-overview.md +216 -0
  468. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-provider-verifier.md +315 -0
  469. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  470. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/playwright-cli.md +280 -0
  471. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/playwright-config.md +734 -0
  472. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/probability-impact.md +601 -0
  473. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/recurse.md +421 -0
  474. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/risk-governance.md +615 -0
  475. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/selective-testing.md +732 -0
  476. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/selector-resilience.md +527 -0
  477. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-healing-patterns.md +644 -0
  478. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-levels-framework.md +473 -0
  479. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-priorities-matrix.md +373 -0
  480. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/test-quality.md +664 -0
  481. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/timing-debugging.md +372 -0
  482. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/knowledge/visual-debugging.md +527 -0
  483. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/resources/tea-index.csv +43 -0
  484. package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01-load-context.md +1 -1
  485. package/lib/bmad-cache/tea/website/astro.config.mjs +10 -6
  486. package/lib/bmad-cache/tea/website/src/components/Banner.astro +28 -13
  487. package/lib/bmad-cache/tea/website/src/components/Header.astro +1 -1
  488. package/lib/bmad-cache/tea/website/src/components/MobileMenuFooter.astro +1 -1
  489. package/lib/bmad-cache/tea/website/src/styles/custom.css +60 -41
  490. package/lib/bmad-cache/wds/README.md +13 -0
  491. package/lib/bmad-cache/wds/_git_preserved/index +0 -0
  492. package/lib/bmad-cache/wds/_git_preserved/logs/HEAD +1 -1
  493. package/lib/bmad-cache/wds/_git_preserved/logs/refs/heads/main +1 -1
  494. package/lib/bmad-cache/wds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -1
  495. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-96877c1c09123cccb1f91c1412184b11d2b492ad.idx +0 -0
  496. package/lib/bmad-cache/wds/_git_preserved/objects/pack/{pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.pack → pack-96877c1c09123cccb1f91c1412184b11d2b492ad.pack} +0 -0
  497. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-96877c1c09123cccb1f91c1412184b11d2b492ad.rev +0 -0
  498. package/lib/bmad-cache/wds/_git_preserved/packed-refs +1 -1
  499. package/lib/bmad-cache/wds/_git_preserved/refs/heads/main +1 -1
  500. package/lib/bmad-cache/wds/_git_preserved/shallow +1 -1
  501. package/lib/bmad-cache/wds/src/module-help.csv +3 -2
  502. package/lib/bmad-cache/wds/src/module.yaml +1 -4
  503. package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/resources/wds-1-project-brief/templates/platform-requirements.template.yaml +69 -0
  504. package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/resources/wds-7-design-system/templates/catalog.template.html +363 -0
  505. package/lib/bmad-customize/bmm-qa.customize.yaml +19 -1
  506. package/lib/bmad-extension/module-help.csv +4 -0
  507. package/lib/bmad-extension/skills/bmad-ma-agent-sqa/.gitkeep +0 -0
  508. package/lib/bmad-extension/skills/bmad-ma-agent-sqa/SKILL.md +46 -0
  509. package/lib/bmad-extension/skills/bmad-ma-agent-sqa/bmad-skill-manifest.yaml +11 -0
  510. package/lib/bmad-extension/skills/sqa-audit/.gitkeep +0 -0
  511. package/lib/bmad-extension/skills/sqa-audit/SKILL.md +279 -0
  512. package/lib/bmad-extension/skills/sqa-audit/bmad-skill-manifest.yaml +3 -0
  513. package/lib/bmad-extension/skills/sqa-ieee12207/.gitkeep +0 -0
  514. package/lib/bmad-extension/skills/sqa-ieee12207/SKILL.md +374 -0
  515. package/lib/bmad-extension/skills/sqa-ieee12207/bmad-skill-manifest.yaml +3 -0
  516. package/lib/bmad-extension/skills/sqa-requirements-quality/.gitkeep +0 -0
  517. package/lib/bmad-extension/skills/sqa-requirements-quality/SKILL.md +244 -0
  518. package/lib/bmad-extension/skills/sqa-requirements-quality/bmad-skill-manifest.yaml +3 -0
  519. package/package.json +1 -1
  520. package/test/extension-module-restructure.test.js +29 -6
  521. package/test/migration-validation.test.js +10 -10
  522. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.idx +0 -0
  523. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.pack +0 -0
  524. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-0de89e0854d5b2b3b3b0c1ee56eee73a739f15e7.rev +0 -0
  525. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/assets/module-help.csv +0 -6
  526. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-cleanup-legacy.py +0 -429
  527. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-merge-config.py +0 -644
  528. package/lib/bmad-cache/bmb/skills/bmad-builder-setup/scripts/tests/test-merge-help-csv.py +0 -237
  529. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.idx +0 -0
  530. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-9d60aae6b09bbea0d0c5e79fdbe96e8f66de84e6.rev +0 -0
  531. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-8099a88fca0ad946a573316a00887a2921ca1712.idx +0 -0
  532. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-8099a88fca0ad946a573316a00887a2921ca1712.rev +0 -0
  533. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-d243f64f83b36190434d68872a69a40870c53030.idx +0 -0
  534. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-d243f64f83b36190434d68872a69a40870c53030.rev +0 -0
  535. package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.7.3 +0 -1
  536. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.idx +0 -0
  537. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-92d32f26e3a97a0786dcea5cb2c24bf90384521c.rev +0 -0
  538. /package/lib/bmad-cache/bmb/{skills/bmad-builder-setup → samples/bmad-agent-dream-weaver}/scripts/merge-config.py +0 -0
  539. /package/lib/bmad-cache/bmb/skills/{bmad-builder-setup → bmad-bmb-setup}/assets/module.yaml +0 -0
  540. /package/lib/bmad-cache/bmb/skills/{bmad-builder-setup → bmad-bmb-setup}/scripts/cleanup-legacy.py +0 -0
@@ -0,0 +1,174 @@
1
+ #!/usr/bin/env python3
2
+ """Tests for init-sanctum.py"""
3
+
4
+ import sys
5
+ import tempfile
6
+ from pathlib import Path
7
+
8
+ # Add parent directory to path for imports
9
+ sys.path.insert(0, str(Path(__file__).parent.parent))
10
+
11
+ from importlib.machinery import SourceFileLoader
12
+
13
+ # Load the module with hyphenated filename
14
+ loader = SourceFileLoader("init_sanctum", str(Path(__file__).parent.parent / "init-sanctum.py"))
15
+ init_sanctum = loader.load_module()
16
+
17
+
18
+ def test_parse_yaml_config_basic():
19
+ """Test basic YAML parsing with simple key-value pairs."""
20
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".yaml", delete=False) as f:
21
+ f.write("user_name: TestUser\ncommunication_language: English\n")
22
+ f.flush()
23
+ config = init_sanctum.parse_yaml_config(Path(f.name))
24
+ assert config["user_name"] == "TestUser"
25
+ assert config["communication_language"] == "English"
26
+ Path(f.name).unlink()
27
+
28
+
29
+ def test_parse_yaml_config_missing_file():
30
+ """Test that missing config file returns empty dict."""
31
+ config = init_sanctum.parse_yaml_config(Path("/nonexistent/config.yaml"))
32
+ assert config == {}
33
+
34
+
35
+ def test_parse_yaml_config_quoted_values():
36
+ """Test YAML parsing strips quotes from values."""
37
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".yaml", delete=False) as f:
38
+ f.write("name: 'quoted'\nother: \"double-quoted\"\n")
39
+ f.flush()
40
+ config = init_sanctum.parse_yaml_config(Path(f.name))
41
+ assert config["name"] == "quoted"
42
+ assert config["other"] == "double-quoted"
43
+ Path(f.name).unlink()
44
+
45
+
46
+ def test_parse_frontmatter():
47
+ """Test frontmatter extraction from markdown files."""
48
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".md", delete=False) as f:
49
+ f.write("---\nname: test-cap\ndescription: A test\ncode: TC\n---\n\n# Content\n")
50
+ f.flush()
51
+ meta = init_sanctum.parse_frontmatter(Path(f.name))
52
+ assert meta["name"] == "test-cap"
53
+ assert meta["code"] == "TC"
54
+ Path(f.name).unlink()
55
+
56
+
57
+ def test_parse_frontmatter_no_frontmatter():
58
+ """Test frontmatter extraction when no frontmatter exists."""
59
+ with tempfile.NamedTemporaryFile(mode="w", suffix=".md", delete=False) as f:
60
+ f.write("# Just content\nNo frontmatter here.\n")
61
+ f.flush()
62
+ meta = init_sanctum.parse_frontmatter(Path(f.name))
63
+ assert meta == {}
64
+ Path(f.name).unlink()
65
+
66
+
67
+ def test_substitute_vars():
68
+ """Test variable substitution in content strings."""
69
+ content = "Hello {user_name}, born on {birth_date}."
70
+ variables = {"user_name": "TestUser", "birth_date": "2026-04-05"}
71
+ result = init_sanctum.substitute_vars(content, variables)
72
+ assert result == "Hello TestUser, born on 2026-04-05."
73
+
74
+
75
+ def test_substitute_vars_no_match():
76
+ """Test that unmatched placeholders are left as-is."""
77
+ content = "Hello {unknown_var}."
78
+ result = init_sanctum.substitute_vars(content, {"user_name": "Test"})
79
+ assert result == "Hello {unknown_var}."
80
+
81
+
82
+ def test_generate_capabilities_md_evolvable():
83
+ """Test capabilities markdown generation with evolvable enabled."""
84
+ caps = [{"name": "test", "description": "A test", "code": "TS", "source": "./references/test.md"}]
85
+ result = init_sanctum.generate_capabilities_md(caps, evolvable=True)
86
+ assert "## Learned" in result
87
+ assert "How to Add a Capability" in result
88
+ assert "[TS]" in result
89
+
90
+
91
+ def test_generate_capabilities_md_not_evolvable():
92
+ """Test capabilities markdown generation without evolvable."""
93
+ caps = [{"name": "test", "description": "A test", "code": "TS", "source": "./references/test.md"}]
94
+ result = init_sanctum.generate_capabilities_md(caps, evolvable=False)
95
+ assert "## Learned" not in result
96
+ assert "[TS]" in result
97
+
98
+
99
+ def test_sanctum_creation():
100
+ """Test full sanctum creation in a temp directory."""
101
+ with tempfile.TemporaryDirectory() as tmpdir:
102
+ project_root = Path(tmpdir)
103
+ skill_path = project_root / "skill"
104
+
105
+ # Create minimal skill structure
106
+ bmad_dir = project_root / "_bmad"
107
+ bmad_dir.mkdir()
108
+ (bmad_dir / "config.yaml").write_text("document_output_language: English\n")
109
+ (bmad_dir / "config.user.yaml").write_text("user_name: Tester\ncommunication_language: English\n")
110
+
111
+ # Create skill dirs
112
+ refs_dir = skill_path / "references"
113
+ refs_dir.mkdir(parents=True)
114
+ assets_dir = skill_path / "assets"
115
+ assets_dir.mkdir(parents=True)
116
+ scripts_dir = skill_path / "scripts"
117
+ scripts_dir.mkdir(parents=True)
118
+
119
+ # Create a capability reference
120
+ (refs_dir / "test-cap.md").write_text(
121
+ "---\nname: test-cap\ndescription: Test capability\ncode: TC\n---\n\n# Test\n"
122
+ )
123
+
124
+ # Create minimal templates
125
+ for tmpl in init_sanctum.TEMPLATE_FILES:
126
+ (assets_dir / tmpl).write_text(f"# Template {tmpl}\nUser: {{user_name}}\nBorn: {{birth_date}}\n")
127
+
128
+ # Run the sanctum creation logic
129
+ sanctum_path = bmad_dir / "memory" / init_sanctum.SANCTUM_DIR
130
+
131
+ # Simulate main() logic
132
+ sanctum_path.mkdir(parents=True, exist_ok=True)
133
+ (sanctum_path / "capabilities").mkdir(exist_ok=True)
134
+ (sanctum_path / "sessions").mkdir(exist_ok=True)
135
+
136
+ # Verify structure
137
+ assert sanctum_path.exists()
138
+ assert (sanctum_path / "capabilities").exists()
139
+ assert (sanctum_path / "sessions").exists()
140
+
141
+
142
+ def run_tests():
143
+ """Run all tests and report results."""
144
+ tests = [
145
+ test_parse_yaml_config_basic,
146
+ test_parse_yaml_config_missing_file,
147
+ test_parse_yaml_config_quoted_values,
148
+ test_parse_frontmatter,
149
+ test_parse_frontmatter_no_frontmatter,
150
+ test_substitute_vars,
151
+ test_substitute_vars_no_match,
152
+ test_generate_capabilities_md_evolvable,
153
+ test_generate_capabilities_md_not_evolvable,
154
+ test_sanctum_creation,
155
+ ]
156
+
157
+ passed = 0
158
+ failed = 0
159
+ for test in tests:
160
+ try:
161
+ test()
162
+ passed += 1
163
+ print(f" PASS: {test.__name__}")
164
+ except Exception as e:
165
+ failed += 1
166
+ print(f" FAIL: {test.__name__} — {e}")
167
+
168
+ print(f"\n{passed} passed, {failed} failed")
169
+ return failed == 0
170
+
171
+
172
+ if __name__ == "__main__":
173
+ success = run_tests()
174
+ sys.exit(0 if success else 1)
@@ -0,0 +1,277 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ First Breath — Deterministic sanctum scaffolding.
4
+
5
+ This script runs BEFORE the conversational awakening. It creates the sanctum
6
+ folder structure, copies template files with config values substituted,
7
+ copies all capability files and their supporting references into the sanctum,
8
+ and auto-generates CAPABILITIES.md from capability prompt frontmatter.
9
+
10
+ After this script runs, the sanctum is fully self-contained — the agent does
11
+ not depend on the skill bundle location for normal operation.
12
+
13
+ Usage:
14
+ python3 init-sanctum.py <project-root> <skill-path>
15
+
16
+ project-root: The root of the project (where _bmad/ lives)
17
+ skill-path: Path to the skill directory (where SKILL.md, references/, assets/ live)
18
+ """
19
+
20
+ import sys
21
+ import re
22
+ import shutil
23
+ from datetime import date
24
+ from pathlib import Path
25
+
26
+ # --- Agent-specific configuration (set by builder) ---
27
+
28
+ SKILL_NAME = "{skillName}"
29
+ SANCTUM_DIR = SKILL_NAME
30
+
31
+ # Files that stay in the skill bundle (only used during First Breath)
32
+ SKILL_ONLY_FILES = {"{skill-only-files}"}
33
+
34
+ TEMPLATE_FILES = [
35
+ {template-files-list}
36
+ ]
37
+
38
+ # Whether the owner can teach this agent new capabilities
39
+ EVOLVABLE = {evolvable}
40
+
41
+ # --- End agent-specific configuration ---
42
+
43
+
44
+ def parse_yaml_config(config_path: Path) -> dict:
45
+ """Simple YAML key-value parser. Handles top-level scalar values only."""
46
+ config = {}
47
+ if not config_path.exists():
48
+ return config
49
+ with open(config_path) as f:
50
+ for line in f:
51
+ line = line.strip()
52
+ if not line or line.startswith("#"):
53
+ continue
54
+ if ":" in line:
55
+ key, _, value = line.partition(":")
56
+ value = value.strip().strip("'\"")
57
+ if value:
58
+ config[key.strip()] = value
59
+ return config
60
+
61
+
62
+ def parse_frontmatter(file_path: Path) -> dict:
63
+ """Extract YAML frontmatter from a markdown file."""
64
+ meta = {}
65
+ with open(file_path) as f:
66
+ content = f.read()
67
+
68
+ match = re.match(r"^---\s*\n(.*?)\n---", content, re.DOTALL)
69
+ if not match:
70
+ return meta
71
+
72
+ for line in match.group(1).strip().split("\n"):
73
+ if ":" in line:
74
+ key, _, value = line.partition(":")
75
+ meta[key.strip()] = value.strip().strip("'\"")
76
+ return meta
77
+
78
+
79
+ def copy_references(source_dir: Path, dest_dir: Path) -> list[str]:
80
+ """Copy all reference files (except skill-only files) into the sanctum."""
81
+ dest_dir.mkdir(parents=True, exist_ok=True)
82
+ copied = []
83
+
84
+ for source_file in sorted(source_dir.iterdir()):
85
+ if source_file.name in SKILL_ONLY_FILES:
86
+ continue
87
+ if source_file.is_file():
88
+ shutil.copy2(source_file, dest_dir / source_file.name)
89
+ copied.append(source_file.name)
90
+
91
+ return copied
92
+
93
+
94
+ def copy_scripts(source_dir: Path, dest_dir: Path) -> list[str]:
95
+ """Copy any scripts the capabilities might use into the sanctum."""
96
+ if not source_dir.exists():
97
+ return []
98
+ dest_dir.mkdir(parents=True, exist_ok=True)
99
+ copied = []
100
+
101
+ for source_file in sorted(source_dir.iterdir()):
102
+ if source_file.is_file() and source_file.name != "init-sanctum.py":
103
+ shutil.copy2(source_file, dest_dir / source_file.name)
104
+ copied.append(source_file.name)
105
+
106
+ return copied
107
+
108
+
109
+ def discover_capabilities(references_dir: Path, sanctum_refs_path: str) -> list[dict]:
110
+ """Scan references/ for capability prompt files with frontmatter."""
111
+ capabilities = []
112
+
113
+ for md_file in sorted(references_dir.glob("*.md")):
114
+ if md_file.name in SKILL_ONLY_FILES:
115
+ continue
116
+ meta = parse_frontmatter(md_file)
117
+ if meta.get("name") and meta.get("code"):
118
+ capabilities.append({
119
+ "name": meta["name"],
120
+ "description": meta.get("description", ""),
121
+ "code": meta["code"],
122
+ "source": f"{sanctum_refs_path}/{md_file.name}",
123
+ })
124
+ return capabilities
125
+
126
+
127
+ def generate_capabilities_md(capabilities: list[dict], evolvable: bool) -> str:
128
+ """Generate CAPABILITIES.md content from discovered capabilities."""
129
+ lines = [
130
+ "# Capabilities",
131
+ "",
132
+ "## Built-in",
133
+ "",
134
+ "| Code | Name | Description | Source |",
135
+ "|------|------|-------------|--------|",
136
+ ]
137
+ for cap in capabilities:
138
+ lines.append(
139
+ f"| [{cap['code']}] | {cap['name']} | {cap['description']} | `{cap['source']}` |"
140
+ )
141
+
142
+ if evolvable:
143
+ lines.extend([
144
+ "",
145
+ "## Learned",
146
+ "",
147
+ "_Capabilities added by the owner over time. Prompts live in `capabilities/`._",
148
+ "",
149
+ "| Code | Name | Description | Source | Added |",
150
+ "|------|------|-------------|--------|-------|",
151
+ "",
152
+ "## How to Add a Capability",
153
+ "",
154
+ 'Tell me "I want you to be able to do X" and we\'ll create it together.',
155
+ "I'll write the prompt, save it to `capabilities/`, and register it here.",
156
+ "Next session, I'll know how.",
157
+ "Load `./references/capability-authoring.md` for the full creation framework.",
158
+ ])
159
+
160
+ lines.extend([
161
+ "",
162
+ "## Tools",
163
+ "",
164
+ "Prefer crafting your own tools over depending on external ones. A script you wrote "
165
+ "and saved is more reliable than an external API. Use the file system creatively.",
166
+ "",
167
+ "### User-Provided Tools",
168
+ "",
169
+ "_MCP servers, APIs, or services the owner has made available. Document them here._",
170
+ ])
171
+
172
+ return "\n".join(lines) + "\n"
173
+
174
+
175
+ def substitute_vars(content: str, variables: dict) -> str:
176
+ """Replace {var_name} placeholders with values from the variables dict."""
177
+ for key, value in variables.items():
178
+ content = content.replace(f"{{{key}}}", value)
179
+ return content
180
+
181
+
182
+ def main():
183
+ if len(sys.argv) < 3:
184
+ print("Usage: python3 init-sanctum.py <project-root> <skill-path>")
185
+ sys.exit(1)
186
+
187
+ project_root = Path(sys.argv[1]).resolve()
188
+ skill_path = Path(sys.argv[2]).resolve()
189
+
190
+ # Paths
191
+ bmad_dir = project_root / "_bmad"
192
+ memory_dir = bmad_dir / "memory"
193
+ sanctum_path = memory_dir / SANCTUM_DIR
194
+ assets_dir = skill_path / "assets"
195
+ references_dir = skill_path / "references"
196
+ scripts_dir = skill_path / "scripts"
197
+
198
+ # Sanctum subdirectories
199
+ sanctum_refs = sanctum_path / "references"
200
+ sanctum_scripts = sanctum_path / "scripts"
201
+
202
+ # Fully qualified path for CAPABILITIES.md references
203
+ sanctum_refs_path = "./references"
204
+
205
+ # Check if sanctum already exists
206
+ if sanctum_path.exists():
207
+ print(f"Sanctum already exists at {sanctum_path}")
208
+ print("This agent has already been born. Skipping First Breath scaffolding.")
209
+ sys.exit(0)
210
+
211
+ # Load config
212
+ config = {}
213
+ for config_file in ["config.yaml", "config.user.yaml"]:
214
+ config.update(parse_yaml_config(bmad_dir / config_file))
215
+
216
+ # Build variable substitution map
217
+ today = date.today().isoformat()
218
+ variables = {
219
+ "user_name": config.get("user_name", "friend"),
220
+ "communication_language": config.get("communication_language", "English"),
221
+ "birth_date": today,
222
+ "project_root": str(project_root),
223
+ "sanctum_path": str(sanctum_path),
224
+ }
225
+
226
+ # Create sanctum structure
227
+ sanctum_path.mkdir(parents=True, exist_ok=True)
228
+ (sanctum_path / "capabilities").mkdir(exist_ok=True)
229
+ (sanctum_path / "sessions").mkdir(exist_ok=True)
230
+ print(f"Created sanctum at {sanctum_path}")
231
+
232
+ # Copy reference files (capabilities + techniques + guidance) into sanctum
233
+ copied_refs = copy_references(references_dir, sanctum_refs)
234
+ print(f" Copied {len(copied_refs)} reference files to sanctum/references/")
235
+ for name in copied_refs:
236
+ print(f" - {name}")
237
+
238
+ # Copy any supporting scripts into sanctum
239
+ copied_scripts = copy_scripts(scripts_dir, sanctum_scripts)
240
+ if copied_scripts:
241
+ print(f" Copied {len(copied_scripts)} scripts to sanctum/scripts/")
242
+ for name in copied_scripts:
243
+ print(f" - {name}")
244
+
245
+ # Copy and substitute template files
246
+ for template_name in TEMPLATE_FILES:
247
+ template_path = assets_dir / template_name
248
+ if not template_path.exists():
249
+ print(f" Warning: template {template_name} not found, skipping")
250
+ continue
251
+
252
+ # Remove "-template" from the output filename and uppercase it
253
+ output_name = template_name.replace("-template", "").upper()
254
+ # Fix extension casing: .MD -> .md
255
+ output_name = output_name[:-3] + ".md"
256
+
257
+ content = template_path.read_text()
258
+ content = substitute_vars(content, variables)
259
+
260
+ output_path = sanctum_path / output_name
261
+ output_path.write_text(content)
262
+ print(f" Created {output_name}")
263
+
264
+ # Auto-generate CAPABILITIES.md from references/ frontmatter
265
+ capabilities = discover_capabilities(references_dir, sanctum_refs_path)
266
+ capabilities_content = generate_capabilities_md(capabilities, evolvable=EVOLVABLE)
267
+ (sanctum_path / "CAPABILITIES.md").write_text(capabilities_content)
268
+ print(f" Created CAPABILITIES.md ({len(capabilities)} built-in capabilities discovered)")
269
+
270
+ print()
271
+ print("First Breath scaffolding complete.")
272
+ print("The conversational awakening can now begin.")
273
+ print(f"Sanctum: {sanctum_path}")
274
+
275
+
276
+ if __name__ == "__main__":
277
+ main()