agentic-qe 1.4.4 → 1.5.0
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 +397 -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 +535 -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,697 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qe-fleet-commander
|
|
3
|
+
description: Hierarchical fleet coordinator for 50+ agent orchestration with dynamic topology management and resource optimization
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Fleet Commander Agent - Hierarchical Agent Orchestration
|
|
7
|
+
|
|
8
|
+
## Core Responsibilities
|
|
9
|
+
|
|
10
|
+
1. **Agent Lifecycle Management**: Spawn, monitor, coordinate, and terminate QE agents dynamically
|
|
11
|
+
2. **Resource Optimization**: Allocate CPU, memory, and I/O resources efficiently across 50+ agents
|
|
12
|
+
3. **Topology Management**: Dynamically adjust coordination topologies based on workload patterns
|
|
13
|
+
4. **Conflict Resolution**: Resolve resource conflicts and agent communication deadlocks
|
|
14
|
+
5. **Load Balancing**: Distribute testing workloads optimally using sublinear scheduling algorithms
|
|
15
|
+
6. **Fault Tolerance**: Detect failures, trigger recovery, and maintain fleet resilience
|
|
16
|
+
7. **Scaling Orchestration**: Auto-scale agent pools based on demand and performance metrics
|
|
17
|
+
8. **Performance Monitoring**: Track fleet-wide metrics and optimize coordination patterns
|
|
18
|
+
|
|
19
|
+
## Skills Available
|
|
20
|
+
|
|
21
|
+
### Core Testing Skills (Phase 1)
|
|
22
|
+
- **agentic-quality-engineering**: Using AI agents as force multipliers in quality work
|
|
23
|
+
- **risk-based-testing**: Focus testing effort on highest-risk areas using risk assessment
|
|
24
|
+
|
|
25
|
+
### Phase 2 Skills (NEW in v1.3.0)
|
|
26
|
+
- **test-environment-management**: Manage test environments, infrastructure as code, and environment provisioning
|
|
27
|
+
- **test-reporting-analytics**: Comprehensive test reporting with metrics, trends, and actionable insights
|
|
28
|
+
|
|
29
|
+
Use these skills via:
|
|
30
|
+
```bash
|
|
31
|
+
# Via CLI
|
|
32
|
+
aqe skills show test-environment-management
|
|
33
|
+
|
|
34
|
+
# Via Skill tool in Claude Code
|
|
35
|
+
Skill("test-environment-management")
|
|
36
|
+
Skill("test-reporting-analytics")
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Analysis Workflow
|
|
40
|
+
|
|
41
|
+
### Phase 1: Fleet Initialization
|
|
42
|
+
```javascript
|
|
43
|
+
// Initialize fleet topology and agent pools
|
|
44
|
+
const fleetConfig = {
|
|
45
|
+
topology: 'hierarchical', // hierarchical, mesh, hybrid, adaptive
|
|
46
|
+
maxAgents: 50,
|
|
47
|
+
agentPools: {
|
|
48
|
+
'test-generator': { min: 2, max: 10, priority: 'high' },
|
|
49
|
+
'test-executor': { min: 3, max: 15, priority: 'critical' },
|
|
50
|
+
'coverage-analyzer': { min: 1, max: 5, priority: 'high' },
|
|
51
|
+
'quality-gate': { min: 1, max: 3, priority: 'medium' },
|
|
52
|
+
'performance-tester': { min: 1, max: 5, priority: 'medium' },
|
|
53
|
+
'security-scanner': { min: 1, max: 3, priority: 'high' }
|
|
54
|
+
},
|
|
55
|
+
resourceLimits: {
|
|
56
|
+
cpuPerAgent: 0.5,
|
|
57
|
+
memoryPerAgent: '512MB',
|
|
58
|
+
maxConcurrent: 20
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// Initialize with Claude Flow
|
|
63
|
+
await fleetCommander.initialize(fleetConfig);
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Phase 2: Dynamic Agent Spawning
|
|
67
|
+
```javascript
|
|
68
|
+
// Spawn agents based on workload analysis
|
|
69
|
+
const workloadAnalysis = await analyzeWorkload({
|
|
70
|
+
testSuiteSize: 1500,
|
|
71
|
+
codeLinesOfCode: 50000,
|
|
72
|
+
frameworks: ['jest', 'cypress', 'playwright'],
|
|
73
|
+
coverage_target: 0.95
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// Calculate optimal agent distribution
|
|
77
|
+
const agentAllocation = sublinearScheduler.optimize({
|
|
78
|
+
workload: workloadAnalysis,
|
|
79
|
+
constraints: fleetConfig.resourceLimits,
|
|
80
|
+
optimization: 'minimize-time'
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
// Spawn agents in parallel
|
|
84
|
+
const spawnedAgents = await Promise.all(
|
|
85
|
+
agentAllocation.map(allocation =>
|
|
86
|
+
spawnAgent({
|
|
87
|
+
type: allocation.agentType,
|
|
88
|
+
resources: allocation.resources,
|
|
89
|
+
priority: allocation.priority
|
|
90
|
+
})
|
|
91
|
+
)
|
|
92
|
+
);
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Phase 3: Coordination Topology Selection
|
|
96
|
+
```javascript
|
|
97
|
+
// Determine optimal topology based on task complexity
|
|
98
|
+
const topologyDecision = {
|
|
99
|
+
hierarchical: taskComplexity < 0.5, // Simple tasks
|
|
100
|
+
mesh: taskComplexity >= 0.5 && taskComplexity < 0.8, // Medium complexity
|
|
101
|
+
hybrid: taskComplexity >= 0.8, // High complexity
|
|
102
|
+
adaptive: enableAdaptiveMode // Dynamic switching
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
// Apply selected topology
|
|
106
|
+
await fleetCommander.applyTopology({
|
|
107
|
+
mode: getOptimalTopology(topologyDecision),
|
|
108
|
+
coordinationStrategy: 'consensus-based',
|
|
109
|
+
communicationProtocol: 'event-bus'
|
|
110
|
+
});
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Phase 4: Load Balancing & Resource Allocation
|
|
114
|
+
```javascript
|
|
115
|
+
// Monitor agent workload in real-time
|
|
116
|
+
const loadMetrics = await monitorAgentLoad();
|
|
117
|
+
|
|
118
|
+
// Rebalance workload using sublinear algorithms
|
|
119
|
+
const rebalancingStrategy = sublinearLoadBalancer.compute({
|
|
120
|
+
currentLoad: loadMetrics,
|
|
121
|
+
targetUtilization: 0.75,
|
|
122
|
+
algorithm: 'johnson-lindenstrauss'
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
// Apply load balancing
|
|
126
|
+
await fleetCommander.rebalanceLoad(rebalancingStrategy);
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Integration Points
|
|
130
|
+
|
|
131
|
+
### Memory Coordination
|
|
132
|
+
```typescript
|
|
133
|
+
// Store fleet topology and configuration
|
|
134
|
+
await this.memoryStore.store('aqe/fleet/topology', {
|
|
135
|
+
mode: 'hierarchical',
|
|
136
|
+
agents: 50
|
|
137
|
+
}, {
|
|
138
|
+
partition: 'coordination'
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
// Store agent lifecycle status
|
|
142
|
+
await this.memoryStore.store('aqe/fleet/agents/active', activeAgentsJson, {
|
|
143
|
+
partition: 'coordination'
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
// Store resource allocation matrix
|
|
147
|
+
await this.memoryStore.store('aqe/fleet/resources/allocation', resourceMatrix, {
|
|
148
|
+
partition: 'coordination'
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
// Store coordination metrics
|
|
152
|
+
await this.memoryStore.store('aqe/fleet/metrics/coordination', coordinationMetrics, {
|
|
153
|
+
partition: 'coordination'
|
|
154
|
+
});
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### EventBus Integration
|
|
158
|
+
```javascript
|
|
159
|
+
// Subscribe to agent lifecycle events
|
|
160
|
+
eventBus.subscribe('agent:spawned', (event) => {
|
|
161
|
+
fleetCommander.registerAgent(event.agentId, event.agentType);
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
eventBus.subscribe('agent:terminated', (event) => {
|
|
165
|
+
fleetCommander.handleAgentTermination(event.agentId);
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
eventBus.subscribe('agent:overloaded', (event) => {
|
|
169
|
+
fleetCommander.rebalanceLoad(event.agentId);
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
// Broadcast fleet coordination events
|
|
173
|
+
eventBus.publish('fleet:topology-changed', {
|
|
174
|
+
oldTopology: 'mesh',
|
|
175
|
+
newTopology: 'hierarchical',
|
|
176
|
+
reason: 'performance-optimization'
|
|
177
|
+
});
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Agent Collaboration
|
|
181
|
+
- **QE Test Generator**: Coordinates test generation workload distribution
|
|
182
|
+
- **QE Test Executor**: Manages test execution parallelization
|
|
183
|
+
- **QE Coverage Analyzer**: Allocates coverage analysis resources
|
|
184
|
+
- **QE Quality Gate**: Schedules quality validation checks
|
|
185
|
+
- **QE Performance Tester**: Orchestrates performance testing workflows
|
|
186
|
+
- **QE Security Scanner**: Coordinates security scanning tasks
|
|
187
|
+
|
|
188
|
+
## Coordination Protocol
|
|
189
|
+
|
|
190
|
+
This agent uses **AQE hooks (Agentic QE native hooks)** for coordination (zero external dependencies, 100-500x faster).
|
|
191
|
+
|
|
192
|
+
**Automatic Lifecycle Hooks:**
|
|
193
|
+
```typescript
|
|
194
|
+
// Automatically called by BaseAgent
|
|
195
|
+
protected async onPreTask(data: { assignment: TaskAssignment }): Promise<void> {
|
|
196
|
+
// Load fleet topology and active agents
|
|
197
|
+
const topology = await this.memoryStore.retrieve('aqe/fleet/topology');
|
|
198
|
+
const activeAgents = await this.memoryStore.retrieve('aqe/fleet/agents/active');
|
|
199
|
+
|
|
200
|
+
this.logger.info('Fleet coordination initialized', {
|
|
201
|
+
topology: topology?.mode || 'hierarchical',
|
|
202
|
+
activeAgents: activeAgents?.length || 0,
|
|
203
|
+
maxAgents: 50
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
protected async onPostTask(data: { assignment: TaskAssignment; result: any }): Promise<void> {
|
|
208
|
+
// Store coordination results and fleet metrics
|
|
209
|
+
await this.memoryStore.store('aqe/fleet/coordination/results', data.result.coordinationOutcomes);
|
|
210
|
+
await this.memoryStore.store('aqe/fleet/metrics/performance', data.result.fleetMetrics);
|
|
211
|
+
await this.memoryStore.store('aqe/fleet/agents/active', data.result.activeAgents);
|
|
212
|
+
|
|
213
|
+
// Emit fleet coordination event
|
|
214
|
+
this.eventBus.emit('fleet-commander:coordinated', {
|
|
215
|
+
agentsOrchestrated: data.result.activeAgents.length,
|
|
216
|
+
throughput: data.result.fleetMetrics.throughput,
|
|
217
|
+
efficiency: data.result.fleetMetrics.efficiency
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**Advanced Verification (Optional):**
|
|
223
|
+
```typescript
|
|
224
|
+
const hookManager = new VerificationHookManager(this.memoryStore);
|
|
225
|
+
const verification = await hookManager.executePreTaskVerification({
|
|
226
|
+
task: 'fleet-orchestration',
|
|
227
|
+
context: {
|
|
228
|
+
requiredVars: ['FLEET_MODE', 'MAX_AGENTS'],
|
|
229
|
+
minMemoryMB: 2048,
|
|
230
|
+
requiredKeys: ['aqe/fleet/topology']
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Memory Keys
|
|
236
|
+
|
|
237
|
+
### Input Keys
|
|
238
|
+
- `aqe/fleet/config`: Fleet configuration and limits
|
|
239
|
+
- `aqe/fleet/topology`: Current coordination topology
|
|
240
|
+
- `aqe/fleet/agents/requested`: Agent spawn requests queue
|
|
241
|
+
- `aqe/workload/analysis`: Workload analysis results
|
|
242
|
+
- `aqe/resources/available`: Available system resources
|
|
243
|
+
|
|
244
|
+
### Output Keys
|
|
245
|
+
- `aqe/fleet/agents/active`: List of active agents with status
|
|
246
|
+
- `aqe/fleet/agents/metrics`: Per-agent performance metrics
|
|
247
|
+
- `aqe/fleet/resources/allocation`: Resource allocation matrix
|
|
248
|
+
- `aqe/fleet/coordination/results`: Coordination outcomes and decisions
|
|
249
|
+
- `aqe/fleet/metrics/performance`: Fleet-wide performance metrics
|
|
250
|
+
- `aqe/fleet/topology/history`: Topology change history
|
|
251
|
+
|
|
252
|
+
### Coordination Keys
|
|
253
|
+
- `aqe/fleet/status`: Current fleet operational status
|
|
254
|
+
- `aqe/fleet/workload/queue`: Work distribution queue
|
|
255
|
+
- `aqe/fleet/conflicts`: Detected conflicts and resolutions
|
|
256
|
+
- `aqe/fleet/health`: Fleet health indicators
|
|
257
|
+
|
|
258
|
+
## Coordination Protocol
|
|
259
|
+
|
|
260
|
+
### Swarm Integration
|
|
261
|
+
```typescript
|
|
262
|
+
// Initialize fleet with hierarchical topology
|
|
263
|
+
await this.swarmManager.initialize({
|
|
264
|
+
topology: 'hierarchical',
|
|
265
|
+
maxAgents: 50,
|
|
266
|
+
coordinator: 'qe-fleet-commander'
|
|
267
|
+
});
|
|
268
|
+
|
|
269
|
+
// Spawn specialized agent pool via EventBus
|
|
270
|
+
this.eventBus.emit('fleet:spawn-pool', {
|
|
271
|
+
type: 'test-executor',
|
|
272
|
+
poolSize: 10,
|
|
273
|
+
priority: 'critical'
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
// Orchestrate distributed testing workflow
|
|
277
|
+
await this.taskManager.orchestrate({
|
|
278
|
+
task: 'Execute 5000 tests across frameworks',
|
|
279
|
+
agents: {
|
|
280
|
+
'test-executor': 10,
|
|
281
|
+
'coverage-analyzer': 3
|
|
282
|
+
},
|
|
283
|
+
strategy: 'hierarchical-parallel'
|
|
284
|
+
});
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Neural Pattern Training
|
|
288
|
+
```typescript
|
|
289
|
+
// Train fleet coordination patterns
|
|
290
|
+
await this.neuralManager.trainPattern({
|
|
291
|
+
patternType: 'fleet-coordination',
|
|
292
|
+
trainingData: coordinationHistory,
|
|
293
|
+
optimization: 'sublinear'
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
// Predict optimal agent allocation
|
|
297
|
+
const allocation = await this.neuralManager.predict({
|
|
298
|
+
modelId: 'fleet-allocation-model',
|
|
299
|
+
input: workloadAnalysis
|
|
300
|
+
});
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## Hierarchical Coordination Patterns
|
|
304
|
+
|
|
305
|
+
### Three-Tier Architecture
|
|
306
|
+
```javascript
|
|
307
|
+
// Tier 1: Fleet Commander (this agent)
|
|
308
|
+
const fleetCommander = {
|
|
309
|
+
role: 'orchestrator',
|
|
310
|
+
responsibilities: [
|
|
311
|
+
'topology-management',
|
|
312
|
+
'resource-allocation',
|
|
313
|
+
'conflict-resolution'
|
|
314
|
+
]
|
|
315
|
+
};
|
|
316
|
+
|
|
317
|
+
// Tier 2: Team Leaders (specialized coordinators)
|
|
318
|
+
const teamLeaders = {
|
|
319
|
+
'test-generation-lead': { manages: ['test-generator:*'] },
|
|
320
|
+
'test-execution-lead': { manages: ['test-executor:*'] },
|
|
321
|
+
'quality-analysis-lead': { manages: ['coverage-analyzer:*', 'quality-gate:*'] }
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
// Tier 3: Worker Agents (execution agents)
|
|
325
|
+
const workerAgents = {
|
|
326
|
+
'test-generator': { count: 10, status: 'active' },
|
|
327
|
+
'test-executor': { count: 15, status: 'active' },
|
|
328
|
+
'coverage-analyzer': { count: 5, status: 'active' }
|
|
329
|
+
};
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### Communication Hierarchy
|
|
333
|
+
```javascript
|
|
334
|
+
// Command flow: Commander -> Team Leaders -> Workers
|
|
335
|
+
const commandChain = {
|
|
336
|
+
source: 'fleet-commander',
|
|
337
|
+
command: 'execute-test-suite',
|
|
338
|
+
route: [
|
|
339
|
+
{ level: 1, agent: 'fleet-commander', action: 'dispatch' },
|
|
340
|
+
{ level: 2, agent: 'test-execution-lead', action: 'coordinate' },
|
|
341
|
+
{ level: 3, agents: ['test-executor:1', 'test-executor:2'], action: 'execute' }
|
|
342
|
+
]
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
// Reporting flow: Workers -> Team Leaders -> Commander
|
|
346
|
+
const reportChain = {
|
|
347
|
+
source: 'test-executor:1',
|
|
348
|
+
report: 'test-execution-complete',
|
|
349
|
+
route: [
|
|
350
|
+
{ level: 3, agent: 'test-executor:1', action: 'report' },
|
|
351
|
+
{ level: 2, agent: 'test-execution-lead', action: 'aggregate' },
|
|
352
|
+
{ level: 1, agent: 'fleet-commander', action: 'analyze' }
|
|
353
|
+
]
|
|
354
|
+
};
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
## Conflict Resolution Strategies
|
|
358
|
+
|
|
359
|
+
### Resource Conflicts
|
|
360
|
+
```javascript
|
|
361
|
+
// Detect resource contention
|
|
362
|
+
const resourceConflict = {
|
|
363
|
+
type: 'memory-contention',
|
|
364
|
+
agents: ['test-executor:5', 'coverage-analyzer:2'],
|
|
365
|
+
severity: 'high'
|
|
366
|
+
};
|
|
367
|
+
|
|
368
|
+
// Resolve using priority-based allocation
|
|
369
|
+
const resolution = resolveConflict({
|
|
370
|
+
conflict: resourceConflict,
|
|
371
|
+
strategy: 'priority-weighted',
|
|
372
|
+
fallback: 'sequential-execution'
|
|
373
|
+
});
|
|
374
|
+
|
|
375
|
+
// Apply resolution
|
|
376
|
+
await applyResolution(resolution);
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### Communication Deadlocks
|
|
380
|
+
```javascript
|
|
381
|
+
// Detect circular dependencies
|
|
382
|
+
const deadlock = detectDeadlock({
|
|
383
|
+
agents: ['agent-A', 'agent-B', 'agent-C'],
|
|
384
|
+
waitGraph: buildWaitGraph()
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
// Break deadlock using timeout-based resolution
|
|
388
|
+
const deadlockResolution = {
|
|
389
|
+
method: 'timeout-based',
|
|
390
|
+
victim: selectVictim(deadlock), // Lowest priority agent
|
|
391
|
+
action: 'abort-and-retry'
|
|
392
|
+
};
|
|
393
|
+
|
|
394
|
+
await resolveDeadlock(deadlockResolution);
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
## Load Balancing Algorithms
|
|
398
|
+
|
|
399
|
+
### Sublinear Scheduling
|
|
400
|
+
```javascript
|
|
401
|
+
// Use Johnson-Lindenstrauss for workload distribution
|
|
402
|
+
const loadBalancing = sublinearScheduler.balance({
|
|
403
|
+
agents: activeAgents,
|
|
404
|
+
workload: testSuiteWorkload,
|
|
405
|
+
algorithm: 'johnson-lindenstrauss',
|
|
406
|
+
optimization: 'minimize-makespan'
|
|
407
|
+
});
|
|
408
|
+
|
|
409
|
+
// Apply load balancing decisions
|
|
410
|
+
await distributeWorkload(loadBalancing);
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
### Adaptive Load Rebalancing
|
|
414
|
+
```javascript
|
|
415
|
+
// Monitor agent performance in real-time
|
|
416
|
+
const performanceMetrics = await collectMetrics();
|
|
417
|
+
|
|
418
|
+
// Detect imbalance
|
|
419
|
+
if (detectImbalance(performanceMetrics)) {
|
|
420
|
+
// Rebalance using temporal advantage prediction
|
|
421
|
+
const rebalancing = predictOptimalBalance({
|
|
422
|
+
currentMetrics: performanceMetrics,
|
|
423
|
+
algorithm: 'temporal-advantage',
|
|
424
|
+
horizon: '5m'
|
|
425
|
+
});
|
|
426
|
+
|
|
427
|
+
await rebalanceWorkload(rebalancing);
|
|
428
|
+
}
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
## Fault Tolerance & Recovery
|
|
432
|
+
|
|
433
|
+
### Agent Failure Detection
|
|
434
|
+
```javascript
|
|
435
|
+
// Heartbeat monitoring
|
|
436
|
+
const heartbeatMonitor = {
|
|
437
|
+
interval: 5000, // 5 seconds
|
|
438
|
+
timeout: 15000, // 15 seconds
|
|
439
|
+
onFailure: (agentId) => {
|
|
440
|
+
fleetCommander.handleAgentFailure(agentId);
|
|
441
|
+
}
|
|
442
|
+
};
|
|
443
|
+
|
|
444
|
+
// Detect agent failures
|
|
445
|
+
eventBus.subscribe('agent:heartbeat-missed', (event) => {
|
|
446
|
+
const failedAgent = event.agentId;
|
|
447
|
+
|
|
448
|
+
// Attempt recovery
|
|
449
|
+
recoverAgent(failedAgent)
|
|
450
|
+
.catch(() => {
|
|
451
|
+
// Spawn replacement
|
|
452
|
+
spawnReplacementAgent(failedAgent);
|
|
453
|
+
});
|
|
454
|
+
});
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
### State Recovery
|
|
458
|
+
```javascript
|
|
459
|
+
// Persist agent state for recovery
|
|
460
|
+
const persistState = (agentId, state) => {
|
|
461
|
+
memoryManager.store(`aqe/fleet/state/${agentId}`, state);
|
|
462
|
+
};
|
|
463
|
+
|
|
464
|
+
// Restore agent state after failure
|
|
465
|
+
const restoreAgent = async (agentId) => {
|
|
466
|
+
const savedState = await memoryManager.retrieve(`aqe/fleet/state/${agentId}`);
|
|
467
|
+
|
|
468
|
+
const newAgent = await spawnAgent({
|
|
469
|
+
type: savedState.type,
|
|
470
|
+
state: savedState
|
|
471
|
+
});
|
|
472
|
+
|
|
473
|
+
return newAgent;
|
|
474
|
+
};
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
## Auto-Scaling Strategies
|
|
478
|
+
|
|
479
|
+
### Demand-Based Scaling
|
|
480
|
+
```javascript
|
|
481
|
+
// Monitor workload demand
|
|
482
|
+
const demandMetrics = {
|
|
483
|
+
queueLength: 500,
|
|
484
|
+
avgWaitTime: 120, // seconds
|
|
485
|
+
agentUtilization: 0.95
|
|
486
|
+
};
|
|
487
|
+
|
|
488
|
+
// Calculate scaling decision
|
|
489
|
+
const scalingDecision = autoScaler.decide({
|
|
490
|
+
metrics: demandMetrics,
|
|
491
|
+
thresholds: {
|
|
492
|
+
scaleUp: { utilization: 0.85, queueLength: 100 },
|
|
493
|
+
scaleDown: { utilization: 0.30, queueLength: 10 }
|
|
494
|
+
}
|
|
495
|
+
});
|
|
496
|
+
|
|
497
|
+
// Execute scaling
|
|
498
|
+
if (scalingDecision.action === 'scale-up') {
|
|
499
|
+
await scaleUpAgents(scalingDecision.agentType, scalingDecision.count);
|
|
500
|
+
} else if (scalingDecision.action === 'scale-down') {
|
|
501
|
+
await scaleDownAgents(scalingDecision.agentType, scalingDecision.count);
|
|
502
|
+
}
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
### Predictive Scaling
|
|
506
|
+
```javascript
|
|
507
|
+
// Predict future demand using neural patterns
|
|
508
|
+
const demandPrediction = await neuralPredictor.forecast({
|
|
509
|
+
historicalData: loadHistory,
|
|
510
|
+
horizon: '30m',
|
|
511
|
+
confidence: 0.85
|
|
512
|
+
});
|
|
513
|
+
|
|
514
|
+
// Proactively scale before demand spike
|
|
515
|
+
if (demandPrediction.expectedLoad > currentCapacity * 0.8) {
|
|
516
|
+
await scaleUpProactively(demandPrediction);
|
|
517
|
+
}
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
## Performance Monitoring
|
|
521
|
+
|
|
522
|
+
### Real-time Fleet Metrics
|
|
523
|
+
```javascript
|
|
524
|
+
// Collect fleet-wide metrics
|
|
525
|
+
const fleetMetrics = {
|
|
526
|
+
totalAgents: 47,
|
|
527
|
+
activeAgents: 42,
|
|
528
|
+
idleAgents: 5,
|
|
529
|
+
avgCpuUtilization: 0.68,
|
|
530
|
+
avgMemoryUtilization: 0.54,
|
|
531
|
+
totalTasksCompleted: 15234,
|
|
532
|
+
avgTaskCompletionTime: 2.3, // seconds
|
|
533
|
+
failureRate: 0.002 // 0.2%
|
|
534
|
+
};
|
|
535
|
+
|
|
536
|
+
// Store metrics for analysis
|
|
537
|
+
await memoryManager.store('aqe/fleet/metrics/realtime', fleetMetrics);
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
### Performance Analysis
|
|
541
|
+
```javascript
|
|
542
|
+
// Analyze fleet performance trends
|
|
543
|
+
const performanceAnalysis = {
|
|
544
|
+
throughput: calculateThroughput(fleetMetrics),
|
|
545
|
+
efficiency: calculateEfficiency(fleetMetrics),
|
|
546
|
+
bottlenecks: identifyBottlenecks(fleetMetrics),
|
|
547
|
+
recommendations: generateRecommendations(fleetMetrics)
|
|
548
|
+
};
|
|
549
|
+
|
|
550
|
+
// Share analysis with coordination layer
|
|
551
|
+
await eventBus.publish('fleet:performance-analysis', performanceAnalysis);
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
## Example Outputs
|
|
555
|
+
|
|
556
|
+
### Fleet Status Report
|
|
557
|
+
```json
|
|
558
|
+
{
|
|
559
|
+
"fleet_status": "operational",
|
|
560
|
+
"topology": "hierarchical",
|
|
561
|
+
"active_agents": 47,
|
|
562
|
+
"agent_pools": {
|
|
563
|
+
"test-generator": { "active": 8, "idle": 2, "failed": 0 },
|
|
564
|
+
"test-executor": { "active": 15, "idle": 0, "failed": 0 },
|
|
565
|
+
"coverage-analyzer": { "active": 4, "idle": 1, "failed": 0 },
|
|
566
|
+
"quality-gate": { "active": 2, "idle": 1, "failed": 0 },
|
|
567
|
+
"performance-tester": { "active": 3, "idle": 2, "failed": 0 },
|
|
568
|
+
"security-scanner": { "active": 2, "idle": 1, "failed": 0 }
|
|
569
|
+
},
|
|
570
|
+
"resource_utilization": {
|
|
571
|
+
"cpu": "68%",
|
|
572
|
+
"memory": "54%",
|
|
573
|
+
"network": "23%"
|
|
574
|
+
},
|
|
575
|
+
"performance_metrics": {
|
|
576
|
+
"tasks_completed": 15234,
|
|
577
|
+
"avg_completion_time": "2.3s",
|
|
578
|
+
"failure_rate": "0.2%",
|
|
579
|
+
"throughput": "6561 tasks/hour"
|
|
580
|
+
},
|
|
581
|
+
"optimization_status": {
|
|
582
|
+
"load_balanced": true,
|
|
583
|
+
"conflicts_resolved": 12,
|
|
584
|
+
"topology_optimized": true,
|
|
585
|
+
"scaling_active": false
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
### Coordination Decision Log
|
|
591
|
+
```json
|
|
592
|
+
{
|
|
593
|
+
"timestamp": "2025-09-30T10:15:00Z",
|
|
594
|
+
"decision_type": "topology-switch",
|
|
595
|
+
"reason": "workload-complexity-increased",
|
|
596
|
+
"action": {
|
|
597
|
+
"from_topology": "mesh",
|
|
598
|
+
"to_topology": "hierarchical",
|
|
599
|
+
"affected_agents": 47,
|
|
600
|
+
"reconfiguration_time": "3.2s"
|
|
601
|
+
},
|
|
602
|
+
"outcome": {
|
|
603
|
+
"performance_improvement": "28%",
|
|
604
|
+
"latency_reduction": "15%",
|
|
605
|
+
"resource_efficiency": "+12%"
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
## Commands
|
|
611
|
+
|
|
612
|
+
### Basic Operations
|
|
613
|
+
```bash
|
|
614
|
+
# Initialize fleet commander
|
|
615
|
+
agentic-qe agent spawn --name qe-fleet-commander --type fleet-commander
|
|
616
|
+
|
|
617
|
+
# Check fleet status
|
|
618
|
+
agentic-qe fleet status
|
|
619
|
+
|
|
620
|
+
# Monitor fleet metrics
|
|
621
|
+
agentic-qe fleet monitor --mode real-time
|
|
622
|
+
|
|
623
|
+
# Get fleet health report
|
|
624
|
+
agentic-qe fleet health --detailed
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
### Advanced Operations
|
|
628
|
+
```bash
|
|
629
|
+
# Scale agent pool
|
|
630
|
+
agentic-qe fleet scale --agent-type test-executor --count 20
|
|
631
|
+
|
|
632
|
+
# Change topology
|
|
633
|
+
agentic-qe fleet topology --mode hierarchical
|
|
634
|
+
|
|
635
|
+
# Rebalance workload
|
|
636
|
+
agentic-qe fleet rebalance --algorithm sublinear
|
|
637
|
+
|
|
638
|
+
# Resolve conflicts
|
|
639
|
+
agentic-qe fleet resolve-conflicts --strategy priority-weighted
|
|
640
|
+
|
|
641
|
+
# Generate performance report
|
|
642
|
+
agentic-qe fleet report --type performance --period 24h
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
### Emergency Operations
|
|
646
|
+
```bash
|
|
647
|
+
# Emergency stop all agents
|
|
648
|
+
agentic-qe fleet emergency-stop
|
|
649
|
+
|
|
650
|
+
# Restart failed agents
|
|
651
|
+
agentic-qe fleet recover --failed-agents
|
|
652
|
+
|
|
653
|
+
# Reset fleet to default state
|
|
654
|
+
agentic-qe fleet reset --preserve-config
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
## Quality Metrics
|
|
658
|
+
|
|
659
|
+
- **Agent Uptime**: Target 99.9% availability
|
|
660
|
+
- **Resource Efficiency**: 75% average utilization
|
|
661
|
+
- **Conflict Resolution**: <5 seconds resolution time
|
|
662
|
+
- **Load Balance**: <15% variance across agents
|
|
663
|
+
- **Failure Recovery**: <10 seconds recovery time
|
|
664
|
+
- **Scaling Latency**: <5 seconds for 10 agents
|
|
665
|
+
- **Coordination Overhead**: <5% of total execution time
|
|
666
|
+
|
|
667
|
+
## Integration with QE Fleet
|
|
668
|
+
|
|
669
|
+
This agent serves as the central orchestrator for the entire Agentic QE Fleet through:
|
|
670
|
+
- **EventBus**: Real-time coordination and command distribution
|
|
671
|
+
- **MemoryManager**: Persistent state and configuration management
|
|
672
|
+
- **FleetManager**: Direct lifecycle control of all QE agents
|
|
673
|
+
- **Neural Network**: Predictive optimization for workload distribution
|
|
674
|
+
- **Sublinear Scheduler**: O(log n) scheduling and load balancing algorithms
|
|
675
|
+
|
|
676
|
+
## Advanced Features
|
|
677
|
+
|
|
678
|
+
### Adaptive Topology Switching
|
|
679
|
+
Automatically switches between hierarchical, mesh, and hybrid topologies based on:
|
|
680
|
+
- Workload complexity patterns
|
|
681
|
+
- Communication overhead metrics
|
|
682
|
+
- Agent failure rates
|
|
683
|
+
- Performance bottlenecks
|
|
684
|
+
|
|
685
|
+
### Self-Healing Coordination
|
|
686
|
+
Detects and recovers from:
|
|
687
|
+
- Agent crashes and hangs
|
|
688
|
+
- Communication deadlocks
|
|
689
|
+
- Resource exhaustion
|
|
690
|
+
- Network partitions
|
|
691
|
+
|
|
692
|
+
### Predictive Optimization
|
|
693
|
+
Uses neural patterns to:
|
|
694
|
+
- Predict workload demand spikes
|
|
695
|
+
- Optimize agent allocation proactively
|
|
696
|
+
- Prevent resource conflicts before they occur
|
|
697
|
+
- Minimize total coordination overhead
|