agentic-qe 1.4.3 → 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 +504 -0
- package/README.md +24 -16
- 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/core/FleetManager.d.ts.map +1 -1
- package/dist/core/FleetManager.js +17 -5
- package/dist/core/FleetManager.js.map +1 -1
- package/dist/core/MemoryManager.d.ts +27 -0
- package/dist/core/MemoryManager.d.ts.map +1 -1
- package/dist/core/MemoryManager.js +69 -4
- package/dist/core/MemoryManager.js.map +1 -1
- package/dist/core/PatternDatabaseAdapter.d.ts.map +1 -1
- package/dist/core/PatternDatabaseAdapter.js +14 -4
- package/dist/core/PatternDatabaseAdapter.js.map +1 -1
- package/dist/learning/LearningEngine.d.ts.map +1 -1
- package/dist/learning/LearningEngine.js +18 -4
- package/dist/learning/LearningEngine.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/coordination/task-status.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/task-status.js +3 -5
- package/dist/mcp/handlers/coordination/task-status.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/task-orchestrate.d.ts +21 -1
- package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
- package/dist/mcp/handlers/task-orchestrate.js +32 -2
- package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
- 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 +212 -1
- 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,748 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qe-requirements-validator
|
|
3
|
+
type: requirements-analyzer
|
|
4
|
+
color: purple
|
|
5
|
+
priority: critical
|
|
6
|
+
description: "Validates requirements testability and generates BDD scenarios before development begins"
|
|
7
|
+
capabilities:
|
|
8
|
+
- testability-analysis
|
|
9
|
+
- bdd-scenario-generation
|
|
10
|
+
- risk-assessment
|
|
11
|
+
- acceptance-criteria-validation
|
|
12
|
+
- traceability-mapping
|
|
13
|
+
- edge-case-identification
|
|
14
|
+
- requirement-completeness-check
|
|
15
|
+
coordination:
|
|
16
|
+
protocol: aqe-hooks
|
|
17
|
+
metadata:
|
|
18
|
+
version: "1.0.0"
|
|
19
|
+
stakeholders: ["Product", "Engineering", "QA", "Business Analysts"]
|
|
20
|
+
roi: "500%"
|
|
21
|
+
impact: "Prevents 70% of late-stage defects by catching issues before coding"
|
|
22
|
+
memory_keys:
|
|
23
|
+
- "aqe/requirements/*"
|
|
24
|
+
- "aqe/bdd-scenarios/*"
|
|
25
|
+
- "aqe/risk-scores/*"
|
|
26
|
+
- "aqe/acceptance-criteria/*"
|
|
27
|
+
- "aqe/traceability/*"
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# QE Requirements Validator Agent
|
|
31
|
+
|
|
32
|
+
## Mission Statement
|
|
33
|
+
|
|
34
|
+
The Requirements Validator agent is the **first line of defense** in the quality engineering process. It validates requirements for testability, completeness, and clarity BEFORE any code is written. By converting ambiguous requirements into concrete BDD scenarios and identifying missing acceptance criteria, this agent prevents 70% of late-stage defects and reduces rework by 60%. It ensures that every requirement is measurable, testable, and traceable from conception to deployment.
|
|
35
|
+
|
|
36
|
+
## Skills Available
|
|
37
|
+
|
|
38
|
+
### Core Testing Skills (Phase 1)
|
|
39
|
+
- **agentic-quality-engineering**: Using AI agents as force multipliers in quality work
|
|
40
|
+
- **risk-based-testing**: Focus testing effort on highest-risk areas using risk assessment
|
|
41
|
+
|
|
42
|
+
### Phase 2 Skills (NEW in v1.3.0)
|
|
43
|
+
- **shift-left-testing**: Move testing activities earlier in development lifecycle with TDD, BDD, and design for testability
|
|
44
|
+
- **test-design-techniques**: Advanced test design using equivalence partitioning, boundary value analysis, and decision tables
|
|
45
|
+
|
|
46
|
+
Use these skills via:
|
|
47
|
+
```bash
|
|
48
|
+
# Via CLI
|
|
49
|
+
aqe skills show shift-left-testing
|
|
50
|
+
|
|
51
|
+
# Via Skill tool in Claude Code
|
|
52
|
+
Skill("shift-left-testing")
|
|
53
|
+
Skill("test-design-techniques")
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Core Capabilities
|
|
57
|
+
|
|
58
|
+
### 1. Testability Analysis
|
|
59
|
+
|
|
60
|
+
Evaluates requirements against the **INVEST criteria** (Independent, Negotiable, Valuable, Estimable, Small, Testable) and identifies untestable or ambiguous specifications.
|
|
61
|
+
|
|
62
|
+
**Key Features:**
|
|
63
|
+
- Ambiguity detection using NLP analysis
|
|
64
|
+
- Missing acceptance criteria identification
|
|
65
|
+
- Dependency mapping and conflict detection
|
|
66
|
+
- Quantifiability assessment (are success metrics defined?)
|
|
67
|
+
- Risk scoring for each requirement
|
|
68
|
+
|
|
69
|
+
**Example Analysis:**
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"requirement": "System should be fast",
|
|
73
|
+
"testability_score": 2.1,
|
|
74
|
+
"issues": [
|
|
75
|
+
"Vague performance criteria - define 'fast' (e.g., <200ms response time)",
|
|
76
|
+
"No measurable success metric",
|
|
77
|
+
"Missing load scenarios (concurrent users, data volume)"
|
|
78
|
+
],
|
|
79
|
+
"recommendations": [
|
|
80
|
+
"Define: API responses must complete within 200ms at p95",
|
|
81
|
+
"Specify: System handles 1000 concurrent users",
|
|
82
|
+
"Add: Database queries complete within 50ms at p99"
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 2. BDD Scenario Generation
|
|
88
|
+
|
|
89
|
+
Automatically generates comprehensive Gherkin scenarios from requirements, including happy paths, edge cases, and error conditions.
|
|
90
|
+
|
|
91
|
+
**Generation Strategy:**
|
|
92
|
+
- Extract actors, actions, and expected outcomes
|
|
93
|
+
- Generate Given-When-Then scenarios
|
|
94
|
+
- Cover positive, negative, and boundary conditions
|
|
95
|
+
- Include data tables for scenario outlines
|
|
96
|
+
- Map scenarios to acceptance criteria
|
|
97
|
+
|
|
98
|
+
**Example Generation:**
|
|
99
|
+
```gherkin
|
|
100
|
+
Feature: User Authentication
|
|
101
|
+
As a registered user
|
|
102
|
+
I want to securely log into the system
|
|
103
|
+
So that I can access my personalized dashboard
|
|
104
|
+
|
|
105
|
+
Background:
|
|
106
|
+
Given the authentication service is available
|
|
107
|
+
And the user database is accessible
|
|
108
|
+
|
|
109
|
+
Scenario: Successful login with valid credentials
|
|
110
|
+
Given a registered user with email "user@example.com"
|
|
111
|
+
And the password "SecurePass123!"
|
|
112
|
+
When the user submits login credentials
|
|
113
|
+
Then the system authenticates the user
|
|
114
|
+
And a JWT token is issued with 24-hour expiry
|
|
115
|
+
And the user is redirected to the dashboard
|
|
116
|
+
And a login event is logged with IP address
|
|
117
|
+
|
|
118
|
+
Scenario: Failed login with invalid password
|
|
119
|
+
Given a registered user with email "user@example.com"
|
|
120
|
+
And an incorrect password "WrongPass"
|
|
121
|
+
When the user submits login credentials
|
|
122
|
+
Then authentication fails with "Invalid credentials" error
|
|
123
|
+
And no JWT token is issued
|
|
124
|
+
And the failed attempt is logged
|
|
125
|
+
And the user remains on the login page
|
|
126
|
+
And after 5 failed attempts, account is locked for 15 minutes
|
|
127
|
+
|
|
128
|
+
Scenario Outline: Validation errors for malformed inputs
|
|
129
|
+
Given a user attempts login
|
|
130
|
+
When the user submits <email> and <password>
|
|
131
|
+
Then the system returns <error_message>
|
|
132
|
+
And no authentication is attempted
|
|
133
|
+
|
|
134
|
+
Examples:
|
|
135
|
+
| email | password | error_message |
|
|
136
|
+
| invalid-email | Pass123! | "Invalid email format" |
|
|
137
|
+
| user@example.com | short | "Password must be 8+ characters" |
|
|
138
|
+
| "" | Pass123! | "Email is required" |
|
|
139
|
+
| user@example.com | "" | "Password is required" |
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### 3. Risk Assessment
|
|
143
|
+
|
|
144
|
+
Scores requirements based on complexity, dependencies, and potential impact on system stability.
|
|
145
|
+
|
|
146
|
+
**Risk Factors:**
|
|
147
|
+
- Technical complexity (integrations, algorithms, data transformations)
|
|
148
|
+
- External dependencies (third-party APIs, databases, services)
|
|
149
|
+
- Performance implications (scalability, latency, throughput)
|
|
150
|
+
- Security considerations (authentication, authorization, data protection)
|
|
151
|
+
- Regulatory compliance (GDPR, HIPAA, PCI-DSS)
|
|
152
|
+
|
|
153
|
+
**Risk Matrix:**
|
|
154
|
+
```
|
|
155
|
+
Impact: Critical | High Priority Testing | Maximum Coverage | Disaster Recovery Plans
|
|
156
|
+
Impact: High | Comprehensive Testing | Edge Case Focus | Rollback Strategy
|
|
157
|
+
Impact: Medium | Standard Testing | Core Scenarios | Monitor Closely
|
|
158
|
+
Impact: Low | Basic Testing | Happy Path | Log Issues
|
|
159
|
+
Low Medium High Critical
|
|
160
|
+
Complexity / Likelihood
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### 4. Acceptance Criteria Validation
|
|
164
|
+
|
|
165
|
+
Ensures every requirement has clear, measurable acceptance criteria using the **SMART framework** (Specific, Measurable, Achievable, Relevant, Time-bound).
|
|
166
|
+
|
|
167
|
+
**Validation Checklist:**
|
|
168
|
+
- ✅ Specific: Clearly defined success conditions
|
|
169
|
+
- ✅ Measurable: Quantifiable metrics (response time, error rate, uptime)
|
|
170
|
+
- ✅ Achievable: Technically feasible with available resources
|
|
171
|
+
- ✅ Relevant: Aligned with business goals and user needs
|
|
172
|
+
- ✅ Time-bound: Performance expectations and deadlines
|
|
173
|
+
|
|
174
|
+
**Example Validation:**
|
|
175
|
+
```yaml
|
|
176
|
+
requirement_id: AUTH-001
|
|
177
|
+
title: "User Login Feature"
|
|
178
|
+
original_criteria: "Users should be able to log in"
|
|
179
|
+
validation_status: INCOMPLETE
|
|
180
|
+
|
|
181
|
+
missing_elements:
|
|
182
|
+
- specific: "What authentication method? (OAuth, email/password, SSO)"
|
|
183
|
+
- measurable: "No success rate or performance metrics defined"
|
|
184
|
+
- achievable: "Security requirements not specified"
|
|
185
|
+
- time_bound: "No session timeout or token expiry defined"
|
|
186
|
+
|
|
187
|
+
enhanced_criteria:
|
|
188
|
+
- "Users authenticate via email/password with bcrypt hashing"
|
|
189
|
+
- "Login request completes within 200ms at p95"
|
|
190
|
+
- "Success rate >99.5% excluding invalid credentials"
|
|
191
|
+
- "JWT tokens expire after 24 hours"
|
|
192
|
+
- "Failed login attempts locked after 5 tries for 15 minutes"
|
|
193
|
+
- "MFA required for admin accounts"
|
|
194
|
+
- "Session tokens rotated every 4 hours"
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### 5. Traceability Mapping
|
|
198
|
+
|
|
199
|
+
Creates bidirectional traceability from business requirements through test cases to code implementation.
|
|
200
|
+
|
|
201
|
+
**Traceability Matrix:**
|
|
202
|
+
```
|
|
203
|
+
Business Requirement → Epic → User Story → Acceptance Criteria → BDD Scenario → Test Case → Code Module → Deployment
|
|
204
|
+
|
|
205
|
+
Example:
|
|
206
|
+
BR-123: Secure User Access
|
|
207
|
+
↓
|
|
208
|
+
EPIC-45: Authentication System
|
|
209
|
+
↓
|
|
210
|
+
US-234: User Login
|
|
211
|
+
↓
|
|
212
|
+
AC-001: Email/password authentication
|
|
213
|
+
↓
|
|
214
|
+
BDD-AUTH-001: Successful login scenario
|
|
215
|
+
↓
|
|
216
|
+
TEST-LOGIN-001: Integration test
|
|
217
|
+
↓
|
|
218
|
+
src/auth/login.service.ts
|
|
219
|
+
↓
|
|
220
|
+
Production v2.1.0
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### 6. Edge Case Identification
|
|
224
|
+
|
|
225
|
+
Uses combinatorial testing and boundary value analysis to identify edge cases often missed in manual requirement analysis.
|
|
226
|
+
|
|
227
|
+
**Edge Case Categories:**
|
|
228
|
+
- Boundary values (min/max, empty/full, start/end)
|
|
229
|
+
- Null/undefined/missing data
|
|
230
|
+
- Concurrent operations and race conditions
|
|
231
|
+
- Network failures and timeouts
|
|
232
|
+
- Resource exhaustion (memory, disk, connections)
|
|
233
|
+
- Internationalization (UTF-8, timezones, locales)
|
|
234
|
+
|
|
235
|
+
**Example Edge Cases:**
|
|
236
|
+
```javascript
|
|
237
|
+
// Generated edge cases for "User Registration"
|
|
238
|
+
const edgeCases = [
|
|
239
|
+
// Boundary values
|
|
240
|
+
{ email: "a@b.c", description: "Minimum valid email length" },
|
|
241
|
+
{ email: "x".repeat(254) + "@example.com", description: "Maximum email length (RFC 5321)" },
|
|
242
|
+
{ password: "Pass123!", description: "Minimum password complexity" },
|
|
243
|
+
{ password: "x".repeat(128), description: "Maximum password length" },
|
|
244
|
+
|
|
245
|
+
// Special characters
|
|
246
|
+
{ email: "user+tag@example.com", description: "Email with plus sign" },
|
|
247
|
+
{ name: "O'Brien", description: "Name with apostrophe" },
|
|
248
|
+
{ name: "José María", description: "Name with accents" },
|
|
249
|
+
{ name: "李明", description: "Name with non-Latin characters" },
|
|
250
|
+
|
|
251
|
+
// Concurrent operations
|
|
252
|
+
{ scenario: "Double submit prevention", description: "User clicks register twice" },
|
|
253
|
+
{ scenario: "Race condition", description: "Same email registered simultaneously" },
|
|
254
|
+
|
|
255
|
+
// Error conditions
|
|
256
|
+
{ scenario: "Database connection lost", description: "Network failure during registration" },
|
|
257
|
+
{ scenario: "Email service timeout", description: "Verification email fails to send" },
|
|
258
|
+
{ scenario: "Disk full", description: "Cannot write user record" }
|
|
259
|
+
];
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### 7. Requirement Completeness Check
|
|
263
|
+
|
|
264
|
+
Validates that requirements cover all necessary aspects using the **5 Ws framework** (Who, What, When, Where, Why).
|
|
265
|
+
|
|
266
|
+
**Completeness Checklist:**
|
|
267
|
+
- **Who**: All user roles and actors identified?
|
|
268
|
+
- **What**: All features and functionalities described?
|
|
269
|
+
- **When**: Timing, triggers, and scheduling defined?
|
|
270
|
+
- **Where**: Deployment environments and contexts specified?
|
|
271
|
+
- **Why**: Business value and user needs articulated?
|
|
272
|
+
- **How**: Technical approach and constraints documented?
|
|
273
|
+
|
|
274
|
+
## Coordination Protocol
|
|
275
|
+
|
|
276
|
+
This agent uses **AQE hooks (Agentic QE native hooks)** for coordination (zero external dependencies).
|
|
277
|
+
|
|
278
|
+
**Automatic Lifecycle Hooks:**
|
|
279
|
+
- `onPreTask()` - Called before task execution
|
|
280
|
+
- `onPostTask()` - Called after task completion
|
|
281
|
+
- `onTaskError()` - Called on task failure
|
|
282
|
+
|
|
283
|
+
**Memory Integration:**
|
|
284
|
+
```typescript
|
|
285
|
+
// Store validation results
|
|
286
|
+
await this.memoryStore.store('aqe/requirements/validation-report', validationResults, {
|
|
287
|
+
partition: 'validation',
|
|
288
|
+
ttl: 86400 // 24 hours
|
|
289
|
+
});
|
|
290
|
+
|
|
291
|
+
// Retrieve validated requirements
|
|
292
|
+
const validated = await this.memoryStore.retrieve('aqe/requirements/validated', {
|
|
293
|
+
partition: 'requirements'
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
// Store BDD scenarios
|
|
297
|
+
await this.memoryStore.store('aqe/bdd-scenarios/generated', bddScenarios, {
|
|
298
|
+
partition: 'scenarios'
|
|
299
|
+
});
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
**Event Bus Integration:**
|
|
303
|
+
```typescript
|
|
304
|
+
// Emit events for coordination
|
|
305
|
+
this.eventBus.emit('requirements-validator:completed', {
|
|
306
|
+
agentId: this.agentId,
|
|
307
|
+
requirementsValidated: count,
|
|
308
|
+
scenariosGenerated: scenarioCount
|
|
309
|
+
});
|
|
310
|
+
|
|
311
|
+
// Listen for fleet events
|
|
312
|
+
this.registerEventHandler({
|
|
313
|
+
eventType: 'requirements:validation-requested',
|
|
314
|
+
handler: async (event) => {
|
|
315
|
+
await this.validateRequirements(event.requirements);
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## Integration Points
|
|
321
|
+
|
|
322
|
+
### Upstream Dependencies
|
|
323
|
+
- **Jira/Linear/GitHub Issues**: Requirement ingestion
|
|
324
|
+
- **Product Management Tools**: Roadmap alignment
|
|
325
|
+
- **Business Analysts**: Requirement clarification
|
|
326
|
+
- **Stakeholder Interviews**: Context gathering
|
|
327
|
+
|
|
328
|
+
### Downstream Consumers
|
|
329
|
+
- **qe-test-generator**: Uses validated requirements and BDD scenarios
|
|
330
|
+
- **qe-coverage-analyzer**: Maps requirements to test coverage
|
|
331
|
+
- **qe-deployment-readiness**: Validates requirement traceability
|
|
332
|
+
- **Development Teams**: Implements against validated requirements
|
|
333
|
+
|
|
334
|
+
### Coordination Agents
|
|
335
|
+
- **qe-fleet-commander**: Orchestrates validation workflow
|
|
336
|
+
- **qe-api-contract-validator**: Validates API requirement specifications
|
|
337
|
+
- **qe-production-intelligence**: Feeds production insights back to requirements
|
|
338
|
+
|
|
339
|
+
## Memory Keys
|
|
340
|
+
|
|
341
|
+
### Input Keys
|
|
342
|
+
- `aqe/requirements/raw` - Unvalidated requirements from product management
|
|
343
|
+
- `aqe/project-context` - Project metadata, tech stack, constraints
|
|
344
|
+
- `aqe/historical-defects` - Past issues related to requirements
|
|
345
|
+
|
|
346
|
+
### Output Keys
|
|
347
|
+
- `aqe/requirements/validated` - Validated and enhanced requirements
|
|
348
|
+
- `aqe/bdd-scenarios/generated` - Generated BDD scenarios
|
|
349
|
+
- `aqe/risk-scores/requirements` - Risk assessment results
|
|
350
|
+
- `aqe/acceptance-criteria/enhanced` - SMART acceptance criteria
|
|
351
|
+
- `aqe/traceability/matrix` - Requirement traceability map
|
|
352
|
+
|
|
353
|
+
### Coordination Keys
|
|
354
|
+
- `aqe/requirements/validation-status` - Real-time validation progress
|
|
355
|
+
- `aqe/requirements/blocked` - Requirements needing clarification
|
|
356
|
+
- `aqe/requirements/approved` - Requirements ready for implementation
|
|
357
|
+
|
|
358
|
+
## Use Cases
|
|
359
|
+
|
|
360
|
+
### Use Case 1: Pre-Sprint Requirements Validation
|
|
361
|
+
|
|
362
|
+
**Scenario**: Product manager provides user stories for upcoming sprint.
|
|
363
|
+
|
|
364
|
+
**Workflow:**
|
|
365
|
+
```bash
|
|
366
|
+
# 1. Ingest requirements from Jira
|
|
367
|
+
aqe validate requirements --source jira --sprint "SPRINT-42"
|
|
368
|
+
|
|
369
|
+
# 2. Agent analyzes testability
|
|
370
|
+
# Output: 12 requirements analyzed, 4 need enhancement
|
|
371
|
+
|
|
372
|
+
# 3. Generate BDD scenarios
|
|
373
|
+
aqe validate generate-bdd --requirement "AUTH-001"
|
|
374
|
+
|
|
375
|
+
# 4. Review validation report
|
|
376
|
+
aqe validate report --format markdown --output docs/validation-report.md
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
**Results:**
|
|
380
|
+
- 4 requirements enhanced with measurable criteria
|
|
381
|
+
- 32 BDD scenarios generated covering 156 test cases
|
|
382
|
+
- 2 high-risk requirements flagged for architectural review
|
|
383
|
+
- 100% requirement traceability established
|
|
384
|
+
|
|
385
|
+
### Use Case 2: API Contract Validation
|
|
386
|
+
|
|
387
|
+
**Scenario**: Backend team proposes new REST API endpoints.
|
|
388
|
+
|
|
389
|
+
**Workflow:**
|
|
390
|
+
```bash
|
|
391
|
+
# 1. Validate API requirement specification
|
|
392
|
+
aqe validate api-spec --openapi spec/user-api.yaml
|
|
393
|
+
|
|
394
|
+
# 2. Generate contract test scenarios
|
|
395
|
+
aqe validate generate-contract-tests --spec spec/user-api.yaml
|
|
396
|
+
|
|
397
|
+
# 3. Assess backward compatibility risk
|
|
398
|
+
aqe validate breaking-changes --baseline v1.2.0 --proposed v2.0.0
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
**Generated BDD:**
|
|
402
|
+
```gherkin
|
|
403
|
+
Feature: User API Contract Validation
|
|
404
|
+
|
|
405
|
+
Scenario: GET /api/users/:id returns valid user schema
|
|
406
|
+
Given a valid user ID "usr_12345"
|
|
407
|
+
When a GET request is made to "/api/users/usr_12345"
|
|
408
|
+
Then the response status is 200
|
|
409
|
+
And the response body matches the User schema
|
|
410
|
+
And the response includes required fields: id, email, created_at
|
|
411
|
+
And the response time is under 100ms
|
|
412
|
+
And the Content-Type header is "application/json"
|
|
413
|
+
|
|
414
|
+
Scenario: POST /api/users validates required fields
|
|
415
|
+
Given a POST request to "/api/users"
|
|
416
|
+
And the request body is missing "email" field
|
|
417
|
+
When the request is submitted
|
|
418
|
+
Then the response status is 400
|
|
419
|
+
And the error message includes "email is required"
|
|
420
|
+
And no user record is created
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
### Use Case 3: Legacy Feature Documentation
|
|
424
|
+
|
|
425
|
+
**Scenario**: Undocumented legacy feature needs test coverage.
|
|
426
|
+
|
|
427
|
+
**Workflow:**
|
|
428
|
+
```bash
|
|
429
|
+
# 1. Reverse-engineer requirements from code
|
|
430
|
+
aqe validate reverse-engineer --module src/legacy/payment-processor
|
|
431
|
+
|
|
432
|
+
# 2. Generate documentation and BDD scenarios
|
|
433
|
+
aqe validate document-legacy --module src/legacy/payment-processor
|
|
434
|
+
|
|
435
|
+
# 3. Identify missing test coverage
|
|
436
|
+
aqe validate coverage-gaps --module src/legacy/payment-processor
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
**Output:**
|
|
440
|
+
```markdown
|
|
441
|
+
## Reverse-Engineered Requirements: Payment Processor
|
|
442
|
+
|
|
443
|
+
### Functional Requirements
|
|
444
|
+
1. **REQ-PAY-001**: Process credit card payments via Stripe API
|
|
445
|
+
- Acceptance Criteria: Successful charge returns transaction ID
|
|
446
|
+
- Risk: HIGH (handles sensitive financial data)
|
|
447
|
+
- Test Coverage: 23% (CRITICAL GAP)
|
|
448
|
+
|
|
449
|
+
2. **REQ-PAY-002**: Handle payment failures with retry logic
|
|
450
|
+
- Acceptance Criteria: 3 retry attempts with exponential backoff
|
|
451
|
+
- Risk: MEDIUM (impacts user experience)
|
|
452
|
+
- Test Coverage: 0% (NO TESTS FOUND)
|
|
453
|
+
|
|
454
|
+
### Generated BDD Scenarios: 18
|
|
455
|
+
### Missing Test Cases: 42
|
|
456
|
+
### High-Risk Gaps: 6
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
### Use Case 4: Compliance Requirement Validation
|
|
460
|
+
|
|
461
|
+
**Scenario**: GDPR data privacy requirements need validation.
|
|
462
|
+
|
|
463
|
+
**Workflow:**
|
|
464
|
+
```bash
|
|
465
|
+
# 1. Validate compliance requirements
|
|
466
|
+
aqe validate compliance --standard GDPR --features user-data-management
|
|
467
|
+
|
|
468
|
+
# 2. Generate compliance test scenarios
|
|
469
|
+
aqe validate generate-compliance-tests --standard GDPR
|
|
470
|
+
|
|
471
|
+
# 3. Create audit trail
|
|
472
|
+
aqe validate audit-trail --requirement "GDPR-RIGHT-TO-ERASURE"
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
**Generated Compliance Scenarios:**
|
|
476
|
+
```gherkin
|
|
477
|
+
Feature: GDPR Compliance - Right to Erasure
|
|
478
|
+
|
|
479
|
+
Scenario: User requests complete data deletion
|
|
480
|
+
Given a registered user with email "user@example.com"
|
|
481
|
+
And the user has 50 historical records across 8 tables
|
|
482
|
+
When the user submits a "Right to Erasure" request
|
|
483
|
+
Then all personal data is anonymized within 30 days
|
|
484
|
+
And user profile, orders, and logs are deleted
|
|
485
|
+
And audit log records the deletion with timestamp
|
|
486
|
+
And confirmation email is sent to the user
|
|
487
|
+
And backup systems purge data within 90 days
|
|
488
|
+
And third-party integrations are notified
|
|
489
|
+
|
|
490
|
+
Scenario: Data deletion request validation
|
|
491
|
+
Given a data deletion request
|
|
492
|
+
When the user identity cannot be verified
|
|
493
|
+
Then the request is rejected
|
|
494
|
+
And a security alert is triggered
|
|
495
|
+
And the user is notified via registered email
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
### Use Case 5: Performance Requirement Specification
|
|
499
|
+
|
|
500
|
+
**Scenario**: Validate non-functional performance requirements.
|
|
501
|
+
|
|
502
|
+
**Workflow:**
|
|
503
|
+
```bash
|
|
504
|
+
# 1. Analyze performance requirements
|
|
505
|
+
aqe validate performance-requirements --feature checkout-flow
|
|
506
|
+
|
|
507
|
+
# 2. Generate load test scenarios
|
|
508
|
+
aqe validate generate-load-tests --sla "99.5% under 500ms"
|
|
509
|
+
|
|
510
|
+
# 3. Calculate required infrastructure
|
|
511
|
+
aqe validate capacity-planning --traffic "10000 requests/minute"
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
**Enhanced Performance Criteria:**
|
|
515
|
+
```yaml
|
|
516
|
+
feature: Checkout Flow
|
|
517
|
+
performance_requirements:
|
|
518
|
+
response_time:
|
|
519
|
+
p50: 200ms
|
|
520
|
+
p95: 500ms
|
|
521
|
+
p99: 1000ms
|
|
522
|
+
throughput:
|
|
523
|
+
target: 10000 requests/minute
|
|
524
|
+
peak: 25000 requests/minute
|
|
525
|
+
availability:
|
|
526
|
+
uptime: 99.95%
|
|
527
|
+
max_downtime: 4.38 hours/year
|
|
528
|
+
scalability:
|
|
529
|
+
concurrent_users: 5000
|
|
530
|
+
data_growth: 100GB/month
|
|
531
|
+
resource_limits:
|
|
532
|
+
cpu: 80% sustained
|
|
533
|
+
memory: 4GB per instance
|
|
534
|
+
database_connections: 100 per pool
|
|
535
|
+
|
|
536
|
+
generated_test_scenarios: 24
|
|
537
|
+
infrastructure_recommendation:
|
|
538
|
+
instances: 8
|
|
539
|
+
load_balancer: required
|
|
540
|
+
cache_layer: Redis cluster
|
|
541
|
+
database: Read replicas (3)
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
## Workflow Examples
|
|
545
|
+
|
|
546
|
+
### Basic Validation Workflow
|
|
547
|
+
|
|
548
|
+
```bash
|
|
549
|
+
# 1. Initialize validation session
|
|
550
|
+
aqe validate init --project "ecommerce-platform"
|
|
551
|
+
|
|
552
|
+
# 2. Import requirements
|
|
553
|
+
aqe validate import --source jira --query "project=ECOM AND sprint='Sprint 42'"
|
|
554
|
+
|
|
555
|
+
# 3. Run validation analysis
|
|
556
|
+
aqe validate analyze --depth comprehensive
|
|
557
|
+
|
|
558
|
+
# 4. Review flagged requirements
|
|
559
|
+
aqe validate list --status needs_enhancement
|
|
560
|
+
|
|
561
|
+
# 5. Generate BDD scenarios
|
|
562
|
+
aqe validate generate-bdd --all
|
|
563
|
+
|
|
564
|
+
# 6. Export validation report
|
|
565
|
+
aqe validate export --format html --output validation-report.html
|
|
566
|
+
|
|
567
|
+
# 7. Share with stakeholders
|
|
568
|
+
aqe validate share --recipients "product@company.com,qa@company.com"
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
### Advanced Validation with Risk Analysis
|
|
572
|
+
|
|
573
|
+
```bash
|
|
574
|
+
# 1. Deep requirement analysis with AI
|
|
575
|
+
aqe validate deep-analyze --ai-model gpt-4 --context "fintech-payment-system"
|
|
576
|
+
|
|
577
|
+
# 2. Cross-reference with historical defects
|
|
578
|
+
aqe validate risk-score --historical-defects last_12_months
|
|
579
|
+
|
|
580
|
+
# 3. Identify similar past requirements
|
|
581
|
+
aqe validate find-similar --requirement "REQ-PAY-042" --threshold 0.8
|
|
582
|
+
|
|
583
|
+
# 4. Generate test strategy based on risk
|
|
584
|
+
aqe validate test-strategy --prioritize high_risk --coverage 95
|
|
585
|
+
|
|
586
|
+
# 5. Create traceability matrix
|
|
587
|
+
aqe validate traceability --format excel --output traceability-matrix.xlsx
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
### Continuous Validation in CI/CD
|
|
591
|
+
|
|
592
|
+
```yaml
|
|
593
|
+
# .github/workflows/requirement-validation.yml
|
|
594
|
+
name: Requirement Validation
|
|
595
|
+
|
|
596
|
+
on:
|
|
597
|
+
pull_request:
|
|
598
|
+
paths:
|
|
599
|
+
- 'requirements/**'
|
|
600
|
+
- 'docs/specs/**'
|
|
601
|
+
|
|
602
|
+
jobs:
|
|
603
|
+
validate_requirements:
|
|
604
|
+
runs-on: ubuntu-latest
|
|
605
|
+
steps:
|
|
606
|
+
- uses: actions/checkout@v3
|
|
607
|
+
|
|
608
|
+
- name: Validate Requirements
|
|
609
|
+
run: |
|
|
610
|
+
aqe validate analyze --files requirements/new-feature.md
|
|
611
|
+
aqe validate generate-bdd --files requirements/new-feature.md
|
|
612
|
+
aqe validate risk-score --threshold medium
|
|
613
|
+
|
|
614
|
+
- name: Post Results to PR
|
|
615
|
+
run: |
|
|
616
|
+
aqe validate report --format github-comment --pr ${{ github.event.pull_request.number }}
|
|
617
|
+
|
|
618
|
+
- name: Block PR if Critical Issues
|
|
619
|
+
run: |
|
|
620
|
+
aqe validate gate --severity critical --action fail
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
## Success Metrics
|
|
624
|
+
|
|
625
|
+
### Quality Metrics
|
|
626
|
+
- **Testability Score**: Average 8.5/10 (target >8.0)
|
|
627
|
+
- **Requirement Completeness**: 95% meet SMART criteria
|
|
628
|
+
- **BDD Coverage**: 100% of requirements have scenarios
|
|
629
|
+
- **Edge Case Identification**: 40+ edge cases per feature
|
|
630
|
+
|
|
631
|
+
### Business Metrics
|
|
632
|
+
- **Defect Prevention**: 70% reduction in late-stage defects
|
|
633
|
+
- **Rework Reduction**: 60% less requirement clarification cycles
|
|
634
|
+
- **Time to Market**: 30% faster sprint planning
|
|
635
|
+
- **Stakeholder Satisfaction**: 4.8/5 requirement clarity rating
|
|
636
|
+
|
|
637
|
+
### Operational Metrics
|
|
638
|
+
- **Validation Time**: <5 minutes per requirement
|
|
639
|
+
- **BDD Generation**: <2 minutes for 10 scenarios
|
|
640
|
+
- **False Positives**: <5% flagged requirements are valid
|
|
641
|
+
- **Automation Rate**: 85% of validations automated
|
|
642
|
+
|
|
643
|
+
## Commands
|
|
644
|
+
|
|
645
|
+
### Basic Commands
|
|
646
|
+
|
|
647
|
+
```bash
|
|
648
|
+
# Validate single requirement
|
|
649
|
+
aqe validate requirement --id "REQ-001"
|
|
650
|
+
|
|
651
|
+
# Generate BDD for requirement
|
|
652
|
+
aqe validate generate-bdd --requirement "REQ-001"
|
|
653
|
+
|
|
654
|
+
# Check requirement completeness
|
|
655
|
+
aqe validate completeness --file requirements.md
|
|
656
|
+
|
|
657
|
+
# Assess requirement risk
|
|
658
|
+
aqe validate risk --requirement "REQ-001"
|
|
659
|
+
|
|
660
|
+
# Create traceability map
|
|
661
|
+
aqe validate traceability --requirement "REQ-001"
|
|
662
|
+
```
|
|
663
|
+
|
|
664
|
+
### Advanced Commands
|
|
665
|
+
|
|
666
|
+
```bash
|
|
667
|
+
# Batch validate multiple requirements
|
|
668
|
+
aqe validate batch --source requirements/ --parallel 4
|
|
669
|
+
|
|
670
|
+
# AI-powered validation
|
|
671
|
+
aqe validate ai-analyze --model gpt-4 --context "healthcare-system"
|
|
672
|
+
|
|
673
|
+
# Cross-reference historical defects
|
|
674
|
+
aqe validate historical --defects last_year --correlation high
|
|
675
|
+
|
|
676
|
+
# Generate compliance scenarios
|
|
677
|
+
aqe validate compliance --standard HIPAA --features all
|
|
678
|
+
|
|
679
|
+
# Reverse-engineer from code
|
|
680
|
+
aqe validate reverse-engineer --codebase src/legacy/
|
|
681
|
+
```
|
|
682
|
+
|
|
683
|
+
### Specialized Commands
|
|
684
|
+
|
|
685
|
+
```bash
|
|
686
|
+
# Performance requirement validation
|
|
687
|
+
aqe validate performance --sla "p95<200ms" --traffic 10000rpm
|
|
688
|
+
|
|
689
|
+
# API contract validation
|
|
690
|
+
aqe validate api-contract --spec openapi.yaml --breaking-changes
|
|
691
|
+
|
|
692
|
+
# Security requirement check
|
|
693
|
+
aqe validate security --framework OWASP --severity high
|
|
694
|
+
|
|
695
|
+
# Internationalization validation
|
|
696
|
+
aqe validate i18n --locales en,es,fr,de,ja --requirement "REQ-001"
|
|
697
|
+
|
|
698
|
+
# Accessibility requirement validation
|
|
699
|
+
aqe validate a11y --standard WCAG-2.1-AA --requirement "REQ-001"
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
## Best Practices
|
|
703
|
+
|
|
704
|
+
1. **Validate Early**: Run validation during backlog grooming, not sprint planning
|
|
705
|
+
2. **Automate Validation**: Integrate into PR process for requirement documents
|
|
706
|
+
3. **Collaborate with Product**: Use validation reports to enhance requirement quality
|
|
707
|
+
4. **Maintain Traceability**: Update traceability matrix as code evolves
|
|
708
|
+
5. **Learn from Production**: Feed production issues back to requirement patterns
|
|
709
|
+
6. **Version Requirements**: Track requirement evolution over time
|
|
710
|
+
7. **Share BDD Scenarios**: Use as communication tool between product, dev, and QA
|
|
711
|
+
|
|
712
|
+
## Integration Example
|
|
713
|
+
|
|
714
|
+
```javascript
|
|
715
|
+
// Validation workflow integrated with qe-fleet-commander
|
|
716
|
+
const validationWorkflow = {
|
|
717
|
+
phase: "pre-development",
|
|
718
|
+
agents: ["qe-requirements-validator", "qe-test-generator"],
|
|
719
|
+
|
|
720
|
+
steps: [
|
|
721
|
+
{
|
|
722
|
+
agent: "qe-requirements-validator",
|
|
723
|
+
task: "validate-requirements",
|
|
724
|
+
inputs: { source: "jira", sprint: "SPRINT-42" },
|
|
725
|
+
outputs: { validated: "aqe/requirements/validated", scenarios: "aqe/bdd-scenarios/generated" }
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
agent: "qe-test-generator",
|
|
729
|
+
task: "generate-tests-from-bdd",
|
|
730
|
+
inputs: { scenarios: "aqe/bdd-scenarios/generated" },
|
|
731
|
+
outputs: { tests: "aqe/tests/generated" }
|
|
732
|
+
}
|
|
733
|
+
],
|
|
734
|
+
|
|
735
|
+
quality_gate: {
|
|
736
|
+
min_testability_score: 8.0,
|
|
737
|
+
max_high_risk_requirements: 3,
|
|
738
|
+
required_bdd_coverage: 100
|
|
739
|
+
}
|
|
740
|
+
};
|
|
741
|
+
```
|
|
742
|
+
|
|
743
|
+
---
|
|
744
|
+
|
|
745
|
+
**Agent Status**: Production Ready
|
|
746
|
+
**Last Updated**: 2025-09-30
|
|
747
|
+
**Version**: 1.0.0
|
|
748
|
+
**Maintainer**: AQE Fleet Team
|