ma-agents 2.19.2 → 2.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents.code-workspace +11 -0
- package/bin/cli.js +250 -151
- package/docs/architecture.md +284 -0
- package/docs/development-guide.md +122 -0
- package/docs/index.md +48 -0
- package/docs/project-overview.md +56 -0
- package/docs/project-scan-report.json +50 -0
- package/docs/source-tree-analysis.md +84 -0
- package/docs/validation/bundled-installation-validation.md +52 -0
- package/lib/bmad-cache/bmb/.markdownlint-cli2.yaml +35 -0
- package/lib/bmad-cache/bmb/.nvmrc +1 -0
- package/lib/bmad-cache/bmb/.prettierignore +9 -0
- package/lib/bmad-cache/bmb/CNAME +1 -0
- package/lib/bmad-cache/bmb/LICENSE +30 -0
- package/lib/bmad-cache/bmb/README.md +63 -0
- package/lib/bmad-cache/bmb/eslint.config.mjs +141 -0
- package/lib/bmad-cache/bmb/package-lock.json +15283 -0
- package/lib/bmad-cache/bmb/package.json +96 -0
- package/lib/bmad-cache/bmb/prettier.config.mjs +32 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/bmad-manifest.json +62 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/recall_metrics.py +229 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/seed_tracker.py +156 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/symbol_stats.py +162 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/tests/test_recall_metrics.py +115 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/tests/test_seed_tracker.py +140 -0
- package/lib/bmad-cache/bmb/samples/bmad-agent-dream-weaver/scripts/tests/test_symbol_stats.py +113 -0
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/bmad-manifest.json +18 -0
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/scripts/generate_excalidraw.py +605 -0
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/scripts/tests/test_generate_excalidraw.py +360 -0
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/scripts/tests/test_validate_excalidraw.py +246 -0
- package/lib/bmad-cache/bmb/samples/bmad-excalidraw/scripts/validate_excalidraw.py +264 -0
- package/lib/bmad-cache/bmb/src/module-help.csv +7 -0
- package/lib/bmad-cache/bmb/src/module.yaml +20 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/bmad-manifest.json +24 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/bmad-manifest-schema.json +103 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/generate-html-report.py +1002 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/manifest.py +420 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/prepass-execution-deps.py +368 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/prepass-prompt-metrics.py +476 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/prepass-structure-capabilities.py +636 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/scan-path-standards.py +253 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-agent-builder/scripts/scan-scripts.py +745 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/bmad-manifest.json +23 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/bmad-manifest-schema.json +103 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/generate-html-report.py +1002 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/manifest.py +420 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/prepass-execution-deps.py +313 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/prepass-prompt-metrics.py +285 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/prepass-workflow-integrity.py +485 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/scan-path-standards.py +213 -0
- package/lib/bmad-cache/bmb/src/skills/bmad-workflow-builder/scripts/scan-scripts.py +745 -0
- package/lib/bmad-cache/bmb/tools/build-docs.mjs +448 -0
- package/lib/bmad-cache/bmb/tools/validate-file-refs.mjs +657 -0
- package/lib/bmad-cache/bmb/website/astro.config.mjs +134 -0
- package/lib/bmad-cache/bmb/website/public/favicon.ico +0 -0
- package/lib/bmad-cache/bmb/website/public/img/bmad-dark.png +0 -0
- package/lib/bmad-cache/bmb/website/public/img/bmad-light.png +0 -0
- package/lib/bmad-cache/bmb/website/src/components/Banner.astro +56 -0
- package/lib/bmad-cache/bmb/website/src/components/Header.astro +94 -0
- package/lib/bmad-cache/bmb/website/src/components/MobileMenuFooter.astro +33 -0
- package/lib/bmad-cache/bmb/website/src/content/config.ts +6 -0
- package/lib/bmad-cache/bmb/website/src/content/docs +1 -0
- package/lib/bmad-cache/bmb/website/src/lib/site-url.mjs +25 -0
- package/lib/bmad-cache/bmb/website/src/rehype-base-paths.js +88 -0
- package/lib/bmad-cache/bmb/website/src/rehype-markdown-links.js +117 -0
- package/lib/bmad-cache/bmb/website/src/styles/custom.css +484 -0
- package/lib/bmad-cache/cache-manifest.json +30 -0
- package/lib/bmad-cache/cis/.markdownlint-cli2.yaml +35 -0
- package/lib/bmad-cache/cis/.nvmrc +1 -0
- package/lib/bmad-cache/cis/.prettierignore +9 -0
- package/lib/bmad-cache/cis/CNAME +1 -0
- package/lib/bmad-cache/cis/LICENSE +26 -0
- package/lib/bmad-cache/cis/README.md +105 -0
- package/lib/bmad-cache/cis/eslint.config.mjs +141 -0
- package/lib/bmad-cache/cis/package.json +92 -0
- package/lib/bmad-cache/cis/prettier.config.mjs +32 -0
- package/lib/bmad-cache/cis/src/agents/brainstorming-coach.agent.yaml +21 -0
- package/lib/bmad-cache/cis/src/agents/creative-problem-solver.agent.yaml +21 -0
- package/lib/bmad-cache/cis/src/agents/design-thinking-coach.agent.yaml +21 -0
- package/lib/bmad-cache/cis/src/agents/innovation-strategist.agent.yaml +21 -0
- package/lib/bmad-cache/cis/src/agents/presentation-master.agent.yaml +53 -0
- package/lib/bmad-cache/cis/src/agents/storyteller/storyteller.agent.yaml +25 -0
- package/lib/bmad-cache/cis/src/module-help.csv +6 -0
- package/lib/bmad-cache/cis/src/module.yaml +27 -0
- package/lib/bmad-cache/cis/src/teams/creative-squad.yaml +7 -0
- package/lib/bmad-cache/cis/src/teams/default-party.csv +12 -0
- package/lib/bmad-cache/cis/src/workflows/README.md +175 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-design-thinking/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-design-thinking/design-methods.csv +31 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-innovation-strategy/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-innovation-strategy/innovation-frameworks.csv +31 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-problem-solving/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-problem-solving/solving-methods.csv +31 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-storytelling/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/cis/src/workflows/bmad-cis-storytelling/story-types.csv +26 -0
- package/lib/bmad-cache/cis/tools/build-docs.mjs +448 -0
- package/lib/bmad-cache/cis/website/astro.config.mjs +134 -0
- package/lib/bmad-cache/cis/website/public/favicon.ico +0 -0
- package/lib/bmad-cache/cis/website/public/img/bmad-dark.png +0 -0
- package/lib/bmad-cache/cis/website/public/img/bmad-light.png +0 -0
- package/lib/bmad-cache/cis/website/src/components/Banner.astro +56 -0
- package/lib/bmad-cache/cis/website/src/components/Header.astro +94 -0
- package/lib/bmad-cache/cis/website/src/components/MobileMenuFooter.astro +33 -0
- package/lib/bmad-cache/cis/website/src/content/config.ts +6 -0
- package/lib/bmad-cache/cis/website/src/content/docs +1 -0
- package/lib/bmad-cache/cis/website/src/lib/site-url.mjs +25 -0
- package/lib/bmad-cache/cis/website/src/rehype-base-paths.js +88 -0
- package/lib/bmad-cache/cis/website/src/rehype-markdown-links.js +117 -0
- package/lib/bmad-cache/cis/website/src/styles/custom.css +484 -0
- package/lib/bmad-cache/gds/.markdownlint-cli2.yaml +35 -0
- package/lib/bmad-cache/gds/.nvmrc +1 -0
- package/lib/bmad-cache/gds/.prettierignore +9 -0
- package/lib/bmad-cache/gds/CNAME +1 -0
- package/lib/bmad-cache/gds/LICENSE +26 -0
- package/lib/bmad-cache/gds/README.md +121 -0
- package/lib/bmad-cache/gds/eslint.config.mjs +141 -0
- package/lib/bmad-cache/gds/package.json +92 -0
- package/lib/bmad-cache/gds/prettier.config.mjs +32 -0
- package/lib/bmad-cache/gds/src/agents/game-architect.agent.yaml +44 -0
- package/lib/bmad-cache/gds/src/agents/game-designer.agent.yaml +45 -0
- package/lib/bmad-cache/gds/src/agents/game-dev.agent.yaml +49 -0
- package/lib/bmad-cache/gds/src/agents/game-qa.agent.yaml +63 -0
- package/lib/bmad-cache/gds/src/agents/game-scrum-master.agent.yaml +52 -0
- package/lib/bmad-cache/gds/src/agents/game-solo-dev.agent.yaml +53 -0
- package/lib/bmad-cache/gds/src/agents/tech-writer/tech-writer.agent.yaml +45 -0
- package/lib/bmad-cache/gds/src/gametest/qa-index.csv +18 -0
- package/lib/bmad-cache/gds/src/module-help.csv +35 -0
- package/lib/bmad-cache/gds/src/module.yaml +71 -0
- package/lib/bmad-cache/gds/src/teams/default-party.csv +12 -0
- package/lib/bmad-cache/gds/src/teams/team-gamedev.yaml +29 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/brainstorm-game/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/brainstorm-game/game-brain-methods.csv +26 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/game-brief/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/bmad-skill-manifest.yaml +9 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/gds-domain-research/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/create-prd/bmad-skill-manifest.yaml +14 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/create-prd/data/domain-complexity.csv +15 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/create-prd/data/project-types.csv +11 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gdd/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gdd/game-types.csv +25 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-ux-design/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/narrative/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/check-implementation-readiness/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/create-epics-and-stories/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/architecture-patterns.yaml +507 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/decision-catalog.yaml +340 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/engine-mcps.yaml +270 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/pattern-categories.csv +13 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/generate-project-context/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/code-review/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/correct-course/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-create-story/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-dev-story/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/retrospective/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/sprint-planning/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/sprint-planning/sprint-status-template.yaml +55 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/sprint-status/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/document-project/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/document-project/documentation-requirements.csv +12 -0
- package/lib/bmad-cache/gds/src/workflows/document-project/templates/project-scan-report-schema.json +160 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/automate/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/e2e-scaffold/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/performance/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/playtest-plan/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/test-design/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/test-framework/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/test-review/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev/bmad-skill-manifest.yaml +4 -0
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev-new-preview/bmad-skill-manifest.yaml +4 -0
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/quick-spec/bmad-skill-manifest.yaml +3 -0
- package/lib/bmad-cache/gds/tools/build-docs.mjs +450 -0
- package/lib/bmad-cache/gds/website/astro.config.mjs +134 -0
- package/lib/bmad-cache/gds/website/public/favicon.ico +0 -0
- package/lib/bmad-cache/gds/website/public/img/bmad-dark.png +0 -0
- package/lib/bmad-cache/gds/website/public/img/bmad-light.png +0 -0
- package/lib/bmad-cache/gds/website/src/components/Banner.astro +56 -0
- package/lib/bmad-cache/gds/website/src/components/Header.astro +94 -0
- package/lib/bmad-cache/gds/website/src/components/MobileMenuFooter.astro +33 -0
- package/lib/bmad-cache/gds/website/src/content/config.ts +6 -0
- package/lib/bmad-cache/gds/website/src/content/docs +1 -0
- package/lib/bmad-cache/gds/website/src/lib/site-url.mjs +25 -0
- package/lib/bmad-cache/gds/website/src/rehype-base-paths.js +88 -0
- package/lib/bmad-cache/gds/website/src/rehype-markdown-links.js +117 -0
- package/lib/bmad-cache/gds/website/src/styles/custom.css +484 -0
- package/lib/bmad-cache/tea/.coderabbit.yaml +40 -0
- package/lib/bmad-cache/tea/.husky/pre-commit +20 -0
- package/lib/bmad-cache/tea/.markdownlint-cli2.yaml +36 -0
- package/lib/bmad-cache/tea/.nvmrc +1 -0
- package/lib/bmad-cache/tea/.prettierignore +9 -0
- package/lib/bmad-cache/tea/CHANGELOG.md +253 -0
- package/lib/bmad-cache/tea/CONTRIBUTING.md +268 -0
- package/lib/bmad-cache/tea/LICENSE +26 -0
- package/lib/bmad-cache/tea/README.md +371 -0
- package/lib/bmad-cache/tea/SECURITY.md +85 -0
- package/lib/bmad-cache/tea/docs/404.md +20 -0
- package/lib/bmad-cache/tea/docs/MIGRATION.md +488 -0
- package/lib/bmad-cache/tea/docs/explanation/engagement-models.md +767 -0
- package/lib/bmad-cache/tea/docs/explanation/fixture-architecture.md +484 -0
- package/lib/bmad-cache/tea/docs/explanation/knowledge-base-system.md +601 -0
- package/lib/bmad-cache/tea/docs/explanation/network-first-patterns.md +884 -0
- package/lib/bmad-cache/tea/docs/explanation/risk-based-testing.md +628 -0
- package/lib/bmad-cache/tea/docs/explanation/step-file-architecture.md +599 -0
- package/lib/bmad-cache/tea/docs/explanation/subagent-architecture.md +189 -0
- package/lib/bmad-cache/tea/docs/explanation/tea-overview.md +474 -0
- package/lib/bmad-cache/tea/docs/explanation/test-quality-standards.md +965 -0
- package/lib/bmad-cache/tea/docs/explanation/testing-as-engineering.md +115 -0
- package/lib/bmad-cache/tea/docs/glossary/index.md +160 -0
- package/lib/bmad-cache/tea/docs/how-to/brownfield/use-tea-for-enterprise.md +571 -0
- package/lib/bmad-cache/tea/docs/how-to/brownfield/use-tea-with-existing-tests.md +631 -0
- package/lib/bmad-cache/tea/docs/how-to/customization/configure-browser-automation.md +243 -0
- package/lib/bmad-cache/tea/docs/how-to/customization/integrate-playwright-utils.md +846 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-atdd.md +464 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-automate.md +693 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-nfr-assess.md +731 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-test-design.md +144 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-test-review.md +634 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/run-trace.md +959 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/setup-ci.md +763 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/setup-test-framework.md +122 -0
- package/lib/bmad-cache/tea/docs/how-to/workflows/teach-me-testing.md +302 -0
- package/lib/bmad-cache/tea/docs/index.md +74 -0
- package/lib/bmad-cache/tea/docs/reference/commands.md +353 -0
- package/lib/bmad-cache/tea/docs/reference/configuration.md +1122 -0
- package/lib/bmad-cache/tea/docs/reference/knowledge-base.md +404 -0
- package/lib/bmad-cache/tea/docs/reference/troubleshooting.md +788 -0
- package/lib/bmad-cache/tea/docs/tutorials/learn-testing-tea-academy.md +266 -0
- package/lib/bmad-cache/tea/docs/tutorials/tea-lite-quickstart.md +465 -0
- package/lib/bmad-cache/tea/eslint.config.mjs +141 -0
- package/lib/bmad-cache/tea/package-lock.json +16046 -0
- package/lib/bmad-cache/tea/package.json +118 -0
- package/lib/bmad-cache/tea/prettier.config.mjs +32 -0
- package/lib/bmad-cache/tea/src/agents/tea.agent.yaml +67 -0
- package/lib/bmad-cache/tea/src/module-help.csv +10 -0
- package/lib/bmad-cache/tea/src/module.yaml +299 -0
- package/lib/bmad-cache/tea/src/teams/default-party.csv +2 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/api-request.md +563 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/api-testing-patterns.md +915 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/auth-session.md +548 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/burn-in.md +273 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/ci-burn-in.md +717 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/component-tdd.md +486 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/contract-testing.md +1050 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/data-factories.md +500 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/email-auth.md +721 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/error-handling.md +725 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/feature-flags.md +750 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/file-utils.md +456 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/fixture-architecture.md +401 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/fixtures-composition.md +382 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/intercept-network-call.md +426 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/log.md +426 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/network-error-monitor.md +401 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/network-first.md +486 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/network-recorder.md +527 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/nfr-criteria.md +670 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/overview.md +286 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pact-consumer-di.md +310 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pact-consumer-framework-setup.md +635 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pact-mcp.md +204 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pactjs-utils-consumer-helpers.md +270 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pactjs-utils-overview.md +216 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pactjs-utils-provider-verifier.md +315 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/pactjs-utils-request-filter.md +224 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/playwright-cli.md +165 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/playwright-config.md +730 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/probability-impact.md +601 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/recurse.md +421 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/risk-governance.md +615 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/selective-testing.md +732 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/selector-resilience.md +527 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/test-healing-patterns.md +644 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/test-levels-framework.md +473 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/test-priorities-matrix.md +373 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/test-quality.md +664 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/timing-debugging.md +372 -0
- package/lib/bmad-cache/tea/src/testarch/knowledge/visual-debugging.md +524 -0
- package/lib/bmad-cache/tea/src/testarch/tea-index.csv +43 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/README.md +74 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/checklist.md +197 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/curriculum.yaml +129 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/quiz-questions.yaml +206 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/role-paths.yaml +136 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/session-content-map.yaml +207 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/data/tea-resources-index.yaml +359 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/instructions.md +130 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-01-init.md +235 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-01b-continue.md +147 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-02-assess.md +258 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-03-session-menu.md +219 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-01.md +460 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-02.md +465 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-03.md +301 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-04.md +234 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-05.md +234 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-06.md +209 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-04-session-07.md +212 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-c/step-05-completion.md +339 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-e/step-e-01-assess-workflow.md +141 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-e/step-e-02-apply-edits.md +122 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/steps-v/step-v-01-validate.md +263 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/templates/certificate-template.md +86 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/templates/progress-template.yaml +95 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/templates/session-notes-template.md +83 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/workflow-plan-teach-me-testing.md +950 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-teach-me-testing/workflow.md +90 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/atdd-checklist-template.md +371 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/checklist.md +374 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/instructions.md +45 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01-preflight-and-context.md +226 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-01b-resume.md +96 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-02-generation-mode.md +125 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-03-test-strategy.md +110 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04-generate-tests.md +334 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04a-subagent-api-failing.md +286 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04b-subagent-e2e-failing.md +244 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-04c-aggregate.md +370 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-c/step-05-validate-and-complete.md +106 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/validation-report-20260127-095021.md +73 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/validation-report-20260127-102401.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/workflow-plan.md +21 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-atdd/workflow.yaml +46 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/checklist.md +611 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/instructions.md +50 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01-preflight-and-context.md +237 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-01b-resume.md +94 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-02-identify-targets.md +169 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03-generate-tests.md +394 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03a-subagent-api.md +263 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03b-subagent-backend.md +246 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03b-subagent-e2e.md +213 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-03c-aggregate.md +393 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-c/step-04-validate-and-summarize.md +106 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/validation-report-20260127-095021.md +72 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/validation-report-20260127-102401.md +114 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/workflow-plan.md +20 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/workflow.yaml +53 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/azure-pipelines-template.yaml +155 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/checklist.md +289 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/github-actions-template.yaml +328 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/gitlab-ci-template.yaml +158 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/harness-pipeline-template.yaml +159 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/instructions.md +45 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/jenkins-pipeline-template.groovy +129 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-01-preflight.md +158 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-01b-resume.md +110 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-02-generate-pipeline.md +279 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-03-configure-quality-gates.md +135 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-c/step-04-validate-and-summary.md +92 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/steps-v/step-01-validate.md +81 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/validation-report-20260127-095021.md +72 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/validation-report-20260127-102401.md +114 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/workflow-plan.md +20 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-ci/workflow.yaml +48 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/checklist.md +345 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/instructions.md +45 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-01-preflight.md +132 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-01b-resume.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-02-select-framework.md +117 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-03-scaffold-framework.md +323 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-04-docs-and-scripts.md +105 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-c/step-05-validate-and-summary.md +93 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/validation-report-20260127-095021.md +73 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/validation-report-20260127-102401.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/workflow-plan.md +22 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-framework/workflow.yaml +48 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/checklist.md +407 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/instructions.md +43 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/nfr-report-template.md +470 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01-load-context.md +138 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-01b-resume.md +106 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-02-define-thresholds.md +107 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-03-gather-evidence.md +108 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04-evaluate-and-score.md +254 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04a-subagent-security.md +138 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04b-subagent-performance.md +84 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04c-subagent-reliability.md +85 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04d-subagent-scalability.md +88 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-04e-aggregate-nfr.md +264 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-c/step-05-generate-report.md +108 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/validation-report-20260127-095021.md +73 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/validation-report-20260127-102401.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/workflow-plan.md +19 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-nfr/workflow.yaml +48 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/checklist.md +464 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/instructions.md +105 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-01-detect-mode.md +134 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-01b-resume.md +102 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-02-load-context.md +242 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-03-risk-and-testability.md +110 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-04-coverage-plan.md +123 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-c/step-05-generate-output.md +222 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-architecture-template.md +230 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-handoff-template.md +70 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-qa-template.md +396 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/test-design-template.md +344 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/validation-report-20260127-095021.md +73 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/validation-report-20260127-102401.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/workflow-plan.md +22 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-design/workflow.yaml +77 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/checklist.md +475 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/instructions.md +45 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01-load-context.md +197 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-01b-resume.md +104 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-02-discover-tests.md +113 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03-quality-evaluation.md +274 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03a-subagent-determinism.md +214 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03b-subagent-isolation.md +125 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03c-subagent-maintainability.md +102 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03e-subagent-performance.md +117 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-03f-aggregate-scores.md +277 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-c/step-04-generate-report.md +111 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/test-review-template.md +387 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/validation-report-20260127-095021.md +72 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/validation-report-20260127-102401.md +114 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/workflow-plan.md +18 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-test-review/workflow.yaml +48 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/SKILL.md +6 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/checklist.md +647 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/instructions.md +43 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01-load-context.md +105 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-01b-resume.md +102 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-02-discover-tests.md +112 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-03-map-criteria.md +97 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-04-analyze-gaps.md +421 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-c/step-05-gate-decision.md +266 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-e/step-01-assess.md +65 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-e/step-02-apply-edit.md +60 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/steps-v/step-01-validate.md +67 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/trace-template.md +708 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/validation-report-20260127-095021.md +73 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/validation-report-20260127-102401.md +116 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow-plan.md +21 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow.md +41 -0
- package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-trace/workflow.yaml +56 -0
- package/lib/bmad-cache/tea/test/README.md +23 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
- package/lib/bmad-cache/tea/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
- package/lib/bmad-cache/tea/test/schema/agent.js +491 -0
- package/lib/bmad-cache/tea/test/test-agent-schema.js +387 -0
- package/lib/bmad-cache/tea/test/test-installation-components.js +214 -0
- package/lib/bmad-cache/tea/test/test-knowledge-base.js +208 -0
- package/lib/bmad-cache/tea/test/unit-test-schema.js +133 -0
- package/lib/bmad-cache/tea/test/validate-agent-schema.js +110 -0
- package/lib/bmad-cache/tea/tools/build-docs.js +575 -0
- package/lib/bmad-cache/tea/tools/fix-doc-links.js +288 -0
- package/lib/bmad-cache/tea/tools/schema/agent.js +491 -0
- package/lib/bmad-cache/tea/tools/validate-agent-schema.js +111 -0
- package/lib/bmad-cache/tea/tools/validate-doc-links.js +371 -0
- package/lib/bmad-cache/tea/tools/validate-tea-workflow-descriptions.js +122 -0
- package/lib/bmad-cache/tea/tools/verify-paths.js +100 -0
- package/lib/bmad-cache/tea/website/README.md +137 -0
- package/lib/bmad-cache/tea/website/astro.config.mjs +179 -0
- package/lib/bmad-cache/tea/website/package-lock.json +6856 -0
- package/lib/bmad-cache/tea/website/package.json +24 -0
- package/lib/bmad-cache/tea/website/public/favicon.ico +0 -0
- package/lib/bmad-cache/tea/website/public/img/tea-logo.svg +7 -0
- package/lib/bmad-cache/tea/website/public/robots.txt +37 -0
- package/lib/bmad-cache/tea/website/src/components/Banner.astro +59 -0
- package/lib/bmad-cache/tea/website/src/components/Header.astro +121 -0
- package/lib/bmad-cache/tea/website/src/components/MobileMenuFooter.astro +53 -0
- package/lib/bmad-cache/tea/website/src/content/config.ts +6 -0
- package/lib/bmad-cache/tea/website/src/content/docs +1 -0
- package/lib/bmad-cache/tea/website/src/lib/site-url.js +25 -0
- package/lib/bmad-cache/tea/website/src/pages/404.astro +11 -0
- package/lib/bmad-cache/tea/website/src/rehype-base-paths.js +89 -0
- package/lib/bmad-cache/tea/website/src/rehype-markdown-links.js +117 -0
- package/lib/bmad-cache/tea/website/src/styles/custom.css +499 -0
- package/lib/bmad-cache/tea/website/tsconfig.json +9 -0
- package/lib/bmad.js +76 -10
- package/lib/installer.js +23 -1
- package/package.json +4 -2
- package/scripts/build-bmad-cache.js +288 -0
- package/test/yes-flag.test.js +193 -0
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-03c-aggregate'
|
|
3
|
+
description: 'Aggregate subagent outputs and complete test infrastructure'
|
|
4
|
+
outputFile: '{test_artifacts}/automation-summary.md'
|
|
5
|
+
nextStepFile: './step-04-validate-and-summarize.md'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 3C: Aggregate Test Generation Results
|
|
9
|
+
|
|
10
|
+
## STEP GOAL
|
|
11
|
+
|
|
12
|
+
Read outputs from parallel subagents (API + E2E and/or Backend test generation based on `{detected_stack}`), aggregate results, and create supporting infrastructure (fixtures, helpers).
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## MANDATORY EXECUTION RULES
|
|
17
|
+
|
|
18
|
+
- 📖 Read the entire step file before acting
|
|
19
|
+
- ✅ Speak in `{communication_language}`
|
|
20
|
+
- ✅ Read subagent outputs from temp files
|
|
21
|
+
- ✅ Generate shared fixtures based on fixture needs from both subagents
|
|
22
|
+
- ✅ Write all generated test files to disk
|
|
23
|
+
- ❌ Do NOT regenerate tests (use subagent outputs)
|
|
24
|
+
- ❌ Do NOT run tests yet (that's step 4)
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## EXECUTION PROTOCOLS:
|
|
29
|
+
|
|
30
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
31
|
+
- 💾 Record outputs before proceeding
|
|
32
|
+
- 📖 Load the next step only when instructed
|
|
33
|
+
|
|
34
|
+
## CONTEXT BOUNDARIES:
|
|
35
|
+
|
|
36
|
+
- Available context: config, subagent outputs from temp files
|
|
37
|
+
- Focus: aggregation and fixture generation only
|
|
38
|
+
- Limits: do not execute future steps
|
|
39
|
+
- Dependencies: Step 3A and 3B subagent outputs
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## MANDATORY SEQUENCE
|
|
44
|
+
|
|
45
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
46
|
+
|
|
47
|
+
### 1. Read Subagent Outputs
|
|
48
|
+
|
|
49
|
+
**Read API test subagent output (always):**
|
|
50
|
+
|
|
51
|
+
```javascript
|
|
52
|
+
const apiTestsPath = '/tmp/tea-automate-api-tests-{{timestamp}}.json';
|
|
53
|
+
const apiTestsOutput = JSON.parse(fs.readFileSync(apiTestsPath, 'utf8'));
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Read E2E test subagent output (if {detected_stack} is `frontend` or `fullstack`):**
|
|
57
|
+
|
|
58
|
+
```javascript
|
|
59
|
+
let e2eTestsOutput = null;
|
|
60
|
+
if (detected_stack === 'frontend' || detected_stack === 'fullstack') {
|
|
61
|
+
const e2eTestsPath = '/tmp/tea-automate-e2e-tests-{{timestamp}}.json';
|
|
62
|
+
e2eTestsOutput = JSON.parse(fs.readFileSync(e2eTestsPath, 'utf8'));
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Read Backend test subagent output (if {detected_stack} is `backend` or `fullstack`):**
|
|
67
|
+
|
|
68
|
+
```javascript
|
|
69
|
+
let backendTestsOutput = null;
|
|
70
|
+
if (detected_stack === 'backend' || detected_stack === 'fullstack') {
|
|
71
|
+
const backendTestsPath = '/tmp/tea-automate-backend-tests-{{timestamp}}.json';
|
|
72
|
+
backendTestsOutput = JSON.parse(fs.readFileSync(backendTestsPath, 'utf8'));
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
**Verify all launched subagents succeeded:**
|
|
77
|
+
|
|
78
|
+
- Check `apiTestsOutput.success === true`
|
|
79
|
+
- If E2E was launched: check `e2eTestsOutput.success === true`
|
|
80
|
+
- If Backend was launched: check `backendTestsOutput.success === true`
|
|
81
|
+
- If any failed, report error and stop (don't proceed)
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
### 2. Write All Test Files to Disk
|
|
86
|
+
|
|
87
|
+
**Write API test files:**
|
|
88
|
+
|
|
89
|
+
```javascript
|
|
90
|
+
apiTestsOutput.tests.forEach((test) => {
|
|
91
|
+
fs.writeFileSync(test.file, test.content, 'utf8');
|
|
92
|
+
console.log(`✅ Created: ${test.file}`);
|
|
93
|
+
});
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Write E2E test files (if {detected_stack} is `frontend` or `fullstack`):**
|
|
97
|
+
|
|
98
|
+
```javascript
|
|
99
|
+
if (e2eTestsOutput) {
|
|
100
|
+
e2eTestsOutput.tests.forEach((test) => {
|
|
101
|
+
fs.writeFileSync(test.file, test.content, 'utf8');
|
|
102
|
+
console.log(`✅ Created: ${test.file}`);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Write Backend test files (if {detected_stack} is `backend` or `fullstack`):**
|
|
108
|
+
|
|
109
|
+
```javascript
|
|
110
|
+
if (backendTestsOutput) {
|
|
111
|
+
backendTestsOutput.testsGenerated.forEach((test) => {
|
|
112
|
+
fs.writeFileSync(test.file, test.content, 'utf8');
|
|
113
|
+
console.log(`✅ Created: ${test.file}`);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
### 3. Aggregate Fixture Needs
|
|
121
|
+
|
|
122
|
+
**Collect all fixture needs from all launched subagents:**
|
|
123
|
+
|
|
124
|
+
```javascript
|
|
125
|
+
const allFixtureNeeds = [
|
|
126
|
+
...apiTestsOutput.fixture_needs,
|
|
127
|
+
...(e2eTestsOutput ? e2eTestsOutput.fixture_needs : []),
|
|
128
|
+
...(backendTestsOutput ? backendTestsOutput.coverageSummary?.fixtureNeeds || [] : []),
|
|
129
|
+
];
|
|
130
|
+
|
|
131
|
+
// Remove duplicates
|
|
132
|
+
const uniqueFixtures = [...new Set(allFixtureNeeds)];
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Categorize fixtures:**
|
|
136
|
+
|
|
137
|
+
- **Authentication fixtures:** authToken, authenticatedUserFixture, etc.
|
|
138
|
+
- **Data factories:** userDataFactory, productDataFactory, etc.
|
|
139
|
+
- **Network mocks:** paymentMockFixture, apiResponseMocks, etc.
|
|
140
|
+
- **Test helpers:** wait/retry/assertion helpers
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
### 4. Generate Fixture Infrastructure
|
|
145
|
+
|
|
146
|
+
**Create or update fixture files based on needs:**
|
|
147
|
+
|
|
148
|
+
**A) Authentication Fixtures** (`tests/fixtures/auth.ts`):
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
import { test as base } from '@playwright/test';
|
|
152
|
+
|
|
153
|
+
export const test = base.extend({
|
|
154
|
+
authenticatedUser: async ({ page }, use) => {
|
|
155
|
+
// Login logic
|
|
156
|
+
await page.goto('/login');
|
|
157
|
+
await page.fill('[name="email"]', 'test@example.com');
|
|
158
|
+
await page.fill('[name="password"]', 'password');
|
|
159
|
+
await page.click('button[type="submit"]');
|
|
160
|
+
await page.waitForURL('/dashboard');
|
|
161
|
+
|
|
162
|
+
await use(page);
|
|
163
|
+
},
|
|
164
|
+
|
|
165
|
+
authToken: async ({ request }, use) => {
|
|
166
|
+
// Get auth token for API tests
|
|
167
|
+
const response = await request.post('/api/auth/login', {
|
|
168
|
+
data: { email: 'test@example.com', password: 'password' },
|
|
169
|
+
});
|
|
170
|
+
const { token } = await response.json();
|
|
171
|
+
|
|
172
|
+
await use(token);
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**B) Data Factories** (`tests/fixtures/data-factories.ts`):
|
|
178
|
+
|
|
179
|
+
```typescript
|
|
180
|
+
import { faker } from '@faker-js/faker';
|
|
181
|
+
|
|
182
|
+
export const createUserData = (overrides = {}) => ({
|
|
183
|
+
name: faker.person.fullName(),
|
|
184
|
+
email: faker.internet.email(),
|
|
185
|
+
...overrides,
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
export const createProductData = (overrides = {}) => ({
|
|
189
|
+
name: faker.commerce.productName(),
|
|
190
|
+
price: faker.number.int({ min: 10, max: 1000 }),
|
|
191
|
+
...overrides,
|
|
192
|
+
});
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**C) Network Mocks** (`tests/fixtures/network-mocks.ts`):
|
|
196
|
+
|
|
197
|
+
```typescript
|
|
198
|
+
import { Page } from '@playwright/test';
|
|
199
|
+
|
|
200
|
+
export const mockPaymentSuccess = async (page: Page) => {
|
|
201
|
+
await page.route('/api/payment/**', (route) => {
|
|
202
|
+
route.fulfill({
|
|
203
|
+
status: 200,
|
|
204
|
+
body: JSON.stringify({ success: true, transactionId: '12345' }),
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
};
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**D) Helper Utilities** (`tests/fixtures/helpers.ts`):
|
|
211
|
+
|
|
212
|
+
```typescript
|
|
213
|
+
import { expect, Page } from '@playwright/test';
|
|
214
|
+
|
|
215
|
+
export const waitForApiResponse = async (page: Page, urlPattern: string) => {
|
|
216
|
+
return page.waitForResponse((response) => response.url().includes(urlPattern) && response.ok());
|
|
217
|
+
};
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
### 5. Calculate Summary Statistics
|
|
223
|
+
|
|
224
|
+
**Aggregate test counts (based on `{detected_stack}`):**
|
|
225
|
+
|
|
226
|
+
```javascript
|
|
227
|
+
const e2eCount = e2eTestsOutput ? e2eTestsOutput.test_count : 0;
|
|
228
|
+
const backendCount = backendTestsOutput ? (backendTestsOutput.coverageSummary?.totalTests ?? 0) : 0;
|
|
229
|
+
|
|
230
|
+
const resolvedMode = subagentContext?.execution?.resolvedMode;
|
|
231
|
+
const subagentExecutionLabel =
|
|
232
|
+
resolvedMode === 'sequential'
|
|
233
|
+
? 'SEQUENTIAL (API then dependent workers)'
|
|
234
|
+
: resolvedMode === 'agent-team'
|
|
235
|
+
? 'AGENT-TEAM (parallel worker squad)'
|
|
236
|
+
: resolvedMode === 'subagent'
|
|
237
|
+
? 'SUBAGENT (parallel subagents)'
|
|
238
|
+
: `PARALLEL (based on ${detected_stack})`;
|
|
239
|
+
const performanceGainLabel =
|
|
240
|
+
resolvedMode === 'sequential'
|
|
241
|
+
? 'baseline (no parallel speedup)'
|
|
242
|
+
: resolvedMode === 'agent-team' || resolvedMode === 'subagent'
|
|
243
|
+
? '~40-70% faster than sequential'
|
|
244
|
+
: 'mode-dependent';
|
|
245
|
+
|
|
246
|
+
const summary = {
|
|
247
|
+
detected_stack: '{detected_stack}',
|
|
248
|
+
total_tests: apiTestsOutput.test_count + e2eCount + backendCount,
|
|
249
|
+
api_tests: apiTestsOutput.test_count,
|
|
250
|
+
e2e_tests: e2eCount,
|
|
251
|
+
backend_tests: backendCount,
|
|
252
|
+
fixtures_created: uniqueFixtures.length,
|
|
253
|
+
api_test_files: apiTestsOutput.tests.length,
|
|
254
|
+
e2e_test_files: e2eTestsOutput ? e2eTestsOutput.tests.length : 0,
|
|
255
|
+
backend_test_files: backendTestsOutput ? backendTestsOutput.testsGenerated.length : 0,
|
|
256
|
+
priority_coverage: {
|
|
257
|
+
P0:
|
|
258
|
+
(apiTestsOutput.priority_coverage?.P0 ?? 0) +
|
|
259
|
+
(e2eTestsOutput?.priority_coverage?.P0 ?? 0) +
|
|
260
|
+
(backendTestsOutput?.testsGenerated?.reduce((sum, t) => sum + (t.priority_coverage?.P0 ?? 0), 0) ?? 0),
|
|
261
|
+
P1:
|
|
262
|
+
(apiTestsOutput.priority_coverage?.P1 ?? 0) +
|
|
263
|
+
(e2eTestsOutput?.priority_coverage?.P1 ?? 0) +
|
|
264
|
+
(backendTestsOutput?.testsGenerated?.reduce((sum, t) => sum + (t.priority_coverage?.P1 ?? 0), 0) ?? 0),
|
|
265
|
+
P2:
|
|
266
|
+
(apiTestsOutput.priority_coverage?.P2 ?? 0) +
|
|
267
|
+
(e2eTestsOutput?.priority_coverage?.P2 ?? 0) +
|
|
268
|
+
(backendTestsOutput?.testsGenerated?.reduce((sum, t) => sum + (t.priority_coverage?.P2 ?? 0), 0) ?? 0),
|
|
269
|
+
P3:
|
|
270
|
+
(apiTestsOutput.priority_coverage?.P3 ?? 0) +
|
|
271
|
+
(e2eTestsOutput?.priority_coverage?.P3 ?? 0) +
|
|
272
|
+
(backendTestsOutput?.testsGenerated?.reduce((sum, t) => sum + (t.priority_coverage?.P3 ?? 0), 0) ?? 0),
|
|
273
|
+
},
|
|
274
|
+
knowledge_fragments_used: [
|
|
275
|
+
...apiTestsOutput.knowledge_fragments_used,
|
|
276
|
+
...(e2eTestsOutput ? e2eTestsOutput.knowledge_fragments_used : []),
|
|
277
|
+
...(backendTestsOutput ? backendTestsOutput.knowledge_fragments_used || [] : []),
|
|
278
|
+
],
|
|
279
|
+
subagent_execution: subagentExecutionLabel,
|
|
280
|
+
performance_gain: performanceGainLabel,
|
|
281
|
+
};
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**Store summary for Step 4:**
|
|
285
|
+
Save summary to temp file for validation step:
|
|
286
|
+
|
|
287
|
+
```javascript
|
|
288
|
+
fs.writeFileSync('/tmp/tea-automate-summary-{{timestamp}}.json', JSON.stringify(summary, null, 2), 'utf8');
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
### 6. Optional Cleanup
|
|
294
|
+
|
|
295
|
+
**Clean up subagent temp files** (optional - can keep for debugging):
|
|
296
|
+
|
|
297
|
+
```javascript
|
|
298
|
+
fs.unlinkSync(apiTestsPath);
|
|
299
|
+
if (e2eTestsOutput) fs.unlinkSync('/tmp/tea-automate-e2e-tests-{{timestamp}}.json');
|
|
300
|
+
if (backendTestsOutput) fs.unlinkSync('/tmp/tea-automate-backend-tests-{{timestamp}}.json');
|
|
301
|
+
console.log('✅ Subagent temp files cleaned up');
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## OUTPUT SUMMARY
|
|
307
|
+
|
|
308
|
+
Display to user:
|
|
309
|
+
|
|
310
|
+
```
|
|
311
|
+
✅ Test Generation Complete ({subagent_execution})
|
|
312
|
+
|
|
313
|
+
📊 Summary:
|
|
314
|
+
- Stack Type: {detected_stack}
|
|
315
|
+
- Total Tests: {total_tests}
|
|
316
|
+
- API Tests: {api_tests} ({api_test_files} files)
|
|
317
|
+
- E2E Tests: {e2e_tests} ({e2e_test_files} files) [if frontend/fullstack]
|
|
318
|
+
- Backend Tests: {backend_tests} ({backend_test_files} files) [if backend/fullstack]
|
|
319
|
+
- Fixtures Created: {fixtures_created}
|
|
320
|
+
- Priority Coverage:
|
|
321
|
+
- P0 (Critical): {P0} tests
|
|
322
|
+
- P1 (High): {P1} tests
|
|
323
|
+
- P2 (Medium): {P2} tests
|
|
324
|
+
- P3 (Low): {P3} tests
|
|
325
|
+
|
|
326
|
+
🚀 Performance: {performance_gain}
|
|
327
|
+
|
|
328
|
+
📂 Generated Files:
|
|
329
|
+
- tests/api/[feature].spec.ts [always]
|
|
330
|
+
- tests/e2e/[feature].spec.ts [if frontend/fullstack]
|
|
331
|
+
- tests/unit/[feature].test.* [if backend/fullstack]
|
|
332
|
+
- tests/integration/[feature].test.* [if backend/fullstack]
|
|
333
|
+
- tests/fixtures/ or tests/support/ [shared infrastructure]
|
|
334
|
+
|
|
335
|
+
✅ Ready for validation (Step 4)
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## EXIT CONDITION
|
|
341
|
+
|
|
342
|
+
Proceed to Step 4 when:
|
|
343
|
+
|
|
344
|
+
- ✅ All test files written to disk (API + E2E and/or Backend, based on `{detected_stack}`)
|
|
345
|
+
- ✅ All fixtures and helpers created
|
|
346
|
+
- ✅ Summary statistics calculated and saved
|
|
347
|
+
- ✅ Output displayed to user
|
|
348
|
+
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
### 7. Save Progress
|
|
352
|
+
|
|
353
|
+
**Save this step's accumulated work to `{outputFile}`.**
|
|
354
|
+
|
|
355
|
+
- **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
|
|
356
|
+
|
|
357
|
+
```yaml
|
|
358
|
+
---
|
|
359
|
+
stepsCompleted: ['step-03c-aggregate']
|
|
360
|
+
lastStep: 'step-03c-aggregate'
|
|
361
|
+
lastSaved: '{date}'
|
|
362
|
+
---
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
Then write this step's output below the frontmatter.
|
|
366
|
+
|
|
367
|
+
- **If `{outputFile}` already exists**, update:
|
|
368
|
+
- Add `'step-03c-aggregate'` to `stepsCompleted` array (only if not already present)
|
|
369
|
+
- Set `lastStep: 'step-03c-aggregate'`
|
|
370
|
+
- Set `lastSaved: '{date}'`
|
|
371
|
+
- Append this step's output to the appropriate section.
|
|
372
|
+
|
|
373
|
+
Load next step: `{nextStepFile}`
|
|
374
|
+
|
|
375
|
+
---
|
|
376
|
+
|
|
377
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
378
|
+
|
|
379
|
+
### ✅ SUCCESS:
|
|
380
|
+
|
|
381
|
+
- All launched subagents succeeded (based on `{detected_stack}`)
|
|
382
|
+
- All test files written to disk
|
|
383
|
+
- Fixtures generated based on subagent needs
|
|
384
|
+
- Summary complete and accurate
|
|
385
|
+
|
|
386
|
+
### ❌ SYSTEM FAILURE:
|
|
387
|
+
|
|
388
|
+
- One or more subagents failed
|
|
389
|
+
- Test files not written to disk
|
|
390
|
+
- Fixtures missing or incomplete
|
|
391
|
+
- Summary missing or inaccurate
|
|
392
|
+
|
|
393
|
+
**Master Rule:** Do NOT proceed to Step 4 if aggregation incomplete.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-04-validate-and-summarize'
|
|
3
|
+
description: 'Validate outputs and produce automation summary'
|
|
4
|
+
outputFile: '{test_artifacts}/automation-summary.md'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 4: Validate & Summarize
|
|
8
|
+
|
|
9
|
+
## STEP GOAL
|
|
10
|
+
|
|
11
|
+
Validate generated outputs and produce a concise automation summary.
|
|
12
|
+
|
|
13
|
+
## MANDATORY EXECUTION RULES
|
|
14
|
+
|
|
15
|
+
- 📖 Read the entire step file before acting
|
|
16
|
+
- ✅ Speak in `{communication_language}`
|
|
17
|
+
- ✅ Validate against the checklist before completion
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## EXECUTION PROTOCOLS:
|
|
22
|
+
|
|
23
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
24
|
+
- 💾 Record outputs before proceeding
|
|
25
|
+
- 📖 Load the next step only when instructed
|
|
26
|
+
|
|
27
|
+
## CONTEXT BOUNDARIES:
|
|
28
|
+
|
|
29
|
+
- Available context: config, loaded artifacts, and knowledge fragments
|
|
30
|
+
- Focus: this step's goal only
|
|
31
|
+
- Limits: do not execute future steps
|
|
32
|
+
- Dependencies: prior steps' outputs (if any)
|
|
33
|
+
|
|
34
|
+
## MANDATORY SEQUENCE
|
|
35
|
+
|
|
36
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
37
|
+
|
|
38
|
+
## 1. Validate
|
|
39
|
+
|
|
40
|
+
Use `checklist.md` to validate:
|
|
41
|
+
|
|
42
|
+
- Framework readiness
|
|
43
|
+
- Coverage mapping
|
|
44
|
+
- Test quality and structure
|
|
45
|
+
- Fixtures, factories, helpers
|
|
46
|
+
- [ ] CLI sessions cleaned up (no orphaned browsers)
|
|
47
|
+
- [ ] Temp artifacts stored in `{test_artifacts}/` not random locations
|
|
48
|
+
|
|
49
|
+
Fix gaps before proceeding.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 2. Polish Output
|
|
54
|
+
|
|
55
|
+
Before finalizing, review the complete output document for quality:
|
|
56
|
+
|
|
57
|
+
1. **Remove duplication**: Progressive-append workflow may have created repeated sections — consolidate
|
|
58
|
+
2. **Verify consistency**: Ensure terminology, risk scores, and references are consistent throughout
|
|
59
|
+
3. **Check completeness**: All template sections should be populated or explicitly marked N/A
|
|
60
|
+
4. **Format cleanup**: Ensure markdown formatting is clean (tables aligned, headers consistent, no orphaned references)
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 3. Summary Output
|
|
65
|
+
|
|
66
|
+
Write `{outputFile}` including:
|
|
67
|
+
|
|
68
|
+
- Coverage plan by test level and priority
|
|
69
|
+
- Files created/updated
|
|
70
|
+
- Key assumptions and risks
|
|
71
|
+
- Next recommended workflow (e.g., `test-review` or `trace`)
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 4. Save Progress
|
|
76
|
+
|
|
77
|
+
**Save this step's accumulated work to `{outputFile}`.**
|
|
78
|
+
|
|
79
|
+
- **If `{outputFile}` does not exist** (first save), create it with YAML frontmatter:
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
---
|
|
83
|
+
stepsCompleted: ['step-04-validate-and-summarize']
|
|
84
|
+
lastStep: 'step-04-validate-and-summarize'
|
|
85
|
+
lastSaved: '{date}'
|
|
86
|
+
---
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Then write this step's output below the frontmatter.
|
|
90
|
+
|
|
91
|
+
- **If `{outputFile}` already exists**, update:
|
|
92
|
+
- Add `'step-04-validate-and-summarize'` to `stepsCompleted` array (only if not already present)
|
|
93
|
+
- Set `lastStep: 'step-04-validate-and-summarize'`
|
|
94
|
+
- Set `lastSaved: '{date}'`
|
|
95
|
+
- Append this step's output to the appropriate section.
|
|
96
|
+
|
|
97
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
98
|
+
|
|
99
|
+
### ✅ SUCCESS:
|
|
100
|
+
|
|
101
|
+
- Step completed in full with required outputs
|
|
102
|
+
|
|
103
|
+
### ❌ SYSTEM FAILURE:
|
|
104
|
+
|
|
105
|
+
- Skipped sequence steps or missing outputs
|
|
106
|
+
**Master Rule:** Skipping steps is FORBIDDEN.
|
package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-e/step-01-assess.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-01-assess'
|
|
3
|
+
description: 'Load an existing output for editing'
|
|
4
|
+
nextStepFile: './step-02-apply-edit.md'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 1: Assess Edit Target
|
|
8
|
+
|
|
9
|
+
## STEP GOAL:
|
|
10
|
+
|
|
11
|
+
Identify which output should be edited and load it.
|
|
12
|
+
|
|
13
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
14
|
+
|
|
15
|
+
### Universal Rules:
|
|
16
|
+
|
|
17
|
+
- 📖 Read the complete step file before taking any action
|
|
18
|
+
- ✅ Speak in `{communication_language}`
|
|
19
|
+
|
|
20
|
+
### Role Reinforcement:
|
|
21
|
+
|
|
22
|
+
- ✅ You are the Master Test Architect
|
|
23
|
+
|
|
24
|
+
### Step-Specific Rules:
|
|
25
|
+
|
|
26
|
+
- 🎯 Ask the user which output file to edit
|
|
27
|
+
- 🚫 Do not edit until target is confirmed
|
|
28
|
+
|
|
29
|
+
## EXECUTION PROTOCOLS:
|
|
30
|
+
|
|
31
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
32
|
+
|
|
33
|
+
## CONTEXT BOUNDARIES:
|
|
34
|
+
|
|
35
|
+
- Available context: existing outputs
|
|
36
|
+
- Focus: select edit target
|
|
37
|
+
- Limits: no edits yet
|
|
38
|
+
|
|
39
|
+
## MANDATORY SEQUENCE
|
|
40
|
+
|
|
41
|
+
**CRITICAL:** Follow this sequence exactly.
|
|
42
|
+
|
|
43
|
+
### 1. Identify Target
|
|
44
|
+
|
|
45
|
+
Ask the user to provide the output file path or select from known outputs.
|
|
46
|
+
|
|
47
|
+
### 2. Load Target
|
|
48
|
+
|
|
49
|
+
Read the provided output file in full.
|
|
50
|
+
|
|
51
|
+
### 3. Confirm
|
|
52
|
+
|
|
53
|
+
Confirm the target and proceed to edit.
|
|
54
|
+
|
|
55
|
+
Load next step: `{nextStepFile}`
|
|
56
|
+
|
|
57
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
58
|
+
|
|
59
|
+
### ✅ SUCCESS:
|
|
60
|
+
|
|
61
|
+
- Target identified and loaded
|
|
62
|
+
|
|
63
|
+
### ❌ SYSTEM FAILURE:
|
|
64
|
+
|
|
65
|
+
- Proceeding without a confirmed target
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-02-apply-edit'
|
|
3
|
+
description: 'Apply edits to the selected output'
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Step 2: Apply Edits
|
|
7
|
+
|
|
8
|
+
## STEP GOAL:
|
|
9
|
+
|
|
10
|
+
Apply the requested edits to the selected output and confirm changes.
|
|
11
|
+
|
|
12
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
13
|
+
|
|
14
|
+
### Universal Rules:
|
|
15
|
+
|
|
16
|
+
- 📖 Read the complete step file before taking any action
|
|
17
|
+
- ✅ Speak in `{communication_language}`
|
|
18
|
+
|
|
19
|
+
### Role Reinforcement:
|
|
20
|
+
|
|
21
|
+
- ✅ You are the Master Test Architect
|
|
22
|
+
|
|
23
|
+
### Step-Specific Rules:
|
|
24
|
+
|
|
25
|
+
- 🎯 Only apply edits explicitly requested by the user
|
|
26
|
+
|
|
27
|
+
## EXECUTION PROTOCOLS:
|
|
28
|
+
|
|
29
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
30
|
+
|
|
31
|
+
## CONTEXT BOUNDARIES:
|
|
32
|
+
|
|
33
|
+
- Available context: selected output and user changes
|
|
34
|
+
- Focus: apply edits only
|
|
35
|
+
|
|
36
|
+
## MANDATORY SEQUENCE
|
|
37
|
+
|
|
38
|
+
**CRITICAL:** Follow this sequence exactly.
|
|
39
|
+
|
|
40
|
+
### 1. Confirm Requested Changes
|
|
41
|
+
|
|
42
|
+
Restate what will be changed and confirm.
|
|
43
|
+
|
|
44
|
+
### 2. Apply Changes
|
|
45
|
+
|
|
46
|
+
Update the output file accordingly.
|
|
47
|
+
|
|
48
|
+
### 3. Report
|
|
49
|
+
|
|
50
|
+
Summarize the edits applied.
|
|
51
|
+
|
|
52
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
53
|
+
|
|
54
|
+
### ✅ SUCCESS:
|
|
55
|
+
|
|
56
|
+
- Changes applied and confirmed
|
|
57
|
+
|
|
58
|
+
### ❌ SYSTEM FAILURE:
|
|
59
|
+
|
|
60
|
+
- Unconfirmed edits or missing update
|
package/lib/bmad-cache/tea/src/workflows/testarch/bmad-testarch-automate/steps-v/step-01-validate.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-01-validate'
|
|
3
|
+
description: 'Validate workflow outputs against checklist'
|
|
4
|
+
outputFile: '{test_artifacts}/automate-validation-report.md'
|
|
5
|
+
validationChecklist: '../checklist.md'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 1: Validate Outputs
|
|
9
|
+
|
|
10
|
+
## STEP GOAL:
|
|
11
|
+
|
|
12
|
+
Validate outputs using the workflow checklist and record findings.
|
|
13
|
+
|
|
14
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
15
|
+
|
|
16
|
+
### Universal Rules:
|
|
17
|
+
|
|
18
|
+
- 📖 Read the complete step file before taking any action
|
|
19
|
+
- ✅ Speak in `{communication_language}`
|
|
20
|
+
|
|
21
|
+
### Role Reinforcement:
|
|
22
|
+
|
|
23
|
+
- ✅ You are the Master Test Architect
|
|
24
|
+
|
|
25
|
+
### Step-Specific Rules:
|
|
26
|
+
|
|
27
|
+
- 🎯 Validate against `{validationChecklist}`
|
|
28
|
+
- 🚫 Do not skip checks
|
|
29
|
+
|
|
30
|
+
## EXECUTION PROTOCOLS:
|
|
31
|
+
|
|
32
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
33
|
+
- 💾 Write findings to `{outputFile}`
|
|
34
|
+
|
|
35
|
+
## CONTEXT BOUNDARIES:
|
|
36
|
+
|
|
37
|
+
- Available context: workflow outputs and checklist
|
|
38
|
+
- Focus: validation only
|
|
39
|
+
- Limits: do not modify outputs in this step
|
|
40
|
+
|
|
41
|
+
## MANDATORY SEQUENCE
|
|
42
|
+
|
|
43
|
+
**CRITICAL:** Follow this sequence exactly.
|
|
44
|
+
|
|
45
|
+
### 1. Load Checklist
|
|
46
|
+
|
|
47
|
+
Read `{validationChecklist}` and list all criteria.
|
|
48
|
+
|
|
49
|
+
### 2. Validate Outputs
|
|
50
|
+
|
|
51
|
+
Evaluate outputs against each checklist item.
|
|
52
|
+
|
|
53
|
+
### 3. Write Report
|
|
54
|
+
|
|
55
|
+
Write a validation report to `{outputFile}` with PASS/WARN/FAIL per section.
|
|
56
|
+
|
|
57
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
58
|
+
|
|
59
|
+
### ✅ SUCCESS:
|
|
60
|
+
|
|
61
|
+
- Validation report written
|
|
62
|
+
- All checklist items evaluated
|
|
63
|
+
|
|
64
|
+
### ❌ SYSTEM FAILURE:
|
|
65
|
+
|
|
66
|
+
- Skipped checklist items
|
|
67
|
+
- No report produced
|