bmad-method-test-architecture-enterprise 2.0.4-next.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/.claude-plugin/marketplace.json +10 -10
  2. package/README.md +28 -13
  3. package/cli/atdd-red-check.js +1 -1
  4. package/cli/atdd-runner.js +1 -1
  5. package/cli/automate.js +3 -3
  6. package/cli/ci-runner.js +1 -1
  7. package/cli/lib/automate-prompt.js +1 -1
  8. package/cli/lib/framework-setup.js +2 -2
  9. package/cli/lib/resolve-skill.js +2 -2
  10. package/cli/lib/resolve-tea-config.js +42 -5
  11. package/cli/lib/test-design-parser.js +1 -1
  12. package/cli/lib/workflow-cli.js +5 -1
  13. package/cli/migrate-customizations.js +254 -0
  14. package/cli/nfr-runner.js +1 -1
  15. package/cli/nfr.js +2 -2
  16. package/cli/teach.js +4 -4
  17. package/cli/test-design.js +2 -2
  18. package/cli/test-review.js +3 -3
  19. package/cli/trace.js +2 -2
  20. package/cli/transcript-runner.js +1 -1
  21. package/package.json +5 -3
  22. package/skills/bmad-tea/SKILL.md +4 -2
  23. package/skills/bmad-tea/customize.toml +10 -10
  24. package/skills/{bmad-testarch-automate → bmad-tea-automate}/SKILL.md +3 -1
  25. package/skills/{bmad-testarch-automate → bmad-tea-automate}/checklist.md +1 -1
  26. package/skills/{bmad-testarch-nfr → bmad-tea-automate}/customize.toml +1 -1
  27. package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/customize.toml +1 -1
  28. package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/instructions.md +1 -1
  29. package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/workflow.yaml +2 -2
  30. package/skills/{bmad-testarch-automate → bmad-tea-automate}/resources/test-generation-routing.md +14 -14
  31. package/skills/{bmad-testarch-automate → bmad-tea-automate}/workflow.yaml +2 -2
  32. package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/SKILL.md +4 -2
  33. package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/inspection-record.md +1 -1
  34. package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/customize.toml +1 -1
  35. package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/ci.md +4 -4
  36. package/skills/{bmad-testarch-framework → bmad-tea-framework}/SKILL.md +5 -3
  37. package/skills/bmad-tea-framework/ci/customize.toml +10 -0
  38. package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/instructions.md +1 -1
  39. package/skills/{bmad-testarch-framework → bmad-tea-framework}/customize.toml +2 -2
  40. package/skills/{bmad-testarch-framework → bmad-tea-framework}/resources/framework-setup-progress.example.md +1 -1
  41. package/skills/{bmad-testarch-framework → bmad-tea-framework}/resources/hooks/tea-enforce.cjs +2 -2
  42. package/skills/{bmad-testarch-framework → bmad-tea-framework}/resources/setup-phase-completion.md +1 -1
  43. package/skills/{bmad-testarch-framework → bmad-tea-framework}/resources/setup-routing.md +3 -3
  44. package/skills/{bmad-testarch-framework → bmad-tea-framework}/resources/setup-run-progress.example.md +1 -1
  45. package/skills/{bmad-testarch-framework → bmad-tea-framework}/steps-c/step-04-docs-and-scripts.md +2 -2
  46. package/skills/{bmad-testarch-framework → bmad-tea-framework}/workflow.yaml +2 -2
  47. package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/SKILL.md +3 -1
  48. package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/checklist.md +3 -3
  49. package/skills/{bmad-testarch-trace → bmad-tea-nfr}/customize.toml +1 -1
  50. package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/instructions.md +1 -1
  51. package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/nfr-report-template.md +3 -3
  52. package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/resources/nfr-assessment.example.md +4 -4
  53. package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/workflow.yaml +2 -2
  54. package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/SKILL.md +3 -1
  55. package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/customize.toml +1 -1
  56. package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/instructions.md +2 -2
  57. package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-04-session-01.md +1 -1
  58. package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-04-session-03.md +2 -2
  59. package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-04-session-05.md +2 -2
  60. package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-e/step-e-02-apply-edits.md +2 -2
  61. package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/SKILL.md +3 -1
  62. package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/checklist.md +3 -3
  63. package/skills/{bmad-testarch-automate → bmad-tea-test-design}/customize.toml +1 -1
  64. package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/resources/test-design-epic-3.example.md +5 -5
  65. package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/test-design-qa-template.md +1 -1
  66. package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/test-design-template.md +3 -3
  67. package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/workflow.yaml +2 -2
  68. package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/SKILL.md +3 -1
  69. package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/customize.toml +1 -1
  70. package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/instructions.md +1 -1
  71. package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/workflow.yaml +2 -2
  72. package/skills/{bmad-testarch-trace → bmad-tea-trace}/SKILL.md +3 -1
  73. package/skills/{bmad-testarch-trace → bmad-tea-trace}/checklist.md +2 -2
  74. package/skills/bmad-tea-trace/customize.toml +38 -0
  75. package/skills/{bmad-testarch-trace → bmad-tea-trace}/instructions.md +1 -1
  76. package/skills/{bmad-testarch-trace → bmad-tea-trace}/resources/traceability-matrix.example.md +1 -1
  77. package/skills/{bmad-testarch-trace → bmad-tea-trace}/steps-c/step-04-analyze-gaps.md +3 -3
  78. package/skills/{bmad-testarch-trace → bmad-tea-trace}/trace-template.md +2 -2
  79. package/skills/{bmad-testarch-trace → bmad-tea-trace}/workflow.yaml +2 -2
  80. package/skills/bmod-tea/bmod.toml +11 -11
  81. package/skills/bmod-tea/help/help.md +10 -10
  82. package/skills/bmod-tea/help/integrations.md +2 -2
  83. package/skills/bmod-tea/knowledge/burn-in.md +1 -1
  84. package/skills/bmod-tea/knowledge/risk-governance.md +1 -1
  85. package/skills/bmod-tea/knowledge/test-healing-patterns.md +1 -1
  86. package/skills/bmod-tea/migration-1.toml +11 -11
  87. package/skills/bmad-testarch-test-design/customize.toml +0 -38
  88. /package/skills/{bmad-teach-me-testing → bmad-tea-automate}/bmod.toml +0 -0
  89. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/instructions.md +0 -0
  90. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/atdd-checklist-template.md +0 -0
  91. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/checklist.md +0 -0
  92. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/resources/atdd-checklist-2-4-guest-checkout.example.md +0 -0
  93. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-c/step-01-preflight-and-context.md +0 -0
  94. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-c/step-01b-resume.md +0 -0
  95. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-c/step-02-generation-mode.md +0 -0
  96. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-c/step-03-test-strategy.md +0 -0
  97. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-c/step-04-generate-tests.md +0 -0
  98. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-c/step-04a-subagent-api-failing.md +0 -0
  99. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-c/step-04b-subagent-e2e-failing.md +0 -0
  100. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-c/step-04c-aggregate.md +0 -0
  101. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-c/step-05-validate-and-complete.md +0 -0
  102. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-e/step-01-assess.md +0 -0
  103. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-e/step-02-apply-edit.md +0 -0
  104. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/red/steps-v/step-01-validate.md +0 -0
  105. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/resources/automation-summary.example.md +0 -0
  106. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/resources/run-and-heal.md +0 -0
  107. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-c/step-01-preflight-and-context.md +0 -0
  108. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-c/step-01b-resume.md +0 -0
  109. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-c/step-02-identify-targets.md +0 -0
  110. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-c/step-03-generate-tests.md +0 -0
  111. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-c/step-03a-subagent-api.md +0 -0
  112. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-c/step-03b-subagent-backend.md +0 -0
  113. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-c/step-03b-subagent-e2e.md +0 -0
  114. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-c/step-03b-subagent-mobile.md +0 -0
  115. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-c/step-03c-aggregate.md +0 -0
  116. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-c/step-04-validate-and-summarize.md +0 -0
  117. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-e/step-01-assess.md +0 -0
  118. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-e/step-02-apply-edit.md +0 -0
  119. /package/skills/{bmad-testarch-automate → bmad-tea-automate}/steps-v/step-01-validate.md +0 -0
  120. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/README.md +0 -0
  121. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/contract.skeleton.json +0 -0
  122. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluation-ci-plan.template.json +0 -0
  123. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluation-folder.gitignore +0 -0
  124. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluation.json +0 -0
  125. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluator-conditions.template.json +0 -0
  126. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluators/LEARNED.md +0 -0
  127. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluators/agentevals-frameworks.json +0 -0
  128. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluators/agentevals-trajectory.mjs +0 -0
  129. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluators/command-evaluator.mjs +0 -0
  130. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluators/frameworks.json +0 -0
  131. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluators/installed-version.mjs +0 -0
  132. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluators/mapping.json +0 -0
  133. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluators/promptfoo-assertions.mjs +0 -0
  134. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/evaluators/promptfoo-frameworks.json +0 -0
  135. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/http-probe-port.conformance.mjs +0 -0
  136. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/http-probe-port.mjs +0 -0
  137. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/requirements-statement.md +0 -0
  138. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/assets/scoring-policy.template.json +0 -0
  139. /package/skills/{bmad-testarch-automate → bmad-tea-evaluate}/bmod.toml +0 -0
  140. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/adapters.md +0 -0
  141. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/authoring-routing.md +0 -0
  142. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/contract.md +0 -0
  143. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/corpus-agent.md +0 -0
  144. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/corpus-ai-feature.md +0 -0
  145. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/corpus-skill.md +0 -0
  146. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/corpus-test-review-mechanism.md +0 -0
  147. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/corpus-tool-use-system.md +0 -0
  148. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/corpus-workflow.md +0 -0
  149. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/corpus.md +0 -0
  150. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/evaluator.md +0 -0
  151. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/gaps.md +0 -0
  152. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/harness.md +0 -0
  153. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/inspection.md +0 -0
  154. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/intake.md +0 -0
  155. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/mutation.md +0 -0
  156. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/oracles.md +0 -0
  157. /package/skills/{bmad-testarch-evaluate → bmad-tea-evaluate}/references/run.md +0 -0
  158. /package/skills/{bmad-testarch-evaluate → bmad-tea-framework}/bmod.toml +0 -0
  159. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/checklist.md +0 -0
  160. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/azure-pipelines-template.yaml +0 -0
  161. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/checklist.md +0 -0
  162. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/github-actions-template.yaml +0 -0
  163. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/gitlab-ci-template.yaml +0 -0
  164. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/harness-pipeline-template.yaml +0 -0
  165. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/jenkins-pipeline-template.groovy +0 -0
  166. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/resources/ci-pipeline-progress.example.md +0 -0
  167. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/steps-c/step-01-preflight.md +0 -0
  168. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/steps-c/step-01b-resume.md +0 -0
  169. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/steps-c/step-02-generate-pipeline.md +0 -0
  170. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/steps-c/step-03-configure-quality-gates.md +0 -0
  171. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/steps-c/step-03b-render-evaluation-plans.md +0 -0
  172. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/steps-c/step-04-validate-and-summary.md +0 -0
  173. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/steps-e/step-01-assess.md +0 -0
  174. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/steps-e/step-02-apply-edit.md +0 -0
  175. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/ci/steps-v/step-01-validate.md +0 -0
  176. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/instructions.md +0 -0
  177. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/resources/setup-parallel.md +0 -0
  178. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/resources/setup-state.md +0 -0
  179. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/steps-c/step-01-preflight.md +0 -0
  180. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/steps-c/step-01b-resume.md +0 -0
  181. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/steps-c/step-02-select-framework.md +0 -0
  182. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/steps-c/step-03-scaffold-framework.md +0 -0
  183. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/steps-c/step-05-validate-and-summary.md +0 -0
  184. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/steps-e/step-01-assess.md +0 -0
  185. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/steps-e/step-02-apply-edit.md +0 -0
  186. /package/skills/{bmad-testarch-framework → bmad-tea-framework}/steps-v/step-01-validate.md +0 -0
  187. /package/skills/{bmad-testarch-framework → bmad-tea-nfr}/bmod.toml +0 -0
  188. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/nfr-status-definitions.md +0 -0
  189. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-01-load-context.md +0 -0
  190. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-01b-resume.md +0 -0
  191. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-02-define-thresholds.md +0 -0
  192. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-03-gather-evidence.md +0 -0
  193. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-04-evaluate-and-score.md +0 -0
  194. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-04a-subagent-security.md +0 -0
  195. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-04b-subagent-performance.md +0 -0
  196. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-04c-subagent-reliability.md +0 -0
  197. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-04d-subagent-maintainability.md +0 -0
  198. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-04e-aggregate-nfr.md +0 -0
  199. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-c/step-05-generate-report.md +0 -0
  200. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-e/step-01-assess.md +0 -0
  201. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-e/step-02-apply-edit.md +0 -0
  202. /package/skills/{bmad-testarch-nfr → bmad-tea-nfr}/steps-v/step-01-validate.md +0 -0
  203. /package/skills/{bmad-testarch-nfr → bmad-tea-teach-me-testing}/bmod.toml +0 -0
  204. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/checklist.md +0 -0
  205. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/data/curriculum.yaml +0 -0
  206. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/data/quiz-questions.yaml +0 -0
  207. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/data/role-paths.yaml +0 -0
  208. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/data/session-content-map.yaml +0 -0
  209. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/data/tea-resources-index.yaml +0 -0
  210. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/resources/tea-completion-summary.example.md +0 -0
  211. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-01-init.md +0 -0
  212. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-01b-continue.md +0 -0
  213. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-02-assess.md +0 -0
  214. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-03-session-menu.md +0 -0
  215. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-04-session-02.md +0 -0
  216. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-04-session-04.md +0 -0
  217. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-04-session-06.md +0 -0
  218. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-04-session-07.md +0 -0
  219. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-c/step-05-completion.md +0 -0
  220. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-e/step-e-01-assess-workflow.md +0 -0
  221. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/steps-v/step-v-01-validate.md +0 -0
  222. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/templates/completion-summary-template.md +0 -0
  223. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/templates/progress-template.yaml +0 -0
  224. /package/skills/{bmad-teach-me-testing → bmad-tea-teach-me-testing}/templates/session-notes-template.md +0 -0
  225. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/bmod.toml +0 -0
  226. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/instructions.md +0 -0
  227. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/steps-c/step-01-detect-mode.md +0 -0
  228. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/steps-c/step-01b-resume.md +0 -0
  229. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/steps-c/step-02-load-context.md +0 -0
  230. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/steps-c/step-03-risk-and-testability.md +0 -0
  231. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/steps-c/step-04-coverage-plan.md +0 -0
  232. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/steps-c/step-05-generate-output.md +0 -0
  233. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/steps-e/step-01-assess.md +0 -0
  234. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/steps-e/step-02-apply-edit.md +0 -0
  235. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/steps-v/step-01-validate.md +0 -0
  236. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/test-design-architecture-template.md +0 -0
  237. /package/skills/{bmad-testarch-test-design → bmad-tea-test-design}/test-design-handoff-template.md +0 -0
  238. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/bmod.toml +0 -0
  239. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/checklist.md +0 -0
  240. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/resources/test-review.example.md +0 -0
  241. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/criteria-registry.md +0 -0
  242. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/step-01-load-context.md +0 -0
  243. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/step-01b-resume.md +0 -0
  244. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/step-02-discover-tests.md +0 -0
  245. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/step-03-quality-evaluation.md +0 -0
  246. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/step-03a-subagent-determinism.md +0 -0
  247. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/step-03b-subagent-isolation.md +0 -0
  248. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/step-03c-subagent-maintainability.md +0 -0
  249. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/step-03e-subagent-performance.md +0 -0
  250. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/step-03f-aggregate-scores.md +0 -0
  251. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-c/step-04-generate-report.md +0 -0
  252. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-e/step-01-assess.md +0 -0
  253. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-e/step-02-apply-edit.md +0 -0
  254. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/steps-v/step-01-validate.md +0 -0
  255. /package/skills/{bmad-testarch-test-review → bmad-tea-test-review}/test-review-template.md +0 -0
  256. /package/skills/{bmad-testarch-trace → bmad-tea-trace}/bmod.toml +0 -0
  257. /package/skills/{bmad-testarch-trace → bmad-tea-trace}/resources/live-verification-results.example.json +0 -0
  258. /package/skills/{bmad-testarch-trace → bmad-tea-trace}/steps-c/step-01-load-context.md +0 -0
  259. /package/skills/{bmad-testarch-trace → bmad-tea-trace}/steps-c/step-01b-resume.md +0 -0
  260. /package/skills/{bmad-testarch-trace → bmad-tea-trace}/steps-c/step-02-discover-tests.md +0 -0
  261. /package/skills/{bmad-testarch-trace → bmad-tea-trace}/steps-c/step-03-map-criteria.md +0 -0
  262. /package/skills/{bmad-testarch-trace → bmad-tea-trace}/steps-c/step-05-gate-decision.md +0 -0
  263. /package/skills/{bmad-testarch-trace → bmad-tea-trace}/steps-e/step-01-assess.md +0 -0
  264. /package/skills/{bmad-testarch-trace → bmad-tea-trace}/steps-e/step-02-apply-edit.md +0 -0
  265. /package/skills/{bmad-testarch-trace → bmad-tea-trace}/steps-v/step-01-validate.md +0 -0
package/cli/trace.js CHANGED
@@ -50,8 +50,8 @@ function execute(options, registerOutputGuard = () => {}) {
50
50
  const levels = options.coverageLevels.split(',').map((level) => level.trim().toLowerCase());
51
51
  if (levels.length === 0 || levels.some((level) => !['e2e', 'api', 'component', 'unit', 'live'].includes(level)))
52
52
  throw new Error('--coverage-levels must list e2e, api, component, unit, or live.');
53
- const skillRoot = resolveWorkflowSkill({ projectRoot, skillName: 'bmad-testarch-trace', skillRoot: options.skillRoot });
54
- const resolvedConfig = resolveTeaConfig({ projectRoot, skillRoot, skillName: 'bmad-testarch-trace' });
53
+ const skillRoot = resolveWorkflowSkill({ projectRoot, skillName: 'bmad-tea-trace', skillRoot: options.skillRoot });
54
+ const resolvedConfig = resolveTeaConfig({ projectRoot, skillRoot, skillName: 'bmad-tea-trace' });
55
55
  const rawArtifacts = resolvedConfig.configSnapshot.modules.tea.test_artifacts;
56
56
  if (typeof rawArtifacts !== 'string' || !rawArtifacts.trim())
57
57
  throw new Error('test_artifacts in the TEA config must be a nonempty string.');
@@ -17,7 +17,7 @@
17
17
  * state a session needs across turns is whatever the agent (or, in a scripted
18
18
  * proof, the stand-in for one) chooses to leave in the workspace. That is what
19
19
  * keeps this command reusable for a story this one does not know about:
20
- * Story 6.11 measures `bmad-teach-me-testing`, a real multi-turn teaching
20
+ * Story 6.11 measures `bmad-tea-teach-me-testing`, a real multi-turn teaching
21
21
  * session, through the same engine and the same runner.
22
22
  *
23
23
  * The prompt belongs to whichever caller is driving the session — the
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "bmad-method-test-architecture-enterprise",
4
- "version": "2.0.4-next.4",
4
+ "version": "3.0.0",
5
5
  "description": "Master Test Architect for quality strategy, test automation, and release gates",
6
6
  "keywords": [
7
7
  "bmad",
@@ -38,6 +38,7 @@
38
38
  "tea-evaluate": "cli/evaluate.js",
39
39
  "tea-fragment-selection-runner": "cli/fragment-selection-runner.js",
40
40
  "tea-framework": "cli/framework.js",
41
+ "tea-migrate-customizations": "cli/migrate-customizations.js",
41
42
  "tea-nfr": "cli/nfr.js",
42
43
  "tea-nfr-runner": "cli/nfr-runner.js",
43
44
  "tea-routing-runner": "cli/routing-runner.js",
@@ -94,7 +95,7 @@
94
95
  "release:minor": "gh workflow run publish.yaml -f channel=latest -f bump=minor",
95
96
  "release:next": "gh workflow run publish.yaml -f channel=next",
96
97
  "release:patch": "gh workflow run publish.yaml -f channel=latest -f bump=patch",
97
- "test": "npm run test:conflict-markers && npm run test:schemas && npm run test:install && npm run test:evaluate-guidance && npm run test:evaluate-authoring && npm run test:evaluate-gap-loop && npm run test:evaluate-dogfood && npm run test:evaluate-check && npm run test:evaluate-compare && npm run test:evaluate-before-state && npm run test:evaluate-ci-gates && npm run test:evaluate-ci-tiers && npm run test:evaluate-ci-repositories:tagged-release-pr && npm run test:evaluate-ci-repositories:tagged-release-merge && npm run test:evaluate-ci-repositories:tagged-release-release && npm run test:evaluate-ci-repositories:nightly-deploy-pr && npm run test:evaluate-ci-repositories:nightly-deploy-merge && npm run test:evaluate-ci-repositories:nightly-deploy-scheduled && npm run test:evaluate-ci-repositories:nightly-deploy-release && npm run test:evaluate-ci-render && npm run test:evaluate-pr-mcp && npm run test:evaluate-pr-api && npm run test:evaluate-pr-suite && npm run test:evaluate-pr-workflow && npm run test:evaluate-pr-tool-use && npm run test:evaluate-pr-promptfoo && npm run test:evaluate-pr-ai-feature && npm run test:evaluate-pr-test-review && npm run test:evaluate-pr-gap-loop && npm run test:evaluate-pr-learn && npm run test:evaluate-pr-tutorial && npm run test:evaluate-partitions && npm run test:evaluate-partition-plans-views-and-check && npm run test:evaluate-partition-plans-preflight-and-run && npm run test:evaluate-partition-plans-score && npm run test:evaluate-partition-plans-attempts-seal-and-mappings && npm run test:evaluate-partition-plans-attempts-records && npm run test:evaluate-partition-plans-attempts-gameability && npm run test:evaluate-interpret && npm run test:evaluate-calibration && npm run test:evaluate-boundaries && npm run test:evaluate-preflight && npm run test:evaluate-isolation-conformance && npm run test:evaluate-mutation:qualification-basics && npm run test:evaluate-mutation:qualification-guards && npm run test:evaluate-mutation:recovery && npm run test:evaluate-mutation:journals && npm run test:evaluate-run && npm run test:evaluate-progress && npm run test:evaluate-aggregate && npm run test:evaluate-confinement && npm run test:evaluate-confinement-audit && npm run test:evaluate-confinement-history && npm run test:evaluate-confinement-git-state && npm run test:evaluate-confinement-network && npm run test:evaluate-held-inputs && npm run test:evaluate-arms-historical && npm run test:evaluate-arms-deployments && npm run test:evaluate-evaluators && npm run test:evaluate-evaluators-agent-version && npm run test:evaluate-agents && npm run test:evaluate-agents-importers && npm run test:evaluate-agents-sealed-brief && npm run test:evaluate-held-attempts && npm run test:evaluate-private && npm run test:evaluate-records && npm run test:evaluate-mcp && npm run test:evaluate-api && npm run test:evaluate-workflow && npm run test:evaluate-tool-use && npm run test:evaluate-promptfoo && npm run test:evaluate-learned-framework && npm run test:docs-tutorial && npm run test:knowledge && npm run test:criteria-fragments && npm run test:doc-count-sources && npm run test:planning-doc-sources && npm run test:doc-counts && npm run test:doc-claim-sources && npm run test:doc-claims && npm run test:doc-invocation-entry && npm run test:doc-invocations && npm run test:doc-link-anchors && npm run test:docs-build-names && npm run test:docs-evaluate-sidebar && npm run test:docs-gap-reader && npm run test:enforce-hook && npm run test:framework-scaffold && npm run test:isolation-primitives && npm run test:atdd-isolation && npm run test:atdd-net-guard && npm run test:atdd-scoring && npm run test:atdd-workflow-guidance && npm run test:generation-healing && npm run test:framework-scaffold-install-isolation && npm run test:transcript-harness && npm run test:suite-manifest && npm run test:teach-me-testing-scoring && npm run test:teach-cli && npm run test:eval-data && npm run test:eval-atdd-data && npm run test:eval-ci-data && npm run test:eval-framework-scaffold-data && npm run test:eval-nfr-data && npm run test:nfr-validate-corpus && npm run test:nfr-evidence-guidance && npm run test:nfr-cli && npm run test:eval-test-design-data && npm run test:eval-trace-data && npm run test:eval-routing-data && npm run test:eval-routing-boundaries && npm run test:eval-routing-evidence && npm run test:eval-transcript-data && npm run test:eval-teach-me-testing-data && npm run test:eval-schemas && npm run test:eval-diagnostics && npm run test:eval-replay && npm run test:eval-quality-corpus && npm run test:schema-versions && npm run test:contract-sources && npm run test:contracts && npm run test:contract-oracles && npm run test:probe-sources && npm run test:test-design-qualification && npm run test:test-review-qualification && npm run test:trace-qualification && npm run test:nfr-qualification && npm run test:ci-qualification && npm run test:probe-corpus && npm run test:compare-dominance && npm run test:compare-eval-runs && npm run test:trial-set-scoring && npm run test:automate-cli && npm run test:automate-generation-evidence && npm run test:automate-eval-fixture && npm run test:eval-automate-data && npm run test:clock-port && npm run test:probe-conformance && npm run test:corpus-conformance && npm run test:file-system-conformance && npm run test:file-system-port && npm run test:probe-targets && npm run test:port-totality && npm run test:ci-coverage && npm run test:ci-coverage-filters && npm run test:install-actionlint && npm run test:workflows-lint && npm run test:install-linux-sandbox && npm run test:shards && npm run test:groups && npm run test:cli && npm run test:workflow-cli && npm run test:framework-cli && npm run test:test-review-pr-scope && npm run test:test-review-report && npm run test:test-review-rubric && npm run test:bmad-output-gated && npm run test:release-metadata && npm run test:release-notes && npm run test:lockfile-age && npm run test:lockfile-age-cache && npm run test:licences && npm run test:supply-chain && npm run test:boundary && npm run test:direction && npm run test:lineage && npm run test:guard-publish && npm run test:layering-boundary-lineage && npm run test:changelog && npm run test:tea-workflow-descriptions && npm run test:docs-mermaid && npm run test:llms-headroom && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
98
+ "test": "npm run test:conflict-markers && npm run test:schemas && npm run test:install && npm run test:evaluate-guidance && npm run test:evaluate-authoring && npm run test:evaluate-gap-loop && npm run test:evaluate-dogfood && npm run test:evaluate-check && npm run test:evaluate-compare && npm run test:evaluate-before-state && npm run test:evaluate-ci-gates && npm run test:evaluate-ci-tiers && npm run test:evaluate-ci-repositories:tagged-release-pr && npm run test:evaluate-ci-repositories:tagged-release-merge && npm run test:evaluate-ci-repositories:tagged-release-release && npm run test:evaluate-ci-repositories:nightly-deploy-pr && npm run test:evaluate-ci-repositories:nightly-deploy-merge && npm run test:evaluate-ci-repositories:nightly-deploy-scheduled && npm run test:evaluate-ci-repositories:nightly-deploy-release && npm run test:evaluate-ci-render && npm run test:evaluate-pr-mcp && npm run test:evaluate-pr-api && npm run test:evaluate-pr-suite && npm run test:evaluate-pr-workflow && npm run test:evaluate-pr-tool-use && npm run test:evaluate-pr-promptfoo && npm run test:evaluate-pr-ai-feature && npm run test:evaluate-pr-test-review && npm run test:evaluate-pr-gap-loop && npm run test:evaluate-pr-learn && npm run test:evaluate-pr-tutorial && npm run test:evaluate-partitions && npm run test:evaluate-partition-plans-views-and-check && npm run test:evaluate-partition-plans-preflight-and-run && npm run test:evaluate-partition-plans-score && npm run test:evaluate-partition-plans-attempts-seal-and-mappings && npm run test:evaluate-partition-plans-attempts-records && npm run test:evaluate-partition-plans-attempts-gameability && npm run test:evaluate-interpret && npm run test:evaluate-calibration && npm run test:evaluate-boundaries && npm run test:evaluate-preflight && npm run test:evaluate-isolation-conformance && npm run test:evaluate-mutation:qualification-basics && npm run test:evaluate-mutation:qualification-guards && npm run test:evaluate-mutation:recovery && npm run test:evaluate-mutation:journals && npm run test:evaluate-run && npm run test:evaluate-progress && npm run test:evaluate-aggregate && npm run test:evaluate-confinement && npm run test:evaluate-confinement-audit && npm run test:evaluate-confinement-history && npm run test:evaluate-confinement-git-state && npm run test:evaluate-confinement-network && npm run test:evaluate-held-inputs && npm run test:evaluate-arms-historical && npm run test:evaluate-arms-deployments && npm run test:evaluate-evaluators && npm run test:evaluate-evaluators-agent-version && npm run test:evaluate-agents && npm run test:evaluate-agents-importers && npm run test:evaluate-agents-sealed-brief && npm run test:evaluate-held-attempts && npm run test:evaluate-private && npm run test:evaluate-records && npm run test:evaluate-mcp && npm run test:evaluate-api && npm run test:evaluate-workflow && npm run test:evaluate-tool-use && npm run test:evaluate-promptfoo && npm run test:evaluate-learned-framework && npm run test:docs-tutorial && npm run test:knowledge && npm run test:criteria-fragments && npm run test:doc-count-sources && npm run test:planning-doc-sources && npm run test:doc-counts && npm run test:doc-claim-sources && npm run test:doc-claims && npm run test:doc-invocation-entry && npm run test:doc-invocations && npm run test:doc-link-anchors && npm run test:docs-build-names && npm run test:docs-evaluate-sidebar && npm run test:docs-gap-reader && npm run test:enforce-hook && npm run test:framework-scaffold && npm run test:isolation-primitives && npm run test:atdd-isolation && npm run test:atdd-net-guard && npm run test:atdd-scoring && npm run test:atdd-workflow-guidance && npm run test:generation-healing && npm run test:framework-scaffold-install-isolation && npm run test:transcript-harness && npm run test:suite-manifest && npm run test:teach-me-testing-scoring && npm run test:teach-cli && npm run test:eval-data && npm run test:eval-atdd-data && npm run test:eval-ci-data && npm run test:eval-framework-scaffold-data && npm run test:eval-nfr-data && npm run test:nfr-validate-corpus && npm run test:nfr-evidence-guidance && npm run test:nfr-cli && npm run test:eval-test-design-data && npm run test:eval-trace-data && npm run test:eval-routing-data && npm run test:eval-routing-boundaries && npm run test:eval-routing-evidence && npm run test:eval-transcript-data && npm run test:eval-teach-me-testing-data && npm run test:eval-schemas && npm run test:eval-diagnostics && npm run test:eval-replay && npm run test:eval-quality-corpus && npm run test:schema-versions && npm run test:contract-sources && npm run test:contracts && npm run test:contract-oracles && npm run test:probe-sources && npm run test:test-design-qualification && npm run test:test-review-qualification && npm run test:trace-qualification && npm run test:nfr-qualification && npm run test:ci-qualification && npm run test:probe-corpus && npm run test:compare-dominance && npm run test:compare-eval-runs && npm run test:trial-set-scoring && npm run test:automate-cli && npm run test:automate-generation-evidence && npm run test:automate-eval-fixture && npm run test:eval-automate-data && npm run test:clock-port && npm run test:probe-conformance && npm run test:corpus-conformance && npm run test:file-system-conformance && npm run test:file-system-port && npm run test:probe-targets && npm run test:port-totality && npm run test:ci-coverage && npm run test:ci-coverage-filters && npm run test:install-actionlint && npm run test:workflows-lint && npm run test:install-linux-sandbox && npm run test:shards && npm run test:groups && npm run test:cli && npm run test:workflow-cli && npm run test:migrate-customizations && npm run test:framework-cli && npm run test:test-review-pr-scope && npm run test:test-review-report && npm run test:test-review-rubric && npm run test:bmad-output-gated && npm run test:release-metadata && npm run test:release-notes && npm run test:lockfile-age && npm run test:lockfile-age-cache && npm run test:licences && npm run test:supply-chain && npm run test:boundary && npm run test:direction && npm run test:lineage && npm run test:guard-publish && npm run test:layering-boundary-lineage && npm run test:changelog && npm run test:tea-workflow-descriptions && npm run test:docs-mermaid && npm run test:llms-headroom && npm run validate:schemas && npm run lint && npm run lint:md && npm run format:check",
98
99
  "test:atdd-isolation": "node test/test-atdd-isolation.js",
99
100
  "test:atdd-net-guard": "node test/test-atdd-net-guard.js",
100
101
  "test:atdd-scoring": "node test/test-atdd-scoring.js",
@@ -241,6 +242,7 @@
241
242
  "test:llms-headroom": "node test/test-llms-headroom.js",
242
243
  "test:lockfile-age": "eval-quality-gates lockfile-age",
243
244
  "test:lockfile-age-cache": "node test/test-generate-lockfile-age-cache.js",
245
+ "test:migrate-customizations": "node test/test-migrate-customizations.js",
244
246
  "test:nfr-cli": "node --test test/test-nfr-cli.js",
245
247
  "test:nfr-evidence-guidance": "node test/test-nfr-evidence-guidance.js",
246
248
  "test:nfr-qualification": "node test/test-nfr-qualification.js",
@@ -304,7 +306,7 @@
304
306
  "include": [
305
307
  "cli/**",
306
308
  "tools/**",
307
- "skills/bmad-testarch-framework/resources/hooks/**"
309
+ "skills/bmad-tea-framework/resources/hooks/**"
308
310
  ],
309
311
  "lines": 78,
310
312
  "reporter": [
@@ -19,6 +19,8 @@ You are Murat, the Master Test Architect and Quality Advisor. You lead risk-base
19
19
 
20
20
  ## On Activation
21
21
 
22
+ Before resolving the agent menu, inspect `{project-root}/_bmad/custom/bmad-tea.toml` and `{project-root}/_bmad/custom/bmad-tea.user.toml` for `skill` values beginning `bmad-testarch-` or equal to `bmad-teach-me-testing`. If found, stop and tell the user to run `npx --package=bmad-method-test-architecture-enterprise@3 tea-migrate-customizations --project-root {project-root}`. A migration conflict requires the manual merge named by that command. Start a fresh chat after migration so the old menu cannot dispatch removed commands.
23
+
22
24
  ### Step 1: Resolve the Agent Block
23
25
 
24
26
  Run: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key agent`
@@ -78,11 +80,11 @@ Dispatch on a clear match by invoking the item's `skill` or executing its `promp
78
80
 
79
81
  ### Framework and CI Setup Routing
80
82
 
81
- TF invokes `bmad-testarch-framework` for framework setup. CI invokes the same skill with `setup_scope = ci`. Preserve both codes, custom menu overrides, requested scope and operation. A request for framework and pipeline setup routes to TF with `setup_scope = both`. The shared router asks “Do you want CI too?” once when setup leaves CI intent unclear.
83
+ TF invokes `bmad-tea-framework` for framework setup. CI invokes the same skill with `setup_scope = ci`. Preserve both codes, custom menu overrides, requested scope and operation. A request for framework and pipeline setup routes to TF with `setup_scope = both`. The shared router asks “Do you want CI too?” once when setup leaves CI intent unclear.
82
84
 
83
85
  ### Test Generation Routing
84
86
 
85
- AT invokes `bmad-testarch-automate` with `test_mode = red`. TA invokes the same skill with expand as its default. Preserve both menu codes, custom menu overrides, the requested operation and any explicit red or expand intent. Red writes acceptance tests before implementation and checks the intended failure; expand adds passing coverage for implemented code. Create runs run-and-heal by default in both modes. Validate and Edit report their own checks without repair. A mixed implemented/unimplemented request still needs the deciding scope or sequence when the user has supplied neither.
87
+ AT invokes `bmad-tea-automate` with `test_mode = red`. TA invokes the same skill with expand as its default. Preserve both menu codes, custom menu overrides, the requested operation and any explicit red or expand intent. Red writes acceptance tests before implementation and checks the intended failure; expand adds passing coverage for implemented code. Create runs run-and-heal by default in both modes. Validate and Edit report their own checks without repair. A mixed implemented/unimplemented request still needs the deciding scope or sequence when the user has supplied neither.
86
88
 
87
89
  ### Routing Ambiguity Boundaries
88
90
 
@@ -60,37 +60,37 @@ principles = [
60
60
  [[agent.menu]]
61
61
  code = "TMT"
62
62
  description = "Teach Me Testing — interactive learning companion with 7 progressive sessions from fundamentals to advanced practices"
63
- skill = "bmad-teach-me-testing"
63
+ skill = "bmad-tea-teach-me-testing"
64
64
 
65
65
  [[agent.menu]]
66
66
  code = "TD"
67
67
  description = "Test Design — risk assessment, NFR planning, and coverage strategy for system or epic scope"
68
- skill = "bmad-testarch-test-design"
68
+ skill = "bmad-tea-test-design"
69
69
 
70
70
  [[agent.menu]]
71
71
  code = "TF"
72
72
  description = "Test Framework: initialize framework architecture and optional CI/CD quality pipeline"
73
- skill = "bmad-testarch-framework"
73
+ skill = "bmad-tea-framework"
74
74
 
75
75
  [[agent.menu]]
76
76
  code = "CI"
77
77
  description = "Continuous Integration: scaffold a CI/CD quality pipeline through Framework CI scope"
78
- skill = "bmad-testarch-framework"
78
+ skill = "bmad-tea-framework"
79
79
 
80
80
  [[agent.menu]]
81
81
  code = "AT"
82
82
  description = "ATDD: generate and verify failing acceptance tests through Automate red mode"
83
- skill = "bmad-testarch-automate"
83
+ skill = "bmad-tea-automate"
84
84
 
85
85
  [[agent.menu]]
86
86
  code = "TA"
87
87
  description = "Test Automation: generate prioritized tests in expand mode, run and heal test defects, and report product defects"
88
- skill = "bmad-testarch-automate"
88
+ skill = "bmad-tea-automate"
89
89
 
90
90
  [[agent.menu]]
91
91
  code = "EV"
92
92
  description = "Evaluate — build and run a scored, evidence-backed evaluation of an agent, skill, workflow, or tool-use system, with seeded-defect proof and CI enforcement"
93
- skill = "bmad-testarch-evaluate"
93
+ skill = "bmad-tea-evaluate"
94
94
 
95
95
  [[agent.menu]]
96
96
  code = "GATE"
@@ -100,14 +100,14 @@ prompt = "Help the user run the release gate path. First determine which evidenc
100
100
  [[agent.menu]]
101
101
  code = "RV"
102
102
  description = "Review Tests — perform a quality check against written tests using comprehensive knowledge base and best practices"
103
- skill = "bmad-testarch-test-review"
103
+ skill = "bmad-tea-test-review"
104
104
 
105
105
  [[agent.menu]]
106
106
  code = "NR"
107
107
  description = "NFR Evidence Audit — assess implemented NFR evidence and recommend actions"
108
- skill = "bmad-testarch-nfr"
108
+ skill = "bmad-tea-nfr"
109
109
 
110
110
  [[agent.menu]]
111
111
  code = "TR"
112
112
  description = "Trace Coverage — map requirements to tests (Phase 1) and make quality gate decision (Phase 2)"
113
- skill = "bmad-testarch-trace"
113
+ skill = "bmad-tea-trace"
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: bmad-testarch-automate
2
+ name: bmad-tea-automate
3
3
  description: 'Generate tests in red or expand mode and run-and-heal new tests. Use when the user says "lets expand test coverage", "I want to automate tests", "lets write acceptance tests", or "I want to do ATDD"'
4
4
  ---
5
5
 
@@ -28,6 +28,8 @@ The router selects exactly one customization surface; activation below uses that
28
28
 
29
29
  ## On Activation
30
30
 
31
+ Before resolving customizations or running hooks, inspect `{project-root}/_bmad/custom/` for `bmad-testarch-automate.toml`, `bmad-testarch-automate.user.toml`, `bmad-testarch-atdd.toml`, and `bmad-testarch-atdd.user.toml`. If any exists, stop and tell the user to run `npx --package=bmad-method-test-architecture-enterprise@3 tea-migrate-customizations --project-root {project-root}`. Resolve any reported manual merge, then start a fresh chat. Do not continue with default settings while legacy overrides remain.
32
+
31
33
  ### Step 1: Resolve the Workflow Block
32
34
 
33
35
  When `workflow_customization_manual = true`, use the already resolved red workflow block and skip this resolver command.
@@ -548,7 +548,7 @@ Check the generation deliverables below and record the shared loop's actual exec
548
548
  **Resolution:**
549
549
 
550
550
  - **HALT workflow** - framework is required
551
- - Message: "Framework scaffolding required. Run `/bmad-testarch-framework` first."
551
+ - Message: "Framework scaffolding required. Run `/bmad-tea-framework` first."
552
552
  - User must run framework workflow before automate
553
553
 
554
554
  ### Issue: No automation targets identified
@@ -1,6 +1,6 @@
1
1
  # DO NOT EDIT -- overwritten on every update.
2
2
  #
3
- # Workflow customization surface for bmad-testarch-nfr. Mirrors the
3
+ # Workflow customization surface for bmad-tea-automate. Mirrors the
4
4
  # agent customization shape under the [workflow] namespace.
5
5
 
6
6
  [workflow]
@@ -1,6 +1,6 @@
1
1
  # DO NOT EDIT -- overwritten on every update.
2
2
  #
3
- # Workflow customization surface for bmad-testarch-atdd. Mirrors the
3
+ # Workflow customization surface for bmad-tea-atdd. Mirrors the
4
4
  # agent customization shape under the [workflow] namespace.
5
5
 
6
6
  [workflow]
@@ -26,7 +26,7 @@ This workflow uses **step-file architecture**:
26
26
 
27
27
  This instruction file owns red mode after canonical activation.
28
28
  Set `test_mode = red` when a direct runner loads this file without the shared router; keep `{skill-root}` canonical.
29
- Resolve red customization by merging `{skill-root}/red/customize.toml` with `_bmad/custom/bmad-testarch-atdd.toml` and `.user.toml` manually and retain its workflow block.
29
+ Resolve red customization by merging `{skill-root}/red/customize.toml` with `_bmad/custom/bmad-tea-atdd.toml` and `.user.toml` manually and retain its workflow block.
30
30
  Entry activation and operation routing remain in `{skill-root}/SKILL.md`.
31
31
 
32
32
  ### 1. Configuration Loading
@@ -1,5 +1,5 @@
1
- # Test Architect workflow: bmad-testarch-atdd
2
- name: bmad-testarch-atdd
1
+ # Test Architect workflow: bmad-tea-atdd
2
+ name: bmad-tea-atdd
3
3
  # prettier-ignore
4
4
  description: 'Generate red-phase acceptance test scaffolds using TDD cycle. Use when the user says "lets write acceptance tests" or "I want to do ATDD"'
5
5
 
@@ -7,7 +7,7 @@ These are separate from the worker execution mode (`tea_execution_mode`) and the
7
7
  ## 1. Choose the Operation and Mode
8
8
 
9
9
  Keep the original request and supplied files.
10
- Use `bmad-testarch-automate` as `test_entry`. Preserve a legacy `testEntry` value when resuming an existing checkpoint. An AT menu invocation presets red mode; a single explicit user mode overrides that preset.
10
+ Use `bmad-tea-automate` as `test_entry`. Preserve a legacy `testEntry` value when resuming an existing checkpoint. An AT menu invocation presets red mode; a single explicit user mode overrides that preset.
11
11
  Resolve explicit Create, Resume, Validate or Edit wording first.
12
12
  A request to generate tests means Create.
13
13
  In a headless or autonomous invocation, an unspecified operation defaults to Create without a menu.
@@ -15,7 +15,7 @@ In a headless or autonomous invocation, an unspecified operation defaults to Cre
15
15
  Start with `test_mode_defaulted = false`.
16
16
  A single explicit `red mode` or `expand mode` is authoritative.
17
17
  Otherwise an AT menu invocation selects red. Acceptance tests before implementation, `write acceptance tests`, `acceptance test scaffolds`, ATDD, or the TDD red phase also selects red; coverage expansion, tests for existing code, or automation selects expand.
18
- Treat the invoked command name as an entry default, separate from the user's task wording: mentioning `/bmad-testarch-automate` in an acceptance-test request cannot count as an expand signal.
18
+ Treat the invoked command name as an entry default, separate from the user's task wording: mentioning `/bmad-tea-automate` in an acceptance-test request cannot count as an expand signal.
19
19
  When no task mode signal is present, default to expand.
20
20
  Ask once which mode to use only when explicit task mode signals conflict in an interactive run, including a request that names both `red mode` and `expand mode`.
21
21
  A headless or autonomous run with conflicting signals defaults to expand without a question.
@@ -24,14 +24,14 @@ An explicit mode in the user's request overrides the default.
24
24
 
25
25
  The following routing examples apply before customization activation:
26
26
 
27
- | Invocation | Task signal | Run mode | Selected mode | Mode question |
28
- | ------------------------ | --------------------------- | ----------------------- | ---------------- | ------------- |
29
- | `bmad-testarch-automate` | none | interactive | expand (default) | no |
30
- | `bmad-testarch-automate` | lets write acceptance tests | interactive or headless | red | no |
31
- | `bmad-testarch-automate` | acceptance test scaffolds | interactive or headless | red | no |
32
- | `bmad-testarch-automate` | red and expand task signals | interactive | unresolved | ask once |
33
- | `bmad-testarch-automate` | red and expand task signals | headless | expand (default) | no |
34
- | `bmad-tea` AT menu | none | interactive or headless | red | no |
27
+ | Invocation | Task signal | Run mode | Selected mode | Mode question |
28
+ | ------------------- | --------------------------- | ----------------------- | ---------------- | ------------- |
29
+ | `bmad-tea-automate` | none | interactive | expand (default) | no |
30
+ | `bmad-tea-automate` | lets write acceptance tests | interactive or headless | red | no |
31
+ | `bmad-tea-automate` | acceptance test scaffolds | interactive or headless | red | no |
32
+ | `bmad-tea-automate` | red and expand task signals | interactive | unresolved | ask once |
33
+ | `bmad-tea-automate` | red and expand task signals | headless | expand (default) | no |
34
+ | `bmad-tea` AT menu | none | interactive or headless | red | no |
35
35
 
36
36
  For Resume with an exact checkpoint path, resolve it against the project root, verify that it exists and is readable, and retain it as `resume_checkpoint_path`. A missing supplied file stops before activation; do not search for a replacement. The checkpoint path itself is not a new target scope.
37
37
  Infer the original mode from that supplied checkpoint's `testMode` or its owning artifact folder: `atdd/` is red and `automate/` is expand; legacy `atdd-checklist-*.md` is red and `automation-summary.md` is expand.
@@ -43,13 +43,13 @@ Do not restart Create or execute a completed generation step on an explicit Resu
43
43
 
44
44
  ## 2. Choose Exactly One Customization Surface
45
45
 
46
- For red set `workflow-skill-root = {skill-root}/red` and `workflow-skill-name = bmad-testarch-atdd` to preserve existing customization filenames.
47
- For expand set `workflow-skill-root = {skill-root}` and `workflow-skill-name = bmad-testarch-automate`.
48
- Resolve `{skill-root}/red/customize.toml` plus `_bmad/custom/bmad-testarch-atdd.toml` and `.user.toml` manually with the activation merge rules; the resolver's directory-name inference cannot resolve this customization namespace from `red/`.
46
+ For red set `workflow-skill-root = {skill-root}/red` and `workflow-skill-name = bmad-tea-atdd` to select the red customization namespace.
47
+ For expand set `workflow-skill-root = {skill-root}` and `workflow-skill-name = bmad-tea-automate`.
48
+ Resolve `{skill-root}/red/customize.toml` plus `_bmad/custom/bmad-tea-atdd.toml` and `.user.toml` manually with the activation merge rules; the resolver's directory-name inference cannot resolve this customization namespace from `red/`.
49
49
  Record `workflow_customization_manual = true` and retain the resolved workflow block for its terminal hook.
50
50
  Keep the resolver's workflow namespace and structural merge rules intact.
51
51
  Resolve only the selected surface's defaults, team file and user file.
52
- Red uses `_bmad/custom/bmad-testarch-atdd.toml` and `.user.toml`; expand uses `_bmad/custom/bmad-testarch-automate.toml` and `.user.toml`.
52
+ Red uses `_bmad/custom/bmad-tea-atdd.toml` and `.user.toml`; expand uses `_bmad/custom/bmad-tea-automate.toml` and `.user.toml`.
53
53
 
54
54
  Run selected prepend hooks, load selected persistent facts, load config, greet, then run selected append hooks in that order.
55
55
  The selected mode's `workflow.on_complete` executes at its original terminal after outputs are saved, including Validate and Edit.
@@ -1,5 +1,5 @@
1
- # Test Architect workflow: bmad-testarch-automate
2
- name: bmad-testarch-automate
1
+ # Test Architect workflow: bmad-tea-automate
2
+ name: bmad-tea-automate
3
3
  # prettier-ignore
4
4
  description: 'Generate tests in red or expand mode and run-and-heal new tests. Use when the user says "lets expand test coverage", "I want to automate tests", "lets write acceptance tests", or "I want to do ATDD"'
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: bmad-testarch-evaluate
2
+ name: bmad-tea-evaluate
3
3
  description: 'Run scored behavioral evaluations and repair gaps. Use when the user says "evaluate this agent" or "I want proof this behaves correctly"'
4
4
  ---
5
5
 
@@ -23,6 +23,8 @@ You will continue to operate with your given name, identity, and communication_s
23
23
 
24
24
  ## On Activation
25
25
 
26
+ Before resolving customizations or running hooks, inspect `{project-root}/_bmad/custom/` for `bmad-testarch-evaluate.toml` and `bmad-testarch-evaluate.user.toml`. If either exists, stop and tell the user to run `npx --package=bmad-method-test-architecture-enterprise@3 tea-migrate-customizations --project-root {project-root}`. Resolve any reported manual merge, then start a fresh chat. Do not continue with default settings while legacy overrides remain.
27
+
26
28
  ### Step 1: Resolve the Workflow Block
27
29
 
28
30
  Run: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow`
@@ -123,7 +125,7 @@ Interpret a weak result and close the gap. Load `references/gaps.md`.
123
125
 
124
126
  ### Stage 12: CI
125
127
 
126
- Inspect the adopter's repository, place each check in a tier, write `<evaluation-folder>/ci/evaluation-ci-plan.json` and hand it to `bmad-testarch-framework` with CI setup scope. Load `references/ci.md`.
128
+ Inspect the adopter's repository, place each check in a tier, write `<evaluation-folder>/ci/evaluation-ci-plan.json` and hand it to `bmad-tea-framework` with CI setup scope. Load `references/ci.md`.
127
129
 
128
130
  ## On Complete
129
131
 
@@ -51,6 +51,6 @@ Stage 12 appends this section as each inspection finishes.
51
51
  - Release flow: `release.yml` on `v*` tags, with `docs/RELEASING.md` naming the tag as the gate.
52
52
  - Risk profile: one `critical` behavior (`contract.json`), about forty model calls per live run, nightly and release accepted and per pull request not (the adopter's answer), a missed defect ships within a day (`docs/RELEASING.md`).
53
53
  - Tier exits: `pr` 0; `scheduled` not run, `RESERVATION_MODEL_KEY` is absent on this machine; `release` 2, repair owned by Stage 3.
54
- - Hand-off status: framework skill invoked with CI scope and Create or Edit, or an open item such as a declined baseline or a missing `bmad-testarch-framework`.
54
+ - Hand-off status: framework skill invoked with CI scope and Create or Edit, or an open item such as a declined baseline or a missing `bmad-tea-framework`.
55
55
 
56
56
  Replace this worked record with the inspected target's facts and source paths. Record the selected target kind and interface in `evaluation.json` alone.
@@ -1,6 +1,6 @@
1
1
  # DO NOT EDIT -- overwritten on every update.
2
2
  #
3
- # Workflow customization surface for bmad-testarch-evaluate. Mirrors the
3
+ # Workflow customization surface for bmad-tea-evaluate. Mirrors the
4
4
  # agent customization shape under the [workflow] namespace.
5
5
 
6
6
  [workflow]
@@ -1,6 +1,6 @@
1
1
  # CI
2
2
 
3
- Run this stage after the evaluation checks clean and a scored run exists (Stages 1 to 11). It writes `<evaluation-folder>/ci/evaluation-ci-plan.json`, the platform-neutral plan that is the only definition of which check runs when and what blocks, then hands the plan to `bmad-testarch-framework` with explicit CI setup scope. Never write a pipeline file here. The plan's schema and placement rules belong to the installed runtime, in `{tea_evaluations_folder}/node_modules/bmad-method-test-architecture-enterprise/cli/lib/evaluate/schemas/evaluation-ci-plan.schema.json` and `{tea_evaluations_folder}/node_modules/bmad-method-test-architecture-enterprise/cli/lib/evaluate/ci-plan.js` (`cli/lib/evaluate/...` from the repository root inside TeA's own package); read them there and copy neither. `npm exec --prefix {tea_evaluations_folder} -- tea-evaluate check --evaluation <evaluation-folder>` reports the plan's findings under the `ci-plan` rule family, so the command that validates the rest of the evaluation validates the plan.
3
+ Run this stage after the evaluation checks clean and a scored run exists (Stages 1 to 11). It writes `<evaluation-folder>/ci/evaluation-ci-plan.json`, the platform-neutral plan that is the only definition of which check runs when and what blocks, then hands the plan to `bmad-tea-framework` with explicit CI setup scope. Never write a pipeline file here. The plan's schema and placement rules belong to the installed runtime, in `{tea_evaluations_folder}/node_modules/bmad-method-test-architecture-enterprise/cli/lib/evaluate/schemas/evaluation-ci-plan.schema.json` and `{tea_evaluations_folder}/node_modules/bmad-method-test-architecture-enterprise/cli/lib/evaluate/ci-plan.js` (`cli/lib/evaluate/...` from the repository root inside TeA's own package); read them there and copy neither. `npm exec --prefix {tea_evaluations_folder} -- tea-evaluate check --evaluation <evaluation-folder>` reports the plan's findings under the `ci-plan` rule family, so the command that validates the rest of the evaluation validates the plan.
4
4
 
5
5
  If `check` reports a finding outside the `ci-plan` family, or no scored run exists, name the missing prerequisite and return to its stage before inspecting CI.
6
6
 
@@ -48,7 +48,7 @@ The `release` tier is the usual home, since its event is the one that starts the
48
48
  Name in the `trigger` of every check on the gating tier each event that starts the gated job's workflow.
49
49
  When that workflow also starts on `workflow_dispatch`, as a nightly `deploy.yml` does, list `manual-dispatch` beside `release`, since the CI skill refuses a gate whose job already ran on an event where the tier's evaluation job is skipped.
50
50
  The jobs a tier gates are the union of `gates` over the checks the plan places on that tier, so name a job once, on any check of the tier, and a name repeated across the tier's checks is merged.
51
- `check` accepts a job id and reports any other name under rule `gates`; it cannot tell whether the repository holds that job, which `bmad-testarch-framework` answers when it renders the wait.
51
+ `check` accepts a job id and reports any other name under rule `gates`; it cannot tell whether the repository holds that job, which `bmad-tea-framework` answers when it renders the wait.
52
52
  The wait holds best when the job lives in the workflow file the CI skill edits, which holds the evaluation jobs too: the job then waits through `needs`, and the step refuses the plan when the job already ran in a run where the tier's evaluation job is skipped, such as a deploy on every `push` beside an evaluation job guarded to tags, or when the evaluation job runs on a run the job did not run on before, such as a `workflow_dispatch` the plan adds to a tag-push release file, while a run the render adds that the evaluation job skips is skipped through the wait and is no conflict.
53
53
  A job in another workflow file waits through a `workflow_run` trigger, which the step refuses for a pull request tier, for a tier whose evaluation job carries a ref or cron guard, and for a job with its own `needs`, `if:` or ref and event contexts, so hand the CI skill the workflow file that holds the job when you can.
54
54
  Leave `gates` out when the inspection found no such job or the adopter declined the gate, and say which in the `reason` of the release entries.
@@ -250,7 +250,7 @@ With no accepted baseline, skip the tier runs and record that in the `## CI` sec
250
250
 
251
251
  ## Hand the plan to framework setup with CI scope
252
252
 
253
- Invoke `bmad-testarch-framework` with explicit CI setup scope and Edit operation on the adopter's pipeline file, naming the plan's path, or Create when the inspection found no pipeline file. Its CI phase detects `ci/evaluation-ci-plan.json` and validates it; the rendering rules belong to `skills/bmad-testarch-framework/ci/steps-c/step-03b-render-evaluation-plans.md` from TEA's repository root. In an installed skill set, resolve it as `{skill-root}/../bmad-testarch-framework/ci/steps-c/step-03b-render-evaluation-plans.md`, where `{skill-root}` is the Evaluate skill root. Setup scope and operation are independent, so this handoff selects CI and preserves an existing framework. CI Edit validates the changed pipeline syntax, injection safety and evaluation-plan rendering/gates; it does not require the adopter's full suite to pass or activate framework hooks. CI Create uses the existing framework contract and its execution gate. Name in the request the concrete event of this repository for each tier it should render, such as `release`: the push of `v*` tags that starts `.github/workflows/release.yml`.
253
+ Invoke `bmad-tea-framework` with explicit CI setup scope and Edit operation on the adopter's pipeline file, naming the plan's path, or Create when the inspection found no pipeline file. Its CI phase detects `ci/evaluation-ci-plan.json` and validates it; the rendering rules belong to `skills/bmad-tea-framework/ci/steps-c/step-03b-render-evaluation-plans.md` from TEA's repository root. In an installed skill set, resolve it as `{skill-root}/../bmad-tea-framework/ci/steps-c/step-03b-render-evaluation-plans.md`, where `{skill-root}` is the Evaluate skill root. Setup scope and operation are independent, so this handoff selects CI and preserves an existing framework. CI Edit validates the changed pipeline syntax, injection safety and evaluation-plan rendering/gates; it does not require the adopter's full suite to pass or activate framework hooks. CI Create uses the existing framework contract and its execution gate. Name in the request the concrete event of this repository for each tier it should render, such as `release`: the push of `v*` tags that starts `.github/workflows/release.yml`.
254
254
  That step renders each `gates` entry as a wait of the named job on the evaluation job of the tier, and its summary reports the edit to the job, a name that matches no job and a conflicting gate, so relay that report to the adopter.
255
255
  When the plan gates a job, invoke it on the workflow file that holds that job.
256
- When that skill is not installed, give the adopter the request and the plan's path and record the hand-off as an open item in the inspection record. Stage 12 is complete when the plan passes `check` and the hand-off is made; a declined baseline or a missing `bmad-testarch-framework` stays a named open item in the `## CI` section and does not reopen the stage. Finish with the closing summary: the placement table, the deviations and their reasons, the secrets the live tiers need (the names from `environmentKeys`), the gates adopted, the baseline still to accept, every tier that exited non-zero with the stage that owns its repair, and each publish or deploy job that waits for the evaluation job through `gates`, with every such job the plan leaves ungated and the reason.
256
+ When that skill is not installed, give the adopter the request and the plan's path and record the hand-off as an open item in the inspection record. Stage 12 is complete when the plan passes `check` and the hand-off is made; a declined baseline or a missing `bmad-tea-framework` stays a named open item in the `## CI` section and does not reopen the stage. Finish with the closing summary: the placement table, the deviations and their reasons, the secrets the live tiers need (the names from `environmentKeys`), the gates adopted, the baseline still to accept, every tier that exited non-zero with the stage that owns its repair, and each publish or deploy job that waits for the evaluation job through `gates`, with every such job the plan leaves ungated and the reason.
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: bmad-testarch-framework
2
+ name: bmad-tea-framework
3
3
  description: 'Initialize test framework and CI/CD setup for browser, backend or mobile stacks. Use when the user says "lets setup test framework" or "I want to initialize testing framework"'
4
4
  ---
5
5
 
@@ -26,6 +26,8 @@ Before activation hooks or project writes, load `{skill-root}/resources/setup-ro
26
26
 
27
27
  ## On Activation
28
28
 
29
+ Before resolving customizations or running hooks, inspect `{project-root}/_bmad/custom/` for `bmad-testarch-framework.toml`, `bmad-testarch-framework.user.toml`, `bmad-testarch-ci.toml`, and `bmad-testarch-ci.user.toml`. If any exists, stop and tell the user to run `npx --package=bmad-method-test-architecture-enterprise@3 tea-migrate-customizations --project-root {project-root}`. Resolve any reported manual merge, then start a fresh chat. Do not continue with default settings while legacy overrides remain.
30
+
29
31
  ### Step 1: Resolve the Workflow Block
30
32
 
31
33
  Run: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow`
@@ -68,9 +70,9 @@ Activation is complete. Begin the workflow below.
68
70
 
69
71
  ## Workflow Architecture
70
72
 
71
- The existing framework steps at the skill root and the CI steps under `ci/` share scope and operation routing. Select CI setup by asking `bmad-testarch-framework` for CI scope.
73
+ The existing framework steps at the skill root and the CI steps under `ci/` share scope and operation routing. Select CI setup by asking `bmad-tea-framework` for CI scope.
72
74
 
73
- Create and edit CI phases detect `ci/evaluation-ci-plan.json` and render it through `{skill-root}/ci/steps-c/step-03b-render-evaluation-plans.md`. Evaluate invokes `bmad-testarch-framework` with CI scope in create or edit mode.
75
+ Create and edit CI phases detect `ci/evaluation-ci-plan.json` and render it through `{skill-root}/ci/steps-c/step-03b-render-evaluation-plans.md`. Evaluate invokes `bmad-tea-framework` with CI scope in create or edit mode.
74
76
 
75
77
  ## Initialization Sequence
76
78
 
@@ -0,0 +1,10 @@
1
+ # DO NOT EDIT -- overwritten on every update.
2
+ # CI scope defaults for bmad-tea-framework. Project overrides live in
3
+ # _bmad/custom/bmad-tea-ci.toml and bmad-tea-ci.user.toml.
4
+
5
+ [workflow]
6
+ activation_steps_prepend = []
7
+ activation_steps_append = []
8
+ persistent_facts = []
9
+ on_complete = ""
10
+ ci_platform = "auto"
@@ -33,7 +33,7 @@ From `workflow.yaml`, resolve:
33
33
 
34
34
  ### 2. Canonical CI Activation
35
35
 
36
- If invoked through legacy workflow metadata, preset `setup_scope = ci`, then load `{skill-root}/SKILL.md` and its shared router before executing a phase. Keep the original operation and CI customization. CI instructions, templates and steps resolve under `{skill-root}/ci/`.
36
+ When the CI menu code selects this phase, preset `setup_scope = ci`, then load `{skill-root}/SKILL.md` and its shared router before executing a phase. Keep the original operation and CI customization. CI instructions, templates and steps resolve under `{skill-root}/ci/`.
37
37
 
38
38
  ### 3. First Step
39
39
 
@@ -1,6 +1,6 @@
1
1
  # DO NOT EDIT -- overwritten on every update.
2
2
  #
3
- # Workflow customization surface for bmad-testarch-framework. Mirrors the
3
+ # Workflow customization surface for bmad-tea-framework. Mirrors the
4
4
  # agent customization shape under the [workflow] namespace.
5
5
 
6
6
  [workflow]
@@ -38,5 +38,5 @@ persistent_facts = []
38
38
  on_complete = ""
39
39
 
40
40
  # Explicit canonical team/user override wins; otherwise CI alias ci_platform applies.
41
- # The default auto value does not mask a migrated bmad-testarch-ci override.
41
+ # The default auto value does not mask a migrated bmad-tea-ci override.
42
42
  ci_platform = "auto"
@@ -164,7 +164,7 @@ This project runs on Claude Code, which supports tool hooks, so the hook was ins
164
164
  `pactConfigGlobs` stayed empty: no pact vitest config exists (see Contract Testing above). `excludeGlobs` stayed empty: no k6 scripts in this project.
165
165
 
166
166
  - All three hooks (`--pre`, `--post`, `--stop`) registered under `hooks` in `.claude/settings.json`, merged into the file's existing content: the project already had an unrelated `permissions` block, which was preserved as-is.
167
- - `tests/README.md` now documents that enforced rules come from the `Absolute`-severity rows of the `bmad-testarch-test-review` criteria registry (for example, the H1 hard-wait pattern and the H5 file-length ceiling), not from the hook itself, and that a rule can be turned off per project via `disabledRules` in `.tea/enforce-config.json` provided the reason is stated in the commit.
167
+ - `tests/README.md` now documents that enforced rules come from the `Absolute`-severity rows of the `bmad-tea-test-review` criteria registry (for example, the H1 hard-wait pattern and the H5 file-length ceiling), not from the hook itself, and that a rule can be turned off per project via `disabledRules` in `.tea/enforce-config.json` provided the reason is stated in the commit.
168
168
 
169
169
  ---
170
170
 
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * WHAT IT ENFORCES, AND WHAT IT DELIBERATELY DOES NOT
10
10
  *
11
- * Every rule here is a row from `bmad-testarch-test-review/steps-c/criteria-registry.md`,
11
+ * Every rule here is a row from `bmad-tea-test-review/steps-c/criteria-registry.md`,
12
12
  * gated `Absolute` there, and mechanically decidable by pattern. That is a small
13
13
  * subset on purpose. The registry's Absolute rows that need a judgment a regex
14
14
  * cannot make (C5 mock-asserted-against-itself, C6 unreachable assertion, H3
@@ -79,7 +79,7 @@ const crypto = require('node:crypto');
79
79
  const fs = require('node:fs');
80
80
  const path = require('node:path');
81
81
 
82
- const REGISTRY_PATH = 'bmad-testarch-test-review/steps-c/criteria-registry.md';
82
+ const REGISTRY_PATH = 'bmad-tea-test-review/steps-c/criteria-registry.md';
83
83
 
84
84
  // ---------------------------------------------------------------------------
85
85
  // Configuration
@@ -26,7 +26,7 @@ Edit/Validate results and hook failures never mutate historical Create checkpoin
26
26
 
27
27
  ## 2. Phase Handoff and CI Hook
28
28
 
29
- After the operation's completion criteria are satisfied, journal `phase-handoff` before the applicable phase hook. CI uses the resolved `ci_workflow.on_complete`; an installed alias may resolve it with `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {ci-skill-root} --project-root {project-root} --key workflow.on_complete`. Missing alias/resolver failure uses the canonical-owned defaults plus already merged legacy overrides. Empty hooks record a skipped result.
29
+ After the operation's completion criteria are satisfied, journal `phase-handoff` before the applicable phase hook. CI uses the retained `ci_workflow.on_complete` from activation. Empty hooks record a skipped result.
30
30
 
31
31
  Execute the CI hook with key `ci.on_complete` through `setup-state.md` section 3: save its exact instruction and started marker before execution, skip completed entries, halt on uncertain started entries, and save completion only after success. A failed phase hook leaves this operation's journal in progress. Create can mirror its hook state to its own phase checkpoint; Edit/Validate preserve old Create checkpoint contents.
32
32
 
@@ -1,6 +1,6 @@
1
1
  # Shared Setup Router
2
2
 
3
- Read this resource and `{skill-root}/resources/setup-state.md` completely before activation. `{skill-root}` always names `bmad-testarch-framework`. Keep the original request and supplied artifact paths through every handoff.
3
+ Read this resource and `{skill-root}/resources/setup-state.md` completely before activation. `{skill-root}` always names `bmad-tea-framework`. Keep the original request and supplied artifact paths through every handoff.
4
4
 
5
5
  ## 1. Read-Only Request Gate: Before Activation
6
6
 
@@ -29,8 +29,8 @@ Before SKILL.md executes prepend hooks or greets, resolve settings for every req
29
29
 
30
30
  When scope includes CI:
31
31
 
32
- 1. Start with CI defaults: `ci_platform = auto`, empty `activation_steps_prepend`, `activation_steps_append`, `persistent_facts`, and `on_complete`.
33
- 2. Structurally merge the CI defaults, `_bmad/custom/bmad-testarch-ci.toml`, and `_bmad/custom/bmad-testarch-ci.user.toml`, skipping missing files. Existing CI overrides, including migrated platform settings, remain effective.
32
+ 1. Read `{skill-root}/ci/customize.toml` for CI defaults: `ci_platform = auto`, empty `activation_steps_prepend`, `activation_steps_append`, `persistent_facts`, and `on_complete`.
33
+ 2. Structurally merge the CI defaults, `_bmad/custom/bmad-tea-ci.toml`, and `_bmad/custom/bmad-tea-ci.user.toml`, skipping missing override files. Existing CI overrides, including migrated platform settings, remain effective.
34
34
  3. Store the result as `ci_workflow`. SKILL.md executes applicable prepend entries before greeting, loads applicable facts/globs in lexical order, and executes append entries after greeting through `setup-state.md` section 3's individual durable hook protocol. On Resume, resolve current settings and reload applicable facts; skip completed hook entries and halt on uncertain started entries. Save each applicable phase in `activation_completed` only after its activation succeeds. This section resolves settings; it does not replay activation at phase or worker handoffs.
35
35
  4. Framework steps use canonical `workflow`. CI steps read `ci_workflow` for their legacy hooks/facts and the effective platform below. Keep `{skill-root}` bound to the canonical directory for every CI asset.
36
36
 
@@ -4,7 +4,7 @@ recovery_decision: 'fresh'
4
4
  workflowStatus: 'in-progress'
5
5
  setup_scope: 'both'
6
6
  setup_operation: 'create'
7
- setup_entry: 'bmad-testarch-framework'
7
+ setup_entry: 'bmad-tea-framework'
8
8
  ci_scope_answered: true
9
9
  ci_scope_defaulted: false
10
10
  framework_first_accepted: false
@@ -84,11 +84,11 @@ Document that `maestro test` needs a booted simulator or emulator and an install
84
84
 
85
85
  The knowledge fragments are advisory and `test-review` is post-hoc. Between the two sits the write itself, and nothing occupied it: a `.only`, a `waitForTimeout`, or a `Thread.sleep` could be written, committed, and only caught at review. This step installs the hook that blocks the write instead.
86
86
 
87
- Install it whenever the agent platform supports tool hooks. Claude Code does, through `.claude/settings.json`. Cursor, Windsurf, and Codex do not have an equivalent write-time interception point today, so on those platforms skip this section, say so in the summary, and note that `bmad-testarch-test-review` remains the enforcement path.
87
+ Install it whenever the agent platform supports tool hooks. Claude Code does, through `.claude/settings.json`. Cursor, Windsurf, and Codex do not have an equivalent write-time interception point today, so on those platforms skip this section, say so in the summary, and note that `bmad-tea-test-review` remains the enforcement path.
88
88
 
89
89
  ### 3.1 Copy the hook script
90
90
 
91
- Copy `{skill-root}/resources/hooks/tea-enforce.cjs` to `{project-root}/.claude/hooks/tea-enforce.cjs` **byte for byte**. Do not retype it, do not trim it, and do not "adapt" its rule table: the rules are generated from `bmad-testarch-test-review/steps-c/criteria-registry.md` and a test in the TEA repo asserts the two still agree. A locally edited copy silently opts the project out of that guarantee.
91
+ Copy `{skill-root}/resources/hooks/tea-enforce.cjs` to `{project-root}/.claude/hooks/tea-enforce.cjs` **byte for byte**. Do not retype it, do not trim it, and do not "adapt" its rule table: the rules are generated from `bmad-tea-test-review/steps-c/criteria-registry.md` and a test in the TEA repo asserts the two still agree. A locally edited copy silently opts the project out of that guarantee.
92
92
 
93
93
  The script has no dependencies and runs on the Node that installed TEA. The `.cjs` extension is deliberate so it keeps working in a project whose `package.json` sets `"type": "module"`.
94
94
 
@@ -1,5 +1,5 @@
1
- # Test Architect workflow: bmad-testarch-framework
2
- name: bmad-testarch-framework
1
+ # Test Architect workflow: bmad-tea-framework
2
+ name: bmad-tea-framework
3
3
  # prettier-ignore
4
4
  description: 'Initialize test framework and CI/CD setup for browser, backend or mobile stacks. Use when the user says "lets setup test framework" or "I want to initialize testing framework"'
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: bmad-testarch-nfr
2
+ name: bmad-tea-nfr
3
3
  description: 'Audit NFR evidence for performance, security, reliability, and maintainability. Use when implementation evidence exists and the user says "audit NFR evidence", "audit NFRs", or "evaluate non-functional requirements"'
4
4
  ---
5
5
 
@@ -22,6 +22,8 @@ You will continue to operate with your given name, identity, and communication_s
22
22
 
23
23
  ## On Activation
24
24
 
25
+ Before resolving customizations or running hooks, inspect `{project-root}/_bmad/custom/` for `bmad-testarch-nfr.toml` and `bmad-testarch-nfr.user.toml`. If either exists, stop and tell the user to run `npx --package=bmad-method-test-architecture-enterprise@3 tea-migrate-customizations --project-root {project-root}`. Resolve any reported manual merge, then start a fresh chat. Do not continue with default settings while legacy overrides remain.
26
+
25
27
  ### Step 1: Resolve the Workflow Block
26
28
 
27
29
  Run: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow`
@@ -397,9 +397,9 @@ The template ends with this snippet and every audit writes it. It is the machine
397
397
 
398
398
  **Next Actions:**
399
399
 
400
- - If PASS ✅: Run `/bmad-testarch-trace` Phase 2 for the release gate decision, or release
401
- - If CONCERNS ⚠️: Address HIGH/CRITICAL issues, re-run `/bmad-testarch-nfr`
402
- - If FAIL ❌: Resolve FAIL status NFRs, re-run `/bmad-testarch-nfr`
400
+ - If PASS ✅: Run `/bmad-tea-trace` Phase 2 for the release gate decision, or release
401
+ - If CONCERNS ⚠️: Address HIGH/CRITICAL issues, re-run `/bmad-tea-nfr`
402
+ - If FAIL ❌: Resolve FAIL status NFRs, re-run `/bmad-tea-nfr`
403
403
 
404
404
  **Critical Issues:** {COUNT}
405
405
  **High Priority Issues:** {COUNT}