agentic-qe 3.6.2 → 3.6.3
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/agents/v3/qe-accessibility-auditor.md +14 -9
- package/.claude/agents/v3/qe-bdd-generator.md +14 -9
- package/.claude/agents/v3/qe-chaos-engineer.md +15 -10
- package/.claude/agents/v3/qe-code-complexity.md +14 -9
- package/.claude/agents/v3/qe-code-intelligence.md +14 -9
- package/.claude/agents/v3/qe-contract-validator.md +14 -9
- package/.claude/agents/v3/qe-coverage-specialist.md +14 -9
- package/.claude/agents/v3/qe-defect-predictor.md +14 -9
- package/.claude/agents/v3/qe-dependency-mapper.md +14 -9
- package/.claude/agents/v3/qe-deployment-advisor.md +14 -9
- package/.claude/agents/v3/qe-flaky-hunter.md +14 -9
- package/.claude/agents/v3/qe-fleet-commander.md +14 -9
- package/.claude/agents/v3/qe-gap-detector.md +14 -9
- package/.claude/agents/v3/qe-graphql-tester.md +14 -9
- package/.claude/agents/v3/qe-impact-analyzer.md +14 -9
- package/.claude/agents/v3/qe-kg-builder.md +14 -9
- package/.claude/agents/v3/qe-load-tester.md +14 -9
- package/.claude/agents/v3/qe-message-broker-tester.md +15 -10
- package/.claude/agents/v3/qe-metrics-optimizer.md +14 -9
- package/.claude/agents/v3/qe-middleware-validator.md +15 -10
- package/.claude/agents/v3/qe-mutation-tester.md +14 -9
- package/.claude/agents/v3/qe-odata-contract-tester.md +17 -12
- package/.claude/agents/v3/qe-performance-tester.md +14 -9
- package/.claude/agents/v3/qe-product-factors-assessor.md +19 -0
- package/.claude/agents/v3/qe-property-tester.md +14 -9
- package/.claude/agents/v3/qe-qx-partner.md +101 -14
- package/.claude/agents/v3/qe-regression-analyzer.md +14 -9
- package/.claude/agents/v3/qe-requirements-validator.md +14 -9
- package/.claude/agents/v3/qe-responsive-tester.md +14 -9
- package/.claude/agents/v3/qe-retry-handler.md +14 -9
- package/.claude/agents/v3/qe-risk-assessor.md +14 -9
- package/.claude/agents/v3/qe-root-cause-analyzer.md +14 -9
- package/.claude/agents/v3/qe-sap-idoc-tester.md +16 -11
- package/.claude/agents/v3/qe-sap-rfc-tester.md +15 -10
- package/.claude/agents/v3/qe-security-auditor.md +18 -9
- package/.claude/agents/v3/qe-security-scanner.md +15 -10
- package/.claude/agents/v3/qe-soap-tester.md +15 -10
- package/.claude/agents/v3/qe-sod-analyzer.md +17 -12
- package/.claude/agents/v3/qe-test-architect.md +14 -9
- package/.claude/agents/v3/qe-transfer-specialist.md +14 -9
- package/.claude/agents/v3/subagents/qe-code-reviewer.md +14 -9
- package/.claude/agents/v3/subagents/qe-integration-reviewer.md +14 -9
- package/.claude/agents/v3/subagents/qe-performance-reviewer.md +14 -9
- package/.claude/agents/v3/subagents/qe-security-reviewer.md +14 -9
- package/.claude/agents/v3/subagents/qe-tdd-green.md +14 -9
- package/.claude/agents/v3/subagents/qe-tdd-red.md +14 -9
- package/.claude/agents/v3/subagents/qe-tdd-refactor.md +14 -9
- package/.claude/agents/v3/templates/qx-report-template.html +26 -22
- package/.claude/skills/.validation/README.md +2 -2
- package/.claude/skills/.validation/skill-validation-mcp-integration.md +1 -1
- package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
- package/.claude/skills/TRUST-TIERS.md +55 -55
- package/.claude/skills/a11y-ally/SKILL.md +1 -1
- package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +1 -1
- package/.claude/skills/a11y-ally/scripts/validate-config.json +42 -0
- package/.claude/skills/accessibility-testing/SKILL.md +1 -1
- package/.claude/skills/accessibility-testing/scripts/validate-config.json +56 -0
- package/.claude/skills/api-testing-patterns/SKILL.md +1 -1
- package/.claude/skills/api-testing-patterns/scripts/validate-config.json +61 -0
- package/.claude/skills/brutal-honesty-review/SKILL.md +1 -1
- package/.claude/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
- package/.claude/skills/bug-reporting-excellence/SKILL.md +1 -1
- package/.claude/skills/bug-reporting-excellence/scripts/validate-config.json +34 -0
- package/.claude/skills/chaos-engineering-resilience/SKILL.md +1 -1
- package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
- package/.claude/skills/chaos-engineering-resilience/scripts/validate-config.json +47 -0
- package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +1 -1
- package/.claude/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
- package/.claude/skills/code-review-quality/SKILL.md +1 -1
- package/.claude/skills/code-review-quality/scripts/validate-config.json +34 -0
- package/.claude/skills/compatibility-testing/SKILL.md +1 -1
- package/.claude/skills/compatibility-testing/scripts/validate-config.json +44 -0
- package/.claude/skills/compliance-testing/SKILL.md +1 -1
- package/.claude/skills/compliance-testing/scripts/validate-config.json +39 -0
- package/.claude/skills/contract-testing/SKILL.md +1 -1
- package/.claude/skills/contract-testing/scripts/validate-config.json +59 -0
- package/.claude/skills/database-testing/SKILL.md +1 -1
- package/.claude/skills/database-testing/evals/database-testing.yaml +1 -1
- package/.claude/skills/database-testing/scripts/validate-config.json +48 -0
- package/.claude/skills/enterprise-integration-testing/SKILL.md +1 -1
- package/.claude/skills/localization-testing/SKILL.md +1 -1
- package/.claude/skills/localization-testing/evals/localization-testing.yaml +1 -1
- package/.claude/skills/localization-testing/scripts/validate-config.json +42 -0
- package/.claude/skills/middleware-testing-patterns/SKILL.md +1 -1
- package/.claude/skills/mobile-testing/SKILL.md +1 -1
- package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
- package/.claude/skills/mobile-testing/scripts/validate-config.json +43 -0
- package/.claude/skills/mutation-testing/SKILL.md +1 -1
- package/.claude/skills/mutation-testing/scripts/validate-config.json +44 -0
- package/.claude/skills/n8n-expression-testing/SKILL.md +1 -1
- package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +1 -1
- package/.claude/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
- package/.claude/skills/n8n-integration-testing-patterns/SKILL.md +1 -1
- package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +1 -1
- package/.claude/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
- package/.claude/skills/n8n-security-testing/SKILL.md +1 -1
- package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +1 -1
- package/.claude/skills/n8n-security-testing/scripts/validate-config.json +34 -0
- package/.claude/skills/n8n-trigger-testing-strategies/SKILL.md +1 -1
- package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
- package/.claude/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
- package/.claude/skills/n8n-workflow-testing-fundamentals/SKILL.md +1 -1
- package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +1 -1
- package/.claude/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
- package/.claude/skills/observability-testing-patterns/SKILL.md +1 -1
- package/.claude/skills/pentest-validation/SKILL.md +1 -1
- package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
- package/.claude/skills/pentest-validation/scripts/validate-config.json +12 -0
- package/.claude/skills/performance-analysis/SKILL.md +1 -1
- package/.claude/skills/performance-analysis/scripts/validate-config.json +36 -0
- package/.claude/skills/performance-testing/SKILL.md +1 -1
- package/.claude/skills/performance-testing/evals/performance-testing.yaml +1 -1
- package/.claude/skills/performance-testing/scripts/validate-config.json +55 -0
- package/.claude/skills/qcsd-cicd-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-development-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
- package/.claude/skills/qcsd-refinement-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
- package/.claude/skills/qe-chaos-resilience/SKILL.md +1 -1
- package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
- package/.claude/skills/qe-chaos-resilience/scripts/validate-config.json +43 -0
- package/.claude/skills/qe-code-intelligence/SKILL.md +1 -1
- package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
- package/.claude/skills/qe-code-intelligence/scripts/validate-config.json +41 -0
- package/.claude/skills/qe-contract-testing/SKILL.md +1 -1
- package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +1 -1
- package/.claude/skills/qe-contract-testing/scripts/validate-config.json +42 -0
- package/.claude/skills/qe-coverage-analysis/SKILL.md +1 -1
- package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
- package/.claude/skills/qe-coverage-analysis/scripts/validate-config.json +42 -0
- package/.claude/skills/qe-defect-intelligence/SKILL.md +1 -1
- package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
- package/.claude/skills/qe-defect-intelligence/scripts/validate-config.json +40 -0
- package/.claude/skills/qe-iterative-loop/SKILL.md +1 -1
- package/.claude/skills/qe-iterative-loop/scripts/validate-config.json +40 -0
- package/.claude/skills/qe-learning-optimization/SKILL.md +1 -1
- package/.claude/skills/qe-learning-optimization/scripts/validate-config.json +25 -0
- package/.claude/skills/qe-quality-assessment/SKILL.md +1 -1
- package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
- package/.claude/skills/qe-quality-assessment/scripts/validate-config.json +47 -0
- package/.claude/skills/qe-requirements-validation/SKILL.md +1 -1
- package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
- package/.claude/skills/qe-requirements-validation/scripts/validate-config.json +37 -0
- package/.claude/skills/qe-security-compliance/SKILL.md +1 -1
- package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +1 -1
- package/.claude/skills/qe-security-compliance/scripts/validate-config.json +41 -0
- package/.claude/skills/qe-test-execution/SKILL.md +1 -1
- package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
- package/.claude/skills/qe-test-execution/scripts/validate-config.json +37 -0
- package/.claude/skills/qe-test-generation/SKILL.md +1 -1
- package/.claude/skills/qe-test-generation/scripts/validate-config.json +25 -0
- package/.claude/skills/qe-visual-accessibility/SKILL.md +1 -1
- package/.claude/skills/qe-visual-accessibility/scripts/validate-config.json +25 -0
- package/.claude/skills/quality-metrics/SKILL.md +1 -1
- package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
- package/.claude/skills/quality-metrics/scripts/validate-config.json +43 -0
- package/.claude/skills/refactoring-patterns/SKILL.md +1 -1
- package/.claude/skills/refactoring-patterns/scripts/validate-config.json +35 -0
- package/.claude/skills/regression-testing/SKILL.md +1 -1
- package/.claude/skills/regression-testing/evals/regression-testing.yaml +1 -1
- package/.claude/skills/regression-testing/scripts/validate-config.json +50 -0
- package/.claude/skills/risk-based-testing/SKILL.md +1 -1
- package/.claude/skills/risk-based-testing/scripts/validate-config.json +25 -0
- package/.claude/skills/security-testing/SKILL.md +1 -1
- package/.claude/skills/security-testing/evals/security-testing.yaml +1 -1
- package/.claude/skills/security-testing/scripts/validate-config.json +45 -0
- package/.claude/skills/security-visual-testing/SKILL.md +1 -1
- package/.claude/skills/security-visual-testing/scripts/validate-config.json +45 -0
- package/.claude/skills/sherlock-review/SKILL.md +1 -1
- package/.claude/skills/sherlock-review/scripts/validate-config.json +35 -0
- package/.claude/skills/shift-left-testing/SKILL.md +1 -1
- package/.claude/skills/shift-left-testing/scripts/validate-config.json +25 -0
- package/.claude/skills/shift-right-testing/SKILL.md +1 -1
- package/.claude/skills/shift-right-testing/scripts/validate-config.json +25 -0
- package/.claude/skills/skill-builder/SKILL.md +2 -2
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/tdd-london-chicago/SKILL.md +1 -1
- package/.claude/skills/tdd-london-chicago/scripts/validate-config.json +43 -0
- package/.claude/skills/test-automation-strategy/SKILL.md +1 -1
- package/.claude/skills/test-automation-strategy/scripts/validate-config.json +39 -0
- package/.claude/skills/test-data-management/SKILL.md +1 -1
- package/.claude/skills/test-data-management/evals/test-data-management.yaml +1 -1
- package/.claude/skills/test-data-management/scripts/validate-config.json +41 -0
- package/.claude/skills/test-design-techniques/SKILL.md +1 -1
- package/.claude/skills/test-design-techniques/scripts/validate-config.json +36 -0
- package/.claude/skills/test-reporting-analytics/SKILL.md +1 -1
- package/.claude/skills/test-reporting-analytics/scripts/validate-config.json +36 -0
- package/.claude/skills/testability-scoring/SKILL.md +1 -1
- package/.claude/skills/testability-scoring/scripts/validate-config.json +42 -0
- package/.claude/skills/trust-tier-manifest.json +106 -106
- package/.claude/skills/verification-quality/scripts/validate-config.json +36 -0
- package/.claude/skills/visual-testing-advanced/SKILL.md +1 -1
- package/.claude/skills/visual-testing-advanced/scripts/validate-config.json +38 -0
- package/.claude/skills/wms-testing-patterns/SKILL.md +1 -1
- package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
- package/.claude/skills/wms-testing-patterns/schemas/output.json +150 -0
- package/.claude/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
- package/README.md +20 -20
- package/package.json +6 -6
- package/scripts/migrate-validators.cjs +171 -0
- package/scripts/postinstall.cjs +57 -0
- package/scripts/preinstall.cjs +28 -8
- package/scripts/test-schema-validation.js +2 -2
- package/scripts/update-skill-manifest.ts +3 -3
- package/scripts/validate-skill.cjs +384 -0
- package/scripts/validate-tier3.cjs +61 -0
- package/scripts/validator-lib.cjs +274 -0
- package/v3/CHANGELOG.md +21 -0
- package/v3/assets/agents/v3/qe-product-factors-assessor.md +19 -0
- package/v3/assets/agents/v3/qe-qx-partner.md +27 -0
- package/v3/assets/skills/.validation/README.md +1 -1
- package/v3/assets/skills/.validation/skill-validation-mcp-integration.md +1 -1
- package/v3/assets/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
- package/v3/assets/skills/accessibility-testing/SKILL.md +1 -1
- package/v3/assets/skills/accessibility-testing/scripts/validate-config.json +56 -0
- package/v3/assets/skills/api-testing-patterns/SKILL.md +1 -1
- package/v3/assets/skills/api-testing-patterns/scripts/validate-config.json +61 -0
- package/v3/assets/skills/bug-reporting-excellence/SKILL.md +1 -1
- package/v3/assets/skills/bug-reporting-excellence/scripts/validate-config.json +34 -0
- package/v3/assets/skills/chaos-engineering-resilience/SKILL.md +1 -1
- package/v3/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
- package/v3/assets/skills/chaos-engineering-resilience/scripts/validate-config.json +47 -0
- package/v3/assets/skills/code-review-quality/SKILL.md +1 -1
- package/v3/assets/skills/code-review-quality/scripts/validate-config.json +34 -0
- package/v3/assets/skills/compatibility-testing/SKILL.md +1 -1
- package/v3/assets/skills/compatibility-testing/scripts/validate-config.json +44 -0
- package/v3/assets/skills/compliance-testing/SKILL.md +1 -1
- package/v3/assets/skills/compliance-testing/scripts/validate-config.json +39 -0
- package/v3/assets/skills/contract-testing/SKILL.md +1 -1
- package/v3/assets/skills/contract-testing/scripts/validate-config.json +59 -0
- package/v3/assets/skills/database-testing/SKILL.md +1 -1
- package/v3/assets/skills/database-testing/evals/database-testing.yaml +1 -1
- package/v3/assets/skills/database-testing/scripts/validate-config.json +48 -0
- package/v3/assets/skills/enterprise-integration-testing/SKILL.md +1 -1
- package/v3/assets/skills/localization-testing/SKILL.md +1 -1
- package/v3/assets/skills/localization-testing/evals/localization-testing.yaml +1 -1
- package/v3/assets/skills/localization-testing/scripts/validate-config.json +42 -0
- package/v3/assets/skills/middleware-testing-patterns/SKILL.md +1 -1
- package/v3/assets/skills/mobile-testing/SKILL.md +1 -1
- package/v3/assets/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
- package/v3/assets/skills/mobile-testing/scripts/validate-config.json +43 -0
- package/v3/assets/skills/mutation-testing/SKILL.md +1 -1
- package/v3/assets/skills/mutation-testing/scripts/validate-config.json +44 -0
- package/v3/assets/skills/observability-testing-patterns/SKILL.md +1 -1
- package/v3/assets/skills/pentest-validation/SKILL.md +1 -1
- package/v3/assets/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
- package/v3/assets/skills/performance-testing/SKILL.md +1 -1
- package/v3/assets/skills/performance-testing/evals/performance-testing.yaml +1 -1
- package/v3/assets/skills/performance-testing/scripts/validate-config.json +55 -0
- package/v3/assets/skills/qcsd-cicd-swarm/SKILL.md +1 -1
- package/v3/assets/skills/qcsd-development-swarm/SKILL.md +1 -1
- package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +1 -1
- package/v3/assets/skills/qcsd-refinement-swarm/SKILL.md +1 -1
- package/v3/assets/skills/qe-chaos-resilience/SKILL.md +1 -1
- package/v3/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
- package/v3/assets/skills/qe-chaos-resilience/scripts/validate-config.json +43 -0
- package/v3/assets/skills/qe-code-intelligence/SKILL.md +1 -1
- package/v3/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
- package/v3/assets/skills/qe-code-intelligence/scripts/validate-config.json +41 -0
- package/v3/assets/skills/qe-contract-testing/SKILL.md +1 -1
- package/v3/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +1 -1
- package/v3/assets/skills/qe-contract-testing/scripts/validate-config.json +42 -0
- package/v3/assets/skills/qe-coverage-analysis/SKILL.md +1 -1
- package/v3/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
- package/v3/assets/skills/qe-coverage-analysis/scripts/validate-config.json +42 -0
- package/v3/assets/skills/qe-defect-intelligence/SKILL.md +1 -1
- package/v3/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
- package/v3/assets/skills/qe-defect-intelligence/scripts/validate-config.json +40 -0
- package/v3/assets/skills/qe-iterative-loop/SKILL.md +1 -1
- package/v3/assets/skills/qe-iterative-loop/scripts/validate-config.json +40 -0
- package/v3/assets/skills/qe-learning-optimization/SKILL.md +1 -1
- package/v3/assets/skills/qe-learning-optimization/scripts/validate-config.json +25 -0
- package/v3/assets/skills/qe-quality-assessment/SKILL.md +1 -1
- package/v3/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
- package/v3/assets/skills/qe-quality-assessment/scripts/validate-config.json +47 -0
- package/v3/assets/skills/qe-requirements-validation/SKILL.md +1 -1
- package/v3/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
- package/v3/assets/skills/qe-requirements-validation/scripts/validate-config.json +37 -0
- package/v3/assets/skills/qe-security-compliance/SKILL.md +1 -1
- package/v3/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +1 -1
- package/v3/assets/skills/qe-security-compliance/scripts/validate-config.json +41 -0
- package/v3/assets/skills/qe-test-execution/SKILL.md +1 -1
- package/v3/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
- package/v3/assets/skills/qe-test-execution/scripts/validate-config.json +37 -0
- package/v3/assets/skills/qe-test-generation/SKILL.md +1 -1
- package/v3/assets/skills/qe-test-generation/scripts/validate-config.json +25 -0
- package/v3/assets/skills/qe-visual-accessibility/SKILL.md +1 -1
- package/v3/assets/skills/qe-visual-accessibility/scripts/validate-config.json +25 -0
- package/v3/assets/skills/quality-metrics/SKILL.md +1 -1
- package/v3/assets/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
- package/v3/assets/skills/quality-metrics/scripts/validate-config.json +43 -0
- package/v3/assets/skills/refactoring-patterns/SKILL.md +1 -1
- package/v3/assets/skills/refactoring-patterns/scripts/validate-config.json +35 -0
- package/v3/assets/skills/regression-testing/SKILL.md +1 -1
- package/v3/assets/skills/regression-testing/evals/regression-testing.yaml +1 -1
- package/v3/assets/skills/regression-testing/scripts/validate-config.json +50 -0
- package/v3/assets/skills/risk-based-testing/SKILL.md +1 -1
- package/v3/assets/skills/risk-based-testing/scripts/validate-config.json +25 -0
- package/v3/assets/skills/security-testing/SKILL.md +1 -1
- package/v3/assets/skills/security-testing/evals/security-testing.yaml +1 -1
- package/v3/assets/skills/security-testing/scripts/validate-config.json +45 -0
- package/v3/assets/skills/security-visual-testing/SKILL.md +1 -1
- package/v3/assets/skills/shift-left-testing/SKILL.md +1 -1
- package/v3/assets/skills/shift-left-testing/scripts/validate-config.json +25 -0
- package/v3/assets/skills/shift-right-testing/SKILL.md +1 -1
- package/v3/assets/skills/shift-right-testing/scripts/validate-config.json +25 -0
- package/v3/assets/skills/tdd-london-chicago/SKILL.md +1 -1
- package/v3/assets/skills/tdd-london-chicago/scripts/validate-config.json +43 -0
- package/v3/assets/skills/test-automation-strategy/SKILL.md +1 -1
- package/v3/assets/skills/test-automation-strategy/scripts/validate-config.json +39 -0
- package/v3/assets/skills/test-data-management/SKILL.md +1 -1
- package/v3/assets/skills/test-data-management/evals/test-data-management.yaml +1 -1
- package/v3/assets/skills/test-data-management/scripts/validate-config.json +41 -0
- package/v3/assets/skills/test-design-techniques/SKILL.md +1 -1
- package/v3/assets/skills/test-design-techniques/scripts/validate-config.json +36 -0
- package/v3/assets/skills/test-reporting-analytics/SKILL.md +1 -1
- package/v3/assets/skills/test-reporting-analytics/scripts/validate-config.json +36 -0
- package/v3/assets/skills/verification-quality/SKILL.md +0 -6
- package/v3/assets/skills/verification-quality/scripts/validate-config.json +36 -0
- package/v3/assets/skills/visual-testing-advanced/SKILL.md +1 -1
- package/v3/assets/skills/visual-testing-advanced/scripts/validate-config.json +38 -0
- package/v3/assets/skills/wms-testing-patterns/SKILL.md +1 -1
- package/v3/dist/adapters/claude-flow/model-router-bridge.js +3 -3
- package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -1
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js +4 -4
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -1
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js +4 -4
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -1
- package/v3/dist/cli/bundle.js +135 -153
- package/v3/dist/cli/commands/claude-flow-setup.js +3 -3
- package/v3/dist/cli/commands/claude-flow-setup.js.map +1 -1
- package/v3/dist/cli/commands/completions.d.ts.map +1 -1
- package/v3/dist/cli/commands/completions.js +2 -1
- package/v3/dist/cli/commands/completions.js.map +1 -1
- package/v3/dist/cli/commands/hooks.js +8 -8
- package/v3/dist/cli/commands/hooks.js.map +1 -1
- package/v3/dist/cli/completions/index.d.ts.map +1 -1
- package/v3/dist/cli/completions/index.js +4 -3
- package/v3/dist/cli/completions/index.js.map +1 -1
- package/v3/dist/domains/code-intelligence/services/metric-collector/test-counter.js +5 -5
- package/v3/dist/domains/code-intelligence/services/metric-collector/test-counter.js.map +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.js +15 -12
- package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -1
- package/v3/dist/init/enhancements/detector.js +2 -2
- package/v3/dist/init/enhancements/detector.js.map +1 -1
- package/v3/dist/init/init-wizard.d.ts.map +1 -1
- package/v3/dist/init/init-wizard.js +17 -33
- package/v3/dist/init/init-wizard.js.map +1 -1
- package/v3/dist/init/phases/07-hooks.js +9 -9
- package/v3/dist/init/phases/07-hooks.js.map +1 -1
- package/v3/dist/init/phases/10-workers.d.ts.map +1 -1
- package/v3/dist/init/phases/10-workers.js +74 -85
- package/v3/dist/init/phases/10-workers.js.map +1 -1
- package/v3/dist/kernel/hybrid-backend.d.ts.map +1 -1
- package/v3/dist/kernel/hybrid-backend.js +4 -1
- package/v3/dist/kernel/hybrid-backend.js.map +1 -1
- package/v3/dist/kernel/memory-backend.d.ts.map +1 -1
- package/v3/dist/kernel/memory-backend.js +3 -0
- package/v3/dist/kernel/memory-backend.js.map +1 -1
- package/v3/dist/mcp/bundle.js +1339 -18
- package/v3/dist/mcp/tools/index.d.ts +2 -1
- package/v3/dist/mcp/tools/index.d.ts.map +1 -1
- package/v3/dist/mcp/tools/index.js +5 -1
- package/v3/dist/mcp/tools/index.js.map +1 -1
- package/v3/dist/mcp/tools/qx-analysis/analyze.d.ts +33 -0
- package/v3/dist/mcp/tools/qx-analysis/analyze.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/analyze.js +679 -0
- package/v3/dist/mcp/tools/qx-analysis/analyze.js.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.d.ts +38 -0
- package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.js +458 -0
- package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.js.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.d.ts +16 -0
- package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.js +175 -0
- package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.js.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/index.d.ts +27 -0
- package/v3/dist/mcp/tools/qx-analysis/index.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/index.js +34 -0
- package/v3/dist/mcp/tools/qx-analysis/index.js.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/oracle-detector.d.ts +22 -0
- package/v3/dist/mcp/tools/qx-analysis/oracle-detector.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/oracle-detector.js +194 -0
- package/v3/dist/mcp/tools/qx-analysis/oracle-detector.js.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/types.d.ts +278 -0
- package/v3/dist/mcp/tools/qx-analysis/types.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/types.js +46 -0
- package/v3/dist/mcp/tools/qx-analysis/types.js.map +1 -0
- package/v3/dist/mcp/tools/registry.d.ts +1 -0
- package/v3/dist/mcp/tools/registry.d.ts.map +1 -1
- package/v3/dist/mcp/tools/registry.js +5 -0
- package/v3/dist/mcp/tools/registry.js.map +1 -1
- package/v3/package.json +5 -5
- package/.claude/skills/.validation/templates/validate.template.sh +0 -1060
- package/.claude/skills/.validation/templates/validator-lib.sh +0 -1031
- package/.claude/skills/a11y-ally/scripts/validate.sh +0 -690
- package/.claude/skills/accessibility-testing/scripts/validate.sh +0 -943
- package/.claude/skills/api-testing-patterns/scripts/validate.sh +0 -931
- package/.claude/skills/brutal-honesty-review/scripts/validate.sh +0 -130
- package/.claude/skills/bug-reporting-excellence/scripts/validate.sh +0 -108
- package/.claude/skills/chaos-engineering-resilience/scripts/validate.sh +0 -1107
- package/.claude/skills/cicd-pipeline-qe-orchestrator/scripts/validate.sh +0 -310
- package/.claude/skills/code-review-quality/scripts/validate.sh +0 -113
- package/.claude/skills/compatibility-testing/scripts/validate.sh +0 -605
- package/.claude/skills/compliance-testing/scripts/validate.sh +0 -888
- package/.claude/skills/contract-testing/scripts/validate.sh +0 -1033
- package/.claude/skills/database-testing/scripts/validate.sh +0 -1099
- package/.claude/skills/localization-testing/scripts/validate.sh +0 -131
- package/.claude/skills/mobile-testing/scripts/validate.sh +0 -127
- package/.claude/skills/mutation-testing/scripts/validate.sh +0 -992
- package/.claude/skills/n8n-expression-testing/scripts/validate.sh +0 -162
- package/.claude/skills/n8n-integration-testing-patterns/scripts/validate.sh +0 -104
- package/.claude/skills/n8n-security-testing/scripts/validate.sh +0 -120
- package/.claude/skills/n8n-trigger-testing-strategies/scripts/validate.sh +0 -121
- package/.claude/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +0 -126
- package/.claude/skills/pentest-validation/scripts/validate.sh +0 -402
- package/.claude/skills/performance-analysis/scripts/validate.sh +0 -63
- package/.claude/skills/performance-testing/scripts/validate.sh +0 -1090
- package/.claude/skills/qcsd-ideation-swarm/scripts/validate.sh +0 -56
- package/.claude/skills/qcsd-refinement-swarm/scripts/validate.sh +0 -56
- package/.claude/skills/qe-chaos-resilience/scripts/validate.sh +0 -401
- package/.claude/skills/qe-code-intelligence/scripts/validate.sh +0 -408
- package/.claude/skills/qe-contract-testing/scripts/validate.sh +0 -421
- package/.claude/skills/qe-coverage-analysis/scripts/validate.sh +0 -453
- package/.claude/skills/qe-defect-intelligence/scripts/validate.sh +0 -466
- package/.claude/skills/qe-iterative-loop/scripts/validate.sh +0 -474
- package/.claude/skills/qe-learning-optimization/scripts/validate.sh +0 -56
- package/.claude/skills/qe-quality-assessment/scripts/validate.sh +0 -352
- package/.claude/skills/qe-requirements-validation/scripts/validate.sh +0 -275
- package/.claude/skills/qe-security-compliance/scripts/validate.sh +0 -305
- package/.claude/skills/qe-test-execution/scripts/validate.sh +0 -323
- package/.claude/skills/qe-test-generation/scripts/validate.sh +0 -56
- package/.claude/skills/qe-visual-accessibility/scripts/validate.sh +0 -56
- package/.claude/skills/quality-metrics/scripts/validate.sh +0 -434
- package/.claude/skills/refactoring-patterns/scripts/validate.sh +0 -241
- package/.claude/skills/regression-testing/scripts/validate.sh +0 -130
- package/.claude/skills/risk-based-testing/scripts/validate.sh +0 -56
- package/.claude/skills/security-testing/scripts/validate.sh +0 -967
- package/.claude/skills/security-visual-testing/scripts/validate.sh +0 -748
- package/.claude/skills/sherlock-review/scripts/validate.sh +0 -115
- package/.claude/skills/shift-left-testing/scripts/validate.sh +0 -56
- package/.claude/skills/shift-right-testing/scripts/validate.sh +0 -56
- package/.claude/skills/tdd-london-chicago/scripts/validate.sh +0 -214
- package/.claude/skills/test-automation-strategy/scripts/validate.sh +0 -195
- package/.claude/skills/test-data-management/scripts/validate.sh +0 -137
- package/.claude/skills/test-design-techniques/scripts/validate.sh +0 -91
- package/.claude/skills/test-reporting-analytics/scripts/validate.sh +0 -77
- package/.claude/skills/testability-scoring/scripts/validate.sh +0 -891
- package/.claude/skills/verification-quality/scripts/validate.sh +0 -77
- package/.claude/skills/visual-testing-advanced/scripts/validate.sh +0 -77
- package/v3/assets/skills/.validation/templates/validate.template.sh +0 -1060
- package/v3/assets/skills/.validation/templates/validator-lib.sh +0 -1031
- package/v3/assets/skills/accessibility-testing/scripts/validate.sh +0 -943
- package/v3/assets/skills/api-testing-patterns/scripts/validate.sh +0 -931
- package/v3/assets/skills/aqe-v2-v3-migration/skill.md +0 -326
- package/v3/assets/skills/bug-reporting-excellence/scripts/validate.sh +0 -108
- package/v3/assets/skills/chaos-engineering-resilience/scripts/validate.sh +0 -1107
- package/v3/assets/skills/code-review-quality/scripts/validate.sh +0 -113
- package/v3/assets/skills/compatibility-testing/scripts/validate.sh +0 -605
- package/v3/assets/skills/compliance-testing/scripts/validate.sh +0 -888
- package/v3/assets/skills/contract-testing/scripts/validate.sh +0 -1033
- package/v3/assets/skills/database-testing/scripts/validate.sh +0 -1099
- package/v3/assets/skills/localization-testing/scripts/validate.sh +0 -131
- package/v3/assets/skills/mobile-testing/scripts/validate.sh +0 -127
- package/v3/assets/skills/mutation-testing/scripts/validate.sh +0 -992
- package/v3/assets/skills/n8n-expression-testing/scripts/validate.sh +0 -162
- package/v3/assets/skills/n8n-integration-testing-patterns/scripts/validate.sh +0 -104
- package/v3/assets/skills/n8n-security-testing/scripts/validate.sh +0 -120
- package/v3/assets/skills/n8n-trigger-testing-strategies/scripts/validate.sh +0 -121
- package/v3/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +0 -126
- package/v3/assets/skills/pentest-validation/scripts/validate.sh +0 -402
- package/v3/assets/skills/performance-testing/scripts/validate.sh +0 -1090
- package/v3/assets/skills/qe-chaos-resilience/scripts/validate.sh +0 -401
- package/v3/assets/skills/qe-code-intelligence/scripts/validate.sh +0 -408
- package/v3/assets/skills/qe-contract-testing/scripts/validate.sh +0 -421
- package/v3/assets/skills/qe-coverage-analysis/scripts/validate.sh +0 -453
- package/v3/assets/skills/qe-defect-intelligence/scripts/validate.sh +0 -466
- package/v3/assets/skills/qe-iterative-loop/scripts/validate.sh +0 -474
- package/v3/assets/skills/qe-learning-optimization/scripts/validate.sh +0 -56
- package/v3/assets/skills/qe-quality-assessment/scripts/validate.sh +0 -352
- package/v3/assets/skills/qe-requirements-validation/scripts/validate.sh +0 -275
- package/v3/assets/skills/qe-security-compliance/scripts/validate.sh +0 -305
- package/v3/assets/skills/qe-test-execution/scripts/validate.sh +0 -323
- package/v3/assets/skills/qe-test-generation/scripts/validate.sh +0 -56
- package/v3/assets/skills/qe-visual-accessibility/scripts/validate.sh +0 -56
- package/v3/assets/skills/quality-metrics/scripts/validate.sh +0 -434
- package/v3/assets/skills/refactoring-patterns/scripts/validate.sh +0 -241
- package/v3/assets/skills/regression-testing/scripts/validate.sh +0 -130
- package/v3/assets/skills/risk-based-testing/scripts/validate.sh +0 -56
- package/v3/assets/skills/security-testing/scripts/validate.sh +0 -967
- package/v3/assets/skills/security-visual-testing/scripts/validate.sh +0 -748
- package/v3/assets/skills/shift-left-testing/scripts/validate.sh +0 -56
- package/v3/assets/skills/shift-right-testing/scripts/validate.sh +0 -56
- package/v3/assets/skills/tdd-london-chicago/scripts/validate.sh +0 -214
- package/v3/assets/skills/test-automation-strategy/scripts/validate.sh +0 -195
- package/v3/assets/skills/test-data-management/scripts/validate.sh +0 -137
- package/v3/assets/skills/test-design-techniques/scripts/validate.sh +0 -91
- package/v3/assets/skills/test-reporting-analytics/scripts/validate.sh +0 -77
- package/v3/assets/skills/verification-quality/scripts/validate.sh +0 -77
- package/v3/assets/skills/visual-testing-advanced/scripts/validate.sh +0 -77
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 - Impact Analyzer
|
|
3
|
+
*
|
|
4
|
+
* Analyzes visible and invisible impacts of quality experience.
|
|
5
|
+
* Identifies immutable requirements and overall impact scores.
|
|
6
|
+
*
|
|
7
|
+
* QX Methodology by Lalitkumar Bhamare / Tales of Testing
|
|
8
|
+
*/
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Impact Analyzer
|
|
11
|
+
// ============================================================================
|
|
12
|
+
export class ImpactAnalyzer {
|
|
13
|
+
/**
|
|
14
|
+
* Analyze impacts from context and problem analysis
|
|
15
|
+
*/
|
|
16
|
+
analyze(context, problemAnalysis) {
|
|
17
|
+
const guiFlowEndUser = [];
|
|
18
|
+
const guiFlowInternal = [];
|
|
19
|
+
const userFeelings = [];
|
|
20
|
+
const performance = [];
|
|
21
|
+
const security = [];
|
|
22
|
+
const immutableRequirements = [];
|
|
23
|
+
// Analyze visible impacts
|
|
24
|
+
const interactiveElements = context.domMetrics?.interactiveElements || 0;
|
|
25
|
+
const forms = context.domMetrics?.forms || 0;
|
|
26
|
+
if (interactiveElements > 0) {
|
|
27
|
+
guiFlowEndUser.push(`${interactiveElements} interactive elements affect user journey`);
|
|
28
|
+
}
|
|
29
|
+
if (forms > 0) {
|
|
30
|
+
guiFlowEndUser.push(`${forms} forms impact user input flows`);
|
|
31
|
+
}
|
|
32
|
+
// Check for navigation impact
|
|
33
|
+
if (context.domMetrics?.semanticStructure?.hasNav) {
|
|
34
|
+
guiFlowEndUser.push('Navigation structure enables exploration flow');
|
|
35
|
+
}
|
|
36
|
+
// Check for content structure impact
|
|
37
|
+
if (context.domMetrics?.semanticStructure?.hasMain) {
|
|
38
|
+
guiFlowEndUser.push('Clear main content area guides user focus');
|
|
39
|
+
}
|
|
40
|
+
// Internal user impacts
|
|
41
|
+
if (forms > 0) {
|
|
42
|
+
guiFlowInternal.push('Form submissions create data processing workflows');
|
|
43
|
+
}
|
|
44
|
+
if (context.domMetrics?.semanticStructure?.hasAside) {
|
|
45
|
+
guiFlowInternal.push('Sidebar content may require separate management');
|
|
46
|
+
}
|
|
47
|
+
// User feelings based on quality metrics
|
|
48
|
+
const altCoverage = context.accessibility?.altTextsCoverage || 0;
|
|
49
|
+
if (altCoverage > 80) {
|
|
50
|
+
userFeelings.push('Positive - Good accessibility creates inclusive experience');
|
|
51
|
+
}
|
|
52
|
+
else if (altCoverage >= 50 && altCoverage <= 80) {
|
|
53
|
+
userFeelings.push('Neutral - Moderate accessibility; some users may struggle');
|
|
54
|
+
}
|
|
55
|
+
else if (altCoverage < 50) {
|
|
56
|
+
userFeelings.push('Frustrated - Poor accessibility excludes some users');
|
|
57
|
+
}
|
|
58
|
+
const loadTime = context.performance?.loadTime || 0;
|
|
59
|
+
if (loadTime > 4000) {
|
|
60
|
+
userFeelings.push('Impatient - Very slow load time causes significant frustration');
|
|
61
|
+
}
|
|
62
|
+
else if (loadTime > 3000) {
|
|
63
|
+
userFeelings.push('Impatient - Slow load time causes frustration');
|
|
64
|
+
}
|
|
65
|
+
else if (loadTime > 2000) {
|
|
66
|
+
userFeelings.push('Mildly Annoyed - Noticeable load time');
|
|
67
|
+
}
|
|
68
|
+
else if (loadTime < 1500) {
|
|
69
|
+
userFeelings.push('Delighted - Fast load time enhances experience');
|
|
70
|
+
}
|
|
71
|
+
else if (loadTime < 2000) {
|
|
72
|
+
userFeelings.push('Satisfied - Good load time meets expectations');
|
|
73
|
+
}
|
|
74
|
+
if (context.errorIndicators?.hasErrorMessages) {
|
|
75
|
+
userFeelings.push('Confused - Visible errors reduce confidence');
|
|
76
|
+
}
|
|
77
|
+
// Check for visual hierarchy impact on feelings
|
|
78
|
+
const semanticStructure = context.domMetrics?.semanticStructure;
|
|
79
|
+
if (semanticStructure) {
|
|
80
|
+
const structureCount = [
|
|
81
|
+
semanticStructure.hasHeader,
|
|
82
|
+
semanticStructure.hasNav,
|
|
83
|
+
semanticStructure.hasMain,
|
|
84
|
+
semanticStructure.hasFooter,
|
|
85
|
+
].filter(Boolean).length;
|
|
86
|
+
if (structureCount >= 3) {
|
|
87
|
+
userFeelings.push('Oriented - Clear page structure helps navigation');
|
|
88
|
+
}
|
|
89
|
+
else if (structureCount < 2) {
|
|
90
|
+
userFeelings.push('Disoriented - Unclear page structure may confuse users');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Analyze invisible impacts
|
|
94
|
+
if (loadTime > 2000) {
|
|
95
|
+
performance.push(`Load time ${loadTime}ms impacts user retention`);
|
|
96
|
+
}
|
|
97
|
+
if (!context.metadata?.viewport) {
|
|
98
|
+
performance.push('Missing viewport tag affects mobile performance');
|
|
99
|
+
}
|
|
100
|
+
// First Contentful Paint impact
|
|
101
|
+
if (context.performance?.firstContentfulPaint && context.performance.firstContentfulPaint > 2500) {
|
|
102
|
+
performance.push(`First Contentful Paint ${context.performance.firstContentfulPaint}ms delays perceived readiness`);
|
|
103
|
+
}
|
|
104
|
+
// Security considerations based on forms
|
|
105
|
+
if (forms > 0) {
|
|
106
|
+
security.push('Form data handling requires secure transmission');
|
|
107
|
+
}
|
|
108
|
+
// Accessibility-related security/privacy
|
|
109
|
+
if (context.accessibility && (context.accessibility.ariaLabelsCount || 0) > 0) {
|
|
110
|
+
security.push('ARIA labels may expose internal element names - review for sensitive info');
|
|
111
|
+
}
|
|
112
|
+
// Immutable requirements
|
|
113
|
+
if (context.domMetrics?.semanticStructure?.hasMain) {
|
|
114
|
+
immutableRequirements.push('Must maintain main content accessibility');
|
|
115
|
+
}
|
|
116
|
+
if (context.accessibility && (context.accessibility.focusableElementsCount || 0) > 0) {
|
|
117
|
+
immutableRequirements.push('Must support keyboard navigation');
|
|
118
|
+
}
|
|
119
|
+
if (problemAnalysis.complexity === 'complex') {
|
|
120
|
+
immutableRequirements.push('Must maintain system stability with complex interactions');
|
|
121
|
+
}
|
|
122
|
+
// Domain-specific immutable requirements
|
|
123
|
+
const titleLower = (context.title || '').toLowerCase();
|
|
124
|
+
if (titleLower.includes('health') ||
|
|
125
|
+
titleLower.includes('medical') ||
|
|
126
|
+
titleLower.includes('care')) {
|
|
127
|
+
immutableRequirements.push('Must comply with healthcare accessibility standards');
|
|
128
|
+
immutableRequirements.push('Must protect patient data privacy');
|
|
129
|
+
}
|
|
130
|
+
if (titleLower.includes('bank') || titleLower.includes('finance') || titleLower.includes('payment')) {
|
|
131
|
+
immutableRequirements.push('Must maintain PCI DSS compliance for payment data');
|
|
132
|
+
immutableRequirements.push('Must support secure authentication flows');
|
|
133
|
+
}
|
|
134
|
+
// Calculate impact scores
|
|
135
|
+
let visibleScore = 50;
|
|
136
|
+
if (guiFlowEndUser.length > 0)
|
|
137
|
+
visibleScore += 15;
|
|
138
|
+
if (userFeelings.some((f) => f.includes('Positive') || f.includes('Satisfied') || f.includes('Delighted')))
|
|
139
|
+
visibleScore += 20;
|
|
140
|
+
if (userFeelings.some((f) => f.includes('Oriented')))
|
|
141
|
+
visibleScore += 10;
|
|
142
|
+
if (userFeelings.some((f) => f.includes('Frustrated') || f.includes('Confused') || f.includes('Impatient')))
|
|
143
|
+
visibleScore -= 15;
|
|
144
|
+
if (userFeelings.some((f) => f.includes('Disoriented')))
|
|
145
|
+
visibleScore -= 10;
|
|
146
|
+
visibleScore = Math.max(0, Math.min(100, visibleScore));
|
|
147
|
+
let invisibleScore = 50;
|
|
148
|
+
if (performance.length === 0)
|
|
149
|
+
invisibleScore += 20;
|
|
150
|
+
if (security.length === 0)
|
|
151
|
+
invisibleScore += 10;
|
|
152
|
+
if (performance.length > 2)
|
|
153
|
+
invisibleScore -= 15;
|
|
154
|
+
invisibleScore = Math.max(0, Math.min(100, invisibleScore));
|
|
155
|
+
const overallImpactScore = Math.round((visibleScore + invisibleScore) / 2);
|
|
156
|
+
return {
|
|
157
|
+
visible: {
|
|
158
|
+
guiFlow: {
|
|
159
|
+
forEndUser: guiFlowEndUser,
|
|
160
|
+
forInternalUser: guiFlowInternal,
|
|
161
|
+
},
|
|
162
|
+
userFeelings,
|
|
163
|
+
score: visibleScore,
|
|
164
|
+
},
|
|
165
|
+
invisible: {
|
|
166
|
+
performance,
|
|
167
|
+
security,
|
|
168
|
+
score: invisibleScore,
|
|
169
|
+
},
|
|
170
|
+
immutableRequirements,
|
|
171
|
+
overallImpactScore,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=impact-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"impact-analyzer.js","sourceRoot":"","sources":["../../../../src/mcp/tools/qx-analysis/impact-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,OAAO,cAAc;IACzB;;OAEG;IACH,OAAO,CAAC,OAAkB,EAAE,eAAgC;QAC1D,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,qBAAqB,GAAa,EAAE,CAAC;QAE3C,0BAA0B;QAC1B,MAAM,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,mBAAmB,IAAI,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,CAAC;QAE7C,IAAI,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAC5B,cAAc,CAAC,IAAI,CAAC,GAAG,mBAAmB,2CAA2C,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;QAChE,CAAC;QAED,8BAA8B;QAC9B,IAAI,OAAO,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAClD,cAAc,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QACvE,CAAC;QAED,qCAAqC;QACrC,IAAI,OAAO,CAAC,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;YACnD,cAAc,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACnE,CAAC;QAED,wBAAwB;QACxB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,eAAe,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC;YACpD,eAAe,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC1E,CAAC;QAED,yCAAyC;QACzC,MAAM,WAAW,GAAG,OAAO,CAAC,aAAa,EAAE,gBAAgB,IAAI,CAAC,CAAC;QACjE,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,WAAW,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;YAClD,YAAY,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,CAAC;QACpD,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;YACpB,YAAY,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QACtF,CAAC;aAAM,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,EAAE,gBAAgB,EAAE,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QAED,gDAAgD;QAChD,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC;QAChE,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,cAAc,GAAG;gBACrB,iBAAiB,CAAC,SAAS;gBAC3B,iBAAiB,CAAC,MAAM;gBACxB,iBAAiB,CAAC,OAAO;gBACzB,iBAAiB,CAAC,SAAS;aAC5B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAEzB,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC9B,YAAY,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,aAAa,QAAQ,2BAA2B,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACtE,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,CAAC,WAAW,EAAE,oBAAoB,IAAI,OAAO,CAAC,WAAW,CAAC,oBAAoB,GAAG,IAAI,EAAE,CAAC;YACjG,WAAW,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,WAAW,CAAC,oBAAoB,+BAA+B,CAAC,CAAC;QACtH,CAAC;QAED,yCAAyC;QACzC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACnE,CAAC;QAED,yCAAyC;QACzC,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC7F,CAAC;QAED,yBAAyB;QACzB,IAAI,OAAO,CAAC,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;YACnD,qBAAqB,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACrF,qBAAqB,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,eAAe,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7C,qBAAqB,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACzF,CAAC;QAED,yCAAyC;QACzC,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,IACE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC7B,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC9B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC3B,CAAC;YACD,qBAAqB,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAClF,qBAAqB,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpG,qBAAqB,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAChF,qBAAqB,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACzE,CAAC;QAED,0BAA0B;QAC1B,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;YAAE,YAAY,IAAI,EAAE,CAAC;QAClD,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxG,YAAY,IAAI,EAAE,CAAC;QACrB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAAE,YAAY,IAAI,EAAE,CAAC;QACzE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACzG,YAAY,IAAI,EAAE,CAAC;QACrB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAAE,YAAY,IAAI,EAAE,CAAC;QAC5E,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;QAExD,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,cAAc,IAAI,EAAE,CAAC;QACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,cAAc,IAAI,EAAE,CAAC;QAChD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,cAAc,IAAI,EAAE,CAAC;QACjD,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;QAE5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3E,OAAO;YACL,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,UAAU,EAAE,cAAc;oBAC1B,eAAe,EAAE,eAAe;iBACjC;gBACD,YAAY;gBACZ,KAAK,EAAE,YAAY;aACpB;YACD,SAAS,EAAE;gBACT,WAAW;gBACX,QAAQ;gBACR,KAAK,EAAE,cAAc;aACtB;YACD,qBAAqB;YACrB,kBAAkB;SACnB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 - QX Analysis Tools
|
|
3
|
+
*
|
|
4
|
+
* MCP tools for programmatic Quality Experience analysis.
|
|
5
|
+
* Ported from V2 QXPartnerAgent for consistent, high-quality output.
|
|
6
|
+
*
|
|
7
|
+
* QX Methodology by Lalitkumar Bhamare / Tales of Testing
|
|
8
|
+
* https://talesoftesting.com/quality-experienceqx-co-creating-quality-experience-for-everyone-associated-with-the-product/
|
|
9
|
+
*
|
|
10
|
+
* Tools:
|
|
11
|
+
* - qe/qx/analyze: Comprehensive QX analysis (combines all analysis)
|
|
12
|
+
*
|
|
13
|
+
* Components (used internally):
|
|
14
|
+
* - QXHeuristicsEngine: Applies 23+ programmatic heuristics
|
|
15
|
+
* - OracleDetector: Detects oracle problems
|
|
16
|
+
* - ImpactAnalyzer: Analyzes visible/invisible impacts
|
|
17
|
+
*/
|
|
18
|
+
export * from './types';
|
|
19
|
+
export { QXHeuristicsEngine, getHeuristicsByCategory } from './heuristics-engine';
|
|
20
|
+
export { OracleDetector } from './oracle-detector';
|
|
21
|
+
export { ImpactAnalyzer } from './impact-analyzer';
|
|
22
|
+
export { QXAnalyzeTool, qxAnalyzeTool } from './analyze';
|
|
23
|
+
/**
|
|
24
|
+
* Get all QX analysis tools for registration
|
|
25
|
+
*/
|
|
26
|
+
export declare function getQXAnalysisTools(): import("./analyze").QXAnalyzeTool[];
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/qx-analysis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAKzD;;GAEG;AACH,wBAAgB,kBAAkB,wCAEjC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 - QX Analysis Tools
|
|
3
|
+
*
|
|
4
|
+
* MCP tools for programmatic Quality Experience analysis.
|
|
5
|
+
* Ported from V2 QXPartnerAgent for consistent, high-quality output.
|
|
6
|
+
*
|
|
7
|
+
* QX Methodology by Lalitkumar Bhamare / Tales of Testing
|
|
8
|
+
* https://talesoftesting.com/quality-experienceqx-co-creating-quality-experience-for-everyone-associated-with-the-product/
|
|
9
|
+
*
|
|
10
|
+
* Tools:
|
|
11
|
+
* - qe/qx/analyze: Comprehensive QX analysis (combines all analysis)
|
|
12
|
+
*
|
|
13
|
+
* Components (used internally):
|
|
14
|
+
* - QXHeuristicsEngine: Applies 23+ programmatic heuristics
|
|
15
|
+
* - OracleDetector: Detects oracle problems
|
|
16
|
+
* - ImpactAnalyzer: Analyzes visible/invisible impacts
|
|
17
|
+
*/
|
|
18
|
+
// Types
|
|
19
|
+
export * from './types';
|
|
20
|
+
// Components
|
|
21
|
+
export { QXHeuristicsEngine, getHeuristicsByCategory } from './heuristics-engine';
|
|
22
|
+
export { OracleDetector } from './oracle-detector';
|
|
23
|
+
export { ImpactAnalyzer } from './impact-analyzer';
|
|
24
|
+
// Tools
|
|
25
|
+
export { QXAnalyzeTool, qxAnalyzeTool } from './analyze';
|
|
26
|
+
// Tool Registration
|
|
27
|
+
import { qxAnalyzeTool } from './analyze';
|
|
28
|
+
/**
|
|
29
|
+
* Get all QX analysis tools for registration
|
|
30
|
+
*/
|
|
31
|
+
export function getQXAnalysisTools() {
|
|
32
|
+
return [qxAnalyzeTool];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/tools/qx-analysis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,aAAa;AACb,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEzD,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,aAAa,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 - Oracle Problem Detector
|
|
3
|
+
*
|
|
4
|
+
* Detects situations where testers cannot determine quality criteria.
|
|
5
|
+
* Identifies user vs business conflicts, missing information, and stakeholder conflicts.
|
|
6
|
+
*
|
|
7
|
+
* QX Methodology by Lalitkumar Bhamare / Tales of Testing
|
|
8
|
+
*/
|
|
9
|
+
import { QXContext, UserNeedsAnalysis, BusinessNeedsAnalysis, OracleProblem } from './types';
|
|
10
|
+
export declare class OracleDetector {
|
|
11
|
+
private minSeverity;
|
|
12
|
+
constructor(minSeverity?: 'low' | 'medium' | 'high' | 'critical');
|
|
13
|
+
/**
|
|
14
|
+
* Detect oracle problems from context and analysis
|
|
15
|
+
*/
|
|
16
|
+
detect(context: QXContext, userNeeds: UserNeedsAnalysis, businessNeeds: BusinessNeedsAnalysis): OracleProblem[];
|
|
17
|
+
/**
|
|
18
|
+
* Check if severity meets minimum threshold
|
|
19
|
+
*/
|
|
20
|
+
private meetsMinimumSeverity;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=oracle-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oracle-detector.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/qx-analysis/oracle-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACd,MAAM,SAAS,CAAC;AAMjB,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAyC;gBAEhD,WAAW,GAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAqB;IAI1E;;OAEG;IACH,MAAM,CACJ,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,iBAAiB,EAC5B,aAAa,EAAE,qBAAqB,GACnC,aAAa,EAAE;IAoMlB;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAM7B"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 - Oracle Problem Detector
|
|
3
|
+
*
|
|
4
|
+
* Detects situations where testers cannot determine quality criteria.
|
|
5
|
+
* Identifies user vs business conflicts, missing information, and stakeholder conflicts.
|
|
6
|
+
*
|
|
7
|
+
* QX Methodology by Lalitkumar Bhamare / Tales of Testing
|
|
8
|
+
*/
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Oracle Detector
|
|
11
|
+
// ============================================================================
|
|
12
|
+
export class OracleDetector {
|
|
13
|
+
minSeverity;
|
|
14
|
+
constructor(minSeverity = 'medium') {
|
|
15
|
+
this.minSeverity = minSeverity;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Detect oracle problems from context and analysis
|
|
19
|
+
*/
|
|
20
|
+
detect(context, userNeeds, businessNeeds) {
|
|
21
|
+
const problems = [];
|
|
22
|
+
// Check for user vs business conflicts
|
|
23
|
+
if (Math.abs(userNeeds.alignmentScore - businessNeeds.alignmentScore) > 20) {
|
|
24
|
+
problems.push({
|
|
25
|
+
type: 'user-vs-business',
|
|
26
|
+
description: 'Significant gap between user needs and business objectives',
|
|
27
|
+
severity: 'high',
|
|
28
|
+
stakeholders: ['Users', 'Business'],
|
|
29
|
+
resolutionApproach: [
|
|
30
|
+
'Gather supporting data from both perspectives',
|
|
31
|
+
'Facilitate discussion between stakeholders',
|
|
32
|
+
'Find compromise solutions that address both needs',
|
|
33
|
+
],
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
// Check for missing information
|
|
37
|
+
if (userNeeds.challenges.length > 0 || businessNeeds.compromisesUX) {
|
|
38
|
+
problems.push({
|
|
39
|
+
type: 'unclear-criteria',
|
|
40
|
+
description: 'Quality criteria unclear due to conflicting information',
|
|
41
|
+
severity: 'medium',
|
|
42
|
+
missingInfo: userNeeds.challenges,
|
|
43
|
+
resolutionApproach: [
|
|
44
|
+
'Collect missing information from stakeholders',
|
|
45
|
+
'Define clear acceptance criteria',
|
|
46
|
+
],
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
// DOMAIN-SPECIFIC Oracle Problems
|
|
50
|
+
const titleLower = (context.title || '').toLowerCase();
|
|
51
|
+
const descLower = (context.metadata?.description || '').toLowerCase();
|
|
52
|
+
// E-commerce/Travel/Booking: Conversion vs UX quality
|
|
53
|
+
if (titleLower.includes('hotel') ||
|
|
54
|
+
titleLower.includes('booking') ||
|
|
55
|
+
titleLower.includes('travel') ||
|
|
56
|
+
titleLower.includes('shop') ||
|
|
57
|
+
titleLower.includes('store') ||
|
|
58
|
+
descLower.includes('book')) {
|
|
59
|
+
if (businessNeeds.kpisAffected.some((k) => k.toLowerCase().includes('conversion') || k.toLowerCase().includes('engagement'))) {
|
|
60
|
+
problems.push({
|
|
61
|
+
type: 'user-vs-business',
|
|
62
|
+
description: 'Potential conflict between conversion optimization (business) and user experience quality (user trust)',
|
|
63
|
+
severity: 'medium',
|
|
64
|
+
stakeholders: ['Marketing', 'Product', 'Users'],
|
|
65
|
+
resolutionApproach: [
|
|
66
|
+
'A/B test aggressive vs. subtle conversion tactics',
|
|
67
|
+
'Measure both conversion rate and user satisfaction metrics',
|
|
68
|
+
'Balance urgency messaging with transparent communication',
|
|
69
|
+
],
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
// Price transparency oracle
|
|
73
|
+
problems.push({
|
|
74
|
+
type: 'unclear-criteria',
|
|
75
|
+
description: 'Unclear criteria for price display timing - when to show fees, taxes, and final price',
|
|
76
|
+
severity: 'medium',
|
|
77
|
+
stakeholders: ['Users', 'Legal', 'Business'],
|
|
78
|
+
resolutionApproach: [
|
|
79
|
+
'Define regulatory compliance requirements for price display',
|
|
80
|
+
'Balance business desire for competitive base pricing vs user need for full price transparency',
|
|
81
|
+
'Establish clear standards for fee disclosure timing',
|
|
82
|
+
],
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
// Content sites: Quality vs. Quantity
|
|
86
|
+
if (titleLower.includes('blog') ||
|
|
87
|
+
titleLower.includes('article') ||
|
|
88
|
+
titleLower.includes('news') ||
|
|
89
|
+
titleLower.includes('magazine') ||
|
|
90
|
+
titleLower.includes('testing')) {
|
|
91
|
+
problems.push({
|
|
92
|
+
type: 'user-vs-business',
|
|
93
|
+
description: 'Content depth (user need) vs. publication frequency (business engagement goals) trade-off',
|
|
94
|
+
severity: 'low',
|
|
95
|
+
stakeholders: ['Readers', 'Content Team', 'Editorial'],
|
|
96
|
+
resolutionApproach: [
|
|
97
|
+
'Define content quality standards and acceptance criteria',
|
|
98
|
+
'Balance editorial calendar with quality thresholds',
|
|
99
|
+
'Consider mix of in-depth and quick-read content formats',
|
|
100
|
+
],
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
// Healthcare: Compliance vs UX
|
|
104
|
+
if (titleLower.includes('health') ||
|
|
105
|
+
titleLower.includes('medical') ||
|
|
106
|
+
titleLower.includes('patient') ||
|
|
107
|
+
titleLower.includes('care') ||
|
|
108
|
+
titleLower.includes('nhs')) {
|
|
109
|
+
problems.push({
|
|
110
|
+
type: 'stakeholder-conflict',
|
|
111
|
+
description: 'Healthcare compliance requirements may conflict with streamlined user experience',
|
|
112
|
+
severity: 'medium',
|
|
113
|
+
stakeholders: ['Patients', 'Healthcare Providers', 'Compliance', 'Legal'],
|
|
114
|
+
resolutionApproach: [
|
|
115
|
+
'Map regulatory requirements to UX touchpoints',
|
|
116
|
+
'Identify where compliance can be achieved without friction',
|
|
117
|
+
'Engage compliance team early in UX design reviews',
|
|
118
|
+
'Document consent and data handling requirements clearly',
|
|
119
|
+
],
|
|
120
|
+
});
|
|
121
|
+
// Accessibility in healthcare is critical
|
|
122
|
+
if (context.accessibility && (context.accessibility.altTextsCoverage || 0) < 80) {
|
|
123
|
+
problems.push({
|
|
124
|
+
type: 'technical-constraint',
|
|
125
|
+
description: 'Healthcare accessibility requirements not fully met - critical for patient inclusivity',
|
|
126
|
+
severity: 'high',
|
|
127
|
+
stakeholders: ['Patients', 'Accessibility Team', 'Legal'],
|
|
128
|
+
resolutionApproach: [
|
|
129
|
+
'Prioritize WCAG 2.1 AA compliance for healthcare content',
|
|
130
|
+
'Ensure screen reader compatibility for medical information',
|
|
131
|
+
'Test with assistive technology users',
|
|
132
|
+
],
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// Finance: Security vs Convenience
|
|
137
|
+
if (titleLower.includes('bank') ||
|
|
138
|
+
titleLower.includes('finance') ||
|
|
139
|
+
titleLower.includes('payment') ||
|
|
140
|
+
titleLower.includes('money')) {
|
|
141
|
+
problems.push({
|
|
142
|
+
type: 'stakeholder-conflict',
|
|
143
|
+
description: 'Security requirements vs user convenience - authentication friction vs fraud prevention',
|
|
144
|
+
severity: 'high',
|
|
145
|
+
stakeholders: ['Users', 'Security Team', 'Product', 'Compliance'],
|
|
146
|
+
resolutionApproach: [
|
|
147
|
+
'Implement risk-based authentication to reduce friction for trusted sessions',
|
|
148
|
+
'Use biometrics where available for convenient yet secure access',
|
|
149
|
+
'A/B test authentication flows for security effectiveness and user completion rates',
|
|
150
|
+
],
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
// Complex sites: Technical constraints
|
|
154
|
+
if ((context.domMetrics?.totalElements || 0) > 500 ||
|
|
155
|
+
(context.domMetrics?.interactiveElements || 0) > 50) {
|
|
156
|
+
problems.push({
|
|
157
|
+
type: 'technical-constraint',
|
|
158
|
+
description: 'Platform technical limitations may restrict advanced UX features or accessibility enhancements',
|
|
159
|
+
severity: 'low',
|
|
160
|
+
stakeholders: ['Development', 'Product', 'Users'],
|
|
161
|
+
resolutionApproach: [
|
|
162
|
+
'Evaluate platform capabilities and constraints',
|
|
163
|
+
'Prioritize features based on user impact vs. implementation complexity',
|
|
164
|
+
'Consider gradual enhancement approach',
|
|
165
|
+
],
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
// Performance oracle
|
|
169
|
+
if (context.performance && (context.performance.loadTime || 0) > 3000) {
|
|
170
|
+
problems.push({
|
|
171
|
+
type: 'technical-constraint',
|
|
172
|
+
description: 'Performance optimization needed but may require trade-offs with visual richness',
|
|
173
|
+
severity: 'medium',
|
|
174
|
+
stakeholders: ['Users', 'Development', 'Design'],
|
|
175
|
+
resolutionApproach: [
|
|
176
|
+
'Profile and identify performance bottlenecks',
|
|
177
|
+
'Consider progressive loading for visual elements',
|
|
178
|
+
'Balance image quality with load time',
|
|
179
|
+
],
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
return problems.filter((p) => this.meetsMinimumSeverity(p.severity));
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Check if severity meets minimum threshold
|
|
186
|
+
*/
|
|
187
|
+
meetsMinimumSeverity(severity) {
|
|
188
|
+
const severityLevels = ['low', 'medium', 'high', 'critical'];
|
|
189
|
+
const minIndex = severityLevels.indexOf(this.minSeverity);
|
|
190
|
+
const currentIndex = severityLevels.indexOf(severity);
|
|
191
|
+
return currentIndex >= minIndex;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=oracle-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oracle-detector.js","sourceRoot":"","sources":["../../../../src/mcp/tools/qx-analysis/oracle-detector.ts"],"names":[],"mappings":"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"}
|