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.
- package/.claude-plugin/marketplace.json +52 -0
- package/.coderabbit.yaml +40 -0
- package/.github/CODE_OF_CONDUCT.md +128 -0
- package/.github/FUNDING.yaml +15 -0
- package/.github/ISSUE_TEMPLATE/config.yaml +8 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +70 -0
- package/.github/ISSUE_TEMPLATE/issue.md +61 -0
- package/.github/ISSUE_TEMPLATE/rule_quality_report.md +46 -0
- package/.github/workflows/docs.yaml +66 -0
- package/.github/workflows/publish.yaml +193 -0
- package/.github/workflows/quality.yaml +171 -0
- package/.github/workflows/tea-test-review.yaml +240 -0
- package/.husky/pre-commit +20 -0
- package/.markdownlint-cli2.yaml +36 -0
- package/.nvmrc +1 -0
- package/.prettierignore +9 -0
- package/.vscode/settings.json +47 -0
- package/AGENTS.md +32 -0
- package/CHANGELOG.md +582 -0
- package/CONTRIBUTING.md +268 -0
- package/DESIGN-CRITERIA-REGISTRY.md +336 -0
- package/LICENSE +26 -0
- package/README.md +782 -0
- package/SECURITY.md +85 -0
- package/cli/examples/README.md +53 -0
- package/cli/examples/pr-test-review.yml +315 -0
- package/cli/lib/agent-adapters.js +256 -0
- package/cli/lib/build-prompt.js +327 -0
- package/cli/lib/changed-tests.js +479 -0
- package/cli/lib/convention-baseline.js +237 -0
- package/cli/lib/isolate.js +353 -0
- package/cli/lib/parse-report.js +1081 -0
- package/cli/lib/registry-rows.js +60 -0
- package/cli/lib/resolve-skill.js +44 -0
- package/cli/lib/resolve-tea-config.js +229 -0
- package/cli/lib/run-agent.js +146 -0
- package/cli/test-review.js +874 -0
- package/docs/404.md +20 -0
- package/docs/explanation/engagement-models.md +191 -0
- package/docs/explanation/eval-quality-roadmap.md +164 -0
- package/docs/explanation/fixture-architecture.md +350 -0
- package/docs/explanation/knowledge-base-system.md +158 -0
- package/docs/explanation/network-first-patterns.md +342 -0
- package/docs/explanation/risk-based-testing.md +189 -0
- package/docs/explanation/step-file-architecture.md +227 -0
- package/docs/explanation/tea-overview.md +244 -0
- package/docs/explanation/test-quality-standards.md +475 -0
- package/docs/explanation/test-review-cli-architecture.md +159 -0
- package/docs/explanation/testing-as-engineering.md +124 -0
- package/docs/explanation/verification-architecture.md +129 -0
- package/docs/glossary/index.md +160 -0
- package/docs/how-to/brownfield/use-tea-for-enterprise.md +394 -0
- package/docs/how-to/brownfield/use-tea-with-existing-tests.md +499 -0
- package/docs/how-to/customization/configure-browser-automation.md +213 -0
- package/docs/how-to/customization/extend-tea-with-custom-workflows.md +102 -0
- package/docs/how-to/customization/integrate-pactjs-utils.md +184 -0
- package/docs/how-to/customization/integrate-playwright-utils.md +886 -0
- package/docs/how-to/install-behind-firewall.md +43 -0
- package/docs/how-to/workflows/run-atdd.md +453 -0
- package/docs/how-to/workflows/run-automate.md +673 -0
- package/docs/how-to/workflows/run-nfr-assess.md +723 -0
- package/docs/how-to/workflows/run-test-design.md +155 -0
- package/docs/how-to/workflows/run-test-review.md +622 -0
- package/docs/how-to/workflows/run-trace.md +973 -0
- package/docs/how-to/workflows/setup-ci.md +741 -0
- package/docs/how-to/workflows/setup-test-framework.md +130 -0
- package/docs/how-to/workflows/teach-me-testing.md +287 -0
- package/docs/index.md +67 -0
- package/docs/reference/commands.md +394 -0
- package/docs/reference/configuration.md +561 -0
- package/docs/reference/execution-targets.md +106 -0
- package/docs/reference/knowledge-base.md +271 -0
- package/docs/reference/live-verification-results.md +193 -0
- package/docs/reference/tea-test-review-cli.md +282 -0
- package/docs/reference/troubleshooting.md +362 -0
- package/docs/tutorials/learn-testing-tea-academy.md +67 -0
- package/docs/tutorials/tea-lite-quickstart.md +459 -0
- package/eslint.config.mjs +146 -0
- package/package.json +139 -0
- package/prettier.config.mjs +32 -0
- package/src/agents/froid-tea/SKILL.md +86 -0
- package/src/agents/froid-tea/customize.toml +108 -0
- package/src/agents/froid-tea/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/src/agents/froid-tea/resources/knowledge/api-request.md +572 -0
- package/src/agents/froid-tea/resources/knowledge/api-testing-patterns.md +931 -0
- package/src/agents/froid-tea/resources/knowledge/auth-session.md +553 -0
- package/src/agents/froid-tea/resources/knowledge/burn-in.md +273 -0
- package/src/agents/froid-tea/resources/knowledge/ci-burn-in.md +717 -0
- package/src/agents/froid-tea/resources/knowledge/component-tdd.md +522 -0
- package/src/agents/froid-tea/resources/knowledge/confidence-gate.md +73 -0
- package/src/agents/froid-tea/resources/knowledge/contract-testing.md +1066 -0
- package/src/agents/froid-tea/resources/knowledge/data-factories.md +539 -0
- package/src/agents/froid-tea/resources/knowledge/email-auth.md +721 -0
- package/src/agents/froid-tea/resources/knowledge/error-handling.md +725 -0
- package/src/agents/froid-tea/resources/knowledge/evidence-integrity.md +265 -0
- package/src/agents/froid-tea/resources/knowledge/feature-flags.md +750 -0
- package/src/agents/froid-tea/resources/knowledge/file-utils.md +456 -0
- package/src/agents/froid-tea/resources/knowledge/fixture-architecture.md +401 -0
- package/src/agents/froid-tea/resources/knowledge/fixtures-composition.md +385 -0
- package/src/agents/froid-tea/resources/knowledge/intercept-network-call.md +426 -0
- package/src/agents/froid-tea/resources/knowledge/library-integration-mandate.md +93 -0
- package/src/agents/froid-tea/resources/knowledge/log.md +432 -0
- package/src/agents/froid-tea/resources/knowledge/maestro-flows.md +540 -0
- package/src/agents/froid-tea/resources/knowledge/mobile-ci-device-lab.md +208 -0
- package/src/agents/froid-tea/resources/knowledge/mobile-test-strategy.md +127 -0
- package/src/agents/froid-tea/resources/knowledge/network-error-monitor.md +402 -0
- package/src/agents/froid-tea/resources/knowledge/network-first.md +486 -0
- package/src/agents/froid-tea/resources/knowledge/network-recorder.md +527 -0
- package/src/agents/froid-tea/resources/knowledge/nfr-criteria.md +670 -0
- package/src/agents/froid-tea/resources/knowledge/overview.md +290 -0
- package/src/agents/froid-tea/resources/knowledge/pact-broker-webhooks.md +237 -0
- package/src/agents/froid-tea/resources/knowledge/pact-consumer-di.md +310 -0
- package/src/agents/froid-tea/resources/knowledge/pact-consumer-framework-setup.md +704 -0
- package/src/agents/froid-tea/resources/knowledge/pact-mcp.md +242 -0
- package/src/agents/froid-tea/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
- package/src/agents/froid-tea/resources/knowledge/pactjs-utils-mandate.md +204 -0
- package/src/agents/froid-tea/resources/knowledge/pactjs-utils-overview.md +219 -0
- package/src/agents/froid-tea/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
- package/src/agents/froid-tea/resources/knowledge/pactjs-utils-request-filter.md +224 -0
- package/src/agents/froid-tea/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
- package/src/agents/froid-tea/resources/knowledge/playwright-cli.md +280 -0
- package/src/agents/froid-tea/resources/knowledge/playwright-config.md +734 -0
- package/src/agents/froid-tea/resources/knowledge/playwright-utils-mandate.md +183 -0
- package/src/agents/froid-tea/resources/knowledge/probability-impact.md +593 -0
- package/src/agents/froid-tea/resources/knowledge/recurse.md +433 -0
- package/src/agents/froid-tea/resources/knowledge/risk-governance.md +625 -0
- package/src/agents/froid-tea/resources/knowledge/selective-testing.md +732 -0
- package/src/agents/froid-tea/resources/knowledge/selector-resilience.md +527 -0
- package/src/agents/froid-tea/resources/knowledge/test-healing-patterns.md +644 -0
- package/src/agents/froid-tea/resources/knowledge/test-levels-framework.md +473 -0
- package/src/agents/froid-tea/resources/knowledge/test-priorities-matrix.md +382 -0
- package/src/agents/froid-tea/resources/knowledge/test-quality.md +848 -0
- package/src/agents/froid-tea/resources/knowledge/timing-debugging.md +464 -0
- package/src/agents/froid-tea/resources/knowledge/visual-debugging.md +527 -0
- package/src/agents/froid-tea/resources/knowledge/webhook-module-setup.md +122 -0
- package/src/agents/froid-tea/resources/knowledge/webhook-providers.md +155 -0
- package/src/agents/froid-tea/resources/knowledge/webhook-risk-guidance.md +114 -0
- package/src/agents/froid-tea/resources/knowledge/webhook-template-matchers.md +160 -0
- package/src/agents/froid-tea/resources/knowledge/webhook-testing-fundamentals.md +42 -0
- package/src/agents/froid-tea/resources/knowledge/webhook-timeout-error.md +130 -0
- package/src/agents/froid-tea/resources/knowledge/webhook-waiting-querying.md +167 -0
- package/src/agents/froid-tea/resources/tea-index.csv +60 -0
- package/src/module-help.csv +11 -0
- package/src/module.yaml +332 -0
- package/src/workflows/testarch/froid-teach-me-testing/SKILL.md +129 -0
- package/src/workflows/testarch/froid-teach-me-testing/checklist.md +198 -0
- package/src/workflows/testarch/froid-teach-me-testing/customize.toml +38 -0
- package/src/workflows/testarch/froid-teach-me-testing/data/curriculum.yaml +129 -0
- package/src/workflows/testarch/froid-teach-me-testing/data/quiz-questions.yaml +206 -0
- package/src/workflows/testarch/froid-teach-me-testing/data/role-paths.yaml +136 -0
- package/src/workflows/testarch/froid-teach-me-testing/data/session-content-map.yaml +222 -0
- package/src/workflows/testarch/froid-teach-me-testing/data/tea-resources-index.yaml +483 -0
- package/src/workflows/testarch/froid-teach-me-testing/instructions.md +129 -0
- package/src/workflows/testarch/froid-teach-me-testing/resources/tea-completion-summary.example.md +102 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-01-init.md +235 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-01b-continue.md +147 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-02-assess.md +258 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-03-session-menu.md +219 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-01.md +460 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-02.md +465 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-03.md +301 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-04.md +234 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-05.md +234 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-06.md +209 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-04-session-07.md +243 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-c/step-05-completion.md +343 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-e/step-e-01-assess-workflow.md +141 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-e/step-e-02-apply-edits.md +130 -0
- package/src/workflows/testarch/froid-teach-me-testing/steps-v/step-v-01-validate.md +278 -0
- package/src/workflows/testarch/froid-teach-me-testing/templates/completion-summary-template.md +82 -0
- package/src/workflows/testarch/froid-teach-me-testing/templates/progress-template.yaml +95 -0
- package/src/workflows/testarch/froid-teach-me-testing/templates/session-notes-template.md +83 -0
- package/src/workflows/testarch/froid-testarch-atdd/SKILL.md +85 -0
- package/src/workflows/testarch/froid-testarch-atdd/atdd-checklist-template.md +394 -0
- package/src/workflows/testarch/froid-testarch-atdd/checklist.md +408 -0
- package/src/workflows/testarch/froid-testarch-atdd/customize.toml +38 -0
- package/src/workflows/testarch/froid-testarch-atdd/instructions.md +44 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/atdd-checklist-2-4-guest-checkout.example.md +594 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/api-request.md +572 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/api-testing-patterns.md +931 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/auth-session.md +553 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/burn-in.md +273 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/ci-burn-in.md +717 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/component-tdd.md +522 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/confidence-gate.md +73 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/contract-testing.md +1066 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/data-factories.md +539 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/email-auth.md +721 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/error-handling.md +725 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/evidence-integrity.md +265 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/feature-flags.md +750 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/file-utils.md +456 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/fixture-architecture.md +401 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/fixtures-composition.md +385 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/intercept-network-call.md +426 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/library-integration-mandate.md +93 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/log.md +432 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/maestro-flows.md +540 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/mobile-ci-device-lab.md +208 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/mobile-test-strategy.md +127 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/network-error-monitor.md +402 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/network-first.md +486 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/network-recorder.md +527 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/nfr-criteria.md +670 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/overview.md +290 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pact-broker-webhooks.md +237 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pact-consumer-di.md +310 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pact-consumer-framework-setup.md +704 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pact-mcp.md +242 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-mandate.md +204 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-overview.md +219 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-request-filter.md +224 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/playwright-cli.md +280 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/playwright-config.md +734 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/playwright-utils-mandate.md +183 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/probability-impact.md +593 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/recurse.md +433 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/risk-governance.md +625 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/selective-testing.md +732 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/selector-resilience.md +527 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/test-healing-patterns.md +644 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/test-levels-framework.md +473 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/test-priorities-matrix.md +382 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/test-quality.md +848 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/timing-debugging.md +464 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/visual-debugging.md +527 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-module-setup.md +122 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-providers.md +155 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-risk-guidance.md +114 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-template-matchers.md +160 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-testing-fundamentals.md +42 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-timeout-error.md +130 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/knowledge/webhook-waiting-querying.md +167 -0
- package/src/workflows/testarch/froid-testarch-atdd/resources/tea-index.csv +60 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-01-preflight-and-context.md +256 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-01b-resume.md +96 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-02-generation-mode.md +125 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-03-test-strategy.md +110 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-04-generate-tests.md +362 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-04a-subagent-api-failing.md +323 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-04b-subagent-e2e-failing.md +305 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-04c-aggregate.md +430 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-c/step-05-validate-and-complete.md +123 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-e/step-02-apply-edit.md +68 -0
- package/src/workflows/testarch/froid-testarch-atdd/steps-v/step-01-validate.md +85 -0
- package/src/workflows/testarch/froid-testarch-atdd/workflow.yaml +46 -0
- package/src/workflows/testarch/froid-testarch-automate/SKILL.md +85 -0
- package/src/workflows/testarch/froid-testarch-automate/checklist.md +645 -0
- package/src/workflows/testarch/froid-testarch-automate/customize.toml +38 -0
- package/src/workflows/testarch/froid-testarch-automate/instructions.md +49 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/automation-summary.example.md +76 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/api-request.md +572 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/api-testing-patterns.md +931 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/auth-session.md +553 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/burn-in.md +273 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/ci-burn-in.md +717 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/component-tdd.md +522 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/confidence-gate.md +73 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/contract-testing.md +1066 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/data-factories.md +539 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/email-auth.md +721 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/error-handling.md +725 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/evidence-integrity.md +265 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/feature-flags.md +750 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/file-utils.md +456 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/fixture-architecture.md +401 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/fixtures-composition.md +385 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/intercept-network-call.md +426 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/library-integration-mandate.md +93 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/log.md +432 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/maestro-flows.md +540 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/mobile-ci-device-lab.md +208 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/mobile-test-strategy.md +127 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/network-error-monitor.md +402 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/network-first.md +486 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/network-recorder.md +527 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/nfr-criteria.md +670 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/overview.md +290 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pact-broker-webhooks.md +237 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pact-consumer-di.md +310 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pact-consumer-framework-setup.md +704 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pact-mcp.md +242 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-mandate.md +204 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-overview.md +219 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-request-filter.md +224 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/playwright-cli.md +280 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/playwright-config.md +734 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/playwright-utils-mandate.md +183 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/probability-impact.md +593 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/recurse.md +433 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/risk-governance.md +625 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/selective-testing.md +732 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/selector-resilience.md +527 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/test-healing-patterns.md +644 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/test-levels-framework.md +473 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/test-priorities-matrix.md +382 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/test-quality.md +848 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/timing-debugging.md +464 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/visual-debugging.md +527 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-module-setup.md +122 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-providers.md +155 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-risk-guidance.md +114 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-template-matchers.md +160 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-testing-fundamentals.md +42 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-timeout-error.md +130 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/knowledge/webhook-waiting-querying.md +167 -0
- package/src/workflows/testarch/froid-testarch-automate/resources/tea-index.csv +60 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-c/step-01-preflight-and-context.md +261 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-c/step-01b-resume.md +94 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-c/step-02-identify-targets.md +182 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03-generate-tests.md +458 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03a-subagent-api.md +333 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03b-subagent-backend.md +248 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03b-subagent-e2e.md +282 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03b-subagent-mobile.md +162 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-c/step-03c-aggregate.md +494 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-c/step-04-validate-and-summarize.md +120 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-e/step-02-apply-edit.md +68 -0
- package/src/workflows/testarch/froid-testarch-automate/steps-v/step-01-validate.md +85 -0
- package/src/workflows/testarch/froid-testarch-automate/workflow.yaml +53 -0
- package/src/workflows/testarch/froid-testarch-ci/SKILL.md +85 -0
- package/src/workflows/testarch/froid-testarch-ci/azure-pipelines-template.yaml +155 -0
- package/src/workflows/testarch/froid-testarch-ci/checklist.md +289 -0
- package/src/workflows/testarch/froid-testarch-ci/customize.toml +38 -0
- package/src/workflows/testarch/froid-testarch-ci/github-actions-template.yaml +328 -0
- package/src/workflows/testarch/froid-testarch-ci/gitlab-ci-template.yaml +158 -0
- package/src/workflows/testarch/froid-testarch-ci/harness-pipeline-template.yaml +160 -0
- package/src/workflows/testarch/froid-testarch-ci/instructions.md +44 -0
- package/src/workflows/testarch/froid-testarch-ci/jenkins-pipeline-template.groovy +129 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/ci-pipeline-progress.example.md +121 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/api-request.md +572 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/api-testing-patterns.md +931 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/auth-session.md +553 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/burn-in.md +273 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/ci-burn-in.md +717 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/component-tdd.md +522 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/confidence-gate.md +73 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/contract-testing.md +1066 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/data-factories.md +539 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/email-auth.md +721 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/error-handling.md +725 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/evidence-integrity.md +265 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/feature-flags.md +750 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/file-utils.md +456 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/fixture-architecture.md +401 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/fixtures-composition.md +385 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/intercept-network-call.md +426 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/library-integration-mandate.md +93 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/log.md +432 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/maestro-flows.md +540 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/mobile-ci-device-lab.md +208 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/mobile-test-strategy.md +127 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/network-error-monitor.md +402 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/network-first.md +486 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/network-recorder.md +527 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/nfr-criteria.md +670 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/overview.md +290 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pact-broker-webhooks.md +237 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pact-consumer-di.md +310 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pact-consumer-framework-setup.md +704 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pact-mcp.md +242 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-mandate.md +204 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-overview.md +219 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-request-filter.md +224 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/playwright-cli.md +280 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/playwright-config.md +734 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/playwright-utils-mandate.md +183 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/probability-impact.md +593 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/recurse.md +433 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/risk-governance.md +625 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/selective-testing.md +732 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/selector-resilience.md +527 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/test-healing-patterns.md +644 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/test-levels-framework.md +473 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/test-priorities-matrix.md +382 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/test-quality.md +848 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/timing-debugging.md +464 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/visual-debugging.md +527 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-module-setup.md +122 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-providers.md +155 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-risk-guidance.md +114 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-template-matchers.md +160 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-testing-fundamentals.md +42 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-timeout-error.md +130 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/knowledge/webhook-waiting-querying.md +167 -0
- package/src/workflows/testarch/froid-testarch-ci/resources/tea-index.csv +60 -0
- package/src/workflows/testarch/froid-testarch-ci/steps-c/step-01-preflight.md +173 -0
- package/src/workflows/testarch/froid-testarch-ci/steps-c/step-01b-resume.md +110 -0
- package/src/workflows/testarch/froid-testarch-ci/steps-c/step-02-generate-pipeline.md +305 -0
- package/src/workflows/testarch/froid-testarch-ci/steps-c/step-03-configure-quality-gates.md +164 -0
- package/src/workflows/testarch/froid-testarch-ci/steps-c/step-04-validate-and-summary.md +100 -0
- package/src/workflows/testarch/froid-testarch-ci/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/froid-testarch-ci/steps-e/step-02-apply-edit.md +68 -0
- package/src/workflows/testarch/froid-testarch-ci/steps-v/step-01-validate.md +99 -0
- package/src/workflows/testarch/froid-testarch-ci/workflow.yaml +48 -0
- package/src/workflows/testarch/froid-testarch-framework/SKILL.md +85 -0
- package/src/workflows/testarch/froid-testarch-framework/checklist.md +370 -0
- package/src/workflows/testarch/froid-testarch-framework/customize.toml +38 -0
- package/src/workflows/testarch/froid-testarch-framework/instructions.md +44 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/framework-setup-progress.example.md +195 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/hooks/tea-enforce.cjs +1098 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/api-request.md +572 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/api-testing-patterns.md +931 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/auth-session.md +553 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/burn-in.md +273 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/ci-burn-in.md +717 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/component-tdd.md +522 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/confidence-gate.md +73 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/contract-testing.md +1066 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/data-factories.md +539 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/email-auth.md +721 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/error-handling.md +725 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/evidence-integrity.md +265 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/feature-flags.md +750 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/file-utils.md +456 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/fixture-architecture.md +401 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/fixtures-composition.md +385 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/intercept-network-call.md +426 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/library-integration-mandate.md +93 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/log.md +432 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/maestro-flows.md +540 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/mobile-ci-device-lab.md +208 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/mobile-test-strategy.md +127 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/network-error-monitor.md +402 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/network-first.md +486 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/network-recorder.md +527 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/nfr-criteria.md +670 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/overview.md +290 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pact-broker-webhooks.md +237 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pact-consumer-di.md +310 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pact-consumer-framework-setup.md +704 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pact-mcp.md +242 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-mandate.md +204 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-overview.md +219 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-request-filter.md +224 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/playwright-cli.md +280 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/playwright-config.md +734 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/playwright-utils-mandate.md +183 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/probability-impact.md +593 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/recurse.md +433 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/risk-governance.md +625 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/selective-testing.md +732 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/selector-resilience.md +527 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/test-healing-patterns.md +644 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/test-levels-framework.md +473 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/test-priorities-matrix.md +382 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/test-quality.md +848 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/timing-debugging.md +464 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/visual-debugging.md +527 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-module-setup.md +122 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-providers.md +155 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-risk-guidance.md +114 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-template-matchers.md +160 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-testing-fundamentals.md +42 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-timeout-error.md +130 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/knowledge/webhook-waiting-querying.md +167 -0
- package/src/workflows/testarch/froid-testarch-framework/resources/tea-index.csv +60 -0
- package/src/workflows/testarch/froid-testarch-framework/steps-c/step-01-preflight.md +145 -0
- package/src/workflows/testarch/froid-testarch-framework/steps-c/step-01b-resume.md +116 -0
- package/src/workflows/testarch/froid-testarch-framework/steps-c/step-02-select-framework.md +131 -0
- package/src/workflows/testarch/froid-testarch-framework/steps-c/step-03-scaffold-framework.md +444 -0
- package/src/workflows/testarch/froid-testarch-framework/steps-c/step-04-docs-and-scripts.md +210 -0
- package/src/workflows/testarch/froid-testarch-framework/steps-c/step-05-validate-and-summary.md +101 -0
- package/src/workflows/testarch/froid-testarch-framework/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/froid-testarch-framework/steps-e/step-02-apply-edit.md +68 -0
- package/src/workflows/testarch/froid-testarch-framework/steps-v/step-01-validate.md +85 -0
- package/src/workflows/testarch/froid-testarch-framework/workflow.yaml +48 -0
- package/src/workflows/testarch/froid-testarch-nfr/SKILL.md +85 -0
- package/src/workflows/testarch/froid-testarch-nfr/checklist.md +405 -0
- package/src/workflows/testarch/froid-testarch-nfr/customize.toml +38 -0
- package/src/workflows/testarch/froid-testarch-nfr/instructions.md +45 -0
- package/src/workflows/testarch/froid-testarch-nfr/nfr-report-template.md +454 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/api-request.md +572 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/api-testing-patterns.md +931 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/auth-session.md +553 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/burn-in.md +273 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/ci-burn-in.md +717 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/component-tdd.md +522 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/confidence-gate.md +73 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/contract-testing.md +1066 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/data-factories.md +539 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/email-auth.md +721 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/error-handling.md +725 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/evidence-integrity.md +265 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/feature-flags.md +750 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/file-utils.md +456 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/fixture-architecture.md +401 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/fixtures-composition.md +385 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/intercept-network-call.md +426 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/library-integration-mandate.md +93 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/log.md +432 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/maestro-flows.md +540 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/mobile-ci-device-lab.md +208 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/mobile-test-strategy.md +127 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/network-error-monitor.md +402 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/network-first.md +486 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/network-recorder.md +527 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/nfr-criteria.md +670 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/overview.md +290 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pact-broker-webhooks.md +237 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pact-consumer-di.md +310 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pact-consumer-framework-setup.md +704 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pact-mcp.md +242 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-mandate.md +204 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-overview.md +219 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-request-filter.md +224 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/playwright-cli.md +280 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/playwright-config.md +734 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/playwright-utils-mandate.md +183 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/probability-impact.md +593 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/recurse.md +433 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/risk-governance.md +625 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/selective-testing.md +732 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/selector-resilience.md +527 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/test-healing-patterns.md +644 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/test-levels-framework.md +473 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/test-priorities-matrix.md +382 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/test-quality.md +848 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/timing-debugging.md +464 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/visual-debugging.md +527 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-module-setup.md +122 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-providers.md +155 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-risk-guidance.md +114 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-template-matchers.md +160 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-testing-fundamentals.md +42 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-timeout-error.md +130 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/knowledge/webhook-waiting-querying.md +167 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/nfr-assessment.example.md +497 -0
- package/src/workflows/testarch/froid-testarch-nfr/resources/tea-index.csv +60 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/nfr-status-definitions.md +37 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-01-load-context.md +138 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-01b-resume.md +106 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-02-define-thresholds.md +120 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-03-gather-evidence.md +108 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04-evaluate-and-score.md +254 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04a-subagent-security.md +135 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04b-subagent-performance.md +97 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04c-subagent-reliability.md +93 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04d-subagent-maintainability.md +104 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-04e-aggregate-nfr.md +294 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-c/step-05-generate-report.md +116 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-e/step-02-apply-edit.md +68 -0
- package/src/workflows/testarch/froid-testarch-nfr/steps-v/step-01-validate.md +85 -0
- package/src/workflows/testarch/froid-testarch-nfr/workflow.yaml +48 -0
- package/src/workflows/testarch/froid-testarch-test-design/SKILL.md +89 -0
- package/src/workflows/testarch/froid-testarch-test-design/checklist.md +486 -0
- package/src/workflows/testarch/froid-testarch-test-design/customize.toml +38 -0
- package/src/workflows/testarch/froid-testarch-test-design/instructions.md +104 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/api-request.md +572 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/api-testing-patterns.md +931 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/auth-session.md +553 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/burn-in.md +273 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/ci-burn-in.md +717 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/component-tdd.md +522 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/confidence-gate.md +73 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/contract-testing.md +1066 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/data-factories.md +539 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/email-auth.md +721 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/error-handling.md +725 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/evidence-integrity.md +265 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/feature-flags.md +750 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/file-utils.md +456 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/fixture-architecture.md +401 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/fixtures-composition.md +385 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/intercept-network-call.md +426 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/library-integration-mandate.md +93 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/log.md +432 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/maestro-flows.md +540 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/mobile-ci-device-lab.md +208 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/mobile-test-strategy.md +127 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/network-error-monitor.md +402 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/network-first.md +486 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/network-recorder.md +527 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/nfr-criteria.md +670 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/overview.md +290 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pact-broker-webhooks.md +237 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pact-consumer-di.md +310 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pact-consumer-framework-setup.md +704 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pact-mcp.md +242 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-mandate.md +204 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-overview.md +219 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-request-filter.md +224 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/playwright-cli.md +280 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/playwright-config.md +734 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/playwright-utils-mandate.md +183 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/probability-impact.md +593 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/recurse.md +433 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/risk-governance.md +625 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/selective-testing.md +732 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/selector-resilience.md +527 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/test-healing-patterns.md +644 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/test-levels-framework.md +473 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/test-priorities-matrix.md +382 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/test-quality.md +848 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/timing-debugging.md +464 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/visual-debugging.md +527 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-module-setup.md +122 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-providers.md +155 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-risk-guidance.md +114 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-template-matchers.md +160 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-testing-fundamentals.md +42 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-timeout-error.md +130 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/knowledge/webhook-waiting-querying.md +167 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/tea-index.csv +60 -0
- package/src/workflows/testarch/froid-testarch-test-design/resources/test-design-epic-3.example.md +300 -0
- package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-01-detect-mode.md +187 -0
- package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-01b-resume.md +141 -0
- package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-02-load-context.md +268 -0
- package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-03-risk-and-testability.md +133 -0
- package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-04-coverage-plan.md +148 -0
- package/src/workflows/testarch/froid-testarch-test-design/steps-c/step-05-generate-output.md +241 -0
- package/src/workflows/testarch/froid-testarch-test-design/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/froid-testarch-test-design/steps-e/step-02-apply-edit.md +68 -0
- package/src/workflows/testarch/froid-testarch-test-design/steps-v/step-01-validate.md +85 -0
- package/src/workflows/testarch/froid-testarch-test-design/test-design-architecture-template.md +250 -0
- package/src/workflows/testarch/froid-testarch-test-design/test-design-handoff-template.md +70 -0
- package/src/workflows/testarch/froid-testarch-test-design/test-design-qa-template.md +414 -0
- package/src/workflows/testarch/froid-testarch-test-design/test-design-template.md +367 -0
- package/src/workflows/testarch/froid-testarch-test-design/workflow.yaml +77 -0
- package/src/workflows/testarch/froid-testarch-test-review/SKILL.md +97 -0
- package/src/workflows/testarch/froid-testarch-test-review/checklist.md +506 -0
- package/src/workflows/testarch/froid-testarch-test-review/customize.toml +66 -0
- package/src/workflows/testarch/froid-testarch-test-review/instructions.md +50 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/api-request.md +572 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/api-testing-patterns.md +931 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/auth-session.md +553 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/burn-in.md +273 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/ci-burn-in.md +717 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/component-tdd.md +522 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/confidence-gate.md +73 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/contract-testing.md +1066 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/data-factories.md +539 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/email-auth.md +721 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/error-handling.md +725 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/evidence-integrity.md +265 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/feature-flags.md +750 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/file-utils.md +456 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/fixture-architecture.md +401 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/fixtures-composition.md +385 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/intercept-network-call.md +426 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/library-integration-mandate.md +93 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/log.md +432 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/maestro-flows.md +540 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/mobile-ci-device-lab.md +208 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/mobile-test-strategy.md +127 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/network-error-monitor.md +402 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/network-first.md +486 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/network-recorder.md +527 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/nfr-criteria.md +670 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/overview.md +290 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pact-broker-webhooks.md +237 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pact-consumer-di.md +310 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pact-consumer-framework-setup.md +704 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pact-mcp.md +242 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-mandate.md +204 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-overview.md +219 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-request-filter.md +224 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/playwright-cli.md +280 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/playwright-config.md +734 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/playwright-utils-mandate.md +183 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/probability-impact.md +593 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/recurse.md +433 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/risk-governance.md +625 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/selective-testing.md +732 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/selector-resilience.md +527 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/test-healing-patterns.md +644 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/test-levels-framework.md +473 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/test-priorities-matrix.md +382 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/test-quality.md +848 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/timing-debugging.md +464 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/visual-debugging.md +527 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-module-setup.md +122 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-providers.md +155 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-risk-guidance.md +114 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-template-matchers.md +160 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-testing-fundamentals.md +42 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-timeout-error.md +130 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/knowledge/webhook-waiting-querying.md +167 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/tea-index.csv +60 -0
- package/src/workflows/testarch/froid-testarch-test-review/resources/test-review.example.md +297 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/criteria-registry.md +230 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-01-load-context.md +236 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-01b-resume.md +104 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-02-discover-tests.md +271 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03-quality-evaluation.md +296 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03a-subagent-determinism.md +336 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03b-subagent-isolation.md +142 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03c-subagent-maintainability.md +173 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03e-subagent-performance.md +145 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-03f-aggregate-scores.md +409 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-c/step-04-generate-report.md +122 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-e/step-02-apply-edit.md +68 -0
- package/src/workflows/testarch/froid-testarch-test-review/steps-v/step-01-validate.md +85 -0
- package/src/workflows/testarch/froid-testarch-test-review/test-review-template.md +469 -0
- package/src/workflows/testarch/froid-testarch-test-review/workflow.yaml +55 -0
- package/src/workflows/testarch/froid-testarch-trace/SKILL.md +87 -0
- package/src/workflows/testarch/froid-testarch-trace/checklist.md +677 -0
- package/src/workflows/testarch/froid-testarch-trace/customize.toml +38 -0
- package/src/workflows/testarch/froid-testarch-trace/instructions.md +45 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/adr-quality-readiness-checklist.md +377 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/api-request.md +572 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/api-testing-patterns.md +931 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/auth-session.md +553 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/burn-in.md +273 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/ci-burn-in.md +717 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/component-tdd.md +522 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/confidence-gate.md +73 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/contract-testing.md +1066 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/data-factories.md +539 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/email-auth.md +721 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/error-handling.md +725 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/evidence-integrity.md +265 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/feature-flags.md +750 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/file-utils.md +456 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/fixture-architecture.md +401 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/fixtures-composition.md +385 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/intercept-network-call.md +426 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/library-integration-mandate.md +93 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/log.md +432 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/maestro-flows.md +540 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/mobile-ci-device-lab.md +208 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/mobile-test-strategy.md +127 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/network-error-monitor.md +402 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/network-first.md +486 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/network-recorder.md +527 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/nfr-criteria.md +670 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/overview.md +290 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pact-broker-webhooks.md +237 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pact-consumer-di.md +310 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pact-consumer-framework-setup.md +704 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pact-mcp.md +242 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-consumer-helpers.md +379 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-mandate.md +204 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-overview.md +219 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-provider-verifier.md +397 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-request-filter.md +224 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/pactjs-utils-zod-to-pact.md +262 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/playwright-cli.md +280 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/playwright-config.md +734 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/playwright-utils-mandate.md +183 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/probability-impact.md +593 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/recurse.md +433 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/risk-governance.md +625 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/selective-testing.md +732 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/selector-resilience.md +527 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/test-healing-patterns.md +644 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/test-levels-framework.md +473 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/test-priorities-matrix.md +382 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/test-quality.md +848 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/timing-debugging.md +464 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/visual-debugging.md +527 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-module-setup.md +122 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-providers.md +155 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-risk-guidance.md +114 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-template-matchers.md +160 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-testing-fundamentals.md +42 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-timeout-error.md +130 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/knowledge/webhook-waiting-querying.md +167 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/live-verification-results.example.json +37 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/tea-index.csv +60 -0
- package/src/workflows/testarch/froid-testarch-trace/resources/traceability-matrix.example.md +346 -0
- package/src/workflows/testarch/froid-testarch-trace/steps-c/step-01-load-context.md +166 -0
- package/src/workflows/testarch/froid-testarch-trace/steps-c/step-01b-resume.md +102 -0
- package/src/workflows/testarch/froid-testarch-trace/steps-c/step-02-discover-tests.md +292 -0
- package/src/workflows/testarch/froid-testarch-trace/steps-c/step-03-map-criteria.md +149 -0
- package/src/workflows/testarch/froid-testarch-trace/steps-c/step-04-analyze-gaps.md +795 -0
- package/src/workflows/testarch/froid-testarch-trace/steps-c/step-05-gate-decision.md +795 -0
- package/src/workflows/testarch/froid-testarch-trace/steps-e/step-01-assess.md +65 -0
- package/src/workflows/testarch/froid-testarch-trace/steps-e/step-02-apply-edit.md +68 -0
- package/src/workflows/testarch/froid-testarch-trace/steps-v/step-01-validate.md +85 -0
- package/src/workflows/testarch/froid-testarch-trace/trace-template.md +716 -0
- package/src/workflows/testarch/froid-testarch-trace/workflow.yaml +98 -0
- package/test/README.md +57 -0
- package/test/eval-all.js +213 -0
- package/test/eval-fragment-selection.js +521 -0
- package/test/eval-test-review.js +525 -0
- package/test/evals/froid-testarch-atdd/evals.json +98 -0
- package/test/evals/froid-testarch-automate/evals.json +198 -0
- package/test/evals/froid-testarch-ci/evals.json +78 -0
- package/test/evals/froid-testarch-framework/evals.json +111 -0
- package/test/evals/froid-testarch-nfr/evals.json +78 -0
- package/test/evals/froid-testarch-test-design/evals.json +136 -0
- package/test/evals/froid-testarch-test-review/evals.json +76 -0
- package/test/evals/froid-testarch-trace/evals.json +62 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/actions-as-string.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/critical-actions/empty-string-in-actions.agent.yaml +30 -0
- package/test/fixtures/agent-schema/invalid/menu/empty-menu.agent.yaml +22 -0
- package/test/fixtures/agent-schema/invalid/menu/missing-menu.agent.yaml +20 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/empty-command-target.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-commands/no-command-target.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/camel-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-invalid-format.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/compound-mismatched-kebab.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/duplicate-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/empty-trigger.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/leading-asterisk.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/snake-case.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/menu-triggers/trigger-with-spaces.agent.yaml +25 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-module-string.agent.yaml +26 -0
- package/test/fixtures/agent-schema/invalid/metadata/empty-name.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/metadata/extra-metadata-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/metadata/missing-id.agent.yaml +23 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-principles-array.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/persona/empty-string-in-principles.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/extra-persona-fields.agent.yaml +27 -0
- package/test/fixtures/agent-schema/invalid/persona/missing-role.agent.yaml +24 -0
- package/test/fixtures/agent-schema/invalid/prompts/empty-content.agent.yaml +29 -0
- package/test/fixtures/agent-schema/invalid/prompts/extra-prompt-fields.agent.yaml +31 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-content.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/prompts/missing-id.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/empty-file.agent.yaml +5 -0
- package/test/fixtures/agent-schema/invalid/top-level/extra-top-level-keys.agent.yaml +28 -0
- package/test/fixtures/agent-schema/invalid/top-level/missing-agent-key.agent.yaml +11 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/invalid-indentation.agent.yaml +19 -0
- package/test/fixtures/agent-schema/invalid/yaml-errors/malformed-yaml.agent.yaml +18 -0
- package/test/fixtures/agent-schema/valid/critical-actions/empty-critical-actions.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/critical-actions/no-critical-actions.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/critical-actions/valid-critical-actions.agent.yaml +27 -0
- package/test/fixtures/agent-schema/valid/menu/multiple-menu-items.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu/single-menu-item.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/menu-commands/all-command-types.agent.yaml +38 -0
- package/test/fixtures/agent-schema/valid/menu-commands/multiple-commands.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/compound-triggers.agent.yaml +31 -0
- package/test/fixtures/agent-schema/valid/menu-triggers/kebab-case-triggers.agent.yaml +34 -0
- package/test/fixtures/agent-schema/valid/metadata/core-agent-with-module.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/empty-module-name-in-path.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/malformed-path-treated-as-core.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-correct.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/metadata/module-agent-missing-module.agent.yaml +23 -0
- package/test/fixtures/agent-schema/valid/metadata/wrong-module-value.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/persona/complete-persona.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/empty-prompts.agent.yaml +24 -0
- package/test/fixtures/agent-schema/valid/prompts/no-prompts.agent.yaml +22 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-minimal.agent.yaml +28 -0
- package/test/fixtures/agent-schema/valid/prompts/valid-prompts-with-description.agent.yaml +30 -0
- package/test/fixtures/agent-schema/valid/top-level/minimal-core-agent.agent.yaml +24 -0
- package/test/fixtures/test-review-cli/project/_froid/tea/workflows/testarch/froid-testarch-test-review/SKILL.md +1 -0
- package/test/fixtures/test-review-cli/project-claude/.claude/skills/froid-testarch-test-review/SKILL.md +1 -0
- package/test/fixtures/test-review-cli/project-empty/.gitkeep +0 -0
- package/test/fixtures/test-review-cli/reports/approve-low-score.md +54 -0
- package/test/fixtures/test-review-cli/reports/approve-with-high.md +61 -0
- package/test/fixtures/test-review-cli/reports/approve.md +54 -0
- package/test/fixtures/test-review-cli/reports/bad-value.md +38 -0
- package/test/fixtures/test-review-cli/reports/block.md +102 -0
- package/test/fixtures/test-review-cli/reports/bonus-not-multiple.md +71 -0
- package/test/fixtures/test-review-cli/reports/colon-in-bold.md +51 -0
- package/test/fixtures/test-review-cli/reports/conflicting.md +38 -0
- package/test/fixtures/test-review-cli/reports/context-basis-without-manifest.md +61 -0
- package/test/fixtures/test-review-cli/reports/context-none-with-manifest.md +66 -0
- package/test/fixtures/test-review-cli/reports/context-overlaps-reviewed.md +67 -0
- package/test/fixtures/test-review-cli/reports/context-pr-diff.md +86 -0
- package/test/fixtures/test-review-cli/reports/convention-baseline-unavailable.md +61 -0
- package/test/fixtures/test-review-cli/reports/convention-fabricated.md +62 -0
- package/test/fixtures/test-review-cli/reports/convention-honest-absent.md +61 -0
- package/test/fixtures/test-review-cli/reports/critical-approve.md +38 -0
- package/test/fixtures/test-review-cli/reports/duplicate-breakdown-heading.md +87 -0
- package/test/fixtures/test-review-cli/reports/empty-steps-flow.md +56 -0
- package/test/fixtures/test-review-cli/reports/fenced-recommendation.md +59 -0
- package/test/fixtures/test-review-cli/reports/key-strengths-weaknesses.md +72 -0
- package/test/fixtures/test-review-cli/reports/lowercase.md +53 -0
- package/test/fixtures/test-review-cli/reports/malformed.md +12 -0
- package/test/fixtures/test-review-cli/reports/missing-breakdown.md +46 -0
- package/test/fixtures/test-review-cli/reports/missing-context-basis.md +59 -0
- package/test/fixtures/test-review-cli/reports/missing-decision.md +53 -0
- package/test/fixtures/test-review-cli/reports/missing-frontmatter.md +45 -0
- package/test/fixtures/test-review-cli/reports/missing-reviewed-files.md +49 -0
- package/test/fixtures/test-review-cli/reports/missing-score.md +52 -0
- package/test/fixtures/test-review-cli/reports/missing-violations.md +36 -0
- package/test/fixtures/test-review-cli/reports/plain-bullets-key-strengths.md +62 -0
- package/test/fixtures/test-review-cli/reports/request-changes-critical.md +98 -0
- package/test/fixtures/test-review-cli/reports/request-changes.md +91 -0
- package/test/fixtures/test-review-cli/reports/score-140.md +38 -0
- package/test/fixtures/test-review-cli/reports/score-mismatch.md +57 -0
- package/test/fixtures/test-review-cli/reports/table-breakdown.md +65 -0
- package/test/fixtures/test-review-cli/reports/wrapped-steps-flow.md +58 -0
- package/test/fixtures/test-review-cli/stub-agent.js +398 -0
- package/test/fixtures/test-review-eval/clean/profile.spec.ts +36 -0
- package/test/fixtures/test-review-eval/ground-truth.json +60 -0
- package/test/fixtures/test-review-eval/seeded/checkout.spec.ts +42 -0
- package/test/fixtures/test-review-eval/seeded/orders.service.spec.ts +40 -0
- package/test/schema/agent.js +491 -0
- package/test/test-agent-schema.js +387 -0
- package/test/test-enforce-hook.js +413 -0
- package/test/test-installation-components.js +510 -0
- package/test/test-knowledge-base.js +445 -0
- package/test/test-release-metadata.js +71 -0
- package/test/test-stamp-changelog.js +102 -0
- package/test/test-test-review-cli.js +4830 -0
- package/tools/build-docs.js +575 -0
- package/tools/fix-doc-links.js +288 -0
- package/tools/schema/agent.js +491 -0
- package/tools/stamp-changelog.js +123 -0
- package/tools/validate-agent-schema.js +284 -0
- package/tools/validate-criteria-fragments.js +446 -0
- package/tools/validate-doc-links.js +440 -0
- package/tools/validate-tea-workflow-descriptions.js +123 -0
- package/website/README.md +137 -0
- package/website/astro.config.mjs +189 -0
- package/website/package-lock.json +6856 -0
- package/website/package.json +24 -0
- package/website/public/favicon.ico +0 -0
- package/website/public/img/tea-logo.svg +7 -0
- package/website/public/robots.txt +37 -0
- package/website/src/components/Banner.astro +74 -0
- package/website/src/components/Header.astro +121 -0
- package/website/src/components/MobileMenuFooter.astro +53 -0
- package/website/src/content/config.ts +6 -0
- package/website/src/lib/site-url.js +25 -0
- package/website/src/pages/404.astro +11 -0
- package/website/src/rehype-base-paths.js +89 -0
- package/website/src/rehype-markdown-links.js +117 -0
- package/website/src/styles/custom.css +518 -0
- package/website/tsconfig.json +9 -0
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
# Contributing to Froid
|
|
2
|
+
|
|
3
|
+
Thank you for considering contributing to the Froid project! We believe in **Human Amplification, Not Replacement** - bringing out the best thinking in both humans and AI through guided collaboration.
|
|
4
|
+
|
|
5
|
+
💬 **Discord Community**: Join our [Discord server](https://discord.gg/gk8jAdXWmj) for real-time discussions:
|
|
6
|
+
|
|
7
|
+
- **#froid-development** - Technical discussions and development questions
|
|
8
|
+
- **#suggestions-feedback** - Feature ideas and suggestions
|
|
9
|
+
- **#report-bugs-and-issues** - Bug reports and issue discussions
|
|
10
|
+
|
|
11
|
+
## Our Philosophy
|
|
12
|
+
|
|
13
|
+
### Froid Core™: Universal Foundation
|
|
14
|
+
|
|
15
|
+
Froid Core empowers humans and AI agents working together in true partnership across any domain through our **C.O.R.E. Framework** (Collaboration Optimized Reflection Engine):
|
|
16
|
+
|
|
17
|
+
- **Collaboration**: Human-AI partnership where both contribute unique strengths
|
|
18
|
+
- **Optimized**: The collaborative process refined for maximum effectiveness
|
|
19
|
+
- **Reflection**: Guided thinking that helps discover better solutions and insights
|
|
20
|
+
- **Engine**: The powerful framework that orchestrates specialized agents and workflows
|
|
21
|
+
|
|
22
|
+
### Froid Plane™: Agile AI-Driven Development
|
|
23
|
+
|
|
24
|
+
The Froid Plane is the flagship froid module for agile AI-driven software development. It emphasizes thorough planning and solid architectural foundations to provide detailed context for developer agents, mirroring real-world agile best practices.
|
|
25
|
+
|
|
26
|
+
### Core Principles
|
|
27
|
+
|
|
28
|
+
**Partnership Over Automation** - AI agents act as expert coaches, mentors, and collaborators who amplify human capability rather than replace it.
|
|
29
|
+
|
|
30
|
+
**Bidirectional Guidance** - Agents guide users through structured workflows while users push agents with advanced prompting. Both sides actively work to extract better information from each other.
|
|
31
|
+
|
|
32
|
+
**Systems of Workflows** - Froid Core builds comprehensive systems of guided workflows with specialized agent teams for any domain.
|
|
33
|
+
|
|
34
|
+
**Tool-Agnostic Foundation** - Froid Core remains tool-agnostic, providing stable, extensible groundwork that adapts to any domain.
|
|
35
|
+
|
|
36
|
+
## What Makes a Good Contribution?
|
|
37
|
+
|
|
38
|
+
Every contribution should strengthen human-AI collaboration. Ask yourself: **"Does this make humans and AI better together?"**
|
|
39
|
+
|
|
40
|
+
**✅ Contributions that align:**
|
|
41
|
+
|
|
42
|
+
- Enhance universal collaboration patterns
|
|
43
|
+
- Improve agent personas and workflows
|
|
44
|
+
- Strengthen planning and context continuity
|
|
45
|
+
- Increase cross-domain accessibility
|
|
46
|
+
- Add domain-specific modules leveraging Froid Core
|
|
47
|
+
|
|
48
|
+
**❌ What detracts from our mission:**
|
|
49
|
+
|
|
50
|
+
- Purely automated solutions that sideline humans
|
|
51
|
+
- Tools that don't improve the partnership
|
|
52
|
+
- Complexity that creates barriers to adoption
|
|
53
|
+
- Features that fragment Froid Core's foundation
|
|
54
|
+
|
|
55
|
+
## Before You Contribute
|
|
56
|
+
|
|
57
|
+
### Reporting Bugs
|
|
58
|
+
|
|
59
|
+
1. **Check existing issues** first to avoid duplicates
|
|
60
|
+
2. **Consider discussing in Discord** (#report-bugs-and-issues channel) for quick help
|
|
61
|
+
3. **Use the bug report template** when creating a new issue - it guides you through providing:
|
|
62
|
+
- Clear bug description
|
|
63
|
+
- Steps to reproduce
|
|
64
|
+
- Expected vs actual behavior
|
|
65
|
+
- Model/IDE/Froid version details
|
|
66
|
+
- Screenshots or links if applicable
|
|
67
|
+
4. **Indicate if you're working on a fix** to avoid duplicate efforts
|
|
68
|
+
|
|
69
|
+
### Suggesting Features or New Modules
|
|
70
|
+
|
|
71
|
+
1. **Discuss first in Discord** (#suggestions-feedback channel) - the feature request template asks if you've done this
|
|
72
|
+
2. **Check existing issues** to avoid duplicates
|
|
73
|
+
3. **Use the feature request template** when creating an issue
|
|
74
|
+
4. **Be specific** about why this feature would benefit the Froid community and strengthen human-AI collaboration
|
|
75
|
+
|
|
76
|
+
### Before Starting Work
|
|
77
|
+
|
|
78
|
+
⚠️ **Required before submitting PRs:**
|
|
79
|
+
|
|
80
|
+
1. **For bugs**: Check if an issue exists (create one using the bug template if not)
|
|
81
|
+
2. **For features**: Discuss in Discord (#suggestions-feedback) AND create a feature request issue
|
|
82
|
+
3. **For large changes**: Always open an issue first to discuss alignment
|
|
83
|
+
|
|
84
|
+
Please propose small, granular changes! For large or significant changes, discuss in Discord and open an issue first. This prevents wasted effort on PRs that may not align with planned changes.
|
|
85
|
+
|
|
86
|
+
## Pull Request Guidelines
|
|
87
|
+
|
|
88
|
+
### Which Branch?
|
|
89
|
+
|
|
90
|
+
**Submit PR's to `main` branch** (critical only):
|
|
91
|
+
|
|
92
|
+
- 🚨 Critical bug fixes that break basic functionality
|
|
93
|
+
- 🔒 Security patches
|
|
94
|
+
- 📚 Fixing dangerously incorrect documentation
|
|
95
|
+
- 🐛 Bugs preventing installation or basic usage
|
|
96
|
+
|
|
97
|
+
### PR Size Guidelines
|
|
98
|
+
|
|
99
|
+
- **Ideal PR size**: 200-400 lines of code changes
|
|
100
|
+
- **Maximum PR size**: 800 lines (excluding generated files)
|
|
101
|
+
- **One feature/fix per PR**: Each PR should address a single issue or add one feature
|
|
102
|
+
- **If your change is larger**: Break it into multiple smaller PRs that can be reviewed independently
|
|
103
|
+
- **Related changes**: Even related changes should be separate PRs if they deliver independent value
|
|
104
|
+
|
|
105
|
+
### Breaking Down Large PRs
|
|
106
|
+
|
|
107
|
+
If your change exceeds 800 lines, use this checklist to split it:
|
|
108
|
+
|
|
109
|
+
- [ ] Can I separate the refactoring from the feature implementation?
|
|
110
|
+
- [ ] Can I introduce the new API/interface in one PR and implementation in another?
|
|
111
|
+
- [ ] Can I split by file or module?
|
|
112
|
+
- [ ] Can I create a base PR with shared utilities first?
|
|
113
|
+
- [ ] Can I separate test additions from implementation?
|
|
114
|
+
- [ ] Even if changes are related, can they deliver value independently?
|
|
115
|
+
- [ ] Can these changes be merged in any order without breaking things?
|
|
116
|
+
|
|
117
|
+
Example breakdown:
|
|
118
|
+
|
|
119
|
+
1. PR #1: Add utility functions and types (100 lines)
|
|
120
|
+
2. PR #2: Refactor existing code to use utilities (200 lines)
|
|
121
|
+
3. PR #3: Implement new feature using refactored code (300 lines)
|
|
122
|
+
4. PR #4: Add comprehensive tests (200 lines)
|
|
123
|
+
|
|
124
|
+
**Note**: PRs #1 and #4 could be submitted simultaneously since they deliver independent value.
|
|
125
|
+
|
|
126
|
+
### Pull Request Process
|
|
127
|
+
|
|
128
|
+
#### New to Pull Requests?
|
|
129
|
+
|
|
130
|
+
If you're new to GitHub or pull requests, here's a quick guide:
|
|
131
|
+
|
|
132
|
+
1. **Fork the repository** - Click the "Fork" button on GitHub to create your own copy
|
|
133
|
+
2. **Clone your fork** - `git clone https://github.com/YOUR-USERNAME/froid-plane-test-architecture-enterprise.git`
|
|
134
|
+
3. **Create a new branch** - Never work on `main` directly!
|
|
135
|
+
```bash
|
|
136
|
+
git checkout -b fix/description
|
|
137
|
+
# or
|
|
138
|
+
git checkout -b feature/description
|
|
139
|
+
```
|
|
140
|
+
4. **Make your changes** - Edit files, keeping changes small and focused
|
|
141
|
+
5. **Commit your changes** - Use clear, descriptive commit messages
|
|
142
|
+
```bash
|
|
143
|
+
git add .
|
|
144
|
+
git commit -m "fix: correct typo in README"
|
|
145
|
+
```
|
|
146
|
+
6. **Push to your fork** - `git push origin fix/description`
|
|
147
|
+
7. **Create the Pull Request** - Go to your fork on GitHub and click "Compare & pull request"
|
|
148
|
+
|
|
149
|
+
### PR Description Template
|
|
150
|
+
|
|
151
|
+
Keep your PR description concise and focused. Use this template:
|
|
152
|
+
|
|
153
|
+
```markdown
|
|
154
|
+
## What
|
|
155
|
+
|
|
156
|
+
[1-2 sentences describing WHAT changed]
|
|
157
|
+
|
|
158
|
+
## Why
|
|
159
|
+
|
|
160
|
+
[1-2 sentences explaining WHY this change is needed]
|
|
161
|
+
Fixes #[issue number] (if applicable)
|
|
162
|
+
|
|
163
|
+
## How
|
|
164
|
+
|
|
165
|
+
## [2-3 bullets listing HOW you implemented it]
|
|
166
|
+
|
|
167
|
+
-
|
|
168
|
+
-
|
|
169
|
+
|
|
170
|
+
## Testing
|
|
171
|
+
|
|
172
|
+
[1-2 sentences on how you tested this]
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**Maximum PR description length: 200 words** (excluding code examples if needed)
|
|
176
|
+
|
|
177
|
+
### Good vs Bad PR Descriptions
|
|
178
|
+
|
|
179
|
+
❌ **Bad Example:**
|
|
180
|
+
|
|
181
|
+
> This revolutionary PR introduces a paradigm-shifting enhancement to the system's architecture by implementing a state-of-the-art solution that leverages cutting-edge methodologies to optimize performance metrics...
|
|
182
|
+
|
|
183
|
+
✅ **Good Example:**
|
|
184
|
+
|
|
185
|
+
> **What:** Added validation for agent dependency resolution
|
|
186
|
+
> **Why:** Build was failing silently when agents had circular dependencies
|
|
187
|
+
> **How:**
|
|
188
|
+
>
|
|
189
|
+
> - Added cycle detection in dependency-resolver.js
|
|
190
|
+
> - Throws clear error with dependency chain
|
|
191
|
+
> **Testing:** Tested with circular deps between 3 agents
|
|
192
|
+
|
|
193
|
+
### Commit Message Convention
|
|
194
|
+
|
|
195
|
+
Use conventional commits format:
|
|
196
|
+
|
|
197
|
+
- `feat:` New feature
|
|
198
|
+
- `fix:` Bug fix
|
|
199
|
+
- `docs:` Documentation only
|
|
200
|
+
- `refactor:` Code change that neither fixes a bug nor adds a feature
|
|
201
|
+
- `test:` Adding missing tests
|
|
202
|
+
- `chore:` Changes to build process or auxiliary tools
|
|
203
|
+
|
|
204
|
+
Keep commit messages under 72 characters.
|
|
205
|
+
|
|
206
|
+
### Atomic Commits
|
|
207
|
+
|
|
208
|
+
Each commit should represent one logical change:
|
|
209
|
+
|
|
210
|
+
- **Do:** One bug fix per commit
|
|
211
|
+
- **Do:** One feature addition per commit
|
|
212
|
+
- **Don't:** Mix refactoring with bug fixes
|
|
213
|
+
- **Don't:** Combine unrelated changes
|
|
214
|
+
|
|
215
|
+
## What Makes a Good Pull Request?
|
|
216
|
+
|
|
217
|
+
✅ **Good PRs:**
|
|
218
|
+
|
|
219
|
+
- Change one thing at a time
|
|
220
|
+
- Have clear, descriptive titles
|
|
221
|
+
- Explain what and why in the description
|
|
222
|
+
- Include only the files that need to change
|
|
223
|
+
- Reference related issue numbers
|
|
224
|
+
|
|
225
|
+
❌ **Avoid:**
|
|
226
|
+
|
|
227
|
+
- Changing formatting of entire files
|
|
228
|
+
- Multiple unrelated changes in one PR
|
|
229
|
+
- Copying your entire project/repo into the PR
|
|
230
|
+
- Changes without explanation
|
|
231
|
+
- Working directly on `main` branch
|
|
232
|
+
|
|
233
|
+
## Common Mistakes to Avoid
|
|
234
|
+
|
|
235
|
+
1. **Don't reformat entire files** - only change what's necessary
|
|
236
|
+
2. **Don't include unrelated changes** - stick to one fix/feature per PR
|
|
237
|
+
3. **Don't paste code in issues** - create a proper PR instead
|
|
238
|
+
4. **Don't submit your whole project** - contribute specific improvements
|
|
239
|
+
|
|
240
|
+
## Prompt & Agent Guidelines
|
|
241
|
+
|
|
242
|
+
- Keep dev agents lean - they need context for coding, not documentation
|
|
243
|
+
- Web/planning agents can be larger with more complex tasks
|
|
244
|
+
- Everything is natural language (markdown) - no code in core framework
|
|
245
|
+
- Use froid modules for domain-specific features
|
|
246
|
+
- Validate YAML schemas with `npm run validate:schemas` before committing
|
|
247
|
+
|
|
248
|
+
## Code of Conduct
|
|
249
|
+
|
|
250
|
+
By participating in this project, you agree to abide by our Code of Conduct. We foster a collaborative, respectful environment focused on building better human-AI partnerships.
|
|
251
|
+
|
|
252
|
+
## Need Help?
|
|
253
|
+
|
|
254
|
+
- 💬 Join our [Discord Community](https://discord.gg/gk8jAdXWmj):
|
|
255
|
+
- **#froid-development** - Technical questions and discussions
|
|
256
|
+
- **#suggestions-feedback** - Feature ideas and suggestions
|
|
257
|
+
- **#report-bugs-and-issues** - Get help with bugs before filing issues
|
|
258
|
+
- 🐛 Report bugs using the [bug report template](https://github.com/cordya-ai/froid-plane-test-architecture-enterprise/issues/new?template=issue.md)
|
|
259
|
+
- 💡 Suggest features using the [feature request template](https://github.com/cordya-ai/froid-plane-test-architecture-enterprise/issues/new?template=feature_request.md)
|
|
260
|
+
- 📖 Browse [open and closed issues](https://github.com/cordya-ai/froid-plane-test-architecture-enterprise/issues)
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
**Remember**: We're here to help! Don't be afraid to ask questions. Every expert was once a beginner. Together, we're building a future where humans and AI work better together.
|
|
265
|
+
|
|
266
|
+
## License
|
|
267
|
+
|
|
268
|
+
By contributing to this project, you agree that your contributions will be licensed under the same license as the project.
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
# Criteria registry, convention baseline, and the eval harness
|
|
2
|
+
|
|
3
|
+
Staged 2026-08-04, uncommitted. Motivated by couture-cast PR #103 (run 30929497408,
|
|
4
|
+
codex `gpt-5.6-luna`, reasoning effort low), which scored 82/100 `Request Changes`
|
|
5
|
+
while a parallel persona run scored 8.5/10 and said merge.
|
|
6
|
+
|
|
7
|
+
## What the #103 comparison actually exposed
|
|
8
|
+
|
|
9
|
+
The scores agreed. 85 and 82 is a 3-point spread on a 100-point ledger, which is
|
|
10
|
+
noise. The **verdicts** were opposite, and the verdict is what `--fail-on
|
|
11
|
+
request-changes` acts on.
|
|
12
|
+
|
|
13
|
+
Chasing that back through the workflow turned up four defects, two of them named in
|
|
14
|
+
the brief and two that were not.
|
|
15
|
+
|
|
16
|
+
| # | Defect | Named in brief |
|
|
17
|
+
| --- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
18
|
+
| 1 | Convention criteria fired unconditionally, so `Test IDs: none present` read identically in a repo with the convention and one that never used it | yes |
|
|
19
|
+
| 2 | Severity was prose taste in three of four workers, so two vendors could agree on a defect and disagree on its deduction | yes |
|
|
20
|
+
| 3 | **The recommendation was never derived from the findings.** The score was deterministic; the verdict beside it was a free-form pick from a four-value enum | no |
|
|
21
|
+
| 4 | **No subagent defined a single `CRITICAL` row**, while aggregation counted them at −10 each and the report reserved a section for them | no |
|
|
22
|
+
|
|
23
|
+
Defect 3 is why #103 split. Defect 4 means every critical finding to date, including
|
|
24
|
+
the three on `unit-test-coverage-bot` #25, was improvised. On #25 the improvisation
|
|
25
|
+
happened to be correct. That is not a rubric.
|
|
26
|
+
|
|
27
|
+
## What changed
|
|
28
|
+
|
|
29
|
+
### The registry is the single source of severity
|
|
30
|
+
|
|
31
|
+
`steps-c/criteria-registry.md` is new. Every criterion is a row with a firing
|
|
32
|
+
predicate, a fixed severity, and a gate. The workers no longer carry severity lists;
|
|
33
|
+
they carry the subset of rows they own. A defect matching no row is reported in prose
|
|
34
|
+
with no severity and no deduction, which keeps the ledger comparable across runs
|
|
35
|
+
instead of quietly absorbing invented tiers.
|
|
36
|
+
|
|
37
|
+
Three gate classes, because "condition everything on repo state" would have been the
|
|
38
|
+
wrong fix:
|
|
39
|
+
|
|
40
|
+
- **Absolute** — hard waits, conditional assertions, unreset shared state, oversize
|
|
41
|
+
files, and every `CRITICAL` row. Repo adoption is irrelevant and must not be
|
|
42
|
+
consulted. A repo where every test sleeps on a timer does not earn a waiver for
|
|
43
|
+
hard waits; it earns the violation on every file.
|
|
44
|
+
- **Applicability** — the criterion applies when the reviewed file exercises what the
|
|
45
|
+
criterion protects. Network-first cannot fire on a file that never navigates. This
|
|
46
|
+
is a property of the file, decided by reading it, not a popularity measurement.
|
|
47
|
+
- **Convention** — scored against the baseline, on the fixed schedule in the
|
|
48
|
+
registry: `established` deducts at the row's severity, `emerging` deducts one step
|
|
49
|
+
lower floored at LOW, `absent` and `unknown` deduct nothing and publish
|
|
50
|
+
`✅ PASS (n/a)` with the adoption count.
|
|
51
|
+
|
|
52
|
+
Network-first deliberately landed in **Applicability, not Convention**. Adoption was
|
|
53
|
+
5 of 19 in couture, so a convention gate would have demoted a genuine navigation race
|
|
54
|
+
to LOW on the grounds that the repo does not do it much. The risk does not care how
|
|
55
|
+
popular the fix is.
|
|
56
|
+
|
|
57
|
+
`Test IDs` was also reframed rather than conditioned. The real finding on #103 was
|
|
58
|
+
`#main-content` and the presentation text `+ Add Garment`, which is selector
|
|
59
|
+
resilience (L1). The spec's `getByRole` calls are the better practice, so the old
|
|
60
|
+
"no test IDs present" reading was scoring it down for doing the right thing. **A role-
|
|
61
|
+
or label-based locator now satisfies L1 outright.**
|
|
62
|
+
|
|
63
|
+
### The baseline is measured before it is judged against
|
|
64
|
+
|
|
65
|
+
`step-02-discover-tests` §2b samples the corpus **outside the review set** (a PR must
|
|
66
|
+
not establish or dilute the convention it is judged against), capped at 40 files
|
|
67
|
+
closest-first, and classifies each convention on a pinned threshold: `< 4` files is
|
|
68
|
+
`unknown`, `0` adopted is `absent`, `>= 50%` is `established`, otherwise `emerging`.
|
|
69
|
+
Unmeasurable means every Convention row passes as `n/a` and the report says so.
|
|
70
|
+
Inferring a convention from the reviewed files is circular and is forbidden.
|
|
71
|
+
|
|
72
|
+
### The recommendation is computed
|
|
73
|
+
|
|
74
|
+
`step-03f` §3b:
|
|
75
|
+
|
|
76
|
+
```javascript
|
|
77
|
+
if (CRITICAL > 0) return 'Block';
|
|
78
|
+
if (HIGH > 0) return 'Request Changes';
|
|
79
|
+
if (score < 70) return 'Request Changes';
|
|
80
|
+
if (MEDIUM + LOW > 0) return 'Approve with Comments';
|
|
81
|
+
return 'Approve';
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
A waiver still changes the exit code and never this value.
|
|
85
|
+
|
|
86
|
+
### Violations are deduplicated before counting
|
|
87
|
+
|
|
88
|
+
Some rows are detectable by more than one worker (M4 by isolation and
|
|
89
|
+
maintainability, H5 by maintainability and performance). Identity is
|
|
90
|
+
`(file, line, row)`, never the prose description, which differs between workers
|
|
91
|
+
describing the same line.
|
|
92
|
+
|
|
93
|
+
### Contradictions removed between workers
|
|
94
|
+
|
|
95
|
+
Each of these produced a different number for identical code depending on which
|
|
96
|
+
worker saw it:
|
|
97
|
+
|
|
98
|
+
- `waitForTimeout` was MEDIUM in determinism **and** MEDIUM in performance, while the
|
|
99
|
+
published criteria table called Hard Waits a `❌ FAIL`. One timer deducted twice. It
|
|
100
|
+
is H1, HIGH, owned by determinism alone.
|
|
101
|
+
- Shared state was LOW in determinism and HIGH in isolation. It is H4, isolation's.
|
|
102
|
+
- Test order dependency was MEDIUM in determinism and HIGH in isolation. Also H4.
|
|
103
|
+
- The maintainability worker deducted HIGH for "tests >100 lines" against a published
|
|
104
|
+
criterion of `Test Length (≤1000 lines)`. One threshold now: H5 at 1000.
|
|
105
|
+
- The performance worker deducted for "slow setup/teardown (creating fresh DB for
|
|
106
|
+
every test)" and for `describe.serial`. Both punish correct isolation, and the
|
|
107
|
+
second contradicts the pact rules in the determinism worker that **require**
|
|
108
|
+
serialization. Removed.
|
|
109
|
+
- `Date.now()` was an unconditional HIGH, firing on any test that stamped a timestamp
|
|
110
|
+
nothing depended on. H2 gates it on governing an expiry, lifetime, TTL, or
|
|
111
|
+
scheduling boundary.
|
|
112
|
+
|
|
113
|
+
Unfalsifiable rows were deleted rather than reworded: "could benefit from helper
|
|
114
|
+
functions", "minor inefficiencies", "missing performance optimizations", "tests that
|
|
115
|
+
could be more isolated", "tests sharing test data (but not mutating)". A row that
|
|
116
|
+
always fires carries no information, and one that fires on taste cannot be reproduced.
|
|
117
|
+
|
|
118
|
+
### The eval harness
|
|
119
|
+
|
|
120
|
+
`test/eval-test-review.js`, `npm run eval:test-review`, fixtures under
|
|
121
|
+
`test/fixtures/test-review-eval/`. Reports per vendor:
|
|
122
|
+
|
|
123
|
+
- **recall** — planted defects named, matched on registry row within a 4-line
|
|
124
|
+
tolerance. Row matching is what makes vendors comparable; prose descriptions differ.
|
|
125
|
+
- **CRITICAL recall** — thresholded at 100%. A missed `.skip` is the whole failure mode.
|
|
126
|
+
- **precision** — computed from violations against the clean fixture only.
|
|
127
|
+
- **score variance** — stdev across repeated runs of identical input, plus whether the
|
|
128
|
+
verdict itself was stable. This is the number nobody had, and no amount of comparing
|
|
129
|
+
two reviews by eye produces it.
|
|
130
|
+
|
|
131
|
+
Two design calls worth knowing:
|
|
132
|
+
|
|
133
|
+
- Findings on a seeded fixture that match no planted row are reported as
|
|
134
|
+
**unattributed**, not as false positives. A fixture can carry an incidental real
|
|
135
|
+
defect the manifest failed to anticipate, and punishing the reviewer for being right
|
|
136
|
+
would train the harness toward silence.
|
|
137
|
+
- Murat's original seeded-PR design listed "an implementation change with no test"
|
|
138
|
+
among the planted defects. For **this** workflow, finding that is a scope violation,
|
|
139
|
+
not a hit: coverage belongs to `trace`. It is recorded in `ground-truth.json` as a
|
|
140
|
+
negative control.
|
|
141
|
+
|
|
142
|
+
The bounded pre-flight is not optional and it runs first: for a skill the environment
|
|
143
|
+
is repo state plus tool availability. Without it a missing `OPENAI_API_KEY` reports as
|
|
144
|
+
0% recall and reads as "the reviewer found nothing", which is the most expensive
|
|
145
|
+
possible way to be wrong about your own tool. A failed pre-flight is exit 2 and
|
|
146
|
+
measures nothing.
|
|
147
|
+
|
|
148
|
+
## Verification run
|
|
149
|
+
|
|
150
|
+
- `npm test` — exit 0 (schemas, install, knowledge, release metadata, workflow
|
|
151
|
+
descriptions, eslint, markdownlint, prettier).
|
|
152
|
+
- `npm run test:cli` — see the run below; 416/0 before the workflow edits.
|
|
153
|
+
- `node test/eval-test-review.js --preflight-only` — exit 2 with no credential naming
|
|
154
|
+
the missing variable, exit 0 with one. Fixture paths and every ground-truth line
|
|
155
|
+
number validated against the files.
|
|
156
|
+
- **Not run: a live end-to-end eval.** That needs a real vendor credential and a paid
|
|
157
|
+
agent run. The harness is proven to load, validate, and gate; it has not yet
|
|
158
|
+
produced a recall number. Do not quote one until it has.
|
|
159
|
+
|
|
160
|
+
## The CLI now enforces the derived recommendation — approved, shipped
|
|
161
|
+
|
|
162
|
+
`parse-report.js` gained `deriveRecommendation(violations, qualityScore)`, and
|
|
163
|
+
`parseReport` publishes the derived value while preserving the agent's own as
|
|
164
|
+
`reportedRecommendation` when the two differ. Same treatment the score already got,
|
|
165
|
+
so the substitution is visible rather than silent, and `test-review.js` logs it with
|
|
166
|
+
the counts that forced it.
|
|
167
|
+
|
|
168
|
+
The pre-existing hard guard on `Critical + Approve` stays: that combination is still
|
|
169
|
+
`REPORT_UNPARSEABLE` rather than being normalized, because an internally
|
|
170
|
+
contradictory report is evidence the run itself was unreliable.
|
|
171
|
+
|
|
172
|
+
**What it cost, which was more than the code.** Eight fixtures encoded states the
|
|
173
|
+
derived rule makes illegal, every one of them a report carrying HIGH violations beside
|
|
174
|
+
a non-blocking recommendation. `approve-low-score.md` was the clearest: 12 HIGH
|
|
175
|
+
violations, recommendation `Approve`, and a summary line reading _"The score reflects
|
|
176
|
+
the risk; the recommendation does not."_ The bug, written down as intent.
|
|
177
|
+
|
|
178
|
+
Each fixture was retuned to be internally consistent while preserving its purpose and
|
|
179
|
+
its published score, so the surrounding assertions still hold:
|
|
180
|
+
|
|
181
|
+
| Fixture | Was | Now | Purpose preserved |
|
|
182
|
+
| -------------------------------- | ---------------------- | -------------------------------------- | -------------------------------------------------------------------------------- |
|
|
183
|
+
| `approve.md` | 1 HIGH, `Approve`, 93 | 0 HIGH, `Approve with Comments`, 93 | the report that passes the gate |
|
|
184
|
+
| `approve-low-score.md` | 12 HIGH, `Approve`, 40 | 15 MEDIUM, `Approve with Comments`, 70 | the `--min-score` floor, now also pinning that 70 does **not** trip `score < 70` |
|
|
185
|
+
| `plain-bullets-key-strengths.md` | 1 HIGH, 98 | 0 HIGH, 98 | bullet parsing |
|
|
186
|
+
| `wrapped-steps-flow.md` | 2 HIGH, 83 | 7 MEDIUM, 83 | wrapped YAML frontmatter |
|
|
187
|
+
| `colon-in-bold.md` | 2 HIGH, `Approve`, 90 | 5 MEDIUM, `Approve with Comments`, 90 | the `**Recommendation:**` label form |
|
|
188
|
+
| `lowercase.md` | `approve` | `approve with comments` | enum case normalization, now on a multi-word value |
|
|
189
|
+
| `score-mismatch.md` | 2 HIGH, 86 | 7 MEDIUM, 86 | the score-arithmetic mismatch path |
|
|
190
|
+
|
|
191
|
+
`approve-with-high.md` is the old `approve.md` verbatim, kept as the regression test
|
|
192
|
+
for the #103 shape: 1 HIGH with `Approve` normalizes to `Request Changes`, preserves
|
|
193
|
+
`reportedRecommendation: 'Approve'`, and `verdictFor` fails the gate on the derived
|
|
194
|
+
value. `deriveRecommendation` also has direct boundary tests at every branch.
|
|
195
|
+
|
|
196
|
+
## Two consequences of the Critical escalation, both needing a ruling
|
|
197
|
+
|
|
198
|
+
**1. `--max-critical` can no longer widen the gate.** Any Critical derives `Block`,
|
|
199
|
+
and `Block` fails at every `--fail-on` level, so no cap lets a Critical finding pass.
|
|
200
|
+
The input can tighten and never loosen, which makes it effectively redundant. Its
|
|
201
|
+
boundary test used to assert the opposite (`--max-critical 1` + `--fail-on block` =
|
|
202
|
+
exit 0 with 1 Critical) and now asserts the new truth.
|
|
203
|
+
|
|
204
|
+
I think this is the right direction: a Critical row means the test cannot fail or never
|
|
205
|
+
reaches the system under test, and a knob that waves that through is the hole the
|
|
206
|
+
rubric exists to close. `--waive` remains the escape hatch, and it is recorded in the
|
|
207
|
+
verdict with a reason and an expiry rather than being invisible config. But it does
|
|
208
|
+
leave a documented input unable to do what its name suggests.
|
|
209
|
+
|
|
210
|
+
**2. A repo on `--fail-on block` loses its softer gate for Criticals.** Previously a
|
|
211
|
+
Critical finding passed there. It no longer does.
|
|
212
|
+
|
|
213
|
+
**SETTLED 2026-08-04: Critical stays at `Block`, both consequences accepted.** Do not
|
|
214
|
+
reopen this by proposing a `Request Changes` cap or a `max-critical` escape. The most
|
|
215
|
+
severe tier now carries its own consequence instead of depending on what `--fail-on`
|
|
216
|
+
grants it, and `--waive` is the only way past a Critical: recorded in the verdict, with
|
|
217
|
+
a reason and an expiry, rather than invisible in a workflow file.
|
|
218
|
+
|
|
219
|
+
## One more ruling I did not take
|
|
220
|
+
|
|
221
|
+
**Should `H1` really be HIGH?**
|
|
222
|
+
|
|
223
|
+
It was effectively MEDIUM everywhere while being presented as a headline `FAIL`
|
|
224
|
+
criterion. I resolved the contradiction toward the published table, which raises the
|
|
225
|
+
deduction for a hard wait from 2 to 5 and will lower scores on existing suites that
|
|
226
|
+
carry them. Defensible, and still a scoring change on live repos rather than a pure
|
|
227
|
+
variance fix.
|
|
228
|
+
|
|
229
|
+
## Estimated effect on #103
|
|
230
|
+
|
|
231
|
+
Under the registry: 1 HIGH (H2 wall-clock expiry), 4 MEDIUM (M1 network-first, M2
|
|
232
|
+
repeated literals, M4 ungrouped contract suite, M5 fireEvent), 2 LOW (L1 fragile
|
|
233
|
+
selector, L2 missing priority marker, `established` at 11 of 19) → **85/100, Request
|
|
234
|
+
Changes** on `HIGH > 0`.
|
|
235
|
+
|
|
236
|
+
The score lands on the persona run's 85 and the verdict stays where the codex run put
|
|
237
|
+
it. Treat that as a sanity check on the arithmetic, not as validation: one hand-worked
|
|
238
|
+
example is not a measurement, which is what the harness is for.
|
|
239
|
+
|
|
240
|
+
## 2026-08-10: the baseline was never actually being measured
|
|
241
|
+
|
|
242
|
+
Motivated by couture-cast PR #106 (comment 5234513259, `tea-test-review.yml`,
|
|
243
|
+
`--agent codex`), which fired four LOW `Priority Markers` violations citing
|
|
244
|
+
`Convention: priorityMarkers (18 of 40 sampled)`. `grep -rlniE "['"@]P[0-3]['"@ :.]"`
|
|
245
|
+
across the entire target repo found zero real matches — one incidental hit, a `'p1'`
|
|
246
|
+
silhouette-profile-ID fixture, nothing that is actually a priority tag. The installed
|
|
247
|
+
`test-quality.md` knowledge fragment the report cited as its criteria source doesn't
|
|
248
|
+
mention "priority" at all. The codex run invented a plausible, specific fraction for a
|
|
249
|
+
convention that has never once been used in that repository.
|
|
250
|
+
|
|
251
|
+
§2b above already designed against exactly this — sample the corpus outside the
|
|
252
|
+
review set, cap at 40, record `corpusSize`/`sampled`, fall back to
|
|
253
|
+
`baselineUnavailable: true` when nothing can be measured, "guessing a convention is
|
|
254
|
+
worse than admitting it wasn't measured" — but the design lived entirely in prose the
|
|
255
|
+
agent was trusted to follow. Nothing forced the sampling to be a real Glob/Grep
|
|
256
|
+
instead of a number that merely sounded right, and nothing downstream ever checked
|
|
257
|
+
the claim: not one report fixture in this repo's own `test/fixtures/test-review-cli/`
|
|
258
|
+
suite even included a `**Convention Baseline**:` line, and `parse-report.js` had no
|
|
259
|
+
code path that looked for one.
|
|
260
|
+
|
|
261
|
+
Same fix as the score and the recommendation before it: stop trusting the agent to
|
|
262
|
+
compute a number the CLI can compute itself. `cli/lib/convention-baseline.js` now
|
|
263
|
+
performs §2b's sampling deterministically — `git ls-files`, the review set excluded,
|
|
264
|
+
ranked closest-first by directory distance, capped at 40 — and, for the five keys
|
|
265
|
+
with a literal recognized form (`priorityMarkers`, `testIds`, `networkFirst`,
|
|
266
|
+
`dataFactories`, `fixtures`), scans the real sampled files for it. `bddNaming` and
|
|
267
|
+
`assertionStyle` get no mechanical signal (no single token separates "adopted" from
|
|
268
|
+
"not" for a naming style or a dialect choice) and stay agent-judged; the
|
|
269
|
+
sampled/corpusSize grounding still applies to them.
|
|
270
|
+
|
|
271
|
+
The result travels into the prompt as a fixed fact, the same way the review set
|
|
272
|
+
already does, and `parse-report.js`'s `verifyConventionBaseline` binds every
|
|
273
|
+
`Convention: <key> (<adopted> of <sampled> sampled)` citation and the
|
|
274
|
+
`**Convention Baseline**:` line to it, one direction strictly (the sampled/corpusSize
|
|
275
|
+
counts must match exactly — they're 100% mechanical) and one direction only
|
|
276
|
+
downward (a citation claiming nonzero adoption for a key the CLI's own scan found
|
|
277
|
+
zero real occurrences of anywhere in the sampled corpus is rejected outright; a lower
|
|
278
|
+
or judgment-based count is left alone, because a regex cannot know intent and was
|
|
279
|
+
never used to force a number up). Applied to #106's actual corpus, this scan finds
|
|
280
|
+
zero `priorityMarkers` signal too — the same zero grep found — so the fabricated
|
|
281
|
+
`(18 of 40 sampled)` citation would now fail closed (exit 3) instead of reaching a PR
|
|
282
|
+
comment. `test/test-test-review-cli.js` Test Suite 11 and the git-fixture additions to
|
|
283
|
+
Suite 8 reproduce this end-to-end against a real temp git repo built to the same
|
|
284
|
+
shape (real neighbor test files, zero real priority markers anywhere).
|
|
285
|
+
|
|
286
|
+
Not fixed here, and worth naming: the "seven keys" §2b measures don't map onto the
|
|
287
|
+
registry's Convention gate class evenly. Only three published criteria are actually
|
|
288
|
+
Convention-gated (`priorityMarkers` → L2, `testIds` → L3, `bddNaming` → L5);
|
|
289
|
+
`networkFirst`/`dataFactories`/`fixtures` deliberately became Applicability-gated
|
|
290
|
+
instead (see "The baseline is measured before it is judged against" above —
|
|
291
|
+
popularity shouldn't demote a navigation race), and `assertionStyle` → L7 has no
|
|
292
|
+
published report-table row at all. That's an intentional design choice for the first
|
|
293
|
+
three, not the fabrication bug, so `convention-baseline.js` still grounds all seven
|
|
294
|
+
uniformly (future-proofing, and Notes prose can cite any of them), but the deduction
|
|
295
|
+
schedule only reads three of the seven back.
|
|
296
|
+
|
|
297
|
+
## 2026-08-10, same day: the summary line was never checked against the findings either
|
|
298
|
+
|
|
299
|
+
Auditing the fix above for the same class of defect elsewhere turned up a second one,
|
|
300
|
+
worse in effect: `parse-report.js` never read `## Critical Issues (Must Fix)` or
|
|
301
|
+
`## Recommendations (Should Fix)` at all. It trusted the agent's own
|
|
302
|
+
`**Total Violations**:` summary line and nothing else. Reproduced directly: a report
|
|
303
|
+
can document a real, row-cited Critical finding (`.skip` on a whole suite, `**Row**:
|
|
304
|
+
C1`, a location, a description) in full prose, and if the line beside it says
|
|
305
|
+
`0 Critical, 0 High, 0 Medium, 0 Low`, the CLI computes **Approve, 100/100** — the
|
|
306
|
+
documented finding is invisible to the gate that's supposed to act on it. Unlike the
|
|
307
|
+
convention-baseline defect this is a Block-vs-Approve flip, not a false LOW.
|
|
308
|
+
|
|
309
|
+
`lib/registry-rows.js` (new) reads `criteria-registry.md`'s row → severity map
|
|
310
|
+
straight from the skill, and `parse-report.js`'s `verifyFindingSeverityCounts` counts
|
|
311
|
+
the finding blocks actually documented and binds them to the summary line: the number
|
|
312
|
+
of Critical findings must equal the Total Violations Critical count exactly, the
|
|
313
|
+
number of P1 (High) findings under Recommendations must equal the High count exactly,
|
|
314
|
+
and every cited `**Row**: <id>` must be a real row whose registry severity matches the
|
|
315
|
+
finding's own declared Severity (severity is read from the row, never chosen — the
|
|
316
|
+
registry's own rule 1, previously unenforced downstream).
|
|
317
|
+
|
|
318
|
+
Scoped to Critical and High only, deliberately. `deriveRecommendation` only acts on
|
|
319
|
+
those two (`critical > 0` → Block, `high > 0` → Request Changes); Medium/Low only ever
|
|
320
|
+
add "Approve with Comments" regardless of count, so a miscount there doesn't flip a
|
|
321
|
+
merge decision the way this one does. The scope decision also had a practical forcing
|
|
322
|
+
function: doing this for all four severities meant rewriting every fixture in this
|
|
323
|
+
suite that declares a nonzero Medium/Low count with matching finding-detail blocks,
|
|
324
|
+
a much larger and lower-value change for the two severities that were never the risk.
|
|
325
|
+
|
|
326
|
+
Fifteen of the pre-existing report fixtures under `test/fixtures/test-review-cli/reports/`
|
|
327
|
+
declared nonzero Critical/High counts with no finding section behind them at all
|
|
328
|
+
(minimal fixtures, written before this check existed, testing other parser behavior).
|
|
329
|
+
Each now carries the minimum real content the check requires — `### N. Title`,
|
|
330
|
+
`**Severity**:`, `**Row**:`, nothing else — so their pre-existing assertions (which
|
|
331
|
+
depend on the exact declared counts, verified individually before touching any of
|
|
332
|
+
them) stay intact. Two fixtures needed no change: `fenced-recommendation.md`'s
|
|
333
|
+
apparent 9/9 was inside its own fenced decoy example and the real (fence-stripped)
|
|
334
|
+
count was already 0/0; `critical-approve.md`'s Critical-with-Approve combination
|
|
335
|
+
already throws via the pre-existing inconsistent-verdict check, before this one ever
|
|
336
|
+
runs.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Cordya AI S.A.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
TRADEMARK NOTICE:
|
|
24
|
+
Froid™ , FROID-CORE™ and Froid Plane™ are trademarks of Cordya AI S.A.. The use of these
|
|
25
|
+
trademarks in this software does not grant any rights to use the trademarks
|
|
26
|
+
for any other purpose.
|