froid-plane-test-architecture-enterprise 1.23.4

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 (945) hide show
  1. package/.claude-plugin/marketplace.json +52 -0
  2. package/.coderabbit.yaml +40 -0
  3. package/.github/CODE_OF_CONDUCT.md +128 -0
  4. package/.github/FUNDING.yaml +15 -0
  5. package/.github/ISSUE_TEMPLATE/config.yaml +8 -0
  6. package/.github/ISSUE_TEMPLATE/feature_request.md +70 -0
  7. package/.github/ISSUE_TEMPLATE/issue.md +61 -0
  8. package/.github/ISSUE_TEMPLATE/rule_quality_report.md +46 -0
  9. package/.github/workflows/docs.yaml +66 -0
  10. package/.github/workflows/publish.yaml +193 -0
  11. package/.github/workflows/quality.yaml +171 -0
  12. package/.github/workflows/tea-test-review.yaml +240 -0
  13. package/.husky/pre-commit +20 -0
  14. package/.markdownlint-cli2.yaml +36 -0
  15. package/.nvmrc +1 -0
  16. package/.prettierignore +9 -0
  17. package/.vscode/settings.json +47 -0
  18. package/AGENTS.md +32 -0
  19. package/CHANGELOG.md +582 -0
  20. package/CONTRIBUTING.md +268 -0
  21. package/DESIGN-CRITERIA-REGISTRY.md +336 -0
  22. package/LICENSE +26 -0
  23. package/README.md +782 -0
  24. package/SECURITY.md +85 -0
  25. package/cli/examples/README.md +53 -0
  26. package/cli/examples/pr-test-review.yml +315 -0
  27. package/cli/lib/agent-adapters.js +256 -0
  28. package/cli/lib/build-prompt.js +327 -0
  29. package/cli/lib/changed-tests.js +479 -0
  30. package/cli/lib/convention-baseline.js +237 -0
  31. package/cli/lib/isolate.js +353 -0
  32. package/cli/lib/parse-report.js +1081 -0
  33. package/cli/lib/registry-rows.js +60 -0
  34. package/cli/lib/resolve-skill.js +44 -0
  35. package/cli/lib/resolve-tea-config.js +229 -0
  36. package/cli/lib/run-agent.js +146 -0
  37. package/cli/test-review.js +874 -0
  38. package/docs/404.md +20 -0
  39. package/docs/explanation/engagement-models.md +191 -0
  40. package/docs/explanation/eval-quality-roadmap.md +164 -0
  41. package/docs/explanation/fixture-architecture.md +350 -0
  42. package/docs/explanation/knowledge-base-system.md +158 -0
  43. package/docs/explanation/network-first-patterns.md +342 -0
  44. package/docs/explanation/risk-based-testing.md +189 -0
  45. package/docs/explanation/step-file-architecture.md +227 -0
  46. package/docs/explanation/tea-overview.md +244 -0
  47. package/docs/explanation/test-quality-standards.md +475 -0
  48. package/docs/explanation/test-review-cli-architecture.md +159 -0
  49. package/docs/explanation/testing-as-engineering.md +124 -0
  50. package/docs/explanation/verification-architecture.md +129 -0
  51. package/docs/glossary/index.md +160 -0
  52. package/docs/how-to/brownfield/use-tea-for-enterprise.md +394 -0
  53. package/docs/how-to/brownfield/use-tea-with-existing-tests.md +499 -0
  54. package/docs/how-to/customization/configure-browser-automation.md +213 -0
  55. package/docs/how-to/customization/extend-tea-with-custom-workflows.md +102 -0
  56. package/docs/how-to/customization/integrate-pactjs-utils.md +184 -0
  57. package/docs/how-to/customization/integrate-playwright-utils.md +886 -0
  58. package/docs/how-to/install-behind-firewall.md +43 -0
  59. package/docs/how-to/workflows/run-atdd.md +453 -0
  60. package/docs/how-to/workflows/run-automate.md +673 -0
  61. package/docs/how-to/workflows/run-nfr-assess.md +723 -0
  62. package/docs/how-to/workflows/run-test-design.md +155 -0
  63. package/docs/how-to/workflows/run-test-review.md +622 -0
  64. package/docs/how-to/workflows/run-trace.md +973 -0
  65. package/docs/how-to/workflows/setup-ci.md +741 -0
  66. package/docs/how-to/workflows/setup-test-framework.md +130 -0
  67. package/docs/how-to/workflows/teach-me-testing.md +287 -0
  68. package/docs/index.md +67 -0
  69. package/docs/reference/commands.md +394 -0
  70. package/docs/reference/configuration.md +561 -0
  71. package/docs/reference/execution-targets.md +106 -0
  72. package/docs/reference/knowledge-base.md +271 -0
  73. package/docs/reference/live-verification-results.md +193 -0
  74. package/docs/reference/tea-test-review-cli.md +282 -0
  75. package/docs/reference/troubleshooting.md +362 -0
  76. package/docs/tutorials/learn-testing-tea-academy.md +67 -0
  77. package/docs/tutorials/tea-lite-quickstart.md +459 -0
  78. package/eslint.config.mjs +146 -0
  79. package/package.json +139 -0
  80. package/prettier.config.mjs +32 -0
  81. package/src/agents/froid-tea/SKILL.md +86 -0
  82. package/src/agents/froid-tea/customize.toml +108 -0
  83. package/src/agents/froid-tea/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  84. package/src/agents/froid-tea/resources/knowledge/api-request.md +572 -0
  85. package/src/agents/froid-tea/resources/knowledge/api-testing-patterns.md +931 -0
  86. package/src/agents/froid-tea/resources/knowledge/auth-session.md +553 -0
  87. package/src/agents/froid-tea/resources/knowledge/burn-in.md +273 -0
  88. package/src/agents/froid-tea/resources/knowledge/ci-burn-in.md +717 -0
  89. package/src/agents/froid-tea/resources/knowledge/component-tdd.md +522 -0
  90. package/src/agents/froid-tea/resources/knowledge/confidence-gate.md +73 -0
  91. package/src/agents/froid-tea/resources/knowledge/contract-testing.md +1066 -0
  92. package/src/agents/froid-tea/resources/knowledge/data-factories.md +539 -0
  93. package/src/agents/froid-tea/resources/knowledge/email-auth.md +721 -0
  94. package/src/agents/froid-tea/resources/knowledge/error-handling.md +725 -0
  95. package/src/agents/froid-tea/resources/knowledge/evidence-integrity.md +265 -0
  96. package/src/agents/froid-tea/resources/knowledge/feature-flags.md +750 -0
  97. package/src/agents/froid-tea/resources/knowledge/file-utils.md +456 -0
  98. package/src/agents/froid-tea/resources/knowledge/fixture-architecture.md +401 -0
  99. package/src/agents/froid-tea/resources/knowledge/fixtures-composition.md +385 -0
  100. package/src/agents/froid-tea/resources/knowledge/intercept-network-call.md +426 -0
  101. package/src/agents/froid-tea/resources/knowledge/library-integration-mandate.md +93 -0
  102. package/src/agents/froid-tea/resources/knowledge/log.md +432 -0
  103. package/src/agents/froid-tea/resources/knowledge/maestro-flows.md +540 -0
  104. package/src/agents/froid-tea/resources/knowledge/mobile-ci-device-lab.md +208 -0
  105. package/src/agents/froid-tea/resources/knowledge/mobile-test-strategy.md +127 -0
  106. package/src/agents/froid-tea/resources/knowledge/network-error-monitor.md +402 -0
  107. package/src/agents/froid-tea/resources/knowledge/network-first.md +486 -0
  108. package/src/agents/froid-tea/resources/knowledge/network-recorder.md +527 -0
  109. package/src/agents/froid-tea/resources/knowledge/nfr-criteria.md +670 -0
  110. package/src/agents/froid-tea/resources/knowledge/overview.md +290 -0
  111. package/src/agents/froid-tea/resources/knowledge/pact-broker-webhooks.md +237 -0
  112. package/src/agents/froid-tea/resources/knowledge/pact-consumer-di.md +310 -0
  113. package/src/agents/froid-tea/resources/knowledge/pact-consumer-framework-setup.md +704 -0
  114. package/src/agents/froid-tea/resources/knowledge/pact-mcp.md +242 -0
  115. package/src/agents/froid-tea/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
  116. package/src/agents/froid-tea/resources/knowledge/pactjs-utils-mandate.md +204 -0
  117. package/src/agents/froid-tea/resources/knowledge/pactjs-utils-overview.md +219 -0
  118. package/src/agents/froid-tea/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
  119. package/src/agents/froid-tea/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  120. package/src/agents/froid-tea/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  121. package/src/agents/froid-tea/resources/knowledge/playwright-cli.md +280 -0
  122. package/src/agents/froid-tea/resources/knowledge/playwright-config.md +734 -0
  123. package/src/agents/froid-tea/resources/knowledge/playwright-utils-mandate.md +183 -0
  124. package/src/agents/froid-tea/resources/knowledge/probability-impact.md +593 -0
  125. package/src/agents/froid-tea/resources/knowledge/recurse.md +433 -0
  126. package/src/agents/froid-tea/resources/knowledge/risk-governance.md +625 -0
  127. package/src/agents/froid-tea/resources/knowledge/selective-testing.md +732 -0
  128. package/src/agents/froid-tea/resources/knowledge/selector-resilience.md +527 -0
  129. package/src/agents/froid-tea/resources/knowledge/test-healing-patterns.md +644 -0
  130. package/src/agents/froid-tea/resources/knowledge/test-levels-framework.md +473 -0
  131. package/src/agents/froid-tea/resources/knowledge/test-priorities-matrix.md +382 -0
  132. package/src/agents/froid-tea/resources/knowledge/test-quality.md +848 -0
  133. package/src/agents/froid-tea/resources/knowledge/timing-debugging.md +464 -0
  134. package/src/agents/froid-tea/resources/knowledge/visual-debugging.md +527 -0
  135. package/src/agents/froid-tea/resources/knowledge/webhook-module-setup.md +122 -0
  136. package/src/agents/froid-tea/resources/knowledge/webhook-providers.md +155 -0
  137. package/src/agents/froid-tea/resources/knowledge/webhook-risk-guidance.md +114 -0
  138. package/src/agents/froid-tea/resources/knowledge/webhook-template-matchers.md +160 -0
  139. package/src/agents/froid-tea/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  140. package/src/agents/froid-tea/resources/knowledge/webhook-timeout-error.md +130 -0
  141. package/src/agents/froid-tea/resources/knowledge/webhook-waiting-querying.md +167 -0
  142. package/src/agents/froid-tea/resources/tea-index.csv +60 -0
  143. package/src/module-help.csv +11 -0
  144. package/src/module.yaml +332 -0
  145. package/src/workflows/testarch/froid-teach-me-testing/SKILL.md +129 -0
  146. package/src/workflows/testarch/froid-teach-me-testing/checklist.md +198 -0
  147. package/src/workflows/testarch/froid-teach-me-testing/customize.toml +38 -0
  148. package/src/workflows/testarch/froid-teach-me-testing/data/curriculum.yaml +129 -0
  149. package/src/workflows/testarch/froid-teach-me-testing/data/quiz-questions.yaml +206 -0
  150. package/src/workflows/testarch/froid-teach-me-testing/data/role-paths.yaml +136 -0
  151. package/src/workflows/testarch/froid-teach-me-testing/data/session-content-map.yaml +222 -0
  152. package/src/workflows/testarch/froid-teach-me-testing/data/tea-resources-index.yaml +483 -0
  153. package/src/workflows/testarch/froid-teach-me-testing/instructions.md +129 -0
  154. package/src/workflows/testarch/froid-teach-me-testing/resources/tea-completion-summary.example.md +102 -0
  155. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-01-init.md +235 -0
  156. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-01b-continue.md +147 -0
  157. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-02-assess.md +258 -0
  158. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-03-session-menu.md +219 -0
  159. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-01.md +460 -0
  160. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-02.md +465 -0
  161. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-03.md +301 -0
  162. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-04.md +234 -0
  163. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-05.md +234 -0
  164. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-06.md +209 -0
  165. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-07.md +243 -0
  166. package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-05-completion.md +343 -0
  167. package/src/workflows/testarch/froid-teach-me-testing/steps-e/step-e-01-assess-workflow.md +141 -0
  168. package/src/workflows/testarch/froid-teach-me-testing/steps-e/step-e-02-apply-edits.md +130 -0
  169. package/src/workflows/testarch/froid-teach-me-testing/steps-v/step-v-01-validate.md +278 -0
  170. package/src/workflows/testarch/froid-teach-me-testing/templates/completion-summary-template.md +82 -0
  171. package/src/workflows/testarch/froid-teach-me-testing/templates/progress-template.yaml +95 -0
  172. package/src/workflows/testarch/froid-teach-me-testing/templates/session-notes-template.md +83 -0
  173. package/src/workflows/testarch/froid-testarch-atdd/SKILL.md +85 -0
  174. package/src/workflows/testarch/froid-testarch-atdd/atdd-checklist-template.md +394 -0
  175. package/src/workflows/testarch/froid-testarch-atdd/checklist.md +408 -0
  176. package/src/workflows/testarch/froid-testarch-atdd/customize.toml +38 -0
  177. package/src/workflows/testarch/froid-testarch-atdd/instructions.md +44 -0
  178. package/src/workflows/testarch/froid-testarch-atdd/resources/atdd-checklist-2-4-guest-checkout.example.md +594 -0
  179. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  180. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/api-request.md +572 -0
  181. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/api-testing-patterns.md +931 -0
  182. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/auth-session.md +553 -0
  183. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/burn-in.md +273 -0
  184. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/ci-burn-in.md +717 -0
  185. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/component-tdd.md +522 -0
  186. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/confidence-gate.md +73 -0
  187. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/contract-testing.md +1066 -0
  188. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/data-factories.md +539 -0
  189. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/email-auth.md +721 -0
  190. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/error-handling.md +725 -0
  191. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/evidence-integrity.md +265 -0
  192. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/feature-flags.md +750 -0
  193. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/file-utils.md +456 -0
  194. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/fixture-architecture.md +401 -0
  195. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/fixtures-composition.md +385 -0
  196. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/intercept-network-call.md +426 -0
  197. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/library-integration-mandate.md +93 -0
  198. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/log.md +432 -0
  199. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/maestro-flows.md +540 -0
  200. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/mobile-ci-device-lab.md +208 -0
  201. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/mobile-test-strategy.md +127 -0
  202. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/network-error-monitor.md +402 -0
  203. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/network-first.md +486 -0
  204. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/network-recorder.md +527 -0
  205. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/nfr-criteria.md +670 -0
  206. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/overview.md +290 -0
  207. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pact-broker-webhooks.md +237 -0
  208. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pact-consumer-di.md +310 -0
  209. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pact-consumer-framework-setup.md +704 -0
  210. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pact-mcp.md +242 -0
  211. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
  212. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-mandate.md +204 -0
  213. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-overview.md +219 -0
  214. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
  215. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  216. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  217. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/playwright-cli.md +280 -0
  218. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/playwright-config.md +734 -0
  219. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/playwright-utils-mandate.md +183 -0
  220. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/probability-impact.md +593 -0
  221. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/recurse.md +433 -0
  222. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/risk-governance.md +625 -0
  223. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/selective-testing.md +732 -0
  224. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/selector-resilience.md +527 -0
  225. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/test-healing-patterns.md +644 -0
  226. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/test-levels-framework.md +473 -0
  227. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/test-priorities-matrix.md +382 -0
  228. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/test-quality.md +848 -0
  229. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/timing-debugging.md +464 -0
  230. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/visual-debugging.md +527 -0
  231. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-module-setup.md +122 -0
  232. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-providers.md +155 -0
  233. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-risk-guidance.md +114 -0
  234. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-template-matchers.md +160 -0
  235. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  236. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-timeout-error.md +130 -0
  237. package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-waiting-querying.md +167 -0
  238. package/src/workflows/testarch/froid-testarch-atdd/resources/tea-index.csv +60 -0
  239. package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-01-preflight-and-context.md +256 -0
  240. package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-01b-resume.md +96 -0
  241. package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-02-generation-mode.md +125 -0
  242. package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-03-test-strategy.md +110 -0
  243. package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-04-generate-tests.md +362 -0
  244. package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-04a-subagent-api-failing.md +323 -0
  245. package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-04b-subagent-e2e-failing.md +305 -0
  246. package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-04c-aggregate.md +430 -0
  247. package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-05-validate-and-complete.md +123 -0
  248. package/src/workflows/testarch/froid-testarch-atdd/steps-e/step-01-assess.md +65 -0
  249. package/src/workflows/testarch/froid-testarch-atdd/steps-e/step-02-apply-edit.md +68 -0
  250. package/src/workflows/testarch/froid-testarch-atdd/steps-v/step-01-validate.md +85 -0
  251. package/src/workflows/testarch/froid-testarch-atdd/workflow.yaml +46 -0
  252. package/src/workflows/testarch/froid-testarch-automate/SKILL.md +85 -0
  253. package/src/workflows/testarch/froid-testarch-automate/checklist.md +645 -0
  254. package/src/workflows/testarch/froid-testarch-automate/customize.toml +38 -0
  255. package/src/workflows/testarch/froid-testarch-automate/instructions.md +49 -0
  256. package/src/workflows/testarch/froid-testarch-automate/resources/automation-summary.example.md +76 -0
  257. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  258. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/api-request.md +572 -0
  259. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/api-testing-patterns.md +931 -0
  260. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/auth-session.md +553 -0
  261. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/burn-in.md +273 -0
  262. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/ci-burn-in.md +717 -0
  263. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/component-tdd.md +522 -0
  264. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/confidence-gate.md +73 -0
  265. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/contract-testing.md +1066 -0
  266. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/data-factories.md +539 -0
  267. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/email-auth.md +721 -0
  268. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/error-handling.md +725 -0
  269. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/evidence-integrity.md +265 -0
  270. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/feature-flags.md +750 -0
  271. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/file-utils.md +456 -0
  272. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/fixture-architecture.md +401 -0
  273. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/fixtures-composition.md +385 -0
  274. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/intercept-network-call.md +426 -0
  275. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/library-integration-mandate.md +93 -0
  276. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/log.md +432 -0
  277. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/maestro-flows.md +540 -0
  278. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/mobile-ci-device-lab.md +208 -0
  279. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/mobile-test-strategy.md +127 -0
  280. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/network-error-monitor.md +402 -0
  281. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/network-first.md +486 -0
  282. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/network-recorder.md +527 -0
  283. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/nfr-criteria.md +670 -0
  284. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/overview.md +290 -0
  285. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pact-broker-webhooks.md +237 -0
  286. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pact-consumer-di.md +310 -0
  287. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pact-consumer-framework-setup.md +704 -0
  288. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pact-mcp.md +242 -0
  289. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
  290. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-mandate.md +204 -0
  291. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-overview.md +219 -0
  292. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
  293. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  294. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  295. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/playwright-cli.md +280 -0
  296. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/playwright-config.md +734 -0
  297. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/playwright-utils-mandate.md +183 -0
  298. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/probability-impact.md +593 -0
  299. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/recurse.md +433 -0
  300. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/risk-governance.md +625 -0
  301. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/selective-testing.md +732 -0
  302. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/selector-resilience.md +527 -0
  303. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/test-healing-patterns.md +644 -0
  304. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/test-levels-framework.md +473 -0
  305. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/test-priorities-matrix.md +382 -0
  306. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/test-quality.md +848 -0
  307. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/timing-debugging.md +464 -0
  308. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/visual-debugging.md +527 -0
  309. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-module-setup.md +122 -0
  310. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-providers.md +155 -0
  311. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-risk-guidance.md +114 -0
  312. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-template-matchers.md +160 -0
  313. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  314. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-timeout-error.md +130 -0
  315. package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-waiting-querying.md +167 -0
  316. package/src/workflows/testarch/froid-testarch-automate/resources/tea-index.csv +60 -0
  317. package/src/workflows/testarch/froid-testarch-automate/steps-c/step-01-preflight-and-context.md +261 -0
  318. package/src/workflows/testarch/froid-testarch-automate/steps-c/step-01b-resume.md +94 -0
  319. package/src/workflows/testarch/froid-testarch-automate/steps-c/step-02-identify-targets.md +182 -0
  320. package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03-generate-tests.md +458 -0
  321. package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03a-subagent-api.md +333 -0
  322. package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03b-subagent-backend.md +248 -0
  323. package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03b-subagent-e2e.md +282 -0
  324. package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03b-subagent-mobile.md +162 -0
  325. package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03c-aggregate.md +494 -0
  326. package/src/workflows/testarch/froid-testarch-automate/steps-c/step-04-validate-and-summarize.md +120 -0
  327. package/src/workflows/testarch/froid-testarch-automate/steps-e/step-01-assess.md +65 -0
  328. package/src/workflows/testarch/froid-testarch-automate/steps-e/step-02-apply-edit.md +68 -0
  329. package/src/workflows/testarch/froid-testarch-automate/steps-v/step-01-validate.md +85 -0
  330. package/src/workflows/testarch/froid-testarch-automate/workflow.yaml +53 -0
  331. package/src/workflows/testarch/froid-testarch-ci/SKILL.md +85 -0
  332. package/src/workflows/testarch/froid-testarch-ci/azure-pipelines-template.yaml +155 -0
  333. package/src/workflows/testarch/froid-testarch-ci/checklist.md +289 -0
  334. package/src/workflows/testarch/froid-testarch-ci/customize.toml +38 -0
  335. package/src/workflows/testarch/froid-testarch-ci/github-actions-template.yaml +328 -0
  336. package/src/workflows/testarch/froid-testarch-ci/gitlab-ci-template.yaml +158 -0
  337. package/src/workflows/testarch/froid-testarch-ci/harness-pipeline-template.yaml +160 -0
  338. package/src/workflows/testarch/froid-testarch-ci/instructions.md +44 -0
  339. package/src/workflows/testarch/froid-testarch-ci/jenkins-pipeline-template.groovy +129 -0
  340. package/src/workflows/testarch/froid-testarch-ci/resources/ci-pipeline-progress.example.md +121 -0
  341. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  342. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/api-request.md +572 -0
  343. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/api-testing-patterns.md +931 -0
  344. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/auth-session.md +553 -0
  345. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/burn-in.md +273 -0
  346. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/ci-burn-in.md +717 -0
  347. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/component-tdd.md +522 -0
  348. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/confidence-gate.md +73 -0
  349. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/contract-testing.md +1066 -0
  350. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/data-factories.md +539 -0
  351. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/email-auth.md +721 -0
  352. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/error-handling.md +725 -0
  353. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/evidence-integrity.md +265 -0
  354. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/feature-flags.md +750 -0
  355. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/file-utils.md +456 -0
  356. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/fixture-architecture.md +401 -0
  357. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/fixtures-composition.md +385 -0
  358. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/intercept-network-call.md +426 -0
  359. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/library-integration-mandate.md +93 -0
  360. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/log.md +432 -0
  361. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/maestro-flows.md +540 -0
  362. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/mobile-ci-device-lab.md +208 -0
  363. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/mobile-test-strategy.md +127 -0
  364. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/network-error-monitor.md +402 -0
  365. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/network-first.md +486 -0
  366. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/network-recorder.md +527 -0
  367. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/nfr-criteria.md +670 -0
  368. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/overview.md +290 -0
  369. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pact-broker-webhooks.md +237 -0
  370. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pact-consumer-di.md +310 -0
  371. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pact-consumer-framework-setup.md +704 -0
  372. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pact-mcp.md +242 -0
  373. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
  374. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-mandate.md +204 -0
  375. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-overview.md +219 -0
  376. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
  377. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  378. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  379. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/playwright-cli.md +280 -0
  380. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/playwright-config.md +734 -0
  381. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/playwright-utils-mandate.md +183 -0
  382. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/probability-impact.md +593 -0
  383. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/recurse.md +433 -0
  384. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/risk-governance.md +625 -0
  385. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/selective-testing.md +732 -0
  386. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/selector-resilience.md +527 -0
  387. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/test-healing-patterns.md +644 -0
  388. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/test-levels-framework.md +473 -0
  389. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/test-priorities-matrix.md +382 -0
  390. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/test-quality.md +848 -0
  391. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/timing-debugging.md +464 -0
  392. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/visual-debugging.md +527 -0
  393. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-module-setup.md +122 -0
  394. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-providers.md +155 -0
  395. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-risk-guidance.md +114 -0
  396. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-template-matchers.md +160 -0
  397. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  398. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-timeout-error.md +130 -0
  399. package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-waiting-querying.md +167 -0
  400. package/src/workflows/testarch/froid-testarch-ci/resources/tea-index.csv +60 -0
  401. package/src/workflows/testarch/froid-testarch-ci/steps-c/step-01-preflight.md +173 -0
  402. package/src/workflows/testarch/froid-testarch-ci/steps-c/step-01b-resume.md +110 -0
  403. package/src/workflows/testarch/froid-testarch-ci/steps-c/step-02-generate-pipeline.md +305 -0
  404. package/src/workflows/testarch/froid-testarch-ci/steps-c/step-03-configure-quality-gates.md +164 -0
  405. package/src/workflows/testarch/froid-testarch-ci/steps-c/step-04-validate-and-summary.md +100 -0
  406. package/src/workflows/testarch/froid-testarch-ci/steps-e/step-01-assess.md +65 -0
  407. package/src/workflows/testarch/froid-testarch-ci/steps-e/step-02-apply-edit.md +68 -0
  408. package/src/workflows/testarch/froid-testarch-ci/steps-v/step-01-validate.md +99 -0
  409. package/src/workflows/testarch/froid-testarch-ci/workflow.yaml +48 -0
  410. package/src/workflows/testarch/froid-testarch-framework/SKILL.md +85 -0
  411. package/src/workflows/testarch/froid-testarch-framework/checklist.md +370 -0
  412. package/src/workflows/testarch/froid-testarch-framework/customize.toml +38 -0
  413. package/src/workflows/testarch/froid-testarch-framework/instructions.md +44 -0
  414. package/src/workflows/testarch/froid-testarch-framework/resources/framework-setup-progress.example.md +195 -0
  415. package/src/workflows/testarch/froid-testarch-framework/resources/hooks/tea-enforce.cjs +1098 -0
  416. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  417. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/api-request.md +572 -0
  418. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/api-testing-patterns.md +931 -0
  419. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/auth-session.md +553 -0
  420. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/burn-in.md +273 -0
  421. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/ci-burn-in.md +717 -0
  422. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/component-tdd.md +522 -0
  423. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/confidence-gate.md +73 -0
  424. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/contract-testing.md +1066 -0
  425. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/data-factories.md +539 -0
  426. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/email-auth.md +721 -0
  427. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/error-handling.md +725 -0
  428. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/evidence-integrity.md +265 -0
  429. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/feature-flags.md +750 -0
  430. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/file-utils.md +456 -0
  431. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/fixture-architecture.md +401 -0
  432. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/fixtures-composition.md +385 -0
  433. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/intercept-network-call.md +426 -0
  434. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/library-integration-mandate.md +93 -0
  435. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/log.md +432 -0
  436. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/maestro-flows.md +540 -0
  437. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/mobile-ci-device-lab.md +208 -0
  438. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/mobile-test-strategy.md +127 -0
  439. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/network-error-monitor.md +402 -0
  440. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/network-first.md +486 -0
  441. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/network-recorder.md +527 -0
  442. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/nfr-criteria.md +670 -0
  443. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/overview.md +290 -0
  444. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pact-broker-webhooks.md +237 -0
  445. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pact-consumer-di.md +310 -0
  446. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pact-consumer-framework-setup.md +704 -0
  447. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pact-mcp.md +242 -0
  448. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
  449. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-mandate.md +204 -0
  450. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-overview.md +219 -0
  451. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
  452. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  453. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  454. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/playwright-cli.md +280 -0
  455. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/playwright-config.md +734 -0
  456. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/playwright-utils-mandate.md +183 -0
  457. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/probability-impact.md +593 -0
  458. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/recurse.md +433 -0
  459. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/risk-governance.md +625 -0
  460. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/selective-testing.md +732 -0
  461. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/selector-resilience.md +527 -0
  462. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/test-healing-patterns.md +644 -0
  463. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/test-levels-framework.md +473 -0
  464. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/test-priorities-matrix.md +382 -0
  465. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/test-quality.md +848 -0
  466. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/timing-debugging.md +464 -0
  467. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/visual-debugging.md +527 -0
  468. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-module-setup.md +122 -0
  469. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-providers.md +155 -0
  470. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-risk-guidance.md +114 -0
  471. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-template-matchers.md +160 -0
  472. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  473. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-timeout-error.md +130 -0
  474. package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-waiting-querying.md +167 -0
  475. package/src/workflows/testarch/froid-testarch-framework/resources/tea-index.csv +60 -0
  476. package/src/workflows/testarch/froid-testarch-framework/steps-c/step-01-preflight.md +145 -0
  477. package/src/workflows/testarch/froid-testarch-framework/steps-c/step-01b-resume.md +116 -0
  478. package/src/workflows/testarch/froid-testarch-framework/steps-c/step-02-select-framework.md +131 -0
  479. package/src/workflows/testarch/froid-testarch-framework/steps-c/step-03-scaffold-framework.md +444 -0
  480. package/src/workflows/testarch/froid-testarch-framework/steps-c/step-04-docs-and-scripts.md +210 -0
  481. package/src/workflows/testarch/froid-testarch-framework/steps-c/step-05-validate-and-summary.md +101 -0
  482. package/src/workflows/testarch/froid-testarch-framework/steps-e/step-01-assess.md +65 -0
  483. package/src/workflows/testarch/froid-testarch-framework/steps-e/step-02-apply-edit.md +68 -0
  484. package/src/workflows/testarch/froid-testarch-framework/steps-v/step-01-validate.md +85 -0
  485. package/src/workflows/testarch/froid-testarch-framework/workflow.yaml +48 -0
  486. package/src/workflows/testarch/froid-testarch-nfr/SKILL.md +85 -0
  487. package/src/workflows/testarch/froid-testarch-nfr/checklist.md +405 -0
  488. package/src/workflows/testarch/froid-testarch-nfr/customize.toml +38 -0
  489. package/src/workflows/testarch/froid-testarch-nfr/instructions.md +45 -0
  490. package/src/workflows/testarch/froid-testarch-nfr/nfr-report-template.md +454 -0
  491. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  492. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/api-request.md +572 -0
  493. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/api-testing-patterns.md +931 -0
  494. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/auth-session.md +553 -0
  495. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/burn-in.md +273 -0
  496. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/ci-burn-in.md +717 -0
  497. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/component-tdd.md +522 -0
  498. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/confidence-gate.md +73 -0
  499. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/contract-testing.md +1066 -0
  500. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/data-factories.md +539 -0
  501. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/email-auth.md +721 -0
  502. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/error-handling.md +725 -0
  503. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/evidence-integrity.md +265 -0
  504. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/feature-flags.md +750 -0
  505. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/file-utils.md +456 -0
  506. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/fixture-architecture.md +401 -0
  507. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/fixtures-composition.md +385 -0
  508. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/intercept-network-call.md +426 -0
  509. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/library-integration-mandate.md +93 -0
  510. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/log.md +432 -0
  511. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/maestro-flows.md +540 -0
  512. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/mobile-ci-device-lab.md +208 -0
  513. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/mobile-test-strategy.md +127 -0
  514. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/network-error-monitor.md +402 -0
  515. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/network-first.md +486 -0
  516. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/network-recorder.md +527 -0
  517. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/nfr-criteria.md +670 -0
  518. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/overview.md +290 -0
  519. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pact-broker-webhooks.md +237 -0
  520. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pact-consumer-di.md +310 -0
  521. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pact-consumer-framework-setup.md +704 -0
  522. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pact-mcp.md +242 -0
  523. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
  524. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-mandate.md +204 -0
  525. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-overview.md +219 -0
  526. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
  527. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  528. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  529. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/playwright-cli.md +280 -0
  530. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/playwright-config.md +734 -0
  531. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/playwright-utils-mandate.md +183 -0
  532. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/probability-impact.md +593 -0
  533. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/recurse.md +433 -0
  534. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/risk-governance.md +625 -0
  535. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/selective-testing.md +732 -0
  536. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/selector-resilience.md +527 -0
  537. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/test-healing-patterns.md +644 -0
  538. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/test-levels-framework.md +473 -0
  539. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/test-priorities-matrix.md +382 -0
  540. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/test-quality.md +848 -0
  541. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/timing-debugging.md +464 -0
  542. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/visual-debugging.md +527 -0
  543. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-module-setup.md +122 -0
  544. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-providers.md +155 -0
  545. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-risk-guidance.md +114 -0
  546. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-template-matchers.md +160 -0
  547. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  548. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-timeout-error.md +130 -0
  549. package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-waiting-querying.md +167 -0
  550. package/src/workflows/testarch/froid-testarch-nfr/resources/nfr-assessment.example.md +497 -0
  551. package/src/workflows/testarch/froid-testarch-nfr/resources/tea-index.csv +60 -0
  552. package/src/workflows/testarch/froid-testarch-nfr/steps-c/nfr-status-definitions.md +37 -0
  553. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-01-load-context.md +138 -0
  554. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-01b-resume.md +106 -0
  555. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-02-define-thresholds.md +120 -0
  556. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-03-gather-evidence.md +108 -0
  557. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04-evaluate-and-score.md +254 -0
  558. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04a-subagent-security.md +135 -0
  559. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04b-subagent-performance.md +97 -0
  560. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04c-subagent-reliability.md +93 -0
  561. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04d-subagent-maintainability.md +104 -0
  562. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04e-aggregate-nfr.md +294 -0
  563. package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-05-generate-report.md +116 -0
  564. package/src/workflows/testarch/froid-testarch-nfr/steps-e/step-01-assess.md +65 -0
  565. package/src/workflows/testarch/froid-testarch-nfr/steps-e/step-02-apply-edit.md +68 -0
  566. package/src/workflows/testarch/froid-testarch-nfr/steps-v/step-01-validate.md +85 -0
  567. package/src/workflows/testarch/froid-testarch-nfr/workflow.yaml +48 -0
  568. package/src/workflows/testarch/froid-testarch-test-design/SKILL.md +89 -0
  569. package/src/workflows/testarch/froid-testarch-test-design/checklist.md +486 -0
  570. package/src/workflows/testarch/froid-testarch-test-design/customize.toml +38 -0
  571. package/src/workflows/testarch/froid-testarch-test-design/instructions.md +104 -0
  572. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  573. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/api-request.md +572 -0
  574. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/api-testing-patterns.md +931 -0
  575. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/auth-session.md +553 -0
  576. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/burn-in.md +273 -0
  577. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/ci-burn-in.md +717 -0
  578. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/component-tdd.md +522 -0
  579. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/confidence-gate.md +73 -0
  580. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/contract-testing.md +1066 -0
  581. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/data-factories.md +539 -0
  582. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/email-auth.md +721 -0
  583. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/error-handling.md +725 -0
  584. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/evidence-integrity.md +265 -0
  585. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/feature-flags.md +750 -0
  586. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/file-utils.md +456 -0
  587. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/fixture-architecture.md +401 -0
  588. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/fixtures-composition.md +385 -0
  589. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/intercept-network-call.md +426 -0
  590. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/library-integration-mandate.md +93 -0
  591. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/log.md +432 -0
  592. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/maestro-flows.md +540 -0
  593. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/mobile-ci-device-lab.md +208 -0
  594. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/mobile-test-strategy.md +127 -0
  595. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/network-error-monitor.md +402 -0
  596. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/network-first.md +486 -0
  597. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/network-recorder.md +527 -0
  598. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/nfr-criteria.md +670 -0
  599. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/overview.md +290 -0
  600. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pact-broker-webhooks.md +237 -0
  601. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pact-consumer-di.md +310 -0
  602. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pact-consumer-framework-setup.md +704 -0
  603. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pact-mcp.md +242 -0
  604. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
  605. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-mandate.md +204 -0
  606. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-overview.md +219 -0
  607. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
  608. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  609. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  610. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/playwright-cli.md +280 -0
  611. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/playwright-config.md +734 -0
  612. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/playwright-utils-mandate.md +183 -0
  613. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/probability-impact.md +593 -0
  614. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/recurse.md +433 -0
  615. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/risk-governance.md +625 -0
  616. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/selective-testing.md +732 -0
  617. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/selector-resilience.md +527 -0
  618. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/test-healing-patterns.md +644 -0
  619. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/test-levels-framework.md +473 -0
  620. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/test-priorities-matrix.md +382 -0
  621. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/test-quality.md +848 -0
  622. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/timing-debugging.md +464 -0
  623. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/visual-debugging.md +527 -0
  624. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-module-setup.md +122 -0
  625. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-providers.md +155 -0
  626. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-risk-guidance.md +114 -0
  627. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-template-matchers.md +160 -0
  628. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  629. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-timeout-error.md +130 -0
  630. package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-waiting-querying.md +167 -0
  631. package/src/workflows/testarch/froid-testarch-test-design/resources/tea-index.csv +60 -0
  632. package/src/workflows/testarch/froid-testarch-test-design/resources/test-design-epic-3.example.md +300 -0
  633. package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-01-detect-mode.md +187 -0
  634. package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-01b-resume.md +141 -0
  635. package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-02-load-context.md +268 -0
  636. package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-03-risk-and-testability.md +133 -0
  637. package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-04-coverage-plan.md +148 -0
  638. package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-05-generate-output.md +241 -0
  639. package/src/workflows/testarch/froid-testarch-test-design/steps-e/step-01-assess.md +65 -0
  640. package/src/workflows/testarch/froid-testarch-test-design/steps-e/step-02-apply-edit.md +68 -0
  641. package/src/workflows/testarch/froid-testarch-test-design/steps-v/step-01-validate.md +85 -0
  642. package/src/workflows/testarch/froid-testarch-test-design/test-design-architecture-template.md +250 -0
  643. package/src/workflows/testarch/froid-testarch-test-design/test-design-handoff-template.md +70 -0
  644. package/src/workflows/testarch/froid-testarch-test-design/test-design-qa-template.md +414 -0
  645. package/src/workflows/testarch/froid-testarch-test-design/test-design-template.md +367 -0
  646. package/src/workflows/testarch/froid-testarch-test-design/workflow.yaml +77 -0
  647. package/src/workflows/testarch/froid-testarch-test-review/SKILL.md +97 -0
  648. package/src/workflows/testarch/froid-testarch-test-review/checklist.md +506 -0
  649. package/src/workflows/testarch/froid-testarch-test-review/customize.toml +66 -0
  650. package/src/workflows/testarch/froid-testarch-test-review/instructions.md +50 -0
  651. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  652. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/api-request.md +572 -0
  653. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/api-testing-patterns.md +931 -0
  654. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/auth-session.md +553 -0
  655. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/burn-in.md +273 -0
  656. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/ci-burn-in.md +717 -0
  657. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/component-tdd.md +522 -0
  658. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/confidence-gate.md +73 -0
  659. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/contract-testing.md +1066 -0
  660. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/data-factories.md +539 -0
  661. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/email-auth.md +721 -0
  662. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/error-handling.md +725 -0
  663. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/evidence-integrity.md +265 -0
  664. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/feature-flags.md +750 -0
  665. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/file-utils.md +456 -0
  666. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/fixture-architecture.md +401 -0
  667. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/fixtures-composition.md +385 -0
  668. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/intercept-network-call.md +426 -0
  669. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/library-integration-mandate.md +93 -0
  670. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/log.md +432 -0
  671. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/maestro-flows.md +540 -0
  672. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/mobile-ci-device-lab.md +208 -0
  673. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/mobile-test-strategy.md +127 -0
  674. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/network-error-monitor.md +402 -0
  675. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/network-first.md +486 -0
  676. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/network-recorder.md +527 -0
  677. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/nfr-criteria.md +670 -0
  678. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/overview.md +290 -0
  679. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pact-broker-webhooks.md +237 -0
  680. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pact-consumer-di.md +310 -0
  681. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pact-consumer-framework-setup.md +704 -0
  682. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pact-mcp.md +242 -0
  683. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
  684. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-mandate.md +204 -0
  685. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-overview.md +219 -0
  686. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
  687. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  688. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  689. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/playwright-cli.md +280 -0
  690. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/playwright-config.md +734 -0
  691. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/playwright-utils-mandate.md +183 -0
  692. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/probability-impact.md +593 -0
  693. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/recurse.md +433 -0
  694. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/risk-governance.md +625 -0
  695. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/selective-testing.md +732 -0
  696. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/selector-resilience.md +527 -0
  697. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/test-healing-patterns.md +644 -0
  698. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/test-levels-framework.md +473 -0
  699. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/test-priorities-matrix.md +382 -0
  700. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/test-quality.md +848 -0
  701. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/timing-debugging.md +464 -0
  702. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/visual-debugging.md +527 -0
  703. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-module-setup.md +122 -0
  704. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-providers.md +155 -0
  705. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-risk-guidance.md +114 -0
  706. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-template-matchers.md +160 -0
  707. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  708. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-timeout-error.md +130 -0
  709. package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-waiting-querying.md +167 -0
  710. package/src/workflows/testarch/froid-testarch-test-review/resources/tea-index.csv +60 -0
  711. package/src/workflows/testarch/froid-testarch-test-review/resources/test-review.example.md +297 -0
  712. package/src/workflows/testarch/froid-testarch-test-review/steps-c/criteria-registry.md +230 -0
  713. package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-01-load-context.md +236 -0
  714. package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-01b-resume.md +104 -0
  715. package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-02-discover-tests.md +271 -0
  716. package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03-quality-evaluation.md +296 -0
  717. package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03a-subagent-determinism.md +336 -0
  718. package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03b-subagent-isolation.md +142 -0
  719. package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03c-subagent-maintainability.md +173 -0
  720. package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03e-subagent-performance.md +145 -0
  721. package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03f-aggregate-scores.md +409 -0
  722. package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-04-generate-report.md +122 -0
  723. package/src/workflows/testarch/froid-testarch-test-review/steps-e/step-01-assess.md +65 -0
  724. package/src/workflows/testarch/froid-testarch-test-review/steps-e/step-02-apply-edit.md +68 -0
  725. package/src/workflows/testarch/froid-testarch-test-review/steps-v/step-01-validate.md +85 -0
  726. package/src/workflows/testarch/froid-testarch-test-review/test-review-template.md +469 -0
  727. package/src/workflows/testarch/froid-testarch-test-review/workflow.yaml +55 -0
  728. package/src/workflows/testarch/froid-testarch-trace/SKILL.md +87 -0
  729. package/src/workflows/testarch/froid-testarch-trace/checklist.md +677 -0
  730. package/src/workflows/testarch/froid-testarch-trace/customize.toml +38 -0
  731. package/src/workflows/testarch/froid-testarch-trace/instructions.md +45 -0
  732. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
  733. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/api-request.md +572 -0
  734. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/api-testing-patterns.md +931 -0
  735. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/auth-session.md +553 -0
  736. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/burn-in.md +273 -0
  737. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/ci-burn-in.md +717 -0
  738. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/component-tdd.md +522 -0
  739. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/confidence-gate.md +73 -0
  740. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/contract-testing.md +1066 -0
  741. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/data-factories.md +539 -0
  742. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/email-auth.md +721 -0
  743. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/error-handling.md +725 -0
  744. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/evidence-integrity.md +265 -0
  745. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/feature-flags.md +750 -0
  746. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/file-utils.md +456 -0
  747. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/fixture-architecture.md +401 -0
  748. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/fixtures-composition.md +385 -0
  749. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/intercept-network-call.md +426 -0
  750. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/library-integration-mandate.md +93 -0
  751. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/log.md +432 -0
  752. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/maestro-flows.md +540 -0
  753. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/mobile-ci-device-lab.md +208 -0
  754. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/mobile-test-strategy.md +127 -0
  755. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/network-error-monitor.md +402 -0
  756. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/network-first.md +486 -0
  757. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/network-recorder.md +527 -0
  758. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/nfr-criteria.md +670 -0
  759. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/overview.md +290 -0
  760. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pact-broker-webhooks.md +237 -0
  761. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pact-consumer-di.md +310 -0
  762. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pact-consumer-framework-setup.md +704 -0
  763. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pact-mcp.md +242 -0
  764. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
  765. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-mandate.md +204 -0
  766. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-overview.md +219 -0
  767. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
  768. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-request-filter.md +224 -0
  769. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
  770. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/playwright-cli.md +280 -0
  771. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/playwright-config.md +734 -0
  772. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/playwright-utils-mandate.md +183 -0
  773. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/probability-impact.md +593 -0
  774. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/recurse.md +433 -0
  775. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/risk-governance.md +625 -0
  776. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/selective-testing.md +732 -0
  777. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/selector-resilience.md +527 -0
  778. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/test-healing-patterns.md +644 -0
  779. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/test-levels-framework.md +473 -0
  780. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/test-priorities-matrix.md +382 -0
  781. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/test-quality.md +848 -0
  782. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/timing-debugging.md +464 -0
  783. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/visual-debugging.md +527 -0
  784. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-module-setup.md +122 -0
  785. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-providers.md +155 -0
  786. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-risk-guidance.md +114 -0
  787. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-template-matchers.md +160 -0
  788. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-testing-fundamentals.md +42 -0
  789. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-timeout-error.md +130 -0
  790. package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-waiting-querying.md +167 -0
  791. package/src/workflows/testarch/froid-testarch-trace/resources/live-verification-results.example.json +37 -0
  792. package/src/workflows/testarch/froid-testarch-trace/resources/tea-index.csv +60 -0
  793. package/src/workflows/testarch/froid-testarch-trace/resources/traceability-matrix.example.md +346 -0
  794. package/src/workflows/testarch/froid-testarch-trace/steps-c/step-01-load-context.md +166 -0
  795. package/src/workflows/testarch/froid-testarch-trace/steps-c/step-01b-resume.md +102 -0
  796. package/src/workflows/testarch/froid-testarch-trace/steps-c/step-02-discover-tests.md +292 -0
  797. package/src/workflows/testarch/froid-testarch-trace/steps-c/step-03-map-criteria.md +149 -0
  798. package/src/workflows/testarch/froid-testarch-trace/steps-c/step-04-analyze-gaps.md +795 -0
  799. package/src/workflows/testarch/froid-testarch-trace/steps-c/step-05-gate-decision.md +795 -0
  800. package/src/workflows/testarch/froid-testarch-trace/steps-e/step-01-assess.md +65 -0
  801. package/src/workflows/testarch/froid-testarch-trace/steps-e/step-02-apply-edit.md +68 -0
  802. package/src/workflows/testarch/froid-testarch-trace/steps-v/step-01-validate.md +85 -0
  803. package/src/workflows/testarch/froid-testarch-trace/trace-template.md +716 -0
  804. package/src/workflows/testarch/froid-testarch-trace/workflow.yaml +98 -0
  805. package/test/README.md +57 -0
  806. package/test/eval-all.js +213 -0
  807. package/test/eval-fragment-selection.js +521 -0
  808. package/test/eval-test-review.js +525 -0
  809. package/test/evals/froid-testarch-atdd/evals.json +98 -0
  810. package/test/evals/froid-testarch-automate/evals.json +198 -0
  811. package/test/evals/froid-testarch-ci/evals.json +78 -0
  812. package/test/evals/froid-testarch-framework/evals.json +111 -0
  813. package/test/evals/froid-testarch-nfr/evals.json +78 -0
  814. package/test/evals/froid-testarch-test-design/evals.json +136 -0
  815. package/test/evals/froid-testarch-test-review/evals.json +76 -0
  816. package/test/evals/froid-testarch-trace/evals.json +62 -0
  817. package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
  818. package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
  819. package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
  820. package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
  821. package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
  822. package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
  823. package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
  824. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
  825. package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
  826. package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
  827. package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
  828. package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
  829. package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
  830. package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
  831. package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
  832. package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
  833. package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
  834. package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
  835. package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
  836. package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
  837. package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
  838. package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
  839. package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
  840. package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
  841. package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
  842. package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
  843. package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
  844. package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
  845. package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
  846. package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
  847. package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
  848. package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
  849. package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
  850. package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
  851. package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
  852. package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
  853. package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
  854. package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
  855. package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
  856. package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
  857. package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
  858. package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
  859. package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
  860. package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
  861. package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
  862. package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
  863. package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
  864. package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
  865. package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
  866. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
  867. package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
  868. package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
  869. package/test/fixtures/test-review-cli/project/_froid/tea/workflows/testarch/froid-testarch-test-review/SKILL.md +1 -0
  870. package/test/fixtures/test-review-cli/project-claude/.claude/skills/froid-testarch-test-review/SKILL.md +1 -0
  871. package/test/fixtures/test-review-cli/project-empty/.gitkeep +0 -0
  872. package/test/fixtures/test-review-cli/reports/approve-low-score.md +54 -0
  873. package/test/fixtures/test-review-cli/reports/approve-with-high.md +61 -0
  874. package/test/fixtures/test-review-cli/reports/approve.md +54 -0
  875. package/test/fixtures/test-review-cli/reports/bad-value.md +38 -0
  876. package/test/fixtures/test-review-cli/reports/block.md +102 -0
  877. package/test/fixtures/test-review-cli/reports/bonus-not-multiple.md +71 -0
  878. package/test/fixtures/test-review-cli/reports/colon-in-bold.md +51 -0
  879. package/test/fixtures/test-review-cli/reports/conflicting.md +38 -0
  880. package/test/fixtures/test-review-cli/reports/context-basis-without-manifest.md +61 -0
  881. package/test/fixtures/test-review-cli/reports/context-none-with-manifest.md +66 -0
  882. package/test/fixtures/test-review-cli/reports/context-overlaps-reviewed.md +67 -0
  883. package/test/fixtures/test-review-cli/reports/context-pr-diff.md +86 -0
  884. package/test/fixtures/test-review-cli/reports/convention-baseline-unavailable.md +61 -0
  885. package/test/fixtures/test-review-cli/reports/convention-fabricated.md +62 -0
  886. package/test/fixtures/test-review-cli/reports/convention-honest-absent.md +61 -0
  887. package/test/fixtures/test-review-cli/reports/critical-approve.md +38 -0
  888. package/test/fixtures/test-review-cli/reports/duplicate-breakdown-heading.md +87 -0
  889. package/test/fixtures/test-review-cli/reports/empty-steps-flow.md +56 -0
  890. package/test/fixtures/test-review-cli/reports/fenced-recommendation.md +59 -0
  891. package/test/fixtures/test-review-cli/reports/key-strengths-weaknesses.md +72 -0
  892. package/test/fixtures/test-review-cli/reports/lowercase.md +53 -0
  893. package/test/fixtures/test-review-cli/reports/malformed.md +12 -0
  894. package/test/fixtures/test-review-cli/reports/missing-breakdown.md +46 -0
  895. package/test/fixtures/test-review-cli/reports/missing-context-basis.md +59 -0
  896. package/test/fixtures/test-review-cli/reports/missing-decision.md +53 -0
  897. package/test/fixtures/test-review-cli/reports/missing-frontmatter.md +45 -0
  898. package/test/fixtures/test-review-cli/reports/missing-reviewed-files.md +49 -0
  899. package/test/fixtures/test-review-cli/reports/missing-score.md +52 -0
  900. package/test/fixtures/test-review-cli/reports/missing-violations.md +36 -0
  901. package/test/fixtures/test-review-cli/reports/plain-bullets-key-strengths.md +62 -0
  902. package/test/fixtures/test-review-cli/reports/request-changes-critical.md +98 -0
  903. package/test/fixtures/test-review-cli/reports/request-changes.md +91 -0
  904. package/test/fixtures/test-review-cli/reports/score-140.md +38 -0
  905. package/test/fixtures/test-review-cli/reports/score-mismatch.md +57 -0
  906. package/test/fixtures/test-review-cli/reports/table-breakdown.md +65 -0
  907. package/test/fixtures/test-review-cli/reports/wrapped-steps-flow.md +58 -0
  908. package/test/fixtures/test-review-cli/stub-agent.js +398 -0
  909. package/test/fixtures/test-review-eval/clean/profile.spec.ts +36 -0
  910. package/test/fixtures/test-review-eval/ground-truth.json +60 -0
  911. package/test/fixtures/test-review-eval/seeded/checkout.spec.ts +42 -0
  912. package/test/fixtures/test-review-eval/seeded/orders.service.spec.ts +40 -0
  913. package/test/schema/agent.js +491 -0
  914. package/test/test-agent-schema.js +387 -0
  915. package/test/test-enforce-hook.js +413 -0
  916. package/test/test-installation-components.js +510 -0
  917. package/test/test-knowledge-base.js +445 -0
  918. package/test/test-release-metadata.js +71 -0
  919. package/test/test-stamp-changelog.js +102 -0
  920. package/test/test-test-review-cli.js +4830 -0
  921. package/tools/build-docs.js +575 -0
  922. package/tools/fix-doc-links.js +288 -0
  923. package/tools/schema/agent.js +491 -0
  924. package/tools/stamp-changelog.js +123 -0
  925. package/tools/validate-agent-schema.js +284 -0
  926. package/tools/validate-criteria-fragments.js +446 -0
  927. package/tools/validate-doc-links.js +440 -0
  928. package/tools/validate-tea-workflow-descriptions.js +123 -0
  929. package/website/README.md +137 -0
  930. package/website/astro.config.mjs +189 -0
  931. package/website/package-lock.json +6856 -0
  932. package/website/package.json +24 -0
  933. package/website/public/favicon.ico +0 -0
  934. package/website/public/img/tea-logo.svg +7 -0
  935. package/website/public/robots.txt +37 -0
  936. package/website/src/components/Banner.astro +74 -0
  937. package/website/src/components/Header.astro +121 -0
  938. package/website/src/components/MobileMenuFooter.astro +53 -0
  939. package/website/src/content/config.ts +6 -0
  940. package/website/src/lib/site-url.js +25 -0
  941. package/website/src/pages/404.astro +11 -0
  942. package/website/src/rehype-base-paths.js +89 -0
  943. package/website/src/rehype-markdown-links.js +117 -0
  944. package/website/src/styles/custom.css +518 -0
  945. package/website/tsconfig.json +9 -0
@@ -0,0 +1,204 @@
1
+ # Pact.js Utils Mandate
2
+
3
+ ## Principle
4
+
5
+ When `tea_use_pactjs_utils` is `true` and `@seontechnologies/pactjs-utils` is installed, that package is the **default implementation** for every capability it covers in a Pact suite. Raw `@pact-foundation/pact` boilerplate is a documented deviation, never a default. The flag is not a hint that the library exists; it is an instruction to write consumer and provider suites in that style without being asked.
6
+
7
+ This fragment instantiates `library-integration-mandate.md`. Read that one for the two gates, the enforcement levels, and the deviation protocol; this one carries the substitutions. The per-utility fragments (`pactjs-utils-consumer-helpers.md`, `pactjs-utils-provider-verifier.md`, `pactjs-utils-request-filter.md`, `pactjs-utils-zod-to-pact.md`) are the reference for how each function is called.
8
+
9
+ ## Scope
10
+
11
+ **Applies when all of these hold:**
12
+
13
+ - `tea_use_pactjs_utils` is `true` in `{config_source}`
14
+ - `@seontechnologies/pactjs-utils` is a dependency in the project's `package.json`
15
+ - The file is a JavaScript or TypeScript Pact artifact: a consumer test (`.pacttest.ts`), a provider verification test, a message consumer or provider test, or their support files
16
+
17
+ **Does not apply to** — nothing here overrides these:
18
+
19
+ - Playwright specs, which follow `playwright-utils-mandate.md`
20
+ - Pact suites in other languages (pact-jvm, pact-python, pact-go)
21
+ - Projects with no contract-testing relevance at all. The flag being `true` is not a reason to introduce Pact into a repo that has no consumer/provider boundary; see "Relevance Before Scaffolding" below.
22
+
23
+ ## Relevance Before Scaffolding
24
+
25
+ `tea_use_pactjs_utils` defaults to `true`, which means "use these utilities when you write contract tests", not "write contract tests everywhere".
26
+
27
+ This is the one gate for the decision. Every workflow defers to it rather than restating its own list.
28
+
29
+ **Sufficient on its own.** Any one of these settles it:
30
+
31
+ - An existing `pact/` or `tests/contract/` directory
32
+ - `@pact-foundation/pact` already in `package.json`
33
+ - `PACT_BROKER_BASE_URL` or another `PACT_BROKER_*` variable in the environment or `.env.example`
34
+ - A microservices layout: two or more independently deployable services in this repo that call each other
35
+ - The user asked for contract testing
36
+
37
+ **Not sufficient on its own.** An outbound HTTP call, a generated API client, or a service URL in `.env.example` is weak evidence: most frontends have all three and call a backend that ships in the same deploy. Treat these as evidence only when **both** hold:
38
+
39
+ 1. The called service has **no source in this repo**, and is not started by this repo's compose file, dev script, or CI, and
40
+ 2. A second signal is present — another item from this list, or one of the sufficient signals above.
41
+
42
+ The disqualifier in (1) is the whole test, so check it rather than assume it. A repo whose frontend calls its own backend has no consumer-provider boundary in the Pact sense: both sides deploy together, so a contract adds ceremony and no safety.
43
+
44
+ **With none of that, create no Pact artifacts.** Say in the summary that contract scaffolding was skipped because no consumer-provider boundary was found, and that the `framework` workflow can add it later. When the evidence is ambiguous, apply `confidence-gate.md` and ask rather than scaffolding on a guess.
45
+
46
+ Getting this wrong is worse than a missing utility: it leaves a dead contract suite that fails CI for a boundary the project does not have.
47
+
48
+ ## What Never Relaxes
49
+
50
+ These are correctness rules from the per-utility fragments, not style preferences, and the mandate does not soften them. They apply whether or not pactjs-utils is in use:
51
+
52
+ - **One `pact.addInteraction()` per `it()` block.** PactV4's Rust FFI drops interactions non-deterministically when several are chained in one test. Use `it.each` for parameterized cases.
53
+ - **Consumer Vitest config** carries `fileParallelism: false` AND `pool: 'forks'` with `poolOptions.forks.singleFork: true`.
54
+ - **Provider Vitest config** carries `pool: 'forks'` with `singleFork: true`.
55
+ - **Provider scrutiny before matchers.** Response matchers come from provider source, an OpenAPI spec, or broker data — never from consumer-side types alone. See the Seven-Point Scrutiny Checklist in `contract-testing.md`.
56
+ - **Postel's Law for matchers.** Matchers belong in `willRespondWith` only. Request bodies in `withRequest` use exact values; the consumer controls what it sends.
57
+ - **A `// Provider endpoint: <path> -> <METHOD> <route>` comment** on every interaction.
58
+
59
+ ## Substitution Table
60
+
61
+ | Need | Raw Pact — do not emit | pactjs-utils — emit this | Level | Fragment |
62
+ | -------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------- | ----------------------------------- |
63
+ | Provider state on an interaction | `.given('name', { id: 1 } as JsonMap)`, hand-cast params | `.given(...createProviderState({ name, params }))` | REQUIRED | `pactjs-utils-consumer-helpers.md` |
64
+ | Coercing params to Pact's `JsonMap` | Manual casts, `String(date)`, `null` handling per call site | `toJsonMap(value)` | REQUIRED | `pactjs-utils-consumer-helpers.md` |
65
+ | PactV4 request/response builder callbacks | Repeated inline `(b) => { b.query(...); b.headers(...); b.jsonBody(...) }` lambdas | `setJsonContent({ query?, headers?, body? })`, or `setJsonBody(body)` for body-only | REQUIRED | `pactjs-utils-consumer-helpers.md` |
66
+ | HTTP provider verification options | A hand-assembled 30-line `VerifierOptions` object | `buildVerifierOptions({ provider, port, includeMainAndDeployed, stateHandlers })` | REQUIRED | `pactjs-utils-provider-verifier.md` |
67
+ | Message/Kafka provider verification options | A second hand-assembled options object | `buildMessageVerifierOptions({ ... })` | REQUIRED | `pactjs-utils-provider-verifier.md` |
68
+ | Broker URL and consumer version selectors | Hand-written env-var branching for local vs remote vs breaking-change flows | `handlePactBrokerUrlAndSelectors(...)` (or let `buildVerifierOptions` read the env) | REQUIRED | `pactjs-utils-provider-verifier.md` |
69
+ | Provider version tags in CI | Hand-written branch/tag extraction per CI platform | `getProviderVersionTags()` | REQUIRED | `pactjs-utils-provider-verifier.md` |
70
+ | Auth injection during provider verification | A bespoke Express middleware, with its recurring `Bearer Bearer` bug | `createRequestFilter({ tokenGenerator })` | REQUIRED | `pactjs-utils-request-filter.md` |
71
+ | A provider that needs no auth injection | Omitting `requestFilter`, or an empty inline function | `noOpRequestFilter` | REQUIRED | `pactjs-utils-request-filter.md` |
72
+ | Response matchers where a Zod schema exists | Hand-written `MatchersV3` trees duplicating the schema | `zodToPactMatchers(schema, examples?)` | RECOMMENDED | `pactjs-utils-zod-to-pact.md` |
73
+ | Exercising the consumer inside `executeTest` | Raw `fetch(`${mockServer.url}/...`)` | Inject `mockServer.url` as `baseUrl` and call the real client | RECOMMENDED | `pact-consumer-di.md` |
74
+
75
+ `zodToPactMatchers` is RECOMMENDED because it needs a Zod schema to exist. Where the project has one, derive the matchers from it rather than maintaining a parallel matcher tree. Where it does not, write matchers from provider scrutiny and say so.
76
+
77
+ The DI pattern is RECOMMENDED because it needs a two-line change in production code (an optional `baseUrl` on the API context type). Propose it and name the change. Falling back to raw `fetch` without saying so ships a contract that is a hand-crafted guess at what the consumer sends, which is the failure `pact-consumer-di.md` exists to prevent.
78
+
79
+ ## Banned Patterns
80
+
81
+ When this mandate is active, these are defects in generated or reviewed code:
82
+
83
+ - `.given('state name', someObject as JsonMap)` — a hand-cast provider state where `createProviderState` applies.
84
+ - A literal `VerifierOptions` object passed to `new Verifier(...)`, where `buildVerifierOptions` applies.
85
+ - A bespoke `requestFilter` middleware that prefixes a bearer token by hand.
86
+ - Repeated inline PactV4 builder lambdas that `setJsonContent` or `setJsonBody` would replace.
87
+ - Raw `fetch` inside `executeTest` in a project whose consumer client is importable, with no note saying why.
88
+ - Importing a **pactjs-utils symbol** from anywhere other than `@seontechnologies/pactjs-utils`. `@pact-foundation/pact` remains the correct and required import for Pact's own API — `PactV3`, `PactV4`, `MatchersV3`, `Verifier`, `V3MockServer`, and the types. The two packages are used side by side in every example here; only the helper layer is mandated.
89
+
90
+ ### Legitimate exceptions
91
+
92
+ These are not violations and need no deviation note:
93
+
94
+ - `MatchersV3` used directly for a matcher `zodToPactMatchers` cannot express, or where no schema exists.
95
+ - A raw `VerifierOptions` field passed through `buildVerifierOptions`'s own escape hatch for something it does not model.
96
+ - Raw `fetch` in a consumer test where the consumer client genuinely cannot be imported (a different package, a build artifact, a language boundary) — state it once in the summary rather than per line.
97
+
98
+ ## Canonical Shapes
99
+
100
+ ### Consumer test
101
+
102
+ PactV4 `addInteraction()`, one per `it()`, with `setJsonContent` on the request and
103
+ `setJsonBody` on the response. That is four of the REQUIRED substitutions in one
104
+ shape, which is the point: a worker copies this, so it has to demonstrate the rules
105
+ rather than describe them.
106
+
107
+ ```typescript
108
+ import { PactV4, MatchersV3 } from '@pact-foundation/pact';
109
+ import { createProviderState, setJsonBody, setJsonContent } from '@seontechnologies/pactjs-utils';
110
+ import { getMovieById } from '../../src/api/movies-client';
111
+
112
+ const { integer, string } = MatchersV3;
113
+
114
+ const pact = new PactV4({ consumer: 'movie-web', provider: 'SampleMoviesAPI', dir: './pacts' });
115
+
116
+ describe('Movie API Contract', () => {
117
+ it('returns a movie by id', async () => {
118
+ // Provider endpoint: server/src/routes/movies.ts -> GET /movies/:id
119
+ await pact
120
+ .addInteraction()
121
+ .given(...createProviderState({ name: 'movie with id 1 exists', params: { id: 1 } }))
122
+ .uponReceiving('a request for movie 1')
123
+ .withRequest('GET', '/movies/1', setJsonContent({ headers: { Accept: 'application/json' } }))
124
+ .willRespondWith(200, setJsonBody({ id: integer(1), name: string('Inception') }))
125
+ .executeTest(async (mockServer) => {
126
+ // DI: the real client, pointed at the mock server
127
+ const movie = await getMovieById(1, { baseUrl: mockServer.url });
128
+ expect(movie.name).toBe('Inception');
129
+ });
130
+ });
131
+ });
132
+ ```
133
+
134
+ Exactly one `addInteraction()` in that `it()`. A second scenario is a second `it()`,
135
+ or `it.each` — never a second chain in the same block. See
136
+ `pactjs-utils-consumer-helpers.md` Example 6 for what the FFI does otherwise.
137
+
138
+ Where the project already has a Zod schema for the response, replace the inline
139
+ `MatchersV3` tree with `zodToPactMatchers(MovieSchema)` and keep the schema as the
140
+ single source of the shape. `MatchersV3` written by hand is correct only where no
141
+ schema exists.
142
+
143
+ ### Provider verification
144
+
145
+ ```typescript
146
+ import { Verifier } from '@pact-foundation/pact';
147
+ import { buildVerifierOptions, createRequestFilter } from '@seontechnologies/pactjs-utils';
148
+ import type { StateHandlers } from '@seontechnologies/pactjs-utils';
149
+
150
+ const stateHandlers: StateHandlers = {
151
+ 'movie with id 1 exists': {
152
+ setup: async (params) => db.seed({ movies: [{ id: params?.id ?? 1 }] }),
153
+ teardown: async () => db.clean('movies'),
154
+ },
155
+ };
156
+
157
+ await new Verifier(
158
+ buildVerifierOptions({
159
+ provider: 'SampleMoviesAPI',
160
+ port: '3001',
161
+ includeMainAndDeployed: process.env.PACT_BREAKING_CHANGE !== 'true',
162
+ stateHandlers,
163
+ requestFilter: createRequestFilter({ tokenGenerator: () => process.env.TEST_AUTH_TOKEN ?? 'test-token' }),
164
+ }),
165
+ ).verifyProvider();
166
+ ```
167
+
168
+ State handler names and their `params` must match the consumer's `createProviderState` exactly. That pairing is the contract's own contract; a mismatch fails verification with a message that points at neither side.
169
+
170
+ ## Self-Check Before Emitting a Pact File
171
+
172
+ Any `yes` is a blocker.
173
+
174
+ 1. Does an interaction call `.given()` with hand-cast params instead of `createProviderState`?
175
+ 2. Does a verification file build `VerifierOptions` by hand?
176
+ 3. Does a request filter assemble an `Authorization` header itself?
177
+ 4. Does an `it()` block contain more than one `addInteraction`?
178
+ 5. Does the consumer Vitest config omit `fileParallelism: false`, `pool: 'forks'`, or `singleFork: true`?
179
+ 6. Does `executeTest` call raw `fetch` while the consumer client is importable, with no stated reason?
180
+ 7. Is any response matcher derived from consumer-side types rather than provider source, OpenAPI, or broker data?
181
+ 8. Is any interaction missing its `// Provider endpoint:` comment?
182
+
183
+ Fix, or record a deviation. Do not emit unresolved.
184
+
185
+ ## Broker Interaction
186
+
187
+ When `tea_pact_mcp` is `"mcp"` and the SmartBear MCP tools are reachable, use them for what they are authoritative about: existing provider states, the verification matrix, and `can-i-deploy`. Prefer real broker data over a guess at what states exist.
188
+
189
+ When the tools are not reachable — no broker configured, no credentials, a headless run without the server — degrade per `pact-mcp.md`: fall back to provider source or an OpenAPI spec, say in the output that the broker was unreachable, and continue. Never block the workflow on it, and never present inferred state names as if they came from the broker.
190
+
191
+ ## Review Behavior
192
+
193
+ Under `test-review`, with the flag `true` and the package installed, each Banned Pattern above is a **maintainability** finding on the file where it appears (registry row `M10`), with the substitution named in the recommendation. The determinism and FFI rules keep their own existing rows (`H6`, `H7`, `H8`, `L4`) and outrank this one: a suite that flakes matters more than a suite that is verbose.
194
+
195
+ ## Related Fragments
196
+
197
+ - `library-integration-mandate.md` — the general contract this instantiates
198
+ - `pactjs-utils-overview.md` — installation, the full utility table, flow decision tree
199
+ - `pactjs-utils-consumer-helpers.md`, `pactjs-utils-provider-verifier.md`, `pactjs-utils-request-filter.md`, `pactjs-utils-zod-to-pact.md`
200
+ - `pact-consumer-framework-setup.md` — directory structure, Vitest configs, scripts, CI workflow
201
+ - `pact-consumer-di.md` — injecting the mock server URL into the real client
202
+ - `contract-testing.md` — provider scrutiny, publishing, determinism
203
+ - `pact-mcp.md` — broker tools and their degradation path
204
+ - `confidence-gate.md` — stop and ask rather than invent a provider state or a response shape
@@ -0,0 +1,219 @@
1
+ # Pact.js Utils Overview
2
+
3
+ ## Principle
4
+
5
+ Use production-ready utilities from `@seontechnologies/pactjs-utils` to eliminate boilerplate in consumer-driven contract testing. The library wraps `@pact-foundation/pact` with type-safe helpers for provider state creation, PactV4 JSON interaction builders, verifier configuration, and request filter injection — working equally well for HTTP and message (async/Kafka) contracts.
6
+
7
+ ## Rationale
8
+
9
+ ### Problems with raw @pact-foundation/pact
10
+
11
+ - **JsonMap casting**: Provider state parameters require `JsonMap` type — manually casting every value is error-prone and verbose
12
+ - **Repeated builder lambdas**: PactV4 interactions often repeat inline callbacks with `builder.query(...)`, `builder.headers(...)`, and `builder.jsonBody(...)`
13
+ - **Verifier configuration sprawl**: `VerifierOptions` requires 30+ lines of scattered configuration (broker URL, selectors, state handlers, request filters, version tags)
14
+ - **Environment variable juggling**: Different env vars for local vs remote flows, breaking change coordination, payload URL matching
15
+ - **Express middleware types**: Request filter requires Express types that aren't re-exported from Pact
16
+ - **Bearer prefix bugs**: Easy to double-prefix tokens as `Bearer Bearer ...` in request filters
17
+ - **CI version tagging**: Manual logic to extract branch/tag info from CI environment
18
+
19
+ ### Solutions from pactjs-utils
20
+
21
+ - **`createProviderState`**: One-call tuple builder for `.given()` — handles all JsonMap conversion automatically
22
+ - **`toJsonMap`**: Explicit type coercion (null→"null", Date→ISO string, nested objects flattened)
23
+ - **`setJsonContent`**: Curried callback helper for PactV4 `.withRequest(...)` / `.willRespondWith(...)` builders (query/headers/body)
24
+ - **`setJsonBody`**: Body-only shorthand alias of `setJsonContent({ body })`
25
+ - **`buildVerifierOptions`**: Single function assembles complete VerifierOptions from minimal inputs — handles local/remote/BDCT flows
26
+ - **`buildMessageVerifierOptions`**: Same as above but for message/Kafka provider verification
27
+ - **`handlePactBrokerUrlAndSelectors`**: Resolves broker URL and consumer version selectors from env vars with breaking change awareness
28
+ - **`getProviderVersionTags`**: CI-aware version tagging (extracts branch/tag from GitHub Actions, GitLab CI, etc.)
29
+ - **`createRequestFilter`**: Pluggable token generator pattern — prevents double-Bearer bugs by contract
30
+ - **`noOpRequestFilter`**: Pass-through for providers that don't require auth injection
31
+ - **`zodToPactMatchers`**: Converts a Zod schema (+ optional example values or `.openapi({ example })` metadata) into Pact V3 matchers — single source of truth for response shape, no hand-written matcher helpers
32
+
33
+ ## Installation
34
+
35
+ ```bash
36
+ npm install -D @seontechnologies/pactjs-utils
37
+
38
+ # Peer dependency
39
+ npm install -D @pact-foundation/pact
40
+ ```
41
+
42
+ **Requirements**: `@pact-foundation/pact` >= 16.2.0, Node.js >= 18
43
+
44
+ ## Available Utilities
45
+
46
+ | Category | Function | Description | Use Case |
47
+ | ----------------- | --------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
48
+ | Consumer Helpers | `createProviderState` | Builds `[stateName, JsonMap]` tuple from typed input | Consumer tests: `.given(...createProviderState(input))` |
49
+ | Consumer Helpers | `toJsonMap` | Converts any object to Pact-compatible `JsonMap` | Explicit type coercion for provider state params |
50
+ | Consumer Helpers | `setJsonContent` | Curried request/response JSON callback helper | PactV4 `.withRequest(...)` and `.willRespondWith(...)` builders |
51
+ | Consumer Helpers | `setJsonBody` | Body-only alias of `setJsonContent` | Body-only `.willRespondWith(...)` responses |
52
+ | Provider Verifier | `buildVerifierOptions` | Assembles complete HTTP `VerifierOptions` | Provider verification: `new Verifier(buildVerifierOptions(...))` |
53
+ | Provider Verifier | `buildMessageVerifierOptions` | Assembles message `VerifierOptions` | Kafka/async provider verification |
54
+ | Provider Verifier | `handlePactBrokerUrlAndSelectors` | Resolves broker URL + selectors from env vars | Env-aware broker configuration |
55
+ | Provider Verifier | `getProviderVersionTags` | CI-aware version tag extraction | Provider version tagging in CI |
56
+ | Request Filter | `createRequestFilter` | Express middleware with pluggable token generator | Auth injection for provider verification |
57
+ | Request Filter | `noOpRequestFilter` | Pass-through filter (no-op) | Providers without auth requirements |
58
+ | Schema → Matchers | `zodToPactMatchers` | Derives Pact V3 matchers from a Zod schema | Consumer tests: response body matchers from a consumer-curated Zod schema instead of hand-written helpers |
59
+
60
+ ## Decision Tree: Which Flow?
61
+
62
+ ```
63
+ Is this a monorepo (consumer + provider in same repo)?
64
+ ├── YES → Local Flow
65
+ │ - Consumer generates pact files to ./pacts/
66
+ │ - Provider reads pact files from ./pacts/ (no broker needed)
67
+ │ - Use buildVerifierOptions with pactUrls option
68
+ │
69
+ └── NO → Do you have a Pact Broker / PactFlow?
70
+ ├── YES → Remote (CDCT) Flow
71
+ │ - Consumer publishes pacts to broker
72
+ │ - Provider verifies from broker
73
+ │ - Use buildVerifierOptions with broker config
74
+ │ - Set PACT_BROKER_BASE_URL + PACT_BROKER_TOKEN
75
+ │
76
+ └── Do you have an OpenAPI spec?
77
+ ├── YES → BDCT Flow (PactFlow only)
78
+ │ - Provider publishes OpenAPI spec to PactFlow
79
+ │ - PactFlow cross-validates consumer pacts against spec
80
+ │ - No provider verification test needed
81
+ │
82
+ └── NO → Start with Local Flow, migrate to Remote later
83
+ ```
84
+
85
+ ## Design Philosophy
86
+
87
+ 1. **One-call setup**: Each utility does one thing completely — no multi-step assembly required
88
+ 2. **Environment-aware**: Utilities read env vars for CI/CD integration without manual wiring
89
+ 3. **Type-safe**: Full TypeScript types for all inputs and outputs, exported for consumer use
90
+ 4. **Fail-safe defaults**: Sensible defaults that work locally; env vars override for CI
91
+ 5. **Composable**: Utilities work independently — use only what you need
92
+
93
+ ## Pattern Examples
94
+
95
+ ### Example 1: Minimal Consumer Test
96
+
97
+ ```typescript
98
+ import { PactV3 } from '@pact-foundation/pact';
99
+ import { createProviderState } from '@seontechnologies/pactjs-utils';
100
+
101
+ const provider = new PactV3({
102
+ consumer: 'my-frontend',
103
+ provider: 'my-api',
104
+ dir: './pacts',
105
+ });
106
+
107
+ it('should get user by id', async () => {
108
+ await provider
109
+ .given(...createProviderState({ name: 'user exists', params: { id: 1 } }))
110
+ .uponReceiving('a request for user 1')
111
+ .withRequest({ method: 'GET', path: '/users/1' })
112
+ .willRespondWith({ status: 200, body: { id: 1, name: 'John' } })
113
+ .executeTest(async (mockServer) => {
114
+ const res = await fetch(`${mockServer.url}/users/1`);
115
+ expect(res.status).toBe(200);
116
+ });
117
+ });
118
+ ```
119
+
120
+ ### Example 2: Minimal Provider Verification
121
+
122
+ ```typescript
123
+ import { Verifier } from '@pact-foundation/pact';
124
+ import { buildVerifierOptions, createRequestFilter } from '@seontechnologies/pactjs-utils';
125
+
126
+ const opts = buildVerifierOptions({
127
+ provider: 'my-api',
128
+ port: '3001',
129
+ includeMainAndDeployed: true,
130
+ stateHandlers: {
131
+ 'user exists': async (params) => {
132
+ await db.seed({ users: [{ id: params?.id }] });
133
+ },
134
+ },
135
+ requestFilter: createRequestFilter({
136
+ tokenGenerator: () => 'test-token-123',
137
+ }),
138
+ });
139
+
140
+ await new Verifier(opts).verifyProvider();
141
+ ```
142
+
143
+ ## Key Points
144
+
145
+ - **Import path**: Always use `@seontechnologies/pactjs-utils` (no subpath exports)
146
+ - **Peer dependency**: `@pact-foundation/pact` must be installed separately
147
+ - **Local flow**: No broker needed — set `pactUrls` in verifier options pointing to local pact files
148
+ - **Remote flow**: Set `PACT_BROKER_BASE_URL` and `PACT_BROKER_TOKEN` env vars
149
+ - **Breaking changes**: Set `includeMainAndDeployed: false` when coordinating breaking changes (verifies only matchingBranch)
150
+ - **Builder helpers**: Use `setJsonContent` when you need query/headers/body together; use `setJsonBody` for body-only callbacks
151
+ - **Type exports**: Library exports `StateHandlers`, `RequestFilter`, `JsonMap`, `JsonContentInput`, `ConsumerVersionSelector` types
152
+
153
+ ## Related Fragments
154
+
155
+ - `pactjs-utils-consumer-helpers.md` — detailed createProviderState, toJsonMap, setJsonContent, and setJsonBody usage
156
+ - `pactjs-utils-provider-verifier.md` — detailed buildVerifierOptions and broker configuration
157
+ - `pactjs-utils-request-filter.md` — detailed createRequestFilter and auth patterns
158
+ - `pactjs-utils-zod-to-pact.md` — detailed zodToPactMatchers usage, consumer-curated schema pattern, and anti-patterns
159
+ - `contract-testing.md` — foundational contract testing patterns (raw Pact.js approach)
160
+ - `test-levels-framework.md` — where contract tests fit in the testing pyramid
161
+
162
+ ## Anti-Patterns
163
+
164
+ ### Wrong: Manual VerifierOptions assembly when pactjs-utils is available
165
+
166
+ ```typescript
167
+ // ❌ Don't assemble VerifierOptions manually
168
+ const opts: VerifierOptions = {
169
+ provider: 'my-api',
170
+ providerBaseUrl: 'http://localhost:3001',
171
+ pactBrokerUrl: process.env.PACT_BROKER_BASE_URL,
172
+ pactBrokerToken: process.env.PACT_BROKER_TOKEN,
173
+ publishVerificationResult: process.env.CI === 'true',
174
+ providerVersion: process.env.GIT_SHA || 'dev',
175
+ consumerVersionSelectors: [{ mainBranch: true }, { deployedOrReleased: true }],
176
+ stateHandlers: {
177
+ /* ... */
178
+ },
179
+ requestFilter: (req, res, next) => {
180
+ /* ... */
181
+ },
182
+ // ... 20 more lines
183
+ };
184
+ ```
185
+
186
+ ### Right: Use buildVerifierOptions
187
+
188
+ ```typescript
189
+ // ✅ Single call handles all configuration
190
+ const opts = buildVerifierOptions({
191
+ provider: 'my-api',
192
+ port: '3001',
193
+ includeMainAndDeployed: true,
194
+ stateHandlers: {
195
+ /* ... */
196
+ },
197
+ requestFilter: createRequestFilter({ tokenGenerator: () => 'token' }),
198
+ });
199
+ ```
200
+
201
+ ### Wrong: Importing raw Pact types for JsonMap conversion
202
+
203
+ ```typescript
204
+ // ❌ Manual JsonMap casting
205
+ import type { JsonMap } from '@pact-foundation/pact';
206
+
207
+ provider.given('user exists', { id: 1 as unknown as JsonMap['id'] });
208
+ ```
209
+
210
+ ### Right: Use createProviderState
211
+
212
+ ```typescript
213
+ // ✅ Automatic type conversion
214
+ import { createProviderState } from '@seontechnologies/pactjs-utils';
215
+
216
+ provider.given(...createProviderState({ name: 'user exists', params: { id: 1 } }));
217
+ ```
218
+
219
+ _Source: @seontechnologies/pactjs-utils library, pactjs-utils README, pact-js-example-provider workflows_