agentic-qe 1.4.4 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/qe-api-contract-validator.md +133 -27
- package/.claude/agents/qe-api-contract-validator.md.backup +1148 -0
- package/.claude/agents/qe-api-contract-validator.md.backup-20251107-134747 +1148 -0
- package/.claude/agents/qe-api-contract-validator.md.backup-phase2-20251107-140039 +1123 -0
- package/.claude/agents/qe-chaos-engineer.md +142 -23
- package/.claude/agents/qe-chaos-engineer.md.backup +808 -0
- package/.claude/agents/qe-chaos-engineer.md.backup-20251107-134747 +808 -0
- package/.claude/agents/qe-chaos-engineer.md.backup-phase2-20251107-140039 +787 -0
- package/.claude/agents/qe-code-complexity.md +111 -23
- package/.claude/agents/qe-code-complexity.md.backup +291 -0
- package/.claude/agents/qe-code-complexity.md.backup-20251107-134747 +291 -0
- package/.claude/agents/qe-code-complexity.md.backup-phase2-20251107-140039 +286 -0
- package/.claude/agents/qe-coverage-analyzer.md +306 -30
- package/.claude/agents/qe-coverage-analyzer.md.backup +467 -0
- package/.claude/agents/qe-coverage-analyzer.md.backup-20251107-134747 +467 -0
- package/.claude/agents/qe-coverage-analyzer.md.backup-phase2-20251107-140039 +438 -0
- package/.claude/agents/qe-deployment-readiness.md +84 -28
- package/.claude/agents/qe-deployment-readiness.md.backup +1166 -0
- package/.claude/agents/qe-deployment-readiness.md.backup-20251107-134747 +1166 -0
- package/.claude/agents/qe-deployment-readiness.md.backup-phase2-20251107-140039 +1140 -0
- package/.claude/agents/qe-flaky-test-hunter.md +277 -35
- package/.claude/agents/qe-flaky-test-hunter.md.backup +1195 -0
- package/.claude/agents/qe-flaky-test-hunter.md.backup-20251107-134747 +1195 -0
- package/.claude/agents/qe-flaky-test-hunter.md.backup-phase2-20251107-140039 +1162 -0
- package/.claude/agents/qe-fleet-commander.md +126 -23
- package/.claude/agents/qe-fleet-commander.md.backup +718 -0
- package/.claude/agents/qe-fleet-commander.md.backup-20251107-134747 +718 -0
- package/.claude/agents/qe-fleet-commander.md.backup-phase2-20251107-140039 +697 -0
- package/.claude/agents/qe-performance-tester.md +314 -57
- package/.claude/agents/qe-performance-tester.md.backup +428 -0
- package/.claude/agents/qe-performance-tester.md.backup-20251107-134747 +428 -0
- package/.claude/agents/qe-performance-tester.md.backup-phase2-20251107-140039 +372 -0
- package/.claude/agents/qe-production-intelligence.md +126 -27
- package/.claude/agents/qe-production-intelligence.md.backup +1219 -0
- package/.claude/agents/qe-production-intelligence.md.backup-20251107-134747 +1219 -0
- package/.claude/agents/qe-production-intelligence.md.backup-phase2-20251107-140039 +1194 -0
- package/.claude/agents/qe-quality-analyzer.md +127 -32
- package/.claude/agents/qe-quality-analyzer.md.backup +425 -0
- package/.claude/agents/qe-quality-analyzer.md.backup-20251107-134747 +425 -0
- package/.claude/agents/qe-quality-analyzer.md.backup-phase2-20251107-140039 +394 -0
- package/.claude/agents/qe-quality-gate.md +148 -33
- package/.claude/agents/qe-quality-gate.md.backup +446 -0
- package/.claude/agents/qe-quality-gate.md.backup-20251107-134747 +446 -0
- package/.claude/agents/qe-quality-gate.md.backup-phase2-20251107-140039 +415 -0
- package/.claude/agents/qe-regression-risk-analyzer.md +78 -27
- package/.claude/agents/qe-regression-risk-analyzer.md.backup +1009 -0
- package/.claude/agents/qe-regression-risk-analyzer.md.backup-20251107-134747 +1009 -0
- package/.claude/agents/qe-regression-risk-analyzer.md.backup-phase2-20251107-140039 +984 -0
- package/.claude/agents/qe-requirements-validator.md +131 -27
- package/.claude/agents/qe-requirements-validator.md.backup +748 -0
- package/.claude/agents/qe-requirements-validator.md.backup-20251107-134747 +748 -0
- package/.claude/agents/qe-requirements-validator.md.backup-phase2-20251107-140039 +723 -0
- package/.claude/agents/qe-security-scanner.md +137 -62
- package/.claude/agents/qe-security-scanner.md.backup +634 -0
- package/.claude/agents/qe-security-scanner.md.backup-20251107-134747 +634 -0
- package/.claude/agents/qe-security-scanner.md.backup-phase2-20251107-140039 +573 -0
- package/.claude/agents/qe-test-data-architect.md +129 -26
- package/.claude/agents/qe-test-data-architect.md.backup +1064 -0
- package/.claude/agents/qe-test-data-architect.md.backup-20251107-134747 +1064 -0
- package/.claude/agents/qe-test-data-architect.md.backup-phase2-20251107-140039 +1040 -0
- package/.claude/agents/qe-test-executor.md +165 -21
- package/.claude/agents/qe-test-executor.md.backup +389 -0
- package/.claude/agents/qe-test-executor.md.backup-20251107-134747 +389 -0
- package/.claude/agents/qe-test-executor.md.backup-phase2-20251107-140039 +369 -0
- package/.claude/agents/qe-test-generator.md +379 -34
- package/.claude/agents/qe-test-generator.md.backup +997 -0
- package/.claude/agents/qe-test-generator.md.backup-20251107-134747 +997 -0
- package/.claude/agents/qe-visual-tester.md +236 -23
- package/.claude/agents/qe-visual-tester.md.backup +777 -0
- package/.claude/agents/qe-visual-tester.md.backup-20251107-134747 +777 -0
- package/.claude/agents/qe-visual-tester.md.backup-phase2-20251107-140039 +756 -0
- package/.claude/agents/subagents/qe-code-reviewer.md +59 -0
- package/.claude/agents/subagents/qe-data-generator.md +60 -0
- package/.claude/agents/subagents/qe-integration-tester.md +77 -0
- package/.claude/agents/subagents/qe-performance-validator.md +55 -0
- package/.claude/agents/subagents/qe-security-auditor.md +51 -0
- package/.claude/agents/subagents/qe-test-implementer.md +371 -0
- package/.claude/agents/subagents/qe-test-refactorer.md +510 -0
- package/.claude/agents/subagents/qe-test-writer.md +603 -0
- package/.claude/skills/accessibility-testing/SKILL.md +764 -777
- package/.claude/skills/agentic-quality-engineering/SKILL.md +0 -6
- package/.claude/skills/api-testing-patterns/SKILL.md +0 -12
- package/.claude/skills/bug-reporting-excellence/SKILL.md +0 -6
- package/.claude/skills/chaos-engineering-resilience/SKILL.md +0 -6
- package/.claude/skills/code-review-quality/SKILL.md +0 -6
- package/.claude/skills/compatibility-testing/SKILL.md +0 -6
- package/.claude/skills/compliance-testing/SKILL.md +0 -6
- package/.claude/skills/consultancy-practices/SKILL.md +0 -6
- package/.claude/skills/context-driven-testing/SKILL.md +0 -6
- package/.claude/skills/contract-testing/SKILL.md +0 -6
- package/.claude/skills/database-testing/SKILL.md +0 -6
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +0 -6
- package/.claude/skills/holistic-testing-pact/SKILL.md +0 -6
- package/.claude/skills/localization-testing/SKILL.md +0 -6
- package/.claude/skills/mobile-testing/SKILL.md +535 -548
- package/.claude/skills/mutation-testing/SKILL.md +0 -6
- package/.claude/skills/performance-testing/SKILL.md +0 -6
- package/.claude/skills/quality-metrics/SKILL.md +0 -12
- package/.claude/skills/refactoring-patterns/SKILL.md +0 -6
- package/.claude/skills/regression-testing/SKILL.md +1033 -1045
- package/.claude/skills/risk-based-testing/SKILL.md +0 -12
- package/.claude/skills/security-testing/SKILL.md +0 -6
- package/.claude/skills/shift-left-testing/SKILL.md +529 -535
- package/.claude/skills/shift-right-testing/SKILL.md +585 -591
- package/.claude/skills/tdd-london-chicago/SKILL.md +0 -6
- package/.claude/skills/technical-writing/SKILL.md +0 -6
- package/.claude/skills/test-automation-strategy/SKILL.md +0 -6
- package/.claude/skills/test-data-management/SKILL.md +1054 -1067
- package/.claude/skills/test-design-techniques/SKILL.md +0 -6
- package/.claude/skills/test-environment-management/SKILL.md +0 -6
- package/.claude/skills/test-reporting-analytics/SKILL.md +0 -6
- package/.claude/skills/visual-testing-advanced/SKILL.md +0 -6
- package/.claude/skills/xp-practices/SKILL.md +0 -6
- package/CHANGELOG.md +426 -5
- package/README.md +24 -19
- package/dist/cli/commands/init.d.ts +4 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +97 -44
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/mcp/handlers/coordination/index.d.ts +14 -14
- package/dist/mcp/handlers/coordination/index.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/index.js +14 -14
- package/dist/mcp/handlers/coordination/index.js.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
- package/dist/mcp/handlers/phase2/Phase2Tools.js +39 -10
- package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
- package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts +63 -0
- package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts.map +1 -0
- package/dist/mcp/handlers/phase3/Phase3DomainTools.js +885 -0
- package/dist/mcp/handlers/phase3/Phase3DomainTools.js.map +1 -0
- package/dist/mcp/handlers/phase3/index.d.ts +6 -0
- package/dist/mcp/handlers/phase3/index.d.ts.map +1 -0
- package/dist/mcp/handlers/phase3/index.js +10 -0
- package/dist/mcp/handlers/phase3/index.js.map +1 -0
- package/dist/mcp/handlers/prediction/index.d.ts +10 -10
- package/dist/mcp/handlers/prediction/index.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/index.js +10 -10
- package/dist/mcp/handlers/prediction/index.js.map +1 -1
- package/dist/mcp/handlers/security/check-authz.d.ts +152 -0
- package/dist/mcp/handlers/security/check-authz.d.ts.map +1 -0
- package/dist/mcp/handlers/security/check-authz.js +434 -0
- package/dist/mcp/handlers/security/check-authz.js.map +1 -0
- package/dist/mcp/handlers/security/generate-report.d.ts +156 -0
- package/dist/mcp/handlers/security/generate-report.d.ts.map +1 -0
- package/dist/mcp/handlers/security/generate-report.js +469 -0
- package/dist/mcp/handlers/security/generate-report.js.map +1 -0
- package/dist/mcp/handlers/security/index.d.ts +80 -0
- package/dist/mcp/handlers/security/index.d.ts.map +1 -0
- package/dist/mcp/handlers/security/index.js +91 -0
- package/dist/mcp/handlers/security/index.js.map +1 -0
- package/dist/mcp/handlers/security/scan-comprehensive.d.ts +66 -0
- package/dist/mcp/handlers/security/scan-comprehensive.d.ts.map +1 -0
- package/dist/mcp/handlers/security/scan-comprehensive.js +296 -0
- package/dist/mcp/handlers/security/scan-comprehensive.js.map +1 -0
- package/dist/mcp/handlers/security/scan-dependencies.d.ts +148 -0
- package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +1 -0
- package/dist/mcp/handlers/security/scan-dependencies.js +354 -0
- package/dist/mcp/handlers/security/scan-dependencies.js.map +1 -0
- package/dist/mcp/handlers/security/validate-auth.d.ts +128 -0
- package/dist/mcp/handlers/security/validate-auth.d.ts.map +1 -0
- package/dist/mcp/handlers/security/validate-auth.js +294 -0
- package/dist/mcp/handlers/security/validate-auth.js.map +1 -0
- package/dist/mcp/handlers/test/generate-integration-tests.d.ts +95 -0
- package/dist/mcp/handlers/test/generate-integration-tests.d.ts.map +1 -0
- package/dist/mcp/handlers/test/generate-integration-tests.js +286 -0
- package/dist/mcp/handlers/test/generate-integration-tests.js.map +1 -0
- package/dist/mcp/handlers/test/generate-unit-tests.d.ts +89 -0
- package/dist/mcp/handlers/test/generate-unit-tests.d.ts.map +1 -0
- package/dist/mcp/handlers/test/generate-unit-tests.js +273 -0
- package/dist/mcp/handlers/test/generate-unit-tests.js.map +1 -0
- package/dist/mcp/handlers/test/optimize-test-suite.d.ts +97 -0
- package/dist/mcp/handlers/test/optimize-test-suite.d.ts.map +1 -0
- package/dist/mcp/handlers/test/optimize-test-suite.js +282 -0
- package/dist/mcp/handlers/test/optimize-test-suite.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +211 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/deprecated.d.ts +1390 -0
- package/dist/mcp/tools/deprecated.d.ts.map +1 -0
- package/dist/mcp/tools/deprecated.js +859 -0
- package/dist/mcp/tools/deprecated.js.map +1 -0
- package/dist/mcp/tools/qe/api-contract/index.d.ts +138 -0
- package/dist/mcp/tools/qe/api-contract/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/api-contract/index.js +572 -0
- package/dist/mcp/tools/qe/api-contract/index.js.map +1 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts +110 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.d.ts.map +1 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.js +381 -0
- package/dist/mcp/tools/qe/code-quality/analyze-complexity.js.map +1 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts +115 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.d.ts.map +1 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js +461 -0
- package/dist/mcp/tools/qe/code-quality/calculate-quality-metrics.js.map +1 -0
- package/dist/mcp/tools/qe/code-quality/index.d.ts +12 -0
- package/dist/mcp/tools/qe/code-quality/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/code-quality/index.js +30 -0
- package/dist/mcp/tools/qe/code-quality/index.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts +58 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js +172 -0
- package/dist/mcp/tools/qe/coverage/analyze-with-risk-scoring.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts +73 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.js +240 -0
- package/dist/mcp/tools/qe/coverage/calculate-trends.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts +38 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js +204 -0
- package/dist/mcp/tools/qe/coverage/detect-gaps-ml.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/index.d.ts +12 -0
- package/dist/mcp/tools/qe/coverage/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/index.js +23 -0
- package/dist/mcp/tools/qe/coverage/index.js.map +1 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts +46 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.js +248 -0
- package/dist/mcp/tools/qe/coverage/recommend-tests.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts +179 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js +554 -0
- package/dist/mcp/tools/qe/flaky-detection/analyze-patterns.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts +172 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js +498 -0
- package/dist/mcp/tools/qe/flaky-detection/detect-statistical.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/index.d.ts +35 -0
- package/dist/mcp/tools/qe/flaky-detection/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/index.js +66 -0
- package/dist/mcp/tools/qe/flaky-detection/index.js.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts +159 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts.map +1 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js +462 -0
- package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js.map +1 -0
- package/dist/mcp/tools/qe/fleet/index.d.ts +422 -0
- package/dist/mcp/tools/qe/fleet/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/fleet/index.js +652 -0
- package/dist/mcp/tools/qe/fleet/index.js.map +1 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts +180 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js +347 -0
- package/dist/mcp/tools/qe/performance/analyze-bottlenecks.js.map +1 -0
- package/dist/mcp/tools/qe/performance/generate-report.d.ts +146 -0
- package/dist/mcp/tools/qe/performance/generate-report.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/generate-report.js +354 -0
- package/dist/mcp/tools/qe/performance/generate-report.js.map +1 -0
- package/dist/mcp/tools/qe/performance/index.d.ts +13 -0
- package/dist/mcp/tools/qe/performance/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/index.js +24 -0
- package/dist/mcp/tools/qe/performance/index.js.map +1 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts +120 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.js +215 -0
- package/dist/mcp/tools/qe/performance/monitor-realtime.js.map +1 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.d.ts +68 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.d.ts.map +1 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.js +120 -0
- package/dist/mcp/tools/qe/performance/run-benchmark.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts +239 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js +671 -0
- package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts +219 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js +732 -0
- package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts +447 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js +551 -0
- package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/index.d.ts +40 -0
- package/dist/mcp/tools/qe/quality-gates/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/index.js +56 -0
- package/dist/mcp/tools/qe/quality-gates/index.js.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts +226 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts.map +1 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js +603 -0
- package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js.map +1 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.d.ts +212 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.d.ts.map +1 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.js +617 -0
- package/dist/mcp/tools/qe/regression/analyze-risk.js.map +1 -0
- package/dist/mcp/tools/qe/regression/index.d.ts +36 -0
- package/dist/mcp/tools/qe/regression/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/regression/index.js +63 -0
- package/dist/mcp/tools/qe/regression/index.js.map +1 -0
- package/dist/mcp/tools/qe/regression/select-tests.d.ts +241 -0
- package/dist/mcp/tools/qe/regression/select-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/regression/select-tests.js +601 -0
- package/dist/mcp/tools/qe/regression/select-tests.js.map +1 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts +134 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts.map +1 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js +737 -0
- package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js.map +1 -0
- package/dist/mcp/tools/qe/requirements/index.d.ts +40 -0
- package/dist/mcp/tools/qe/requirements/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/requirements/index.js +84 -0
- package/dist/mcp/tools/qe/requirements/index.js.map +1 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts +196 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts.map +1 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.js +740 -0
- package/dist/mcp/tools/qe/requirements/validate-requirements.js.map +1 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts +300 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.js +492 -0
- package/dist/mcp/tools/qe/security/detect-vulnerabilities.js.map +1 -0
- package/dist/mcp/tools/qe/security/index.d.ts +34 -0
- package/dist/mcp/tools/qe/security/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/index.js +44 -0
- package/dist/mcp/tools/qe/security/index.js.map +1 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts +240 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.js +557 -0
- package/dist/mcp/tools/qe/security/scan-comprehensive.js.map +1 -0
- package/dist/mcp/tools/qe/security/validate-compliance.d.ts +299 -0
- package/dist/mcp/tools/qe/security/validate-compliance.d.ts.map +1 -0
- package/dist/mcp/tools/qe/security/validate-compliance.js +517 -0
- package/dist/mcp/tools/qe/security/validate-compliance.js.map +1 -0
- package/dist/mcp/tools/qe/shared/types.d.ts +840 -0
- package/dist/mcp/tools/qe/shared/types.d.ts.map +1 -0
- package/dist/mcp/tools/qe/shared/types.js +13 -0
- package/dist/mcp/tools/qe/shared/types.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts +264 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.js +553 -0
- package/dist/mcp/tools/qe/test-data/analyze-schema.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts +167 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.js +336 -0
- package/dist/mcp/tools/qe/test-data/generate-test-data.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/index.d.ts +44 -0
- package/dist/mcp/tools/qe/test-data/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/index.js +90 -0
- package/dist/mcp/tools/qe/test-data/index.js.map +1 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts +165 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js +342 -0
- package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts +144 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js +432 -0
- package/dist/mcp/tools/qe/test-generation/analyze-test-quality.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts +98 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js +459 -0
- package/dist/mcp/tools/qe/test-generation/generate-integration-tests.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts +83 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js +483 -0
- package/dist/mcp/tools/qe/test-generation/generate-unit-tests.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/index.d.ts +56 -0
- package/dist/mcp/tools/qe/test-generation/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/index.js +97 -0
- package/dist/mcp/tools/qe/test-generation/index.js.map +1 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts +124 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.d.ts.map +1 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js +362 -0
- package/dist/mcp/tools/qe/test-generation/optimize-test-suite.js.map +1 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts +119 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.js +280 -0
- package/dist/mcp/tools/qe/visual/compare-screenshots.js.map +1 -0
- package/dist/mcp/tools/qe/visual/detect-regression.d.ts +138 -0
- package/dist/mcp/tools/qe/visual/detect-regression.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/detect-regression.js +271 -0
- package/dist/mcp/tools/qe/visual/detect-regression.js.map +1 -0
- package/dist/mcp/tools/qe/visual/index.d.ts +16 -0
- package/dist/mcp/tools/qe/visual/index.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/index.js +22 -0
- package/dist/mcp/tools/qe/visual/index.js.map +1 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts +276 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.d.ts.map +1 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.js +413 -0
- package/dist/mcp/tools/qe/visual/validate-accessibility.js.map +1 -0
- package/dist/mcp/tools.d.ts +44 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1980 -1
- package/dist/mcp/tools.js.map +1 -1
- package/package.json +2 -2
- package/dist/learning/__mocks__/LearningEngine.d.ts +0 -39
- package/dist/learning/__mocks__/LearningEngine.d.ts.map +0 -1
- package/dist/learning/__mocks__/LearningEngine.js +0 -116
- package/dist/learning/__mocks__/LearningEngine.js.map +0 -1
- package/dist/utils/__mocks__/Database.d.ts +0 -85
- package/dist/utils/__mocks__/Database.d.ts.map +0 -1
- package/dist/utils/__mocks__/Database.js +0 -125
- package/dist/utils/__mocks__/Database.js.map +0 -1
- package/dist/utils/__mocks__/Logger.d.ts +0 -26
- package/dist/utils/__mocks__/Logger.d.ts.map +0 -1
- package/dist/utils/__mocks__/Logger.js +0 -44
- package/dist/utils/__mocks__/Logger.js.map +0 -1
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qe-quality-analyzer
|
|
3
|
+
description: Comprehensive quality metrics analysis with trend detection, predictive analytics, and actionable insights
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Quality Analyzer Agent
|
|
7
|
+
|
|
8
|
+
## Skills Available
|
|
9
|
+
|
|
10
|
+
### Core Testing Skills (Phase 1)
|
|
11
|
+
- **agentic-quality-engineering**: Using AI agents as force multipliers in quality work
|
|
12
|
+
- **quality-metrics**: Measure quality effectively with actionable metrics and KPIs
|
|
13
|
+
|
|
14
|
+
### Phase 2 Skills (NEW in v1.3.0)
|
|
15
|
+
- **test-reporting-analytics**: Comprehensive test reporting with metrics, trends, and actionable insights
|
|
16
|
+
- **compliance-testing**: Regulatory compliance testing for GDPR, CCPA, HIPAA, SOC2, and PCI-DSS
|
|
17
|
+
|
|
18
|
+
Use these skills via:
|
|
19
|
+
```bash
|
|
20
|
+
# Via CLI
|
|
21
|
+
aqe skills show test-reporting-analytics
|
|
22
|
+
|
|
23
|
+
# Via Skill tool in Claude Code
|
|
24
|
+
Skill("test-reporting-analytics")
|
|
25
|
+
Skill("compliance-testing")
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Core Responsibilities
|
|
29
|
+
|
|
30
|
+
### Primary Functions
|
|
31
|
+
- **Quality Metrics Collection**: Gather comprehensive quality indicators from multiple sources
|
|
32
|
+
- **Trend Analysis**: Identify quality trends and patterns over time
|
|
33
|
+
- **Predictive Analytics**: Forecast quality trajectories and potential issues
|
|
34
|
+
- **Code Quality Assessment**: Evaluate code maintainability, complexity, and technical debt
|
|
35
|
+
- **Actionable Insights**: Generate recommendations for quality improvement
|
|
36
|
+
|
|
37
|
+
### Advanced Capabilities
|
|
38
|
+
- ML-powered quality prediction and anomaly detection
|
|
39
|
+
- Temporal analysis for quality trend forecasting
|
|
40
|
+
- Psycho-symbolic reasoning for complex quality scenarios
|
|
41
|
+
- Technical debt quantification and prioritization
|
|
42
|
+
- Real-time quality dashboard updates
|
|
43
|
+
|
|
44
|
+
## Coordination Protocol
|
|
45
|
+
|
|
46
|
+
This agent uses **AQE hooks (Agentic QE native hooks)** for coordination (zero external dependencies, 100-500x faster).
|
|
47
|
+
|
|
48
|
+
**Automatic Lifecycle Hooks:**
|
|
49
|
+
```typescript
|
|
50
|
+
// Called automatically by BaseAgent
|
|
51
|
+
protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
|
|
52
|
+
// Load quality metrics configuration from memory
|
|
53
|
+
const config = await this.memoryStore.retrieve('aqe/quality/config', {
|
|
54
|
+
partition: 'configuration'
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
// Retrieve historical quality data for trend analysis
|
|
58
|
+
const history = await this.memoryStore.retrieve('aqe/quality/history', {
|
|
59
|
+
partition: 'metrics'
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
// Verify environment for quality analysis
|
|
63
|
+
const verification = await this.hookManager.executePreTaskVerification({
|
|
64
|
+
task: 'quality-analysis',
|
|
65
|
+
context: {
|
|
66
|
+
requiredVars: ['NODE_ENV', 'QUALITY_TOOLS'],
|
|
67
|
+
minMemoryMB: 1024,
|
|
68
|
+
requiredModules: ['eslint', 'sonarqube-scanner']
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Emit quality analysis starting event
|
|
73
|
+
this.eventBus.emit('quality-analyzer:starting', {
|
|
74
|
+
agentId: this.agentId,
|
|
75
|
+
config: config,
|
|
76
|
+
historicalDataPoints: history?.length || 0
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
this.logger.info('Quality analysis starting', {
|
|
80
|
+
config,
|
|
81
|
+
verification: verification.passed
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
|
|
86
|
+
// Store quality analysis results in swarm memory
|
|
87
|
+
await this.memoryStore.store('aqe/quality/analysis', data.result, {
|
|
88
|
+
partition: 'analysis_results',
|
|
89
|
+
ttl: 86400 // 24 hours
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
// Store quality metrics for trend analysis
|
|
93
|
+
await this.memoryStore.store('aqe/quality/metrics', {
|
|
94
|
+
timestamp: Date.now(),
|
|
95
|
+
overallScore: data.result.overallScore,
|
|
96
|
+
codeQuality: data.result.codeQuality,
|
|
97
|
+
testQuality: data.result.testQuality,
|
|
98
|
+
technicalDebt: data.result.technicalDebt,
|
|
99
|
+
trends: data.result.trends
|
|
100
|
+
}, {
|
|
101
|
+
partition: 'metrics',
|
|
102
|
+
ttl: 2592000 // 30 days for trend analysis
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
// Emit completion event with quality insights
|
|
106
|
+
this.eventBus.emit('quality-analyzer:completed', {
|
|
107
|
+
agentId: this.agentId,
|
|
108
|
+
score: data.result.overallScore,
|
|
109
|
+
trends: data.result.trends,
|
|
110
|
+
recommendations: data.result.recommendations
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
// Validate quality analysis results
|
|
114
|
+
const validation = await this.hookManager.executePostTaskValidation({
|
|
115
|
+
task: 'quality-analysis',
|
|
116
|
+
result: {
|
|
117
|
+
output: data.result,
|
|
118
|
+
coverage: data.result.coverageScore,
|
|
119
|
+
metrics: {
|
|
120
|
+
qualityScore: data.result.overallScore,
|
|
121
|
+
debtRatio: data.result.technicalDebt.ratio
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
this.logger.info('Quality analysis completed', {
|
|
127
|
+
score: data.result.overallScore,
|
|
128
|
+
validated: validation.passed
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
protected async onTaskError(data: { assignment: TaskAssignment; error: Error }): Promise<void> {
|
|
133
|
+
// Store error for fleet analysis
|
|
134
|
+
await this.memoryStore.store(`aqe/errors/${data.assignment.task.id}`, {
|
|
135
|
+
error: data.error.message,
|
|
136
|
+
timestamp: Date.now(),
|
|
137
|
+
agent: this.agentId,
|
|
138
|
+
taskType: 'quality-analysis'
|
|
139
|
+
}, {
|
|
140
|
+
partition: 'errors',
|
|
141
|
+
ttl: 604800 // 7 days
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
// Emit error event for fleet coordination
|
|
145
|
+
this.eventBus.emit('quality-analyzer:error', {
|
|
146
|
+
agentId: this.agentId,
|
|
147
|
+
error: data.error.message,
|
|
148
|
+
taskId: data.assignment.task.id
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
this.logger.error('Quality analysis failed', {
|
|
152
|
+
error: data.error.message,
|
|
153
|
+
stack: data.error.stack
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Advanced Verification (Optional):**
|
|
159
|
+
```typescript
|
|
160
|
+
// Use VerificationHookManager for comprehensive validation
|
|
161
|
+
const hookManager = new VerificationHookManager(this.memoryStore);
|
|
162
|
+
|
|
163
|
+
// Pre-task verification with environment checks
|
|
164
|
+
const verification = await hookManager.executePreTaskVerification({
|
|
165
|
+
task: 'quality-analysis',
|
|
166
|
+
context: {
|
|
167
|
+
requiredVars: ['NODE_ENV', 'SONAR_TOKEN', 'QUALITY_PROFILE'],
|
|
168
|
+
minMemoryMB: 1024,
|
|
169
|
+
requiredModules: ['eslint', '@typescript-eslint/parser', 'sonarqube-scanner']
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
// Post-task validation with result verification
|
|
174
|
+
const validation = await hookManager.executePostTaskValidation({
|
|
175
|
+
task: 'quality-analysis',
|
|
176
|
+
result: {
|
|
177
|
+
output: analysisResults,
|
|
178
|
+
coverage: coverageMetrics,
|
|
179
|
+
metrics: {
|
|
180
|
+
qualityScore: overallScore,
|
|
181
|
+
debtRatio: technicalDebt.ratio,
|
|
182
|
+
complexity: codeComplexity
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
|
|
187
|
+
// Pre-edit verification before updating quality configurations
|
|
188
|
+
const editCheck = await hookManager.executePreEditVerification({
|
|
189
|
+
filePath: 'config/quality-rules.json',
|
|
190
|
+
operation: 'write',
|
|
191
|
+
content: JSON.stringify(updatedRules)
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
// Session finalization with quality analysis export
|
|
195
|
+
const finalization = await hookManager.executeSessionEndFinalization({
|
|
196
|
+
sessionId: 'quality-analysis-v2.0.0',
|
|
197
|
+
exportMetrics: true,
|
|
198
|
+
exportArtifacts: true
|
|
199
|
+
});
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Analysis Workflow
|
|
203
|
+
|
|
204
|
+
### Phase 1: Data Collection
|
|
205
|
+
```yaml
|
|
206
|
+
data_sources:
|
|
207
|
+
- static_analysis: eslint, sonarqube, code_climate
|
|
208
|
+
- test_results: unit, integration, e2e coverage
|
|
209
|
+
- code_metrics: complexity, duplication, maintainability
|
|
210
|
+
- dependency_analysis: outdated, vulnerable, deprecated
|
|
211
|
+
- documentation: completeness, accuracy, coverage
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Phase 2: Metric Calculation
|
|
215
|
+
1. **Code Quality Metrics**: Calculate complexity, maintainability, and code smell indices
|
|
216
|
+
2. **Test Quality Metrics**: Analyze test coverage, quality, and effectiveness
|
|
217
|
+
3. **Technical Debt**: Quantify technical debt and prioritize remediation
|
|
218
|
+
4. **Security Metrics**: Assess vulnerability count, severity, and fix urgency
|
|
219
|
+
5. **Performance Metrics**: Evaluate performance characteristics and bottlenecks
|
|
220
|
+
|
|
221
|
+
### Phase 3: Trend Analysis
|
|
222
|
+
- **Historical Comparison**: Compare current metrics against historical baselines
|
|
223
|
+
- **Trajectory Prediction**: Forecast future quality based on current trends
|
|
224
|
+
- **Anomaly Detection**: Identify unusual patterns or sudden quality changes
|
|
225
|
+
- **Seasonal Adjustment**: Account for cyclical patterns in quality metrics
|
|
226
|
+
|
|
227
|
+
### Phase 4: Insight Generation
|
|
228
|
+
- Generate actionable recommendations
|
|
229
|
+
- Prioritize quality improvements
|
|
230
|
+
- Estimate effort for remediation
|
|
231
|
+
- Create quality improvement roadmap
|
|
232
|
+
- Update quality dashboards
|
|
233
|
+
|
|
234
|
+
## Quality Metrics
|
|
235
|
+
|
|
236
|
+
### Code Quality Score (0-100)
|
|
237
|
+
```javascript
|
|
238
|
+
const calculateCodeQuality = (metrics) => {
|
|
239
|
+
return weighted_average([
|
|
240
|
+
{ weight: 0.30, value: maintainabilityIndex(metrics) },
|
|
241
|
+
{ weight: 0.25, value: complexityScore(metrics) },
|
|
242
|
+
{ weight: 0.20, value: duplicatio nScore(metrics) },
|
|
243
|
+
{ weight: 0.15, value: codeSmellScore(metrics) },
|
|
244
|
+
{ weight: 0.10, value: documentationScore(metrics) }
|
|
245
|
+
]);
|
|
246
|
+
};
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Technical Debt Ratio
|
|
250
|
+
```javascript
|
|
251
|
+
const calculateDebtRatio = (codebase) => {
|
|
252
|
+
const remediationEffort = estimateRemediationTime(codebase);
|
|
253
|
+
const developmentTime = estimateDevelopmentTime(codebase);
|
|
254
|
+
|
|
255
|
+
return (remediationEffort / developmentTime) * 100;
|
|
256
|
+
};
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Test Quality Score (0-100)
|
|
260
|
+
- **Coverage**: Line, branch, function coverage
|
|
261
|
+
- **Test Effectiveness**: Mutation score, assertion density
|
|
262
|
+
- **Test Maintainability**: Test complexity, duplication
|
|
263
|
+
- **Test Performance**: Execution time, flakiness rate
|
|
264
|
+
|
|
265
|
+
## Predictive Analytics
|
|
266
|
+
|
|
267
|
+
### Quality Trend Forecasting
|
|
268
|
+
```javascript
|
|
269
|
+
const forecastQuality = (historicalData, horizon) => {
|
|
270
|
+
const model = trainTimeSeriesModel(historicalData);
|
|
271
|
+
const predictions = model.forecast(horizon);
|
|
272
|
+
|
|
273
|
+
return {
|
|
274
|
+
predictions,
|
|
275
|
+
confidence: calculateConfidenceInterval(predictions),
|
|
276
|
+
alerts: identifyPotentialIssues(predictions)
|
|
277
|
+
};
|
|
278
|
+
};
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Anomaly Detection
|
|
282
|
+
- Statistical outlier detection
|
|
283
|
+
- ML-based anomaly identification
|
|
284
|
+
- Pattern deviation analysis
|
|
285
|
+
- Early warning system activation
|
|
286
|
+
|
|
287
|
+
## Technical Debt Analysis
|
|
288
|
+
|
|
289
|
+
### Debt Categories
|
|
290
|
+
| Category | Weight | Priority |
|
|
291
|
+
|----------|--------|----------|
|
|
292
|
+
| Code Smells | 0.25 | High |
|
|
293
|
+
| Security Vulnerabilities | 0.30 | Critical |
|
|
294
|
+
| Performance Issues | 0.20 | Medium |
|
|
295
|
+
| Documentation Gaps | 0.15 | Low |
|
|
296
|
+
| Test Coverage Gaps | 0.10 | Medium |
|
|
297
|
+
|
|
298
|
+
### Remediation Prioritization
|
|
299
|
+
```javascript
|
|
300
|
+
const prioritizeDebt = (debtItems) => {
|
|
301
|
+
return debtItems
|
|
302
|
+
.map(item => ({
|
|
303
|
+
...item,
|
|
304
|
+
priority: calculatePriority(item),
|
|
305
|
+
roi: estimateROI(item)
|
|
306
|
+
}))
|
|
307
|
+
.sort((a, b) => b.priority - a.priority);
|
|
308
|
+
};
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
## Integration Points
|
|
312
|
+
|
|
313
|
+
### SonarQube Integration
|
|
314
|
+
```bash
|
|
315
|
+
# Fetch SonarQube metrics
|
|
316
|
+
sonar-scanner -Dsonar.projectKey=project \
|
|
317
|
+
-Dsonar.sources=src \
|
|
318
|
+
-Dsonar.host.url=$SONAR_HOST \
|
|
319
|
+
-Dsonar.login=$SONAR_TOKEN
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### ESLint Integration
|
|
323
|
+
```javascript
|
|
324
|
+
const analyzeWithESLint = async (files) => {
|
|
325
|
+
const eslint = new ESLint({ fix: false });
|
|
326
|
+
const results = await eslint.lintFiles(files);
|
|
327
|
+
|
|
328
|
+
return processESLintResults(results);
|
|
329
|
+
};
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### Custom Metrics Collection
|
|
333
|
+
```javascript
|
|
334
|
+
const collectCustomMetrics = async (codebase) => {
|
|
335
|
+
return {
|
|
336
|
+
complexity: analyzeCyclomaticComplexity(codebase),
|
|
337
|
+
duplication: detectCodeDuplication(codebase),
|
|
338
|
+
maintainability: calculateMaintainabilityIndex(codebase),
|
|
339
|
+
coupling: analyzeCouplingMetrics(codebase)
|
|
340
|
+
};
|
|
341
|
+
};
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
## Commands
|
|
345
|
+
|
|
346
|
+
### Initialization
|
|
347
|
+
```bash
|
|
348
|
+
# Spawn the quality analyzer agent
|
|
349
|
+
agentic-qe agent spawn --name qe-quality-analyzer --type quality-analyzer
|
|
350
|
+
|
|
351
|
+
# Initialize with custom configuration
|
|
352
|
+
agentic-qe agent init qe-quality-analyzer --config quality-config.yml
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Execution
|
|
356
|
+
```bash
|
|
357
|
+
# Execute quality analysis
|
|
358
|
+
agentic-qe agent execute --name qe-quality-analyzer --task "analyze_quality"
|
|
359
|
+
|
|
360
|
+
# Run with specific scope
|
|
361
|
+
agentic-qe agent execute qe-quality-analyzer --scope src/core --detailed
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Monitoring
|
|
365
|
+
```bash
|
|
366
|
+
# Check agent status
|
|
367
|
+
agentic-qe agent status --name qe-quality-analyzer
|
|
368
|
+
|
|
369
|
+
# View analysis history
|
|
370
|
+
agentic-qe agent history qe-quality-analyzer --analyses --limit 30
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
## Fleet Integration
|
|
374
|
+
|
|
375
|
+
### EventBus Coordination
|
|
376
|
+
- **Analysis Events**: Publishes quality analysis results
|
|
377
|
+
- **Metric Events**: Emits real-time quality metrics
|
|
378
|
+
- **Trend Events**: Broadcasts quality trend updates
|
|
379
|
+
- **Alert Events**: Sends quality degradation warnings
|
|
380
|
+
|
|
381
|
+
### Memory Management
|
|
382
|
+
- **Analysis Results**: Persistent storage of quality assessments
|
|
383
|
+
- **Historical Metrics**: Long-term trend analysis data
|
|
384
|
+
- **Baseline Data**: Reference points for comparison
|
|
385
|
+
- **Recommendations**: Actionable improvement suggestions
|
|
386
|
+
|
|
387
|
+
### Fleet Lifecycle
|
|
388
|
+
- **Startup**: Load quality baselines and configuration
|
|
389
|
+
- **Runtime**: Continuous quality monitoring and analysis
|
|
390
|
+
- **Shutdown**: Finalize in-progress analyses
|
|
391
|
+
- **Health Check**: Validate analysis accuracy
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
*Quality Analyzer Agent - Transforming metrics into actionable insights*
|
|
@@ -1,36 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: qe-quality-gate
|
|
3
|
-
|
|
4
|
-
color: red
|
|
5
|
-
priority: critical
|
|
6
|
-
category: enforcement
|
|
7
|
-
status: active
|
|
8
|
-
version: "2.0.0"
|
|
9
|
-
description: "Intelligent quality gate with risk assessment, policy validation, and automated decision-making"
|
|
10
|
-
capabilities:
|
|
11
|
-
- quality-enforcement
|
|
12
|
-
- risk-assessment
|
|
13
|
-
- policy-validation
|
|
14
|
-
- decision-trees
|
|
15
|
-
- threshold-management
|
|
16
|
-
- automated-decisions
|
|
17
|
-
coordination:
|
|
18
|
-
protocol: aqe-hooks
|
|
19
|
-
metadata:
|
|
20
|
-
decision_tree_capabilities: true
|
|
21
|
-
temporal_prediction: enabled
|
|
22
|
-
psycho_symbolic_reasoning: advanced
|
|
23
|
-
ai_driven_decisions: true
|
|
24
|
-
risk_based_overrides: enabled
|
|
25
|
-
dependencies:
|
|
26
|
-
- qe-metrics-analyzer
|
|
27
|
-
- qe-test-coordinator
|
|
28
|
-
- qe-risk-assessor
|
|
29
|
-
integration_points:
|
|
30
|
-
- ci_cd_pipelines
|
|
31
|
-
- test_automation
|
|
32
|
-
- deployment_gates
|
|
33
|
-
- compliance_systems
|
|
3
|
+
description: Intelligent quality gate with risk assessment, policy validation, and automated decision-making
|
|
34
4
|
---
|
|
35
5
|
|
|
36
6
|
# Quality Gate Agent
|
|
@@ -441,6 +411,151 @@ agentic-qe agent history qe-quality-gate --decisions --limit 50
|
|
|
441
411
|
- **Shutdown**: Graceful completion of in-flight evaluations
|
|
442
412
|
- **Health Check**: Regular validation of decision accuracy
|
|
443
413
|
|
|
444
|
-
---
|
|
445
414
|
|
|
446
|
-
*Quality Gate Agent - Ensuring excellence through intelligent quality enforcement*
|
|
415
|
+
*Quality Gate Agent - Ensuring excellence through intelligent quality enforcement*
|
|
416
|
+
|
|
417
|
+
## Code Execution Workflows
|
|
418
|
+
|
|
419
|
+
Validate quality gates with comprehensive metrics and risk assessment.
|
|
420
|
+
|
|
421
|
+
### Comprehensive Quality Gate Check
|
|
422
|
+
|
|
423
|
+
```typescript
|
|
424
|
+
/**
|
|
425
|
+
* Phase 3 Quality Gate Tools
|
|
426
|
+
*
|
|
427
|
+
* IMPORTANT: Phase 3 domain-specific tools are fully implemented and ready to use.
|
|
428
|
+
* These examples show the REAL API that will be available.
|
|
429
|
+
*
|
|
430
|
+
* Import path: 'agentic-qe/tools/qe/quality-gates'
|
|
431
|
+
* Type definitions: 'agentic-qe/tools/qe/shared/types'
|
|
432
|
+
*/
|
|
433
|
+
|
|
434
|
+
import type {
|
|
435
|
+
QualityGateExecutionParams,
|
|
436
|
+
QualityPolicy,
|
|
437
|
+
QualityMetrics,
|
|
438
|
+
QEToolResponse
|
|
439
|
+
} from 'agentic-qe/tools/qe/shared/types';
|
|
440
|
+
|
|
441
|
+
// Phase 3 quality gate tools (✅ Available)
|
|
442
|
+
// import {
|
|
443
|
+
// validateQualityGate,
|
|
444
|
+
// assessRisk,
|
|
445
|
+
// makeMergeDecision,
|
|
446
|
+
// generateQualityReport
|
|
447
|
+
// } from 'agentic-qe/tools/qe/quality-gates';
|
|
448
|
+
|
|
449
|
+
// Example: Comprehensive quality gate validation
|
|
450
|
+
const gateParams: QualityGateExecutionParams = {
|
|
451
|
+
policies: {
|
|
452
|
+
coverage: { statements: 95, branches: 90, functions: 95 },
|
|
453
|
+
security: { maxVulnerabilities: 0, maxCritical: 0 },
|
|
454
|
+
performance: { maxResponseTime: 200, maxMemory: 512 },
|
|
455
|
+
complexity: { maxCyclomaticComplexity: 15 },
|
|
456
|
+
duplication: { maxDuplicateLines: 3 }
|
|
457
|
+
},
|
|
458
|
+
sources: {
|
|
459
|
+
coverage: './coverage/coverage-final.json',
|
|
460
|
+
security: './reports/security-scan.json',
|
|
461
|
+
performance: './reports/performance.json'
|
|
462
|
+
},
|
|
463
|
+
environment: 'production'
|
|
464
|
+
};
|
|
465
|
+
|
|
466
|
+
// const gateResult: QEToolResponse<any> =
|
|
467
|
+
// await validateQualityGate(gateParams);
|
|
468
|
+
//
|
|
469
|
+
// if (gateResult.success && gateResult.data) {
|
|
470
|
+
// console.log('Quality Gate Result:', gateResult.data.status);
|
|
471
|
+
// console.log(`Passed: ${gateResult.data.passed.length} checks`);
|
|
472
|
+
// console.log(`Failed: ${gateResult.data.failed.length} checks`);
|
|
473
|
+
//
|
|
474
|
+
// if (gateResult.data.status === 'FAILED') {
|
|
475
|
+
// gateResult.data.failed.forEach((check: any) => {
|
|
476
|
+
// console.error(` - ${check.name}: ${check.message}`);
|
|
477
|
+
// });
|
|
478
|
+
// }
|
|
479
|
+
// }
|
|
480
|
+
|
|
481
|
+
console.log('✅ Quality gate validation complete');
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
### Risk Assessment and Deployment Decision
|
|
485
|
+
|
|
486
|
+
```typescript
|
|
487
|
+
import type {
|
|
488
|
+
QualityGateExecutionParams,
|
|
489
|
+
QualityMetrics
|
|
490
|
+
} from 'agentic-qe/tools/qe/shared/types';
|
|
491
|
+
|
|
492
|
+
// Phase 3 risk assessment (✅ Available)
|
|
493
|
+
// import {
|
|
494
|
+
// assessDeploymentRisk,
|
|
495
|
+
// makeMergeDecision
|
|
496
|
+
// } from 'agentic-qe/tools/qe/quality-gates';
|
|
497
|
+
|
|
498
|
+
// Example: Assess risk and make deployment decision
|
|
499
|
+
const riskParams: QualityGateExecutionParams = {
|
|
500
|
+
qualityMetrics: {
|
|
501
|
+
coverage: { overall: 96, statements: 96, branches: 92 },
|
|
502
|
+
security: { vulnerabilities: 0, criticalIssues: 0 },
|
|
503
|
+
performance: { avgResponseTime: 150, p95ResponseTime: 280 },
|
|
504
|
+
testReliability: 0.98,
|
|
505
|
+
complexity: { average: 8, maximum: 20 }
|
|
506
|
+
},
|
|
507
|
+
historicalData: './data/historical-quality.json',
|
|
508
|
+
environment: 'production'
|
|
509
|
+
};
|
|
510
|
+
|
|
511
|
+
// const riskAssessment = await assessDeploymentRisk(riskParams);
|
|
512
|
+
//
|
|
513
|
+
// console.log(`Deployment Risk: ${riskAssessment.level} (${riskAssessment.score}/100)`);
|
|
514
|
+
// console.log(`Confidence: ${riskAssessment.confidence.toFixed(2)}`);
|
|
515
|
+
//
|
|
516
|
+
// const decision = await makeMergeDecision({
|
|
517
|
+
// ...riskAssessment,
|
|
518
|
+
// requireApproval: true
|
|
519
|
+
// });
|
|
520
|
+
//
|
|
521
|
+
// console.log('Merge Decision:', decision.recommendation);
|
|
522
|
+
// console.log('Reasoning:', decision.reasoning);
|
|
523
|
+
|
|
524
|
+
console.log('✅ Risk assessment and deployment decision complete');
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
### Phase 3 Tool Discovery
|
|
528
|
+
|
|
529
|
+
```bash
|
|
530
|
+
# Once Phase 3 is implemented, tools will be at:
|
|
531
|
+
# /workspaces/agentic-qe-cf/src/mcp/tools/qe/quality-gates/
|
|
532
|
+
|
|
533
|
+
# List available quality gate tools (Phase 3)
|
|
534
|
+
ls node_modules/agentic-qe/dist/mcp/tools/qe/quality-gates/
|
|
535
|
+
|
|
536
|
+
# Check type definitions
|
|
537
|
+
cat node_modules/agentic-qe/dist/mcp/tools/qe/shared/types.d.ts | grep -A 20 "QualityGate"
|
|
538
|
+
|
|
539
|
+
# View policy templates
|
|
540
|
+
node -e "import('agentic-qe/tools/qe/quality-gates').then(m => console.log(m.availablePolicyTemplates()))"
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
### Using Quality Gate Tools via MCP (Phase 3)
|
|
544
|
+
|
|
545
|
+
```typescript
|
|
546
|
+
// Phase 3 MCP integration (✅ Available)
|
|
547
|
+
// Domain-specific tools are registered as MCP tools:
|
|
548
|
+
|
|
549
|
+
// Via MCP client
|
|
550
|
+
// const result = await mcpClient.callTool('qe_validate_quality_gate', {
|
|
551
|
+
// policies: {coverage: {statements: 95}, security: {maxVulns: 0}},
|
|
552
|
+
// sources: {...}
|
|
553
|
+
// });
|
|
554
|
+
|
|
555
|
+
// Via CLI
|
|
556
|
+
// aqe quality gate validate --policies ./policies.json
|
|
557
|
+
// aqe quality gate assess-risk --metrics ./metrics.json
|
|
558
|
+
// aqe quality gate merge-decision --environment production
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
|