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,563 @@
1
+ # API Request Utility
2
+
3
+ ## Principle
4
+
5
+ Use typed HTTP client with built-in schema validation and automatic retry for server errors. The utility handles URL resolution, header management, response parsing, and single-line response validation with proper TypeScript support. **Works without a browser** - ideal for pure API/service testing.
6
+
7
+ ## Rationale
8
+
9
+ Vanilla Playwright's request API requires boilerplate for common patterns:
10
+
11
+ - Manual JSON parsing (`await response.json()`)
12
+ - Repetitive status code checking
13
+ - No built-in retry logic for transient failures
14
+ - No schema validation
15
+ - Complex URL construction
16
+
17
+ The `apiRequest` utility provides:
18
+
19
+ - **Automatic JSON parsing**: Response body pre-parsed
20
+ - **Built-in retry**: 5xx errors retry with exponential backoff
21
+ - **Schema validation**: Single-line validation (JSON Schema, Zod, OpenAPI)
22
+ - **URL resolution**: Four-tier strategy (explicit > config > Playwright > direct)
23
+ - **TypeScript generics**: Type-safe response bodies
24
+ - **No browser required**: Pure API testing without browser overhead
25
+
26
+ ## Pattern Examples
27
+
28
+ ### Example 1: Basic API Request
29
+
30
+ **Context**: Making authenticated API requests with automatic retry and type safety.
31
+
32
+ **Implementation**:
33
+
34
+ ```typescript
35
+ import { test } from '@seontechnologies/playwright-utils/api-request/fixtures';
36
+
37
+ test('should fetch user data', async ({ apiRequest }) => {
38
+ const { status, body } = await apiRequest<User>({
39
+ method: 'GET',
40
+ path: '/api/users/123',
41
+ headers: { Authorization: 'Bearer token' },
42
+ });
43
+
44
+ expect(status).toBe(200);
45
+ expect(body.name).toBe('John Doe'); // TypeScript knows body is User
46
+ });
47
+ ```
48
+
49
+ **Key Points**:
50
+
51
+ - Generic type `<User>` provides TypeScript autocomplete for `body`
52
+ - Status and body destructured from response
53
+ - Headers passed as object
54
+ - Automatic retry for 5xx errors (configurable)
55
+
56
+ ### Example 2: Schema Validation (Single Line)
57
+
58
+ **Context**: Validate API responses match expected schema with single-line syntax.
59
+
60
+ **Implementation**:
61
+
62
+ ```typescript
63
+ import { test } from '@seontechnologies/playwright-utils/api-request/fixtures';
64
+ import { z } from 'zod';
65
+
66
+ // JSON Schema validation
67
+ test('should validate response schema (JSON Schema)', async ({ apiRequest }) => {
68
+ const { status, body } = await apiRequest({
69
+ method: 'GET',
70
+ path: '/api/users/123',
71
+ validateSchema: {
72
+ type: 'object',
73
+ required: ['id', 'name', 'email'],
74
+ properties: {
75
+ id: { type: 'string' },
76
+ name: { type: 'string' },
77
+ email: { type: 'string', format: 'email' },
78
+ },
79
+ },
80
+ });
81
+ // Throws if schema validation fails
82
+ expect(status).toBe(200);
83
+ });
84
+
85
+ // Zod schema validation
86
+ const UserSchema = z.object({
87
+ id: z.string(),
88
+ name: z.string(),
89
+ email: z.string().email(),
90
+ });
91
+
92
+ test('should validate response schema (Zod)', async ({ apiRequest }) => {
93
+ const { status, body } = await apiRequest({
94
+ method: 'GET',
95
+ path: '/api/users/123',
96
+ validateSchema: UserSchema,
97
+ });
98
+ // Response body is type-safe AND validated
99
+ expect(status).toBe(200);
100
+ expect(body.email).toContain('@');
101
+ });
102
+ ```
103
+
104
+ **Key Points**:
105
+
106
+ - Single `validateSchema` parameter
107
+ - Supports JSON Schema, Zod, YAML files, OpenAPI specs
108
+ - Throws on validation failure with detailed errors
109
+ - Zero boilerplate validation code
110
+
111
+ ### Example 3: POST with Body and Retry Configuration
112
+
113
+ **Context**: Creating resources with custom retry behavior for error testing.
114
+
115
+ **Implementation**:
116
+
117
+ ```typescript
118
+ test('should create user', async ({ apiRequest }) => {
119
+ const newUser = {
120
+ name: 'Jane Doe',
121
+ email: 'jane@example.com',
122
+ };
123
+
124
+ const { status, body } = await apiRequest({
125
+ method: 'POST',
126
+ path: '/api/users',
127
+ body: newUser, // Automatically sent as JSON
128
+ headers: { Authorization: 'Bearer token' },
129
+ });
130
+
131
+ expect(status).toBe(201);
132
+ expect(body.id).toBeDefined();
133
+ });
134
+
135
+ // Disable retry for error testing
136
+ test('should handle 500 errors', async ({ apiRequest }) => {
137
+ await expect(
138
+ apiRequest({
139
+ method: 'GET',
140
+ path: '/api/error',
141
+ retryConfig: { maxRetries: 0 }, // Disable retry
142
+ }),
143
+ ).rejects.toThrow('Request failed with status 500');
144
+ });
145
+ ```
146
+
147
+ **Key Points**:
148
+
149
+ - `body` parameter auto-serializes to JSON
150
+ - Default retry: 5xx errors, 3 retries, exponential backoff
151
+ - Disable retry with `retryConfig: { maxRetries: 0 }`
152
+ - Only 5xx errors retry (4xx errors fail immediately)
153
+
154
+ ### Example 4: URL Resolution Strategy
155
+
156
+ **Context**: Flexible URL handling for different environments and test contexts.
157
+
158
+ **Implementation**:
159
+
160
+ ```typescript
161
+ // Strategy 1: Explicit baseUrl (highest priority)
162
+ await apiRequest({
163
+ method: 'GET',
164
+ path: '/users',
165
+ baseUrl: 'https://api.example.com', // Uses https://api.example.com/users
166
+ });
167
+
168
+ // Strategy 2: Config baseURL (from fixture)
169
+ import { test } from '@seontechnologies/playwright-utils/api-request/fixtures';
170
+
171
+ test.use({ configBaseUrl: 'https://staging-api.example.com' });
172
+
173
+ test('uses config baseURL', async ({ apiRequest }) => {
174
+ await apiRequest({
175
+ method: 'GET',
176
+ path: '/users', // Uses https://staging-api.example.com/users
177
+ });
178
+ });
179
+
180
+ // Strategy 3: Playwright baseURL (from playwright.config.ts)
181
+ // playwright.config.ts
182
+ export default defineConfig({
183
+ use: {
184
+ baseURL: 'https://api.example.com',
185
+ },
186
+ });
187
+
188
+ test('uses Playwright baseURL', async ({ apiRequest }) => {
189
+ await apiRequest({
190
+ method: 'GET',
191
+ path: '/users', // Uses https://api.example.com/users
192
+ });
193
+ });
194
+
195
+ // Strategy 4: Direct path (full URL)
196
+ await apiRequest({
197
+ method: 'GET',
198
+ path: 'https://api.example.com/users', // Full URL works too
199
+ });
200
+ ```
201
+
202
+ **Key Points**:
203
+
204
+ - Four-tier resolution: explicit > config > Playwright > direct
205
+ - Trailing slashes normalized automatically
206
+ - Environment-specific baseUrl easy to configure
207
+
208
+ ### Example 5: Integration with Recurse (Polling)
209
+
210
+ **Context**: Waiting for async operations to complete (background jobs, eventual consistency).
211
+
212
+ **Implementation**:
213
+
214
+ ```typescript
215
+ import { test } from '@seontechnologies/playwright-utils/fixtures';
216
+
217
+ test('should poll until job completes', async ({ apiRequest, recurse }) => {
218
+ // Create job
219
+ const { body } = await apiRequest({
220
+ method: 'POST',
221
+ path: '/api/jobs',
222
+ body: { type: 'export' },
223
+ });
224
+
225
+ const jobId = body.id;
226
+
227
+ // Poll until ready
228
+ const completedJob = await recurse(
229
+ () => apiRequest({ method: 'GET', path: `/api/jobs/${jobId}` }),
230
+ (response) => response.body.status === 'completed',
231
+ { timeout: 60000, interval: 2000 },
232
+ );
233
+
234
+ expect(completedJob.body.result).toBeDefined();
235
+ });
236
+ ```
237
+
238
+ **Key Points**:
239
+
240
+ - `apiRequest` returns full response object
241
+ - `recurse` polls until predicate returns true
242
+ - Composable utilities work together seamlessly
243
+
244
+ ### Example 6: Microservice Testing (Multiple Services)
245
+
246
+ **Context**: Test interactions between microservices without a browser.
247
+
248
+ **Implementation**:
249
+
250
+ ```typescript
251
+ import { test, expect } from '@seontechnologies/playwright-utils/fixtures';
252
+
253
+ const USER_SERVICE = process.env.USER_SERVICE_URL || 'http://localhost:3001';
254
+ const ORDER_SERVICE = process.env.ORDER_SERVICE_URL || 'http://localhost:3002';
255
+
256
+ test.describe('Microservice Integration', () => {
257
+ test('should validate cross-service user lookup', async ({ apiRequest }) => {
258
+ // Create user in user-service
259
+ const { body: user } = await apiRequest({
260
+ method: 'POST',
261
+ path: '/api/users',
262
+ baseUrl: USER_SERVICE,
263
+ body: { name: 'Test User', email: 'test@example.com' },
264
+ });
265
+
266
+ // Create order in order-service (validates user via user-service)
267
+ const { status, body: order } = await apiRequest({
268
+ method: 'POST',
269
+ path: '/api/orders',
270
+ baseUrl: ORDER_SERVICE,
271
+ body: {
272
+ userId: user.id,
273
+ items: [{ productId: 'prod-1', quantity: 2 }],
274
+ },
275
+ });
276
+
277
+ expect(status).toBe(201);
278
+ expect(order.userId).toBe(user.id);
279
+ });
280
+
281
+ test('should reject order for invalid user', async ({ apiRequest }) => {
282
+ const { status, body } = await apiRequest({
283
+ method: 'POST',
284
+ path: '/api/orders',
285
+ baseUrl: ORDER_SERVICE,
286
+ body: {
287
+ userId: 'non-existent-user',
288
+ items: [{ productId: 'prod-1', quantity: 1 }],
289
+ },
290
+ });
291
+
292
+ expect(status).toBe(400);
293
+ expect(body.code).toBe('INVALID_USER');
294
+ });
295
+ });
296
+ ```
297
+
298
+ **Key Points**:
299
+
300
+ - Test multiple services without browser
301
+ - Use `baseUrl` to target different services
302
+ - Validate cross-service communication
303
+ - Pure API testing - fast and reliable
304
+
305
+ ### Example 7: GraphQL API Testing
306
+
307
+ **Context**: Test GraphQL endpoints with queries and mutations.
308
+
309
+ **Implementation**:
310
+
311
+ ```typescript
312
+ test.describe('GraphQL API', () => {
313
+ const GRAPHQL_ENDPOINT = '/graphql';
314
+
315
+ test('should query users via GraphQL', async ({ apiRequest }) => {
316
+ const query = `
317
+ query GetUsers($limit: Int) {
318
+ users(limit: $limit) {
319
+ id
320
+ name
321
+ email
322
+ }
323
+ }
324
+ `;
325
+
326
+ const { status, body } = await apiRequest({
327
+ method: 'POST',
328
+ path: GRAPHQL_ENDPOINT,
329
+ body: {
330
+ query,
331
+ variables: { limit: 10 },
332
+ },
333
+ });
334
+
335
+ expect(status).toBe(200);
336
+ expect(body.errors).toBeUndefined();
337
+ expect(body.data.users).toHaveLength(10);
338
+ });
339
+
340
+ test('should create user via mutation', async ({ apiRequest }) => {
341
+ const mutation = `
342
+ mutation CreateUser($input: CreateUserInput!) {
343
+ createUser(input: $input) {
344
+ id
345
+ name
346
+ }
347
+ }
348
+ `;
349
+
350
+ const { status, body } = await apiRequest({
351
+ method: 'POST',
352
+ path: GRAPHQL_ENDPOINT,
353
+ body: {
354
+ query: mutation,
355
+ variables: {
356
+ input: { name: 'GraphQL User', email: 'gql@example.com' },
357
+ },
358
+ },
359
+ });
360
+
361
+ expect(status).toBe(200);
362
+ expect(body.data.createUser.id).toBeDefined();
363
+ });
364
+ });
365
+ ```
366
+
367
+ **Key Points**:
368
+
369
+ - GraphQL via POST request
370
+ - Variables in request body
371
+ - Check `body.errors` for GraphQL errors (not status code)
372
+ - Works for queries and mutations
373
+
374
+ ### Example 8: Operation-Based Overload (OpenAPI / Code Generators)
375
+
376
+ **Context**: When using a code generator (orval, openapi-generator, custom scripts) that produces typed operation definitions from an OpenAPI spec, pass the operation object directly to `apiRequest`. This eliminates manual `method`/`path` extraction and `typeof` assertions while preserving full type inference for request body, response, and query parameters. Available since v3.14.0.
377
+
378
+ **Implementation**:
379
+
380
+ ```typescript
381
+ // Generated operation definition — structural typing, no import from playwright-utils needed
382
+ // type OperationShape = { path: string; method: 'POST'|'GET'|'PUT'|'DELETE'|'PATCH'|'HEAD'; response: unknown; request: unknown; query?: unknown }
383
+
384
+ import { test, expect } from '@seontechnologies/playwright-utils/api-request/fixtures';
385
+
386
+ // --- Basic usage: operation replaces method + path ---
387
+ test('should upsert person via operation overload', async ({ apiRequest }) => {
388
+ const { status, body } = await apiRequest({
389
+ operation: upsertPersonv2({ customerId }),
390
+ headers: getHeaders(customerId),
391
+ body: personInput, // compile-time typed as Schemas.PersonInput
392
+ });
393
+
394
+ expect(status).toBe(200);
395
+ expect(body.id).toBeDefined(); // body typed as Schemas.Person
396
+ });
397
+
398
+ // --- Typed query parameters (replaces string concatenation) ---
399
+ test('should list people with typed query', async ({ apiRequest }) => {
400
+ const { body } = await apiRequest({
401
+ operation: getPeoplev2({ customerId }),
402
+ headers: getHeaders(customerId),
403
+ query: { page: 0, page_size: 5 }, // typed from operation's query definition
404
+ });
405
+
406
+ expect(body.items).toHaveLength(5);
407
+ });
408
+
409
+ // --- Params escape hatch (pre-formatted query strings) ---
410
+ test('should fetch billing history with raw params', async ({ apiRequest }) => {
411
+ const { body } = await apiRequest({
412
+ operation: getBillingHistoryv2({ customerId }),
413
+ headers: getHeaders(customerId),
414
+ params: {
415
+ 'filters[start_date]': getThisMonthTimestamp(),
416
+ 'filters[date_type]': 'MONTH',
417
+ },
418
+ });
419
+
420
+ expect(body.entries.length).toBeGreaterThan(0);
421
+ });
422
+
423
+ // --- Works with recurse (polling) ---
424
+ test('should poll until person is reviewed', async ({ apiRequest, recurse }) => {
425
+ await recurse(
426
+ async () =>
427
+ apiRequest({
428
+ operation: getPersonv2({ customerId, hash }),
429
+ headers: getHeaders(customerId),
430
+ }),
431
+ (res) => {
432
+ expect(res.status).toBe(200);
433
+ expect(res.body.status).toBe('REVIEWED');
434
+ },
435
+ { timeout: 30000, interval: 1000 },
436
+ );
437
+ });
438
+
439
+ // --- Schema validation chains work identically ---
440
+ test('should create movie with schema validation', async ({ apiRequest }) => {
441
+ const { body } = await apiRequest({
442
+ operation: createMovieOp,
443
+ headers: commonHeaders(authToken),
444
+ body: movie,
445
+ }).validateSchema(CreateMovieResponseSchema, {
446
+ shape: { status: 200, data: { name: movie.name } },
447
+ });
448
+
449
+ expect(body.data.id).toBeDefined();
450
+ });
451
+ ```
452
+
453
+ **Key Points**:
454
+
455
+ - Pass `operation` instead of `method` + `path` — mutually exclusive at compile time
456
+ - Response body, request body, and query types inferred from operation definition
457
+ - Uses structural typing (duck typing) — works with any code generator producing `{ path, method, response, request, query? }`
458
+ - `query` field auto-serializes to bracket notation (`filters[type]=pep`, `ids[0]=10`)
459
+ - `params` escape hatch for pre-formatted strings — wins over `query` on conflict
460
+ - Fully composable with `recurse`, `validateSchema`, and all existing features
461
+ - `response`/`request`/`query` on the operation are type-level only — runtime never reads their values
462
+
463
+ ## Comparison with Vanilla Playwright
464
+
465
+ | Vanilla Playwright | playwright-utils apiRequest |
466
+ | ---------------------------------------------- | ---------------------------------------------------------------------------------- |
467
+ | `const resp = await request.get('/api/users')` | `const { status, body } = await apiRequest({ method: 'GET', path: '/api/users' })` |
468
+ | `const body = await resp.json()` | Response already parsed |
469
+ | `expect(resp.ok()).toBeTruthy()` | Status code directly accessible |
470
+ | No retry logic | Auto-retry 5xx errors with backoff |
471
+ | No schema validation | Built-in multi-format validation |
472
+ | Manual error handling | Descriptive error messages |
473
+
474
+ ## When to Use
475
+
476
+ **Use apiRequest for:**
477
+
478
+ - ✅ Pure API/service testing (no browser needed)
479
+ - ✅ Microservice integration testing
480
+ - ✅ GraphQL API testing
481
+ - ✅ Schema validation needs
482
+ - ✅ Tests requiring retry logic
483
+ - ✅ Background API calls in UI tests
484
+ - ✅ Contract testing support
485
+ - ✅ Type-safe API testing with OpenAPI-generated operations (v3.14.0+)
486
+
487
+ **Stick with vanilla Playwright for:**
488
+
489
+ - Simple one-off requests where utility overhead isn't worth it
490
+ - Testing Playwright's native features specifically
491
+ - Legacy tests where migration isn't justified
492
+
493
+ ## Related Fragments
494
+
495
+ - `api-testing-patterns.md` - Comprehensive pure API testing patterns
496
+ - `overview.md` - Installation and design principles
497
+ - `auth-session.md` - Authentication token management
498
+ - `recurse.md` - Polling for async operations
499
+ - `fixtures-composition.md` - Combining utilities with mergeTests
500
+ - `log.md` - Logging API requests
501
+ - `contract-testing.md` - Pact contract testing
502
+
503
+ ## Anti-Patterns
504
+
505
+ **❌ Ignoring retry failures:**
506
+
507
+ ```typescript
508
+ try {
509
+ await apiRequest({ method: 'GET', path: '/api/unstable' });
510
+ } catch {
511
+ // Silent failure - loses retry information
512
+ }
513
+ ```
514
+
515
+ **✅ Let retries happen, handle final failure:**
516
+
517
+ ```typescript
518
+ await expect(apiRequest({ method: 'GET', path: '/api/unstable' })).rejects.toThrow(); // Retries happen automatically, then final error caught
519
+ ```
520
+
521
+ **❌ Disabling TypeScript benefits:**
522
+
523
+ ```typescript
524
+ const response: any = await apiRequest({ method: 'GET', path: '/users' });
525
+ ```
526
+
527
+ **✅ Use generic types:**
528
+
529
+ ```typescript
530
+ const { body } = await apiRequest<User[]>({ method: 'GET', path: '/users' });
531
+ // body is typed as User[]
532
+ ```
533
+
534
+ **❌ Mixing operation overload with explicit generics:**
535
+
536
+ ```typescript
537
+ // Don't pass a generic when using operation — types are inferred from the operation
538
+ const { body } = await apiRequest<MyType>({
539
+ operation: getPersonv2({ customerId }),
540
+ headers: getHeaders(customerId),
541
+ });
542
+ ```
543
+
544
+ **✅ Let the operation infer the types:**
545
+
546
+ ```typescript
547
+ const { body } = await apiRequest({
548
+ operation: getPersonv2({ customerId }),
549
+ headers: getHeaders(customerId),
550
+ });
551
+ // body type inferred from operation.response
552
+ ```
553
+
554
+ **❌ Mixing operation with method/path:**
555
+
556
+ ```typescript
557
+ // Compile error — operation and method/path are mutually exclusive
558
+ await apiRequest({
559
+ operation: getPersonv2({ customerId }),
560
+ method: 'GET', // Error: method?: never
561
+ path: '/api/person', // Error: path?: never
562
+ });
563
+ ```