@agentic-qe/v3 3.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +429 -0
- package/dist/benchmarks/performance-benchmarks.d.ts +92 -0
- package/dist/benchmarks/performance-benchmarks.d.ts.map +1 -0
- package/dist/benchmarks/performance-benchmarks.js +477 -0
- package/dist/benchmarks/performance-benchmarks.js.map +1 -0
- package/dist/benchmarks/run-benchmarks.d.ts +12 -0
- package/dist/benchmarks/run-benchmarks.d.ts.map +1 -0
- package/dist/benchmarks/run-benchmarks.js +260 -0
- package/dist/benchmarks/run-benchmarks.js.map +1 -0
- package/dist/causal-discovery/causal-graph.d.ts +104 -0
- package/dist/causal-discovery/causal-graph.d.ts.map +1 -0
- package/dist/causal-discovery/causal-graph.js +384 -0
- package/dist/causal-discovery/causal-graph.js.map +1 -0
- package/dist/causal-discovery/discovery-engine.d.ts +120 -0
- package/dist/causal-discovery/discovery-engine.d.ts.map +1 -0
- package/dist/causal-discovery/discovery-engine.js +332 -0
- package/dist/causal-discovery/discovery-engine.js.map +1 -0
- package/dist/causal-discovery/index.d.ts +50 -0
- package/dist/causal-discovery/index.d.ts.map +1 -0
- package/dist/causal-discovery/index.js +69 -0
- package/dist/causal-discovery/index.js.map +1 -0
- package/dist/causal-discovery/types.d.ts +257 -0
- package/dist/causal-discovery/types.d.ts.map +1 -0
- package/dist/causal-discovery/types.js +72 -0
- package/dist/causal-discovery/types.js.map +1 -0
- package/dist/causal-discovery/weight-matrix.d.ts +130 -0
- package/dist/causal-discovery/weight-matrix.d.ts.map +1 -0
- package/dist/causal-discovery/weight-matrix.js +380 -0
- package/dist/causal-discovery/weight-matrix.js.map +1 -0
- package/dist/cli/commands/qe-tools.d.ts +27 -0
- package/dist/cli/commands/qe-tools.d.ts.map +1 -0
- package/dist/cli/commands/qe-tools.js +524 -0
- package/dist/cli/commands/qe-tools.js.map +1 -0
- package/dist/cli/index.d.ts +9 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +1725 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/compatibility/agent-mapper.d.ts +45 -0
- package/dist/compatibility/agent-mapper.d.ts.map +1 -0
- package/dist/compatibility/agent-mapper.js +256 -0
- package/dist/compatibility/agent-mapper.js.map +1 -0
- package/dist/compatibility/cli-adapter.d.ts +53 -0
- package/dist/compatibility/cli-adapter.d.ts.map +1 -0
- package/dist/compatibility/cli-adapter.js +247 -0
- package/dist/compatibility/cli-adapter.js.map +1 -0
- package/dist/compatibility/config-migrator.d.ts +42 -0
- package/dist/compatibility/config-migrator.d.ts.map +1 -0
- package/dist/compatibility/config-migrator.js +280 -0
- package/dist/compatibility/config-migrator.js.map +1 -0
- package/dist/compatibility/index.d.ts +58 -0
- package/dist/compatibility/index.d.ts.map +1 -0
- package/dist/compatibility/index.js +90 -0
- package/dist/compatibility/index.js.map +1 -0
- package/dist/compatibility/mcp-adapter.d.ts +38 -0
- package/dist/compatibility/mcp-adapter.d.ts.map +1 -0
- package/dist/compatibility/mcp-adapter.js +202 -0
- package/dist/compatibility/mcp-adapter.js.map +1 -0
- package/dist/compatibility/types.d.ts +161 -0
- package/dist/compatibility/types.d.ts.map +1 -0
- package/dist/compatibility/types.js +5 -0
- package/dist/compatibility/types.js.map +1 -0
- package/dist/coordination/claims/claim-repository.d.ts +64 -0
- package/dist/coordination/claims/claim-repository.d.ts.map +1 -0
- package/dist/coordination/claims/claim-repository.js +524 -0
- package/dist/coordination/claims/claim-repository.js.map +1 -0
- package/dist/coordination/claims/claim-service.d.ts +45 -0
- package/dist/coordination/claims/claim-service.d.ts.map +1 -0
- package/dist/coordination/claims/claim-service.js +523 -0
- package/dist/coordination/claims/claim-service.js.map +1 -0
- package/dist/coordination/claims/handoff-manager.d.ts +95 -0
- package/dist/coordination/claims/handoff-manager.d.ts.map +1 -0
- package/dist/coordination/claims/handoff-manager.js +380 -0
- package/dist/coordination/claims/handoff-manager.js.map +1 -0
- package/dist/coordination/claims/index.d.ts +121 -0
- package/dist/coordination/claims/index.d.ts.map +1 -0
- package/dist/coordination/claims/index.js +129 -0
- package/dist/coordination/claims/index.js.map +1 -0
- package/dist/coordination/claims/interfaces.d.ts +471 -0
- package/dist/coordination/claims/interfaces.d.ts.map +1 -0
- package/dist/coordination/claims/interfaces.js +14 -0
- package/dist/coordination/claims/interfaces.js.map +1 -0
- package/dist/coordination/claims/work-stealing.d.ts +88 -0
- package/dist/coordination/claims/work-stealing.d.ts.map +1 -0
- package/dist/coordination/claims/work-stealing.js +335 -0
- package/dist/coordination/claims/work-stealing.js.map +1 -0
- package/dist/coordination/cross-domain-router.d.ts +104 -0
- package/dist/coordination/cross-domain-router.d.ts.map +1 -0
- package/dist/coordination/cross-domain-router.js +365 -0
- package/dist/coordination/cross-domain-router.js.map +1 -0
- package/dist/coordination/index.d.ts +14 -0
- package/dist/coordination/index.d.ts.map +1 -0
- package/dist/coordination/index.js +29 -0
- package/dist/coordination/index.js.map +1 -0
- package/dist/coordination/interfaces.d.ts +482 -0
- package/dist/coordination/interfaces.d.ts.map +1 -0
- package/dist/coordination/interfaces.js +6 -0
- package/dist/coordination/interfaces.js.map +1 -0
- package/dist/coordination/protocol-executor.d.ts +119 -0
- package/dist/coordination/protocol-executor.d.ts.map +1 -0
- package/dist/coordination/protocol-executor.js +528 -0
- package/dist/coordination/protocol-executor.js.map +1 -0
- package/dist/coordination/protocols/code-intelligence-index.d.ts +204 -0
- package/dist/coordination/protocols/code-intelligence-index.d.ts.map +1 -0
- package/dist/coordination/protocols/code-intelligence-index.js +568 -0
- package/dist/coordination/protocols/code-intelligence-index.js.map +1 -0
- package/dist/coordination/protocols/defect-investigation.d.ts +202 -0
- package/dist/coordination/protocols/defect-investigation.d.ts.map +1 -0
- package/dist/coordination/protocols/defect-investigation.js +734 -0
- package/dist/coordination/protocols/defect-investigation.js.map +1 -0
- package/dist/coordination/protocols/index.d.ts +11 -0
- package/dist/coordination/protocols/index.d.ts.map +1 -0
- package/dist/coordination/protocols/index.js +11 -0
- package/dist/coordination/protocols/index.js.map +1 -0
- package/dist/coordination/protocols/learning-consolidation.d.ts +249 -0
- package/dist/coordination/protocols/learning-consolidation.d.ts.map +1 -0
- package/dist/coordination/protocols/learning-consolidation.js +811 -0
- package/dist/coordination/protocols/learning-consolidation.js.map +1 -0
- package/dist/coordination/protocols/morning-sync.d.ts +255 -0
- package/dist/coordination/protocols/morning-sync.d.ts.map +1 -0
- package/dist/coordination/protocols/morning-sync.js +730 -0
- package/dist/coordination/protocols/morning-sync.js.map +1 -0
- package/dist/coordination/protocols/quality-gate.d.ts +303 -0
- package/dist/coordination/protocols/quality-gate.d.ts.map +1 -0
- package/dist/coordination/protocols/quality-gate.js +924 -0
- package/dist/coordination/protocols/quality-gate.js.map +1 -0
- package/dist/coordination/protocols/security-audit.d.ts +263 -0
- package/dist/coordination/protocols/security-audit.d.ts.map +1 -0
- package/dist/coordination/protocols/security-audit.js +1159 -0
- package/dist/coordination/protocols/security-audit.js.map +1 -0
- package/dist/coordination/queen-coordinator.d.ts +214 -0
- package/dist/coordination/queen-coordinator.d.ts.map +1 -0
- package/dist/coordination/queen-coordinator.js +808 -0
- package/dist/coordination/queen-coordinator.js.map +1 -0
- package/dist/coordination/result-saver.d.ts +82 -0
- package/dist/coordination/result-saver.d.ts.map +1 -0
- package/dist/coordination/result-saver.js +536 -0
- package/dist/coordination/result-saver.js.map +1 -0
- package/dist/coordination/task-executor.d.ts +50 -0
- package/dist/coordination/task-executor.d.ts.map +1 -0
- package/dist/coordination/task-executor.js +965 -0
- package/dist/coordination/task-executor.js.map +1 -0
- package/dist/coordination/workflow-orchestrator.d.ts +362 -0
- package/dist/coordination/workflow-orchestrator.d.ts.map +1 -0
- package/dist/coordination/workflow-orchestrator.js +1298 -0
- package/dist/coordination/workflow-orchestrator.js.map +1 -0
- package/dist/domains/chaos-resilience/coordinator.d.ts +108 -0
- package/dist/domains/chaos-resilience/coordinator.d.ts.map +1 -0
- package/dist/domains/chaos-resilience/coordinator.js +775 -0
- package/dist/domains/chaos-resilience/coordinator.js.map +1 -0
- package/dist/domains/chaos-resilience/index.d.ts +13 -0
- package/dist/domains/chaos-resilience/index.d.ts.map +1 -0
- package/dist/domains/chaos-resilience/index.js +21 -0
- package/dist/domains/chaos-resilience/index.js.map +1 -0
- package/dist/domains/chaos-resilience/interfaces.d.ts +528 -0
- package/dist/domains/chaos-resilience/interfaces.d.ts.map +1 -0
- package/dist/domains/chaos-resilience/interfaces.js +8 -0
- package/dist/domains/chaos-resilience/interfaces.js.map +1 -0
- package/dist/domains/chaos-resilience/plugin.d.ts +97 -0
- package/dist/domains/chaos-resilience/plugin.d.ts.map +1 -0
- package/dist/domains/chaos-resilience/plugin.js +466 -0
- package/dist/domains/chaos-resilience/plugin.js.map +1 -0
- package/dist/domains/chaos-resilience/services/chaos-engineer.d.ts +97 -0
- package/dist/domains/chaos-resilience/services/chaos-engineer.d.ts.map +1 -0
- package/dist/domains/chaos-resilience/services/chaos-engineer.js +875 -0
- package/dist/domains/chaos-resilience/services/chaos-engineer.js.map +1 -0
- package/dist/domains/chaos-resilience/services/index.d.ts +8 -0
- package/dist/domains/chaos-resilience/services/index.d.ts.map +1 -0
- package/dist/domains/chaos-resilience/services/index.js +8 -0
- package/dist/domains/chaos-resilience/services/index.js.map +1 -0
- package/dist/domains/chaos-resilience/services/load-tester.d.ts +71 -0
- package/dist/domains/chaos-resilience/services/load-tester.d.ts.map +1 -0
- package/dist/domains/chaos-resilience/services/load-tester.js +588 -0
- package/dist/domains/chaos-resilience/services/load-tester.js.map +1 -0
- package/dist/domains/chaos-resilience/services/performance-profiler.d.ts +70 -0
- package/dist/domains/chaos-resilience/services/performance-profiler.d.ts.map +1 -0
- package/dist/domains/chaos-resilience/services/performance-profiler.js +642 -0
- package/dist/domains/chaos-resilience/services/performance-profiler.js.map +1 -0
- package/dist/domains/code-intelligence/coordinator.d.ts +104 -0
- package/dist/domains/code-intelligence/coordinator.d.ts.map +1 -0
- package/dist/domains/code-intelligence/coordinator.js +436 -0
- package/dist/domains/code-intelligence/coordinator.js.map +1 -0
- package/dist/domains/code-intelligence/index.d.ts +13 -0
- package/dist/domains/code-intelligence/index.d.ts.map +1 -0
- package/dist/domains/code-intelligence/index.js +21 -0
- package/dist/domains/code-intelligence/index.js.map +1 -0
- package/dist/domains/code-intelligence/interfaces.d.ts +130 -0
- package/dist/domains/code-intelligence/interfaces.d.ts.map +1 -0
- package/dist/domains/code-intelligence/interfaces.js +6 -0
- package/dist/domains/code-intelligence/interfaces.js.map +1 -0
- package/dist/domains/code-intelligence/plugin.d.ts +75 -0
- package/dist/domains/code-intelligence/plugin.d.ts.map +1 -0
- package/dist/domains/code-intelligence/plugin.js +279 -0
- package/dist/domains/code-intelligence/plugin.js.map +1 -0
- package/dist/domains/code-intelligence/services/impact-analyzer.d.ts +80 -0
- package/dist/domains/code-intelligence/services/impact-analyzer.d.ts.map +1 -0
- package/dist/domains/code-intelligence/services/impact-analyzer.js +391 -0
- package/dist/domains/code-intelligence/services/impact-analyzer.js.map +1 -0
- package/dist/domains/code-intelligence/services/index.d.ts +8 -0
- package/dist/domains/code-intelligence/services/index.d.ts.map +1 -0
- package/dist/domains/code-intelligence/services/index.js +8 -0
- package/dist/domains/code-intelligence/services/index.js.map +1 -0
- package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +101 -0
- package/dist/domains/code-intelligence/services/knowledge-graph.d.ts.map +1 -0
- package/dist/domains/code-intelligence/services/knowledge-graph.js +822 -0
- package/dist/domains/code-intelligence/services/knowledge-graph.js.map +1 -0
- package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +141 -0
- package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts.map +1 -0
- package/dist/domains/code-intelligence/services/semantic-analyzer.js +661 -0
- package/dist/domains/code-intelligence/services/semantic-analyzer.js.map +1 -0
- package/dist/domains/contract-testing/coordinator.d.ts +114 -0
- package/dist/domains/contract-testing/coordinator.d.ts.map +1 -0
- package/dist/domains/contract-testing/coordinator.js +805 -0
- package/dist/domains/contract-testing/coordinator.js.map +1 -0
- package/dist/domains/contract-testing/index.d.ts +13 -0
- package/dist/domains/contract-testing/index.d.ts.map +1 -0
- package/dist/domains/contract-testing/index.js +21 -0
- package/dist/domains/contract-testing/index.js.map +1 -0
- package/dist/domains/contract-testing/interfaces.d.ts +344 -0
- package/dist/domains/contract-testing/interfaces.d.ts.map +1 -0
- package/dist/domains/contract-testing/interfaces.js +8 -0
- package/dist/domains/contract-testing/interfaces.js.map +1 -0
- package/dist/domains/contract-testing/plugin.d.ts +112 -0
- package/dist/domains/contract-testing/plugin.d.ts.map +1 -0
- package/dist/domains/contract-testing/plugin.js +491 -0
- package/dist/domains/contract-testing/plugin.js.map +1 -0
- package/dist/domains/contract-testing/services/api-compatibility.d.ts +53 -0
- package/dist/domains/contract-testing/services/api-compatibility.d.ts.map +1 -0
- package/dist/domains/contract-testing/services/api-compatibility.js +535 -0
- package/dist/domains/contract-testing/services/api-compatibility.js.map +1 -0
- package/dist/domains/contract-testing/services/contract-validator.d.ts +100 -0
- package/dist/domains/contract-testing/services/contract-validator.d.ts.map +1 -0
- package/dist/domains/contract-testing/services/contract-validator.js +1398 -0
- package/dist/domains/contract-testing/services/contract-validator.js.map +1 -0
- package/dist/domains/contract-testing/services/index.d.ts +8 -0
- package/dist/domains/contract-testing/services/index.d.ts.map +1 -0
- package/dist/domains/contract-testing/services/index.js +8 -0
- package/dist/domains/contract-testing/services/index.js.map +1 -0
- package/dist/domains/contract-testing/services/schema-validator.d.ts +65 -0
- package/dist/domains/contract-testing/services/schema-validator.d.ts.map +1 -0
- package/dist/domains/contract-testing/services/schema-validator.js +860 -0
- package/dist/domains/contract-testing/services/schema-validator.js.map +1 -0
- package/dist/domains/coverage-analysis/coordinator.d.ts +66 -0
- package/dist/domains/coverage-analysis/coordinator.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/coordinator.js +353 -0
- package/dist/domains/coverage-analysis/coordinator.js.map +1 -0
- package/dist/domains/coverage-analysis/index.d.ts +33 -0
- package/dist/domains/coverage-analysis/index.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/index.js +39 -0
- package/dist/domains/coverage-analysis/index.js.map +1 -0
- package/dist/domains/coverage-analysis/interfaces.d.ts +134 -0
- package/dist/domains/coverage-analysis/interfaces.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/interfaces.js +6 -0
- package/dist/domains/coverage-analysis/interfaces.js.map +1 -0
- package/dist/domains/coverage-analysis/plugin.d.ts +37 -0
- package/dist/domains/coverage-analysis/plugin.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/plugin.js +133 -0
- package/dist/domains/coverage-analysis/plugin.js.map +1 -0
- package/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts +49 -0
- package/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/services/coverage-analyzer.js +342 -0
- package/dist/domains/coverage-analysis/services/coverage-analyzer.js.map +1 -0
- package/dist/domains/coverage-analysis/services/coverage-embedder.d.ts +165 -0
- package/dist/domains/coverage-analysis/services/coverage-embedder.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/services/coverage-embedder.js +550 -0
- package/dist/domains/coverage-analysis/services/coverage-embedder.js.map +1 -0
- package/dist/domains/coverage-analysis/services/coverage-parser.d.ts +203 -0
- package/dist/domains/coverage-analysis/services/coverage-parser.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/services/coverage-parser.js +506 -0
- package/dist/domains/coverage-analysis/services/coverage-parser.js.map +1 -0
- package/dist/domains/coverage-analysis/services/gap-detector.d.ts +61 -0
- package/dist/domains/coverage-analysis/services/gap-detector.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/services/gap-detector.js +474 -0
- package/dist/domains/coverage-analysis/services/gap-detector.js.map +1 -0
- package/dist/domains/coverage-analysis/services/hnsw-index.d.ts +260 -0
- package/dist/domains/coverage-analysis/services/hnsw-index.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/services/hnsw-index.js +482 -0
- package/dist/domains/coverage-analysis/services/hnsw-index.js.map +1 -0
- package/dist/domains/coverage-analysis/services/index.d.ts +13 -0
- package/dist/domains/coverage-analysis/services/index.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/services/index.js +16 -0
- package/dist/domains/coverage-analysis/services/index.js.map +1 -0
- package/dist/domains/coverage-analysis/services/risk-scorer.d.ts +62 -0
- package/dist/domains/coverage-analysis/services/risk-scorer.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/services/risk-scorer.js +412 -0
- package/dist/domains/coverage-analysis/services/risk-scorer.js.map +1 -0
- package/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts +237 -0
- package/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts.map +1 -0
- package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +499 -0
- package/dist/domains/coverage-analysis/services/sublinear-analyzer.js.map +1 -0
- package/dist/domains/defect-intelligence/coordinator.d.ts +104 -0
- package/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -0
- package/dist/domains/defect-intelligence/coordinator.js +423 -0
- package/dist/domains/defect-intelligence/coordinator.js.map +1 -0
- package/dist/domains/defect-intelligence/index.d.ts +13 -0
- package/dist/domains/defect-intelligence/index.d.ts.map +1 -0
- package/dist/domains/defect-intelligence/index.js +21 -0
- package/dist/domains/defect-intelligence/index.js.map +1 -0
- package/dist/domains/defect-intelligence/interfaces.d.ts +127 -0
- package/dist/domains/defect-intelligence/interfaces.d.ts.map +1 -0
- package/dist/domains/defect-intelligence/interfaces.js +6 -0
- package/dist/domains/defect-intelligence/interfaces.js.map +1 -0
- package/dist/domains/defect-intelligence/plugin.d.ts +76 -0
- package/dist/domains/defect-intelligence/plugin.d.ts.map +1 -0
- package/dist/domains/defect-intelligence/plugin.js +287 -0
- package/dist/domains/defect-intelligence/plugin.js.map +1 -0
- package/dist/domains/defect-intelligence/services/causal-root-cause-analyzer.d.ts +188 -0
- package/dist/domains/defect-intelligence/services/causal-root-cause-analyzer.d.ts.map +1 -0
- package/dist/domains/defect-intelligence/services/causal-root-cause-analyzer.js +298 -0
- package/dist/domains/defect-intelligence/services/causal-root-cause-analyzer.js.map +1 -0
- package/dist/domains/defect-intelligence/services/defect-predictor.d.ts +129 -0
- package/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -0
- package/dist/domains/defect-intelligence/services/defect-predictor.js +674 -0
- package/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -0
- package/dist/domains/defect-intelligence/services/index.d.ts +9 -0
- package/dist/domains/defect-intelligence/services/index.d.ts.map +1 -0
- package/dist/domains/defect-intelligence/services/index.js +10 -0
- package/dist/domains/defect-intelligence/services/index.js.map +1 -0
- package/dist/domains/defect-intelligence/services/pattern-learner.d.ts +96 -0
- package/dist/domains/defect-intelligence/services/pattern-learner.d.ts.map +1 -0
- package/dist/domains/defect-intelligence/services/pattern-learner.js +548 -0
- package/dist/domains/defect-intelligence/services/pattern-learner.js.map +1 -0
- package/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts +60 -0
- package/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts.map +1 -0
- package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +465 -0
- package/dist/domains/defect-intelligence/services/root-cause-analyzer.js.map +1 -0
- package/dist/domains/domain-interface.d.ts +32 -0
- package/dist/domains/domain-interface.d.ts.map +1 -0
- package/dist/domains/domain-interface.js +61 -0
- package/dist/domains/domain-interface.js.map +1 -0
- package/dist/domains/index.d.ts +20 -0
- package/dist/domains/index.d.ts.map +1 -0
- package/dist/domains/index.js +22 -0
- package/dist/domains/index.js.map +1 -0
- package/dist/domains/learning-optimization/coordinator.d.ts +107 -0
- package/dist/domains/learning-optimization/coordinator.d.ts.map +1 -0
- package/dist/domains/learning-optimization/coordinator.js +849 -0
- package/dist/domains/learning-optimization/coordinator.js.map +1 -0
- package/dist/domains/learning-optimization/index.d.ts +14 -0
- package/dist/domains/learning-optimization/index.d.ts.map +1 -0
- package/dist/domains/learning-optimization/index.js +22 -0
- package/dist/domains/learning-optimization/index.js.map +1 -0
- package/dist/domains/learning-optimization/interfaces.d.ts +453 -0
- package/dist/domains/learning-optimization/interfaces.d.ts.map +1 -0
- package/dist/domains/learning-optimization/interfaces.js +8 -0
- package/dist/domains/learning-optimization/interfaces.js.map +1 -0
- package/dist/domains/learning-optimization/plugin.d.ts +116 -0
- package/dist/domains/learning-optimization/plugin.d.ts.map +1 -0
- package/dist/domains/learning-optimization/plugin.js +523 -0
- package/dist/domains/learning-optimization/plugin.js.map +1 -0
- package/dist/domains/learning-optimization/services/index.d.ts +9 -0
- package/dist/domains/learning-optimization/services/index.d.ts.map +1 -0
- package/dist/domains/learning-optimization/services/index.js +9 -0
- package/dist/domains/learning-optimization/services/index.js.map +1 -0
- package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +98 -0
- package/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -0
- package/dist/domains/learning-optimization/services/learning-coordinator.js +730 -0
- package/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -0
- package/dist/domains/learning-optimization/services/metrics-optimizer.d.ts +89 -0
- package/dist/domains/learning-optimization/services/metrics-optimizer.d.ts.map +1 -0
- package/dist/domains/learning-optimization/services/metrics-optimizer.js +598 -0
- package/dist/domains/learning-optimization/services/metrics-optimizer.js.map +1 -0
- package/dist/domains/learning-optimization/services/production-intel.d.ts +137 -0
- package/dist/domains/learning-optimization/services/production-intel.d.ts.map +1 -0
- package/dist/domains/learning-optimization/services/production-intel.js +649 -0
- package/dist/domains/learning-optimization/services/production-intel.js.map +1 -0
- package/dist/domains/learning-optimization/services/transfer-specialist.d.ts +86 -0
- package/dist/domains/learning-optimization/services/transfer-specialist.d.ts.map +1 -0
- package/dist/domains/learning-optimization/services/transfer-specialist.js +495 -0
- package/dist/domains/learning-optimization/services/transfer-specialist.js.map +1 -0
- package/dist/domains/quality-assessment/coherence/gate-controller.d.ts +117 -0
- package/dist/domains/quality-assessment/coherence/gate-controller.d.ts.map +1 -0
- package/dist/domains/quality-assessment/coherence/gate-controller.js +414 -0
- package/dist/domains/quality-assessment/coherence/gate-controller.js.map +1 -0
- package/dist/domains/quality-assessment/coherence/index.d.ts +102 -0
- package/dist/domains/quality-assessment/coherence/index.d.ts.map +1 -0
- package/dist/domains/quality-assessment/coherence/index.js +122 -0
- package/dist/domains/quality-assessment/coherence/index.js.map +1 -0
- package/dist/domains/quality-assessment/coherence/lambda-calculator.d.ts +93 -0
- package/dist/domains/quality-assessment/coherence/lambda-calculator.d.ts.map +1 -0
- package/dist/domains/quality-assessment/coherence/lambda-calculator.js +293 -0
- package/dist/domains/quality-assessment/coherence/lambda-calculator.js.map +1 -0
- package/dist/domains/quality-assessment/coherence/partition-detector.d.ts +109 -0
- package/dist/domains/quality-assessment/coherence/partition-detector.d.ts.map +1 -0
- package/dist/domains/quality-assessment/coherence/partition-detector.js +338 -0
- package/dist/domains/quality-assessment/coherence/partition-detector.js.map +1 -0
- package/dist/domains/quality-assessment/coherence/types.d.ts +239 -0
- package/dist/domains/quality-assessment/coherence/types.d.ts.map +1 -0
- package/dist/domains/quality-assessment/coherence/types.js +62 -0
- package/dist/domains/quality-assessment/coherence/types.js.map +1 -0
- package/dist/domains/quality-assessment/coordinator.d.ts +98 -0
- package/dist/domains/quality-assessment/coordinator.d.ts.map +1 -0
- package/dist/domains/quality-assessment/coordinator.js +391 -0
- package/dist/domains/quality-assessment/coordinator.js.map +1 -0
- package/dist/domains/quality-assessment/index.d.ts +15 -0
- package/dist/domains/quality-assessment/index.d.ts.map +1 -0
- package/dist/domains/quality-assessment/index.js +27 -0
- package/dist/domains/quality-assessment/index.js.map +1 -0
- package/dist/domains/quality-assessment/interfaces.d.ts +140 -0
- package/dist/domains/quality-assessment/interfaces.d.ts.map +1 -0
- package/dist/domains/quality-assessment/interfaces.js +6 -0
- package/dist/domains/quality-assessment/interfaces.js.map +1 -0
- package/dist/domains/quality-assessment/plugin.d.ts +75 -0
- package/dist/domains/quality-assessment/plugin.d.ts.map +1 -0
- package/dist/domains/quality-assessment/plugin.js +294 -0
- package/dist/domains/quality-assessment/plugin.js.map +1 -0
- package/dist/domains/quality-assessment/services/coherence-gate.d.ts +109 -0
- package/dist/domains/quality-assessment/services/coherence-gate.d.ts.map +1 -0
- package/dist/domains/quality-assessment/services/coherence-gate.js +234 -0
- package/dist/domains/quality-assessment/services/coherence-gate.js.map +1 -0
- package/dist/domains/quality-assessment/services/deployment-advisor.d.ts +83 -0
- package/dist/domains/quality-assessment/services/deployment-advisor.d.ts.map +1 -0
- package/dist/domains/quality-assessment/services/deployment-advisor.js +384 -0
- package/dist/domains/quality-assessment/services/deployment-advisor.js.map +1 -0
- package/dist/domains/quality-assessment/services/index.d.ts +9 -0
- package/dist/domains/quality-assessment/services/index.d.ts.map +1 -0
- package/dist/domains/quality-assessment/services/index.js +12 -0
- package/dist/domains/quality-assessment/services/index.js.map +1 -0
- package/dist/domains/quality-assessment/services/quality-analyzer.d.ts +74 -0
- package/dist/domains/quality-assessment/services/quality-analyzer.d.ts.map +1 -0
- package/dist/domains/quality-assessment/services/quality-analyzer.js +518 -0
- package/dist/domains/quality-assessment/services/quality-analyzer.js.map +1 -0
- package/dist/domains/quality-assessment/services/quality-gate.d.ts +57 -0
- package/dist/domains/quality-assessment/services/quality-gate.d.ts.map +1 -0
- package/dist/domains/quality-assessment/services/quality-gate.js +244 -0
- package/dist/domains/quality-assessment/services/quality-gate.js.map +1 -0
- package/dist/domains/requirements-validation/coordinator.d.ts +89 -0
- package/dist/domains/requirements-validation/coordinator.d.ts.map +1 -0
- package/dist/domains/requirements-validation/coordinator.js +574 -0
- package/dist/domains/requirements-validation/coordinator.js.map +1 -0
- package/dist/domains/requirements-validation/index.d.ts +13 -0
- package/dist/domains/requirements-validation/index.d.ts.map +1 -0
- package/dist/domains/requirements-validation/index.js +21 -0
- package/dist/domains/requirements-validation/index.js.map +1 -0
- package/dist/domains/requirements-validation/interfaces.d.ts +236 -0
- package/dist/domains/requirements-validation/interfaces.d.ts.map +1 -0
- package/dist/domains/requirements-validation/interfaces.js +8 -0
- package/dist/domains/requirements-validation/interfaces.js.map +1 -0
- package/dist/domains/requirements-validation/plugin.d.ts +103 -0
- package/dist/domains/requirements-validation/plugin.d.ts.map +1 -0
- package/dist/domains/requirements-validation/plugin.js +351 -0
- package/dist/domains/requirements-validation/plugin.js.map +1 -0
- package/dist/domains/requirements-validation/services/bdd-scenario-writer.d.ts +58 -0
- package/dist/domains/requirements-validation/services/bdd-scenario-writer.d.ts.map +1 -0
- package/dist/domains/requirements-validation/services/bdd-scenario-writer.js +521 -0
- package/dist/domains/requirements-validation/services/bdd-scenario-writer.js.map +1 -0
- package/dist/domains/requirements-validation/services/index.d.ts +8 -0
- package/dist/domains/requirements-validation/services/index.d.ts.map +1 -0
- package/dist/domains/requirements-validation/services/index.js +8 -0
- package/dist/domains/requirements-validation/services/index.js.map +1 -0
- package/dist/domains/requirements-validation/services/requirements-validator.d.ts +51 -0
- package/dist/domains/requirements-validation/services/requirements-validator.d.ts.map +1 -0
- package/dist/domains/requirements-validation/services/requirements-validator.js +423 -0
- package/dist/domains/requirements-validation/services/requirements-validator.js.map +1 -0
- package/dist/domains/requirements-validation/services/testability-scorer.d.ts +79 -0
- package/dist/domains/requirements-validation/services/testability-scorer.d.ts.map +1 -0
- package/dist/domains/requirements-validation/services/testability-scorer.js +502 -0
- package/dist/domains/requirements-validation/services/testability-scorer.js.map +1 -0
- package/dist/domains/security-compliance/coordinator.d.ts +91 -0
- package/dist/domains/security-compliance/coordinator.d.ts.map +1 -0
- package/dist/domains/security-compliance/coordinator.js +497 -0
- package/dist/domains/security-compliance/coordinator.js.map +1 -0
- package/dist/domains/security-compliance/index.d.ts +13 -0
- package/dist/domains/security-compliance/index.d.ts.map +1 -0
- package/dist/domains/security-compliance/index.js +21 -0
- package/dist/domains/security-compliance/index.js.map +1 -0
- package/dist/domains/security-compliance/interfaces.d.ts +342 -0
- package/dist/domains/security-compliance/interfaces.d.ts.map +1 -0
- package/dist/domains/security-compliance/interfaces.js +8 -0
- package/dist/domains/security-compliance/interfaces.js.map +1 -0
- package/dist/domains/security-compliance/plugin.d.ts +81 -0
- package/dist/domains/security-compliance/plugin.d.ts.map +1 -0
- package/dist/domains/security-compliance/plugin.js +302 -0
- package/dist/domains/security-compliance/plugin.js.map +1 -0
- package/dist/domains/security-compliance/services/compliance-validator.d.ts +102 -0
- package/dist/domains/security-compliance/services/compliance-validator.d.ts.map +1 -0
- package/dist/domains/security-compliance/services/compliance-validator.js +925 -0
- package/dist/domains/security-compliance/services/compliance-validator.js.map +1 -0
- package/dist/domains/security-compliance/services/index.d.ts +8 -0
- package/dist/domains/security-compliance/services/index.d.ts.map +1 -0
- package/dist/domains/security-compliance/services/index.js +8 -0
- package/dist/domains/security-compliance/services/index.js.map +1 -0
- package/dist/domains/security-compliance/services/security-auditor.d.ts +174 -0
- package/dist/domains/security-compliance/services/security-auditor.d.ts.map +1 -0
- package/dist/domains/security-compliance/services/security-auditor.js +1763 -0
- package/dist/domains/security-compliance/services/security-auditor.js.map +1 -0
- package/dist/domains/security-compliance/services/security-scanner.d.ts +185 -0
- package/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -0
- package/dist/domains/security-compliance/services/security-scanner.js +1911 -0
- package/dist/domains/security-compliance/services/security-scanner.js.map +1 -0
- package/dist/domains/security-compliance/services/semgrep-integration.d.ts +95 -0
- package/dist/domains/security-compliance/services/semgrep-integration.d.ts.map +1 -0
- package/dist/domains/security-compliance/services/semgrep-integration.js +209 -0
- package/dist/domains/security-compliance/services/semgrep-integration.js.map +1 -0
- package/dist/domains/test-execution/coordinator.d.ts +91 -0
- package/dist/domains/test-execution/coordinator.d.ts.map +1 -0
- package/dist/domains/test-execution/coordinator.js +280 -0
- package/dist/domains/test-execution/coordinator.js.map +1 -0
- package/dist/domains/test-execution/index.d.ts +11 -0
- package/dist/domains/test-execution/index.d.ts.map +1 -0
- package/dist/domains/test-execution/index.js +19 -0
- package/dist/domains/test-execution/index.js.map +1 -0
- package/dist/domains/test-execution/interfaces.d.ts +95 -0
- package/dist/domains/test-execution/interfaces.d.ts.map +1 -0
- package/dist/domains/test-execution/interfaces.js +6 -0
- package/dist/domains/test-execution/interfaces.js.map +1 -0
- package/dist/domains/test-execution/plugin.d.ts +27 -0
- package/dist/domains/test-execution/plugin.d.ts.map +1 -0
- package/dist/domains/test-execution/plugin.js +137 -0
- package/dist/domains/test-execution/plugin.js.map +1 -0
- package/dist/domains/test-execution/services/flaky-detector.d.ts +189 -0
- package/dist/domains/test-execution/services/flaky-detector.d.ts.map +1 -0
- package/dist/domains/test-execution/services/flaky-detector.js +834 -0
- package/dist/domains/test-execution/services/flaky-detector.js.map +1 -0
- package/dist/domains/test-execution/services/index.d.ts +8 -0
- package/dist/domains/test-execution/services/index.d.ts.map +1 -0
- package/dist/domains/test-execution/services/index.js +8 -0
- package/dist/domains/test-execution/services/index.js.map +1 -0
- package/dist/domains/test-execution/services/retry-handler.d.ts +169 -0
- package/dist/domains/test-execution/services/retry-handler.d.ts.map +1 -0
- package/dist/domains/test-execution/services/retry-handler.js +536 -0
- package/dist/domains/test-execution/services/retry-handler.js.map +1 -0
- package/dist/domains/test-execution/services/test-executor.d.ts +112 -0
- package/dist/domains/test-execution/services/test-executor.d.ts.map +1 -0
- package/dist/domains/test-execution/services/test-executor.js +657 -0
- package/dist/domains/test-execution/services/test-executor.js.map +1 -0
- package/dist/domains/test-generation/coordinator.d.ts +104 -0
- package/dist/domains/test-generation/coordinator.d.ts.map +1 -0
- package/dist/domains/test-generation/coordinator.js +446 -0
- package/dist/domains/test-generation/coordinator.js.map +1 -0
- package/dist/domains/test-generation/index.d.ts +12 -0
- package/dist/domains/test-generation/index.d.ts.map +1 -0
- package/dist/domains/test-generation/index.js +20 -0
- package/dist/domains/test-generation/index.js.map +1 -0
- package/dist/domains/test-generation/interfaces.d.ts +92 -0
- package/dist/domains/test-generation/interfaces.d.ts.map +1 -0
- package/dist/domains/test-generation/interfaces.js +6 -0
- package/dist/domains/test-generation/interfaces.js.map +1 -0
- package/dist/domains/test-generation/plugin.d.ts +70 -0
- package/dist/domains/test-generation/plugin.d.ts.map +1 -0
- package/dist/domains/test-generation/plugin.js +240 -0
- package/dist/domains/test-generation/plugin.js.map +1 -0
- package/dist/domains/test-generation/services/index.d.ts +7 -0
- package/dist/domains/test-generation/services/index.d.ts.map +1 -0
- package/dist/domains/test-generation/services/index.js +7 -0
- package/dist/domains/test-generation/services/index.js.map +1 -0
- package/dist/domains/test-generation/services/pattern-matcher.d.ts +276 -0
- package/dist/domains/test-generation/services/pattern-matcher.d.ts.map +1 -0
- package/dist/domains/test-generation/services/pattern-matcher.js +1271 -0
- package/dist/domains/test-generation/services/pattern-matcher.js.map +1 -0
- package/dist/domains/test-generation/services/test-generator.d.ts +226 -0
- package/dist/domains/test-generation/services/test-generator.d.ts.map +1 -0
- package/dist/domains/test-generation/services/test-generator.js +2230 -0
- package/dist/domains/test-generation/services/test-generator.js.map +1 -0
- package/dist/domains/visual-accessibility/coordinator.d.ts +118 -0
- package/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -0
- package/dist/domains/visual-accessibility/coordinator.js +623 -0
- package/dist/domains/visual-accessibility/coordinator.js.map +1 -0
- package/dist/domains/visual-accessibility/index.d.ts +13 -0
- package/dist/domains/visual-accessibility/index.d.ts.map +1 -0
- package/dist/domains/visual-accessibility/index.js +21 -0
- package/dist/domains/visual-accessibility/index.js.map +1 -0
- package/dist/domains/visual-accessibility/interfaces.d.ts +360 -0
- package/dist/domains/visual-accessibility/interfaces.d.ts.map +1 -0
- package/dist/domains/visual-accessibility/interfaces.js +8 -0
- package/dist/domains/visual-accessibility/interfaces.js.map +1 -0
- package/dist/domains/visual-accessibility/plugin.d.ts +92 -0
- package/dist/domains/visual-accessibility/plugin.d.ts.map +1 -0
- package/dist/domains/visual-accessibility/plugin.js +343 -0
- package/dist/domains/visual-accessibility/plugin.js.map +1 -0
- package/dist/domains/visual-accessibility/services/accessibility-tester.d.ts +115 -0
- package/dist/domains/visual-accessibility/services/accessibility-tester.d.ts.map +1 -0
- package/dist/domains/visual-accessibility/services/accessibility-tester.js +794 -0
- package/dist/domains/visual-accessibility/services/accessibility-tester.js.map +1 -0
- package/dist/domains/visual-accessibility/services/axe-core-audit.d.ts +219 -0
- package/dist/domains/visual-accessibility/services/axe-core-audit.d.ts.map +1 -0
- package/dist/domains/visual-accessibility/services/axe-core-audit.js +427 -0
- package/dist/domains/visual-accessibility/services/axe-core-audit.js.map +1 -0
- package/dist/domains/visual-accessibility/services/index.d.ts +8 -0
- package/dist/domains/visual-accessibility/services/index.d.ts.map +1 -0
- package/dist/domains/visual-accessibility/services/index.js +8 -0
- package/dist/domains/visual-accessibility/services/index.js.map +1 -0
- package/dist/domains/visual-accessibility/services/responsive-tester.d.ts +149 -0
- package/dist/domains/visual-accessibility/services/responsive-tester.d.ts.map +1 -0
- package/dist/domains/visual-accessibility/services/responsive-tester.js +667 -0
- package/dist/domains/visual-accessibility/services/responsive-tester.js.map +1 -0
- package/dist/domains/visual-accessibility/services/visual-tester.d.ts +78 -0
- package/dist/domains/visual-accessibility/services/visual-tester.d.ts.map +1 -0
- package/dist/domains/visual-accessibility/services/visual-tester.js +335 -0
- package/dist/domains/visual-accessibility/services/visual-tester.js.map +1 -0
- package/dist/early-exit/early-exit-controller.d.ts +158 -0
- package/dist/early-exit/early-exit-controller.d.ts.map +1 -0
- package/dist/early-exit/early-exit-controller.js +354 -0
- package/dist/early-exit/early-exit-controller.js.map +1 -0
- package/dist/early-exit/early-exit-decision.d.ts +110 -0
- package/dist/early-exit/early-exit-decision.d.ts.map +1 -0
- package/dist/early-exit/early-exit-decision.js +241 -0
- package/dist/early-exit/early-exit-decision.js.map +1 -0
- package/dist/early-exit/index.d.ts +38 -0
- package/dist/early-exit/index.d.ts.map +1 -0
- package/dist/early-exit/index.js +53 -0
- package/dist/early-exit/index.js.map +1 -0
- package/dist/early-exit/quality-signal.d.ts +61 -0
- package/dist/early-exit/quality-signal.d.ts.map +1 -0
- package/dist/early-exit/quality-signal.js +306 -0
- package/dist/early-exit/quality-signal.js.map +1 -0
- package/dist/early-exit/speculative-executor.d.ts +131 -0
- package/dist/early-exit/speculative-executor.d.ts.map +1 -0
- package/dist/early-exit/speculative-executor.js +385 -0
- package/dist/early-exit/speculative-executor.js.map +1 -0
- package/dist/early-exit/types.d.ts +271 -0
- package/dist/early-exit/types.d.ts.map +1 -0
- package/dist/early-exit/types.js +69 -0
- package/dist/early-exit/types.js.map +1 -0
- package/dist/feedback/coverage-learner.d.ts +117 -0
- package/dist/feedback/coverage-learner.d.ts.map +1 -0
- package/dist/feedback/coverage-learner.js +367 -0
- package/dist/feedback/coverage-learner.js.map +1 -0
- package/dist/feedback/feedback-loop.d.ts +170 -0
- package/dist/feedback/feedback-loop.d.ts.map +1 -0
- package/dist/feedback/feedback-loop.js +281 -0
- package/dist/feedback/feedback-loop.js.map +1 -0
- package/dist/feedback/index.d.ts +17 -0
- package/dist/feedback/index.d.ts.map +1 -0
- package/dist/feedback/index.js +20 -0
- package/dist/feedback/index.js.map +1 -0
- package/dist/feedback/pattern-promotion.d.ts +126 -0
- package/dist/feedback/pattern-promotion.d.ts.map +1 -0
- package/dist/feedback/pattern-promotion.js +282 -0
- package/dist/feedback/pattern-promotion.js.map +1 -0
- package/dist/feedback/quality-score-calculator.d.ts +93 -0
- package/dist/feedback/quality-score-calculator.d.ts.map +1 -0
- package/dist/feedback/quality-score-calculator.js +285 -0
- package/dist/feedback/quality-score-calculator.js.map +1 -0
- package/dist/feedback/test-outcome-tracker.d.ts +103 -0
- package/dist/feedback/test-outcome-tracker.d.ts.map +1 -0
- package/dist/feedback/test-outcome-tracker.js +347 -0
- package/dist/feedback/test-outcome-tracker.js.map +1 -0
- package/dist/feedback/types.d.ts +322 -0
- package/dist/feedback/types.d.ts.map +1 -0
- package/dist/feedback/types.js +60 -0
- package/dist/feedback/types.js.map +1 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +1 -0
- package/dist/init/agents-installer.d.ts +88 -0
- package/dist/init/agents-installer.d.ts.map +1 -0
- package/dist/init/agents-installer.js +441 -0
- package/dist/init/agents-installer.js.map +1 -0
- package/dist/init/index.d.ts +18 -0
- package/dist/init/index.d.ts.map +1 -0
- package/dist/init/index.js +14 -0
- package/dist/init/index.js.map +1 -0
- package/dist/init/init-wizard.d.ts +107 -0
- package/dist/init/init-wizard.d.ts.map +1 -0
- package/dist/init/init-wizard.js +906 -0
- package/dist/init/init-wizard.js.map +1 -0
- package/dist/init/project-analyzer.d.ts +95 -0
- package/dist/init/project-analyzer.d.ts.map +1 -0
- package/dist/init/project-analyzer.js +608 -0
- package/dist/init/project-analyzer.js.map +1 -0
- package/dist/init/self-configurator.d.ts +74 -0
- package/dist/init/self-configurator.d.ts.map +1 -0
- package/dist/init/self-configurator.js +384 -0
- package/dist/init/self-configurator.js.map +1 -0
- package/dist/init/skills-installer.d.ts +88 -0
- package/dist/init/skills-installer.d.ts.map +1 -0
- package/dist/init/skills-installer.js +386 -0
- package/dist/init/skills-installer.js.map +1 -0
- package/dist/init/types.d.ts +280 -0
- package/dist/init/types.d.ts.map +1 -0
- package/dist/init/types.js +110 -0
- package/dist/init/types.js.map +1 -0
- package/dist/integrations/ruvector/ast-complexity.d.ts +134 -0
- package/dist/integrations/ruvector/ast-complexity.d.ts.map +1 -0
- package/dist/integrations/ruvector/ast-complexity.js +383 -0
- package/dist/integrations/ruvector/ast-complexity.js.map +1 -0
- package/dist/integrations/ruvector/coverage-router.d.ts +128 -0
- package/dist/integrations/ruvector/coverage-router.d.ts.map +1 -0
- package/dist/integrations/ruvector/coverage-router.js +463 -0
- package/dist/integrations/ruvector/coverage-router.js.map +1 -0
- package/dist/integrations/ruvector/diff-risk-classifier.d.ts +129 -0
- package/dist/integrations/ruvector/diff-risk-classifier.d.ts.map +1 -0
- package/dist/integrations/ruvector/diff-risk-classifier.js +569 -0
- package/dist/integrations/ruvector/diff-risk-classifier.js.map +1 -0
- package/dist/integrations/ruvector/fallback.d.ts +138 -0
- package/dist/integrations/ruvector/fallback.d.ts.map +1 -0
- package/dist/integrations/ruvector/fallback.js +737 -0
- package/dist/integrations/ruvector/fallback.js.map +1 -0
- package/dist/integrations/ruvector/graph-boundaries.d.ts +151 -0
- package/dist/integrations/ruvector/graph-boundaries.d.ts.map +1 -0
- package/dist/integrations/ruvector/graph-boundaries.js +627 -0
- package/dist/integrations/ruvector/graph-boundaries.js.map +1 -0
- package/dist/integrations/ruvector/index.d.ts +82 -0
- package/dist/integrations/ruvector/index.d.ts.map +1 -0
- package/dist/integrations/ruvector/index.js +254 -0
- package/dist/integrations/ruvector/index.js.map +1 -0
- package/dist/integrations/ruvector/interfaces.d.ts +488 -0
- package/dist/integrations/ruvector/interfaces.d.ts.map +1 -0
- package/dist/integrations/ruvector/interfaces.js +64 -0
- package/dist/integrations/ruvector/interfaces.js.map +1 -0
- package/dist/integrations/ruvector/q-learning-router.d.ts +128 -0
- package/dist/integrations/ruvector/q-learning-router.d.ts.map +1 -0
- package/dist/integrations/ruvector/q-learning-router.js +427 -0
- package/dist/integrations/ruvector/q-learning-router.js.map +1 -0
- package/dist/kernel/agent-coordinator.d.ts +22 -0
- package/dist/kernel/agent-coordinator.d.ts.map +1 -0
- package/dist/kernel/agent-coordinator.js +113 -0
- package/dist/kernel/agent-coordinator.js.map +1 -0
- package/dist/kernel/agentdb-backend.d.ts +131 -0
- package/dist/kernel/agentdb-backend.d.ts.map +1 -0
- package/dist/kernel/agentdb-backend.js +359 -0
- package/dist/kernel/agentdb-backend.js.map +1 -0
- package/dist/kernel/event-bus.d.ts +18 -0
- package/dist/kernel/event-bus.d.ts.map +1 -0
- package/dist/kernel/event-bus.js +99 -0
- package/dist/kernel/event-bus.js.map +1 -0
- package/dist/kernel/hybrid-backend.d.ts +124 -0
- package/dist/kernel/hybrid-backend.d.ts.map +1 -0
- package/dist/kernel/hybrid-backend.js +395 -0
- package/dist/kernel/hybrid-backend.js.map +1 -0
- package/dist/kernel/index.d.ts +16 -0
- package/dist/kernel/index.d.ts.map +1 -0
- package/dist/kernel/index.js +17 -0
- package/dist/kernel/index.js.map +1 -0
- package/dist/kernel/interfaces.d.ts +174 -0
- package/dist/kernel/interfaces.d.ts.map +1 -0
- package/dist/kernel/interfaces.js +6 -0
- package/dist/kernel/interfaces.js.map +1 -0
- package/dist/kernel/kernel.d.ts +50 -0
- package/dist/kernel/kernel.d.ts.map +1 -0
- package/dist/kernel/kernel.js +228 -0
- package/dist/kernel/kernel.js.map +1 -0
- package/dist/kernel/memory-backend.d.ts +28 -0
- package/dist/kernel/memory-backend.d.ts.map +1 -0
- package/dist/kernel/memory-backend.js +126 -0
- package/dist/kernel/memory-backend.js.map +1 -0
- package/dist/kernel/memory-factory.d.ts +100 -0
- package/dist/kernel/memory-factory.d.ts.map +1 -0
- package/dist/kernel/memory-factory.js +209 -0
- package/dist/kernel/memory-factory.js.map +1 -0
- package/dist/kernel/plugin-loader.d.ts +36 -0
- package/dist/kernel/plugin-loader.d.ts.map +1 -0
- package/dist/kernel/plugin-loader.js +145 -0
- package/dist/kernel/plugin-loader.js.map +1 -0
- package/dist/learning/index.d.ts +58 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +90 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/pattern-store.d.ts +242 -0
- package/dist/learning/pattern-store.d.ts.map +1 -0
- package/dist/learning/pattern-store.js +657 -0
- package/dist/learning/pattern-store.js.map +1 -0
- package/dist/learning/qe-guidance.d.ts +125 -0
- package/dist/learning/qe-guidance.d.ts.map +1 -0
- package/dist/learning/qe-guidance.js +712 -0
- package/dist/learning/qe-guidance.js.map +1 -0
- package/dist/learning/qe-hooks.d.ts +111 -0
- package/dist/learning/qe-hooks.d.ts.map +1 -0
- package/dist/learning/qe-hooks.js +475 -0
- package/dist/learning/qe-hooks.js.map +1 -0
- package/dist/learning/qe-patterns.d.ts +203 -0
- package/dist/learning/qe-patterns.d.ts.map +1 -0
- package/dist/learning/qe-patterns.js +181 -0
- package/dist/learning/qe-patterns.js.map +1 -0
- package/dist/learning/qe-reasoning-bank.d.ts +263 -0
- package/dist/learning/qe-reasoning-bank.d.ts.map +1 -0
- package/dist/learning/qe-reasoning-bank.js +617 -0
- package/dist/learning/qe-reasoning-bank.js.map +1 -0
- package/dist/learning/real-embeddings.d.ts +61 -0
- package/dist/learning/real-embeddings.d.ts.map +1 -0
- package/dist/learning/real-embeddings.js +219 -0
- package/dist/learning/real-embeddings.js.map +1 -0
- package/dist/learning/real-qe-reasoning-bank.d.ts +182 -0
- package/dist/learning/real-qe-reasoning-bank.d.ts.map +1 -0
- package/dist/learning/real-qe-reasoning-bank.js +597 -0
- package/dist/learning/real-qe-reasoning-bank.js.map +1 -0
- package/dist/learning/sqlite-persistence.d.ts +121 -0
- package/dist/learning/sqlite-persistence.d.ts.map +1 -0
- package/dist/learning/sqlite-persistence.js +438 -0
- package/dist/learning/sqlite-persistence.js.map +1 -0
- package/dist/mcp/entry.d.ts +13 -0
- package/dist/mcp/entry.d.ts.map +1 -0
- package/dist/mcp/entry.js +53 -0
- package/dist/mcp/entry.js.map +1 -0
- package/dist/mcp/handlers/agent-handlers.d.ts +62 -0
- package/dist/mcp/handlers/agent-handlers.d.ts.map +1 -0
- package/dist/mcp/handlers/agent-handlers.js +173 -0
- package/dist/mcp/handlers/agent-handlers.js.map +1 -0
- package/dist/mcp/handlers/core-handlers.d.ts +30 -0
- package/dist/mcp/handlers/core-handlers.d.ts.map +1 -0
- package/dist/mcp/handlers/core-handlers.js +250 -0
- package/dist/mcp/handlers/core-handlers.js.map +1 -0
- package/dist/mcp/handlers/domain-handlers.d.ts +135 -0
- package/dist/mcp/handlers/domain-handlers.d.ts.map +1 -0
- package/dist/mcp/handlers/domain-handlers.js +990 -0
- package/dist/mcp/handlers/domain-handlers.js.map +1 -0
- package/dist/mcp/handlers/index.d.ts +10 -0
- package/dist/mcp/handlers/index.d.ts.map +1 -0
- package/dist/mcp/handlers/index.js +15 -0
- package/dist/mcp/handlers/index.js.map +1 -0
- package/dist/mcp/handlers/memory-handlers.d.ts +53 -0
- package/dist/mcp/handlers/memory-handlers.d.ts.map +1 -0
- package/dist/mcp/handlers/memory-handlers.js +228 -0
- package/dist/mcp/handlers/memory-handlers.js.map +1 -0
- package/dist/mcp/handlers/task-handlers.d.ts +26 -0
- package/dist/mcp/handlers/task-handlers.d.ts.map +1 -0
- package/dist/mcp/handlers/task-handlers.js +293 -0
- package/dist/mcp/handlers/task-handlers.js.map +1 -0
- package/dist/mcp/index.d.ts +12 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +18 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/metrics/index.d.ts +6 -0
- package/dist/mcp/metrics/index.d.ts.map +1 -0
- package/dist/mcp/metrics/index.js +6 -0
- package/dist/mcp/metrics/index.js.map +1 -0
- package/dist/mcp/metrics/metrics-collector.d.ts +154 -0
- package/dist/mcp/metrics/metrics-collector.d.ts.map +1 -0
- package/dist/mcp/metrics/metrics-collector.js +377 -0
- package/dist/mcp/metrics/metrics-collector.js.map +1 -0
- package/dist/mcp/protocol-server.d.ts +66 -0
- package/dist/mcp/protocol-server.d.ts.map +1 -0
- package/dist/mcp/protocol-server.js +600 -0
- package/dist/mcp/protocol-server.js.map +1 -0
- package/dist/mcp/security/cve-prevention.d.ts +150 -0
- package/dist/mcp/security/cve-prevention.d.ts.map +1 -0
- package/dist/mcp/security/cve-prevention.js +570 -0
- package/dist/mcp/security/cve-prevention.js.map +1 -0
- package/dist/mcp/security/index.d.ts +116 -0
- package/dist/mcp/security/index.d.ts.map +1 -0
- package/dist/mcp/security/index.js +184 -0
- package/dist/mcp/security/index.js.map +1 -0
- package/dist/mcp/security/oauth21-provider.d.ts +229 -0
- package/dist/mcp/security/oauth21-provider.d.ts.map +1 -0
- package/dist/mcp/security/oauth21-provider.js +558 -0
- package/dist/mcp/security/oauth21-provider.js.map +1 -0
- package/dist/mcp/security/rate-limiter.d.ts +191 -0
- package/dist/mcp/security/rate-limiter.d.ts.map +1 -0
- package/dist/mcp/security/rate-limiter.js +437 -0
- package/dist/mcp/security/rate-limiter.js.map +1 -0
- package/dist/mcp/security/sampling-server.d.ts +289 -0
- package/dist/mcp/security/sampling-server.d.ts.map +1 -0
- package/dist/mcp/security/sampling-server.js +450 -0
- package/dist/mcp/security/sampling-server.js.map +1 -0
- package/dist/mcp/security/schema-validator.d.ts +197 -0
- package/dist/mcp/security/schema-validator.d.ts.map +1 -0
- package/dist/mcp/security/schema-validator.js +633 -0
- package/dist/mcp/security/schema-validator.js.map +1 -0
- package/dist/mcp/server.d.ts +46 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +576 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tool-registry.d.ts +98 -0
- package/dist/mcp/tool-registry.d.ts.map +1 -0
- package/dist/mcp/tool-registry.js +321 -0
- package/dist/mcp/tool-registry.js.map +1 -0
- package/dist/mcp/tools/base.d.ts +186 -0
- package/dist/mcp/tools/base.d.ts.map +1 -0
- package/dist/mcp/tools/base.js +249 -0
- package/dist/mcp/tools/base.js.map +1 -0
- package/dist/mcp/tools/chaos-resilience/inject.d.ts +61 -0
- package/dist/mcp/tools/chaos-resilience/inject.d.ts.map +1 -0
- package/dist/mcp/tools/chaos-resilience/inject.js +520 -0
- package/dist/mcp/tools/chaos-resilience/inject.js.map +1 -0
- package/dist/mcp/tools/code-intelligence/analyze.d.ts +140 -0
- package/dist/mcp/tools/code-intelligence/analyze.d.ts.map +1 -0
- package/dist/mcp/tools/code-intelligence/analyze.js +570 -0
- package/dist/mcp/tools/code-intelligence/analyze.js.map +1 -0
- package/dist/mcp/tools/contract-testing/validate.d.ts +90 -0
- package/dist/mcp/tools/contract-testing/validate.d.ts.map +1 -0
- package/dist/mcp/tools/contract-testing/validate.js +515 -0
- package/dist/mcp/tools/contract-testing/validate.js.map +1 -0
- package/dist/mcp/tools/coverage-analysis/index.d.ts +111 -0
- package/dist/mcp/tools/coverage-analysis/index.d.ts.map +1 -0
- package/dist/mcp/tools/coverage-analysis/index.js +577 -0
- package/dist/mcp/tools/coverage-analysis/index.js.map +1 -0
- package/dist/mcp/tools/defect-intelligence/predict.d.ts +67 -0
- package/dist/mcp/tools/defect-intelligence/predict.d.ts.map +1 -0
- package/dist/mcp/tools/defect-intelligence/predict.js +359 -0
- package/dist/mcp/tools/defect-intelligence/predict.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +40 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +82 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/learning-optimization/optimize.d.ts +123 -0
- package/dist/mcp/tools/learning-optimization/optimize.d.ts.map +1 -0
- package/dist/mcp/tools/learning-optimization/optimize.js +563 -0
- package/dist/mcp/tools/learning-optimization/optimize.js.map +1 -0
- package/dist/mcp/tools/quality-assessment/evaluate.d.ts +83 -0
- package/dist/mcp/tools/quality-assessment/evaluate.d.ts.map +1 -0
- package/dist/mcp/tools/quality-assessment/evaluate.js +277 -0
- package/dist/mcp/tools/quality-assessment/evaluate.js.map +1 -0
- package/dist/mcp/tools/registry.d.ts +79 -0
- package/dist/mcp/tools/registry.d.ts.map +1 -0
- package/dist/mcp/tools/registry.js +181 -0
- package/dist/mcp/tools/registry.js.map +1 -0
- package/dist/mcp/tools/requirements-validation/validate.d.ts +81 -0
- package/dist/mcp/tools/requirements-validation/validate.d.ts.map +1 -0
- package/dist/mcp/tools/requirements-validation/validate.js +270 -0
- package/dist/mcp/tools/requirements-validation/validate.js.map +1 -0
- package/dist/mcp/tools/security-compliance/scan.d.ts +75 -0
- package/dist/mcp/tools/security-compliance/scan.d.ts.map +1 -0
- package/dist/mcp/tools/security-compliance/scan.js +258 -0
- package/dist/mcp/tools/security-compliance/scan.js.map +1 -0
- package/dist/mcp/tools/test-execution/execute.d.ts +65 -0
- package/dist/mcp/tools/test-execution/execute.d.ts.map +1 -0
- package/dist/mcp/tools/test-execution/execute.js +196 -0
- package/dist/mcp/tools/test-execution/execute.js.map +1 -0
- package/dist/mcp/tools/test-generation/generate.d.ts +53 -0
- package/dist/mcp/tools/test-generation/generate.d.ts.map +1 -0
- package/dist/mcp/tools/test-generation/generate.js +437 -0
- package/dist/mcp/tools/test-generation/generate.js.map +1 -0
- package/dist/mcp/tools/visual-accessibility/index.d.ts +144 -0
- package/dist/mcp/tools/visual-accessibility/index.d.ts.map +1 -0
- package/dist/mcp/tools/visual-accessibility/index.js +562 -0
- package/dist/mcp/tools/visual-accessibility/index.js.map +1 -0
- package/dist/mcp/transport/index.d.ts +12 -0
- package/dist/mcp/transport/index.d.ts.map +1 -0
- package/dist/mcp/transport/index.js +21 -0
- package/dist/mcp/transport/index.js.map +1 -0
- package/dist/mcp/transport/stdio.d.ts +95 -0
- package/dist/mcp/transport/stdio.d.ts.map +1 -0
- package/dist/mcp/transport/stdio.js +226 -0
- package/dist/mcp/transport/stdio.js.map +1 -0
- package/dist/mcp/types.d.ts +455 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +6 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/neural-optimizer/index.d.ts +55 -0
- package/dist/neural-optimizer/index.d.ts.map +1 -0
- package/dist/neural-optimizer/index.js +57 -0
- package/dist/neural-optimizer/index.js.map +1 -0
- package/dist/neural-optimizer/replay-buffer.d.ts +126 -0
- package/dist/neural-optimizer/replay-buffer.d.ts.map +1 -0
- package/dist/neural-optimizer/replay-buffer.js +355 -0
- package/dist/neural-optimizer/replay-buffer.js.map +1 -0
- package/dist/neural-optimizer/swarm-topology.d.ts +157 -0
- package/dist/neural-optimizer/swarm-topology.d.ts.map +1 -0
- package/dist/neural-optimizer/swarm-topology.js +384 -0
- package/dist/neural-optimizer/swarm-topology.js.map +1 -0
- package/dist/neural-optimizer/topology-optimizer.d.ts +137 -0
- package/dist/neural-optimizer/topology-optimizer.d.ts.map +1 -0
- package/dist/neural-optimizer/topology-optimizer.js +656 -0
- package/dist/neural-optimizer/topology-optimizer.js.map +1 -0
- package/dist/neural-optimizer/types.d.ts +333 -0
- package/dist/neural-optimizer/types.d.ts.map +1 -0
- package/dist/neural-optimizer/types.js +57 -0
- package/dist/neural-optimizer/types.js.map +1 -0
- package/dist/neural-optimizer/value-network.d.ts +129 -0
- package/dist/neural-optimizer/value-network.d.ts.map +1 -0
- package/dist/neural-optimizer/value-network.js +278 -0
- package/dist/neural-optimizer/value-network.js.map +1 -0
- package/dist/optimization/auto-tuner.d.ts +207 -0
- package/dist/optimization/auto-tuner.d.ts.map +1 -0
- package/dist/optimization/auto-tuner.js +641 -0
- package/dist/optimization/auto-tuner.js.map +1 -0
- package/dist/optimization/index.d.ts +16 -0
- package/dist/optimization/index.d.ts.map +1 -0
- package/dist/optimization/index.js +14 -0
- package/dist/optimization/index.js.map +1 -0
- package/dist/optimization/metric-collectors.d.ts +145 -0
- package/dist/optimization/metric-collectors.d.ts.map +1 -0
- package/dist/optimization/metric-collectors.js +401 -0
- package/dist/optimization/metric-collectors.js.map +1 -0
- package/dist/optimization/qe-workers.d.ts +143 -0
- package/dist/optimization/qe-workers.d.ts.map +1 -0
- package/dist/optimization/qe-workers.js +510 -0
- package/dist/optimization/qe-workers.js.map +1 -0
- package/dist/optimization/tuning-algorithm.d.ts +93 -0
- package/dist/optimization/tuning-algorithm.d.ts.map +1 -0
- package/dist/optimization/tuning-algorithm.js +278 -0
- package/dist/optimization/tuning-algorithm.js.map +1 -0
- package/dist/optimization/types.d.ts +211 -0
- package/dist/optimization/types.d.ts.map +1 -0
- package/dist/optimization/types.js +81 -0
- package/dist/optimization/types.js.map +1 -0
- package/dist/routing/index.d.ts +15 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +17 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/qe-agent-registry.d.ts +58 -0
- package/dist/routing/qe-agent-registry.d.ts.map +1 -0
- package/dist/routing/qe-agent-registry.js +909 -0
- package/dist/routing/qe-agent-registry.js.map +1 -0
- package/dist/routing/qe-task-router.d.ts +82 -0
- package/dist/routing/qe-task-router.d.ts.map +1 -0
- package/dist/routing/qe-task-router.js +453 -0
- package/dist/routing/qe-task-router.js.map +1 -0
- package/dist/routing/routing-feedback.d.ts +82 -0
- package/dist/routing/routing-feedback.d.ts.map +1 -0
- package/dist/routing/routing-feedback.js +272 -0
- package/dist/routing/routing-feedback.js.map +1 -0
- package/dist/routing/types.d.ts +225 -0
- package/dist/routing/types.d.ts.map +1 -0
- package/dist/routing/types.js +27 -0
- package/dist/routing/types.js.map +1 -0
- package/dist/shared/embeddings/embedding-cache.d.ts +62 -0
- package/dist/shared/embeddings/embedding-cache.d.ts.map +1 -0
- package/dist/shared/embeddings/embedding-cache.js +136 -0
- package/dist/shared/embeddings/embedding-cache.js.map +1 -0
- package/dist/shared/embeddings/index.d.ts +35 -0
- package/dist/shared/embeddings/index.d.ts.map +1 -0
- package/dist/shared/embeddings/index.js +33 -0
- package/dist/shared/embeddings/index.js.map +1 -0
- package/dist/shared/embeddings/nomic-embedder.d.ts +128 -0
- package/dist/shared/embeddings/nomic-embedder.d.ts.map +1 -0
- package/dist/shared/embeddings/nomic-embedder.js +322 -0
- package/dist/shared/embeddings/nomic-embedder.js.map +1 -0
- package/dist/shared/embeddings/ollama-client.d.ts +40 -0
- package/dist/shared/embeddings/ollama-client.d.ts.map +1 -0
- package/dist/shared/embeddings/ollama-client.js +140 -0
- package/dist/shared/embeddings/ollama-client.js.map +1 -0
- package/dist/shared/embeddings/types.d.ts +136 -0
- package/dist/shared/embeddings/types.d.ts.map +1 -0
- package/dist/shared/embeddings/types.js +26 -0
- package/dist/shared/embeddings/types.js.map +1 -0
- package/dist/shared/entities/agent.d.ts +40 -0
- package/dist/shared/entities/agent.d.ts.map +1 -0
- package/dist/shared/entities/agent.js +107 -0
- package/dist/shared/entities/agent.js.map +1 -0
- package/dist/shared/entities/base-entity.d.ts +37 -0
- package/dist/shared/entities/base-entity.d.ts.map +1 -0
- package/dist/shared/entities/base-entity.js +56 -0
- package/dist/shared/entities/base-entity.js.map +1 -0
- package/dist/shared/entities/index.d.ts +6 -0
- package/dist/shared/entities/index.d.ts.map +1 -0
- package/dist/shared/entities/index.js +6 -0
- package/dist/shared/entities/index.js.map +1 -0
- package/dist/shared/events/domain-events.d.ts +194 -0
- package/dist/shared/events/domain-events.d.ts.map +1 -0
- package/dist/shared/events/domain-events.js +74 -0
- package/dist/shared/events/domain-events.js.map +1 -0
- package/dist/shared/events/index.d.ts +5 -0
- package/dist/shared/events/index.d.ts.map +1 -0
- package/dist/shared/events/index.js +5 -0
- package/dist/shared/events/index.js.map +1 -0
- package/dist/shared/git/git-analyzer.d.ts +135 -0
- package/dist/shared/git/git-analyzer.d.ts.map +1 -0
- package/dist/shared/git/git-analyzer.js +562 -0
- package/dist/shared/git/git-analyzer.js.map +1 -0
- package/dist/shared/git/index.d.ts +6 -0
- package/dist/shared/git/index.d.ts.map +1 -0
- package/dist/shared/git/index.js +5 -0
- package/dist/shared/git/index.js.map +1 -0
- package/dist/shared/http/http-client.d.ts +92 -0
- package/dist/shared/http/http-client.d.ts.map +1 -0
- package/dist/shared/http/http-client.js +295 -0
- package/dist/shared/http/http-client.js.map +1 -0
- package/dist/shared/http/index.d.ts +5 -0
- package/dist/shared/http/index.d.ts.map +1 -0
- package/dist/shared/http/index.js +5 -0
- package/dist/shared/http/index.js.map +1 -0
- package/dist/shared/index.d.ts +18 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +17 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/io/file-reader.d.ts +107 -0
- package/dist/shared/io/file-reader.d.ts.map +1 -0
- package/dist/shared/io/file-reader.js +408 -0
- package/dist/shared/io/file-reader.js.map +1 -0
- package/dist/shared/io/index.d.ts +6 -0
- package/dist/shared/io/index.d.ts.map +1 -0
- package/dist/shared/io/index.js +12 -0
- package/dist/shared/io/index.js.map +1 -0
- package/dist/shared/llm/cache.d.ts +163 -0
- package/dist/shared/llm/cache.d.ts.map +1 -0
- package/dist/shared/llm/cache.js +368 -0
- package/dist/shared/llm/cache.js.map +1 -0
- package/dist/shared/llm/circuit-breaker.d.ts +117 -0
- package/dist/shared/llm/circuit-breaker.d.ts.map +1 -0
- package/dist/shared/llm/circuit-breaker.js +294 -0
- package/dist/shared/llm/circuit-breaker.js.map +1 -0
- package/dist/shared/llm/cost-tracker.d.ts +133 -0
- package/dist/shared/llm/cost-tracker.d.ts.map +1 -0
- package/dist/shared/llm/cost-tracker.js +342 -0
- package/dist/shared/llm/cost-tracker.js.map +1 -0
- package/dist/shared/llm/index.d.ts +50 -0
- package/dist/shared/llm/index.d.ts.map +1 -0
- package/dist/shared/llm/index.js +56 -0
- package/dist/shared/llm/index.js.map +1 -0
- package/dist/shared/llm/interfaces.d.ts +503 -0
- package/dist/shared/llm/interfaces.d.ts.map +1 -0
- package/dist/shared/llm/interfaces.js +33 -0
- package/dist/shared/llm/interfaces.js.map +1 -0
- package/dist/shared/llm/provider-manager.d.ts +158 -0
- package/dist/shared/llm/provider-manager.d.ts.map +1 -0
- package/dist/shared/llm/provider-manager.js +527 -0
- package/dist/shared/llm/provider-manager.js.map +1 -0
- package/dist/shared/llm/providers/claude.d.ts +99 -0
- package/dist/shared/llm/providers/claude.d.ts.map +1 -0
- package/dist/shared/llm/providers/claude.js +394 -0
- package/dist/shared/llm/providers/claude.js.map +1 -0
- package/dist/shared/llm/providers/index.d.ts +8 -0
- package/dist/shared/llm/providers/index.d.ts.map +1 -0
- package/dist/shared/llm/providers/index.js +8 -0
- package/dist/shared/llm/providers/index.js.map +1 -0
- package/dist/shared/llm/providers/ollama.d.ts +91 -0
- package/dist/shared/llm/providers/ollama.d.ts.map +1 -0
- package/dist/shared/llm/providers/ollama.js +391 -0
- package/dist/shared/llm/providers/ollama.js.map +1 -0
- package/dist/shared/llm/providers/openai.d.ts +98 -0
- package/dist/shared/llm/providers/openai.d.ts.map +1 -0
- package/dist/shared/llm/providers/openai.js +440 -0
- package/dist/shared/llm/providers/openai.js.map +1 -0
- package/dist/shared/metrics/code-metrics.d.ts +75 -0
- package/dist/shared/metrics/code-metrics.d.ts.map +1 -0
- package/dist/shared/metrics/code-metrics.js +395 -0
- package/dist/shared/metrics/code-metrics.js.map +1 -0
- package/dist/shared/metrics/index.d.ts +9 -0
- package/dist/shared/metrics/index.d.ts.map +1 -0
- package/dist/shared/metrics/index.js +7 -0
- package/dist/shared/metrics/index.js.map +1 -0
- package/dist/shared/metrics/system-metrics.d.ts +109 -0
- package/dist/shared/metrics/system-metrics.d.ts.map +1 -0
- package/dist/shared/metrics/system-metrics.js +267 -0
- package/dist/shared/metrics/system-metrics.js.map +1 -0
- package/dist/shared/parsers/index.d.ts +6 -0
- package/dist/shared/parsers/index.d.ts.map +1 -0
- package/dist/shared/parsers/index.js +6 -0
- package/dist/shared/parsers/index.js.map +1 -0
- package/dist/shared/parsers/typescript-parser.d.ts +211 -0
- package/dist/shared/parsers/typescript-parser.d.ts.map +1 -0
- package/dist/shared/parsers/typescript-parser.js +561 -0
- package/dist/shared/parsers/typescript-parser.js.map +1 -0
- package/dist/shared/security/compliance-patterns.d.ts +78 -0
- package/dist/shared/security/compliance-patterns.d.ts.map +1 -0
- package/dist/shared/security/compliance-patterns.js +543 -0
- package/dist/shared/security/compliance-patterns.js.map +1 -0
- package/dist/shared/security/index.d.ts +8 -0
- package/dist/shared/security/index.d.ts.map +1 -0
- package/dist/shared/security/index.js +6 -0
- package/dist/shared/security/index.js.map +1 -0
- package/dist/shared/security/osv-client.d.ts +191 -0
- package/dist/shared/security/osv-client.d.ts.map +1 -0
- package/dist/shared/security/osv-client.js +256 -0
- package/dist/shared/security/osv-client.js.map +1 -0
- package/dist/shared/types/index.d.ts +66 -0
- package/dist/shared/types/index.d.ts.map +1 -0
- package/dist/shared/types/index.js +25 -0
- package/dist/shared/types/index.js.map +1 -0
- package/dist/shared/value-objects/index.d.ts +73 -0
- package/dist/shared/value-objects/index.d.ts.map +1 -0
- package/dist/shared/value-objects/index.js +229 -0
- package/dist/shared/value-objects/index.js.map +1 -0
- package/dist/strange-loop/healing-controller.d.ts +125 -0
- package/dist/strange-loop/healing-controller.d.ts.map +1 -0
- package/dist/strange-loop/healing-controller.js +648 -0
- package/dist/strange-loop/healing-controller.js.map +1 -0
- package/dist/strange-loop/index.d.ts +26 -0
- package/dist/strange-loop/index.d.ts.map +1 -0
- package/dist/strange-loop/index.js +30 -0
- package/dist/strange-loop/index.js.map +1 -0
- package/dist/strange-loop/self-model.d.ts +84 -0
- package/dist/strange-loop/self-model.d.ts.map +1 -0
- package/dist/strange-loop/self-model.js +378 -0
- package/dist/strange-loop/self-model.js.map +1 -0
- package/dist/strange-loop/strange-loop.d.ts +112 -0
- package/dist/strange-loop/strange-loop.d.ts.map +1 -0
- package/dist/strange-loop/strange-loop.js +354 -0
- package/dist/strange-loop/strange-loop.js.map +1 -0
- package/dist/strange-loop/swarm-observer.d.ts +89 -0
- package/dist/strange-loop/swarm-observer.d.ts.map +1 -0
- package/dist/strange-loop/swarm-observer.js +341 -0
- package/dist/strange-loop/swarm-observer.js.map +1 -0
- package/dist/strange-loop/topology-analyzer.d.ts +87 -0
- package/dist/strange-loop/topology-analyzer.d.ts.map +1 -0
- package/dist/strange-loop/topology-analyzer.js +441 -0
- package/dist/strange-loop/topology-analyzer.js.map +1 -0
- package/dist/strange-loop/types.d.ts +425 -0
- package/dist/strange-loop/types.d.ts.map +1 -0
- package/dist/strange-loop/types.js +22 -0
- package/dist/strange-loop/types.js.map +1 -0
- package/dist/time-crystal/default-phases.d.ts +95 -0
- package/dist/time-crystal/default-phases.d.ts.map +1 -0
- package/dist/time-crystal/default-phases.js +456 -0
- package/dist/time-crystal/default-phases.js.map +1 -0
- package/dist/time-crystal/index.d.ts +28 -0
- package/dist/time-crystal/index.d.ts.map +1 -0
- package/dist/time-crystal/index.js +55 -0
- package/dist/time-crystal/index.js.map +1 -0
- package/dist/time-crystal/oscillator.d.ts +195 -0
- package/dist/time-crystal/oscillator.d.ts.map +1 -0
- package/dist/time-crystal/oscillator.js +358 -0
- package/dist/time-crystal/oscillator.js.map +1 -0
- package/dist/time-crystal/phase-executor.d.ts +212 -0
- package/dist/time-crystal/phase-executor.d.ts.map +1 -0
- package/dist/time-crystal/phase-executor.js +327 -0
- package/dist/time-crystal/phase-executor.js.map +1 -0
- package/dist/time-crystal/scheduler.d.ts +239 -0
- package/dist/time-crystal/scheduler.d.ts.map +1 -0
- package/dist/time-crystal/scheduler.js +860 -0
- package/dist/time-crystal/scheduler.js.map +1 -0
- package/dist/time-crystal/test-runner.d.ts +141 -0
- package/dist/time-crystal/test-runner.d.ts.map +1 -0
- package/dist/time-crystal/test-runner.js +529 -0
- package/dist/time-crystal/test-runner.js.map +1 -0
- package/dist/time-crystal/types.d.ts +269 -0
- package/dist/time-crystal/types.d.ts.map +1 -0
- package/dist/time-crystal/types.js +51 -0
- package/dist/time-crystal/types.js.map +1 -0
- package/dist/workers/base-worker.d.ts +83 -0
- package/dist/workers/base-worker.d.ts.map +1 -0
- package/dist/workers/base-worker.js +235 -0
- package/dist/workers/base-worker.js.map +1 -0
- package/dist/workers/daemon.d.ts +73 -0
- package/dist/workers/daemon.d.ts.map +1 -0
- package/dist/workers/daemon.js +193 -0
- package/dist/workers/daemon.js.map +1 -0
- package/dist/workers/index.d.ts +91 -0
- package/dist/workers/index.d.ts.map +1 -0
- package/dist/workers/index.js +95 -0
- package/dist/workers/index.js.map +1 -0
- package/dist/workers/interfaces.d.ts +270 -0
- package/dist/workers/interfaces.d.ts.map +1 -0
- package/dist/workers/interfaces.js +9 -0
- package/dist/workers/interfaces.js.map +1 -0
- package/dist/workers/worker-manager.d.ts +87 -0
- package/dist/workers/worker-manager.d.ts.map +1 -0
- package/dist/workers/worker-manager.js +345 -0
- package/dist/workers/worker-manager.js.map +1 -0
- package/dist/workers/workers/compliance-checker.d.ts +28 -0
- package/dist/workers/workers/compliance-checker.d.ts.map +1 -0
- package/dist/workers/workers/compliance-checker.js +334 -0
- package/dist/workers/workers/compliance-checker.js.map +1 -0
- package/dist/workers/workers/coverage-tracker.d.ts +24 -0
- package/dist/workers/workers/coverage-tracker.d.ts.map +1 -0
- package/dist/workers/workers/coverage-tracker.js +265 -0
- package/dist/workers/workers/coverage-tracker.js.map +1 -0
- package/dist/workers/workers/defect-predictor.d.ts +22 -0
- package/dist/workers/workers/defect-predictor.d.ts.map +1 -0
- package/dist/workers/workers/defect-predictor.js +292 -0
- package/dist/workers/workers/defect-predictor.js.map +1 -0
- package/dist/workers/workers/flaky-detector.d.ts +25 -0
- package/dist/workers/workers/flaky-detector.d.ts.map +1 -0
- package/dist/workers/workers/flaky-detector.js +288 -0
- package/dist/workers/workers/flaky-detector.js.map +1 -0
- package/dist/workers/workers/index.d.ts +17 -0
- package/dist/workers/workers/index.d.ts.map +1 -0
- package/dist/workers/workers/index.js +17 -0
- package/dist/workers/workers/index.js.map +1 -0
- package/dist/workers/workers/learning-consolidation.d.ts +25 -0
- package/dist/workers/workers/learning-consolidation.d.ts.map +1 -0
- package/dist/workers/workers/learning-consolidation.js +324 -0
- package/dist/workers/workers/learning-consolidation.js.map +1 -0
- package/dist/workers/workers/performance-baseline.d.ts +25 -0
- package/dist/workers/workers/performance-baseline.d.ts.map +1 -0
- package/dist/workers/workers/performance-baseline.js +315 -0
- package/dist/workers/workers/performance-baseline.js.map +1 -0
- package/dist/workers/workers/quality-gate.d.ts +23 -0
- package/dist/workers/workers/quality-gate.d.ts.map +1 -0
- package/dist/workers/workers/quality-gate.js +348 -0
- package/dist/workers/workers/quality-gate.js.map +1 -0
- package/dist/workers/workers/regression-monitor.d.ts +24 -0
- package/dist/workers/workers/regression-monitor.d.ts.map +1 -0
- package/dist/workers/workers/regression-monitor.js +280 -0
- package/dist/workers/workers/regression-monitor.js.map +1 -0
- package/dist/workers/workers/security-scan.d.ts +22 -0
- package/dist/workers/workers/security-scan.d.ts.map +1 -0
- package/dist/workers/workers/security-scan.js +264 -0
- package/dist/workers/workers/security-scan.js.map +1 -0
- package/dist/workers/workers/test-health.d.ts +26 -0
- package/dist/workers/workers/test-health.d.ts.map +1 -0
- package/dist/workers/workers/test-health.js +258 -0
- package/dist/workers/workers/test-health.js.map +1 -0
- package/docs/analysis/V3-INIT-REQUIREMENTS-ANALYSIS.md +352 -0
- package/implementation/README.md +90 -0
- package/implementation/adrs/ADR-030-coherence-gated-quality-gates.md +312 -0
- package/implementation/adrs/ADR-031-strange-loop-self-awareness.md +484 -0
- package/implementation/adrs/ADR-032-time-crystal-scheduling.md +530 -0
- package/implementation/adrs/ADR-033-early-exit-testing.md +634 -0
- package/implementation/adrs/ADR-034-neural-topology-optimizer.md +589 -0
- package/implementation/adrs/ADR-035-causal-discovery.md +610 -0
- package/implementation/adrs/ADR-036-result-persistence.md +326 -0
- package/implementation/adrs/ADR-037-v3-qe-agent-naming.md +105 -0
- package/implementation/adrs/ADR-038-v3-qe-memory-unification.md +154 -0
- package/implementation/adrs/ADR-039-v3-qe-mcp-optimization.md +179 -0
- package/implementation/adrs/ADR-040-v3-qe-agentic-flow-integration.md +240 -0
- package/implementation/adrs/ADR-041-v3-qe-cli-enhancement.md +296 -0
- package/implementation/adrs/ADR-042-v3-qe-token-tracking-integration.md +517 -0
- package/implementation/adrs/v3-adrs.md +2783 -0
- package/implementation/planning/AQE-V3-MASTER-PLAN.md +815 -0
- package/package.json +88 -0
- package/security-scan-report-2026-01-11.md +410 -0
- package/security-verification-report-2026-01-11.md +278 -0
- package/src/benchmarks/performance-benchmarks.ts +646 -0
- package/src/benchmarks/run-benchmarks.ts +324 -0
- package/src/causal-discovery/causal-graph.ts +450 -0
- package/src/causal-discovery/discovery-engine.ts +438 -0
- package/src/causal-discovery/index.ts +117 -0
- package/src/causal-discovery/types.ts +456 -0
- package/src/causal-discovery/weight-matrix.ts +453 -0
- package/src/cli/commands/qe-tools.ts +634 -0
- package/src/cli/index.ts +1976 -0
- package/src/compatibility/agent-mapper.ts +291 -0
- package/src/compatibility/cli-adapter.ts +277 -0
- package/src/compatibility/config-migrator.ts +334 -0
- package/src/compatibility/index.ts +112 -0
- package/src/compatibility/mcp-adapter.ts +248 -0
- package/src/compatibility/types.ts +156 -0
- package/src/coordination/claims/claim-repository.ts +636 -0
- package/src/coordination/claims/claim-service.ts +675 -0
- package/src/coordination/claims/handoff-manager.ts +535 -0
- package/src/coordination/claims/index.ts +276 -0
- package/src/coordination/claims/interfaces.ts +687 -0
- package/src/coordination/claims/work-stealing.ts +436 -0
- package/src/coordination/cross-domain-router.ts +492 -0
- package/src/coordination/index.ts +127 -0
- package/src/coordination/interfaces.ts +691 -0
- package/src/coordination/protocol-executor.ts +760 -0
- package/src/coordination/protocols/code-intelligence-index.ts +855 -0
- package/src/coordination/protocols/defect-investigation.ts +1184 -0
- package/src/coordination/protocols/index.ts +11 -0
- package/src/coordination/protocols/learning-consolidation.ts +1181 -0
- package/src/coordination/protocols/morning-sync.ts +1055 -0
- package/src/coordination/protocols/quality-gate.ts +1566 -0
- package/src/coordination/protocols/security-audit.ts +1587 -0
- package/src/coordination/queen-coordinator.ts +1176 -0
- package/src/coordination/result-saver.ts +780 -0
- package/src/coordination/task-executor.ts +1146 -0
- package/src/coordination/workflow-orchestrator.ts +1917 -0
- package/src/domains/chaos-resilience/coordinator.ts +1032 -0
- package/src/domains/chaos-resilience/index.ts +143 -0
- package/src/domains/chaos-resilience/interfaces.ts +659 -0
- package/src/domains/chaos-resilience/plugin.ts +691 -0
- package/src/domains/chaos-resilience/services/chaos-engineer.ts +1097 -0
- package/src/domains/chaos-resilience/services/index.ts +19 -0
- package/src/domains/chaos-resilience/services/load-tester.ts +799 -0
- package/src/domains/chaos-resilience/services/performance-profiler.ts +792 -0
- package/src/domains/code-intelligence/coordinator.ts +631 -0
- package/src/domains/code-intelligence/index.ts +86 -0
- package/src/domains/code-intelligence/interfaces.ts +162 -0
- package/src/domains/code-intelligence/plugin.ts +451 -0
- package/src/domains/code-intelligence/services/impact-analyzer.ts +567 -0
- package/src/domains/code-intelligence/services/index.ts +26 -0
- package/src/domains/code-intelligence/services/knowledge-graph.ts +1067 -0
- package/src/domains/code-intelligence/services/semantic-analyzer.ts +901 -0
- package/src/domains/contract-testing/coordinator.ts +1038 -0
- package/src/domains/contract-testing/index.ts +122 -0
- package/src/domains/contract-testing/interfaces.ts +458 -0
- package/src/domains/contract-testing/plugin.ts +746 -0
- package/src/domains/contract-testing/services/api-compatibility.ts +748 -0
- package/src/domains/contract-testing/services/contract-validator.ts +1700 -0
- package/src/domains/contract-testing/services/index.ts +19 -0
- package/src/domains/contract-testing/services/schema-validator.ts +1102 -0
- package/src/domains/coverage-analysis/coordinator.ts +485 -0
- package/src/domains/coverage-analysis/index.ts +114 -0
- package/src/domains/coverage-analysis/interfaces.ts +142 -0
- package/src/domains/coverage-analysis/plugin.ts +172 -0
- package/src/domains/coverage-analysis/services/coverage-analyzer.ts +449 -0
- package/src/domains/coverage-analysis/services/coverage-embedder.ts +733 -0
- package/src/domains/coverage-analysis/services/coverage-parser.ts +753 -0
- package/src/domains/coverage-analysis/services/gap-detector.ts +592 -0
- package/src/domains/coverage-analysis/services/hnsw-index.ts +728 -0
- package/src/domains/coverage-analysis/services/index.ts +61 -0
- package/src/domains/coverage-analysis/services/risk-scorer.ts +540 -0
- package/src/domains/coverage-analysis/services/sublinear-analyzer.ts +747 -0
- package/src/domains/defect-intelligence/coordinator.ts +635 -0
- package/src/domains/defect-intelligence/index.ts +83 -0
- package/src/domains/defect-intelligence/interfaces.ts +152 -0
- package/src/domains/defect-intelligence/plugin.ts +483 -0
- package/src/domains/defect-intelligence/services/causal-root-cause-analyzer.ts +494 -0
- package/src/domains/defect-intelligence/services/defect-predictor.ts +852 -0
- package/src/domains/defect-intelligence/services/index.ts +37 -0
- package/src/domains/defect-intelligence/services/pattern-learner.ts +738 -0
- package/src/domains/defect-intelligence/services/root-cause-analyzer.ts +637 -0
- package/src/domains/domain-interface.ts +77 -0
- package/src/domains/index.ts +23 -0
- package/src/domains/learning-optimization/coordinator.ts +1215 -0
- package/src/domains/learning-optimization/index.ts +127 -0
- package/src/domains/learning-optimization/interfaces.ts +570 -0
- package/src/domains/learning-optimization/plugin.ts +851 -0
- package/src/domains/learning-optimization/services/index.ts +29 -0
- package/src/domains/learning-optimization/services/learning-coordinator.ts +972 -0
- package/src/domains/learning-optimization/services/metrics-optimizer.ts +915 -0
- package/src/domains/learning-optimization/services/production-intel.ts +971 -0
- package/src/domains/learning-optimization/services/transfer-specialist.ts +723 -0
- package/src/domains/quality-assessment/coherence/gate-controller.ts +549 -0
- package/src/domains/quality-assessment/coherence/index.ts +211 -0
- package/src/domains/quality-assessment/coherence/lambda-calculator.ts +384 -0
- package/src/domains/quality-assessment/coherence/partition-detector.ts +469 -0
- package/src/domains/quality-assessment/coherence/types.ts +384 -0
- package/src/domains/quality-assessment/coordinator.ts +605 -0
- package/src/domains/quality-assessment/index.ts +97 -0
- package/src/domains/quality-assessment/interfaces.ts +152 -0
- package/src/domains/quality-assessment/plugin.ts +496 -0
- package/src/domains/quality-assessment/services/coherence-gate.ts +358 -0
- package/src/domains/quality-assessment/services/deployment-advisor.ts +571 -0
- package/src/domains/quality-assessment/services/index.ts +34 -0
- package/src/domains/quality-assessment/services/quality-analyzer.ts +670 -0
- package/src/domains/quality-assessment/services/quality-gate.ts +384 -0
- package/src/domains/requirements-validation/coordinator.ts +812 -0
- package/src/domains/requirements-validation/index.ts +92 -0
- package/src/domains/requirements-validation/interfaces.ts +303 -0
- package/src/domains/requirements-validation/plugin.ts +576 -0
- package/src/domains/requirements-validation/services/bdd-scenario-writer.ts +676 -0
- package/src/domains/requirements-validation/services/index.ts +20 -0
- package/src/domains/requirements-validation/services/requirements-validator.ts +559 -0
- package/src/domains/requirements-validation/services/testability-scorer.ts +639 -0
- package/src/domains/security-compliance/coordinator.ts +757 -0
- package/src/domains/security-compliance/index.ts +120 -0
- package/src/domains/security-compliance/interfaces.ts +434 -0
- package/src/domains/security-compliance/plugin.ts +509 -0
- package/src/domains/security-compliance/services/compliance-validator.ts +1226 -0
- package/src/domains/security-compliance/services/index.ts +31 -0
- package/src/domains/security-compliance/services/security-auditor.ts +2227 -0
- package/src/domains/security-compliance/services/security-scanner.ts +2354 -0
- package/src/domains/security-compliance/services/semgrep-integration.ts +289 -0
- package/src/domains/test-execution/coordinator.ts +426 -0
- package/src/domains/test-execution/index.ts +76 -0
- package/src/domains/test-execution/interfaces.ts +119 -0
- package/src/domains/test-execution/plugin.ts +208 -0
- package/src/domains/test-execution/services/flaky-detector.ts +1240 -0
- package/src/domains/test-execution/services/index.ts +8 -0
- package/src/domains/test-execution/services/retry-handler.ts +820 -0
- package/src/domains/test-execution/services/test-executor.ts +885 -0
- package/src/domains/test-generation/coordinator.ts +656 -0
- package/src/domains/test-generation/index.ts +77 -0
- package/src/domains/test-generation/interfaces.ts +118 -0
- package/src/domains/test-generation/plugin.ts +397 -0
- package/src/domains/test-generation/services/index.ts +23 -0
- package/src/domains/test-generation/services/pattern-matcher.ts +1725 -0
- package/src/domains/test-generation/services/test-generator.ts +2750 -0
- package/src/domains/visual-accessibility/coordinator.ts +860 -0
- package/src/domains/visual-accessibility/index.ts +116 -0
- package/src/domains/visual-accessibility/interfaces.ts +435 -0
- package/src/domains/visual-accessibility/plugin.ts +568 -0
- package/src/domains/visual-accessibility/services/accessibility-tester.ts +982 -0
- package/src/domains/visual-accessibility/services/axe-core-audit.ts +630 -0
- package/src/domains/visual-accessibility/services/index.ts +28 -0
- package/src/domains/visual-accessibility/services/responsive-tester.ts +934 -0
- package/src/domains/visual-accessibility/services/visual-tester.ts +458 -0
- package/src/early-exit/early-exit-controller.ts +490 -0
- package/src/early-exit/early-exit-decision.ts +391 -0
- package/src/early-exit/index.ts +115 -0
- package/src/early-exit/quality-signal.ts +389 -0
- package/src/early-exit/speculative-executor.ts +505 -0
- package/src/early-exit/types.ts +407 -0
- package/src/feedback/coverage-learner.ts +456 -0
- package/src/feedback/feedback-loop.ts +426 -0
- package/src/feedback/index.ts +72 -0
- package/src/feedback/pattern-promotion.ts +373 -0
- package/src/feedback/quality-score-calculator.ts +334 -0
- package/src/feedback/test-outcome-tracker.ts +450 -0
- package/src/feedback/types.ts +497 -0
- package/src/index.ts +224 -0
- package/src/init/agents-installer.ts +536 -0
- package/src/init/index.ts +80 -0
- package/src/init/init-wizard.ts +1061 -0
- package/src/init/project-analyzer.ts +696 -0
- package/src/init/self-configurator.ts +488 -0
- package/src/init/skills-installer.ts +467 -0
- package/src/init/types.ts +432 -0
- package/src/integrations/ruvector/ast-complexity.ts +470 -0
- package/src/integrations/ruvector/coverage-router.ts +594 -0
- package/src/integrations/ruvector/diff-risk-classifier.ts +759 -0
- package/src/integrations/ruvector/fallback.ts +942 -0
- package/src/integrations/ruvector/graph-boundaries.ts +809 -0
- package/src/integrations/ruvector/index.ts +363 -0
- package/src/integrations/ruvector/interfaces.ts +609 -0
- package/src/integrations/ruvector/q-learning-router.ts +550 -0
- package/src/kernel/agent-coordinator.ts +165 -0
- package/src/kernel/agentdb-backend.ts +504 -0
- package/src/kernel/event-bus.ts +129 -0
- package/src/kernel/hybrid-backend.ts +538 -0
- package/src/kernel/index.ts +28 -0
- package/src/kernel/interfaces.ts +257 -0
- package/src/kernel/kernel.ts +285 -0
- package/src/kernel/memory-backend.ts +169 -0
- package/src/kernel/memory-factory.ts +293 -0
- package/src/kernel/plugin-loader.ts +179 -0
- package/src/learning/index.ts +219 -0
- package/src/learning/pattern-store.ts +990 -0
- package/src/learning/qe-guidance.ts +832 -0
- package/src/learning/qe-hooks.ts +644 -0
- package/src/learning/qe-patterns.ts +449 -0
- package/src/learning/qe-reasoning-bank.ts +951 -0
- package/src/learning/real-embeddings.ts +277 -0
- package/src/learning/real-qe-reasoning-bank.ts +833 -0
- package/src/learning/sqlite-persistence.ts +554 -0
- package/src/mcp/entry.ts +59 -0
- package/src/mcp/handlers/agent-handlers.ts +285 -0
- package/src/mcp/handlers/core-handlers.ts +317 -0
- package/src/mcp/handlers/domain-handlers.ts +1444 -0
- package/src/mcp/handlers/index.ts +57 -0
- package/src/mcp/handlers/memory-handlers.ts +338 -0
- package/src/mcp/handlers/task-handlers.ts +363 -0
- package/src/mcp/index.ts +30 -0
- package/src/mcp/metrics/index.ts +14 -0
- package/src/mcp/metrics/metrics-collector.ts +503 -0
- package/src/mcp/protocol-server.ts +752 -0
- package/src/mcp/security/cve-prevention.ts +742 -0
- package/src/mcp/security/index.ts +356 -0
- package/src/mcp/security/oauth21-provider.ts +821 -0
- package/src/mcp/security/rate-limiter.ts +615 -0
- package/src/mcp/security/sampling-server.ts +662 -0
- package/src/mcp/security/schema-validator.ts +855 -0
- package/src/mcp/server.ts +657 -0
- package/src/mcp/tool-registry.ts +391 -0
- package/src/mcp/tools/base.ts +399 -0
- package/src/mcp/tools/chaos-resilience/inject.ts +699 -0
- package/src/mcp/tools/code-intelligence/analyze.ts +745 -0
- package/src/mcp/tools/contract-testing/validate.ts +708 -0
- package/src/mcp/tools/coverage-analysis/index.ts +770 -0
- package/src/mcp/tools/defect-intelligence/predict.ts +466 -0
- package/src/mcp/tools/index.ts +214 -0
- package/src/mcp/tools/learning-optimization/optimize.ts +772 -0
- package/src/mcp/tools/quality-assessment/evaluate.ts +385 -0
- package/src/mcp/tools/registry.ts +248 -0
- package/src/mcp/tools/requirements-validation/validate.ts +394 -0
- package/src/mcp/tools/security-compliance/scan.ts +365 -0
- package/src/mcp/tools/test-execution/execute.ts +291 -0
- package/src/mcp/tools/test-generation/generate.ts +544 -0
- package/src/mcp/tools/visual-accessibility/index.ts +791 -0
- package/src/mcp/transport/index.ts +31 -0
- package/src/mcp/transport/stdio.ts +318 -0
- package/src/mcp/types.ts +543 -0
- package/src/neural-optimizer/index.ts +111 -0
- package/src/neural-optimizer/replay-buffer.ts +455 -0
- package/src/neural-optimizer/swarm-topology.ts +508 -0
- package/src/neural-optimizer/topology-optimizer.ts +828 -0
- package/src/neural-optimizer/types.ts +481 -0
- package/src/neural-optimizer/value-network.ts +351 -0
- package/src/optimization/auto-tuner.ts +817 -0
- package/src/optimization/index.ts +77 -0
- package/src/optimization/metric-collectors.ts +474 -0
- package/src/optimization/qe-workers.ts +704 -0
- package/src/optimization/tuning-algorithm.ts +401 -0
- package/src/optimization/types.ts +314 -0
- package/src/routing/index.ts +51 -0
- package/src/routing/qe-agent-registry.ts +963 -0
- package/src/routing/qe-task-router.ts +564 -0
- package/src/routing/routing-feedback.ts +365 -0
- package/src/routing/types.ts +406 -0
- package/src/shared/embeddings/embedding-cache.ts +157 -0
- package/src/shared/embeddings/index.ts +50 -0
- package/src/shared/embeddings/nomic-embedder.ts +404 -0
- package/src/shared/embeddings/ollama-client.ts +195 -0
- package/src/shared/embeddings/types.ts +147 -0
- package/src/shared/entities/agent.ts +141 -0
- package/src/shared/entities/base-entity.ts +79 -0
- package/src/shared/entities/index.ts +6 -0
- package/src/shared/events/domain-events.ts +259 -0
- package/src/shared/events/index.ts +5 -0
- package/src/shared/git/git-analyzer.ts +656 -0
- package/src/shared/git/index.ts +11 -0
- package/src/shared/http/http-client.ts +420 -0
- package/src/shared/http/index.ts +13 -0
- package/src/shared/index.ts +41 -0
- package/src/shared/io/file-reader.ts +525 -0
- package/src/shared/io/index.ts +25 -0
- package/src/shared/llm/cache.ts +473 -0
- package/src/shared/llm/circuit-breaker.ts +369 -0
- package/src/shared/llm/cost-tracker.ts +460 -0
- package/src/shared/llm/index.ts +140 -0
- package/src/shared/llm/interfaces.ts +629 -0
- package/src/shared/llm/provider-manager.ts +685 -0
- package/src/shared/llm/providers/claude.ts +524 -0
- package/src/shared/llm/providers/index.ts +8 -0
- package/src/shared/llm/providers/ollama.ts +575 -0
- package/src/shared/llm/providers/openai.ts +609 -0
- package/src/shared/metrics/code-metrics.ts +520 -0
- package/src/shared/metrics/index.ts +23 -0
- package/src/shared/metrics/system-metrics.ts +353 -0
- package/src/shared/parsers/index.ts +6 -0
- package/src/shared/parsers/typescript-parser.ts +841 -0
- package/src/shared/security/compliance-patterns.ts +666 -0
- package/src/shared/security/index.ts +30 -0
- package/src/shared/security/osv-client.ts +468 -0
- package/src/shared/types/index.ts +150 -0
- package/src/shared/value-objects/index.ts +273 -0
- package/src/strange-loop/healing-controller.ts +833 -0
- package/src/strange-loop/index.ts +104 -0
- package/src/strange-loop/self-model.ts +494 -0
- package/src/strange-loop/strange-loop.ts +446 -0
- package/src/strange-loop/swarm-observer.ts +448 -0
- package/src/strange-loop/topology-analyzer.ts +565 -0
- package/src/strange-loop/types.ts +640 -0
- package/src/time-crystal/default-phases.ts +520 -0
- package/src/time-crystal/index.ts +164 -0
- package/src/time-crystal/oscillator.ts +425 -0
- package/src/time-crystal/phase-executor.ts +521 -0
- package/src/time-crystal/scheduler.ts +1025 -0
- package/src/time-crystal/test-runner.ts +787 -0
- package/src/time-crystal/types.ts +421 -0
- package/src/workers/base-worker.ts +304 -0
- package/src/workers/daemon.ts +264 -0
- package/src/workers/index.ts +119 -0
- package/src/workers/interfaces.ts +393 -0
- package/src/workers/worker-manager.ts +424 -0
- package/src/workers/workers/compliance-checker.ts +445 -0
- package/src/workers/workers/coverage-tracker.ts +344 -0
- package/src/workers/workers/defect-predictor.ts +375 -0
- package/src/workers/workers/flaky-detector.ts +390 -0
- package/src/workers/workers/index.ts +17 -0
- package/src/workers/workers/learning-consolidation.ts +442 -0
- package/src/workers/workers/performance-baseline.ts +434 -0
- package/src/workers/workers/quality-gate.ts +419 -0
- package/src/workers/workers/regression-monitor.ts +357 -0
- package/src/workers/workers/security-scan.ts +349 -0
- package/src/workers/workers/test-health.ts +359 -0
- package/tests/integration/code-intelligence/knowledge-graph-real.test.ts +540 -0
- package/tests/integration/coordination/cross-domain-router.test.ts +403 -0
- package/tests/integration/coordination/protocol-executor.test.ts +454 -0
- package/tests/integration/coordination/workflow-orchestrator.test.ts +418 -0
- package/tests/integration/feedback/feedback-loop-integration.test.ts +560 -0
- package/tests/integration/migration/v2-to-v3-migration.test.ts +471 -0
- package/tests/integration/parsers/typescript-parser.test.ts +463 -0
- package/tests/integration/security/vulnerability-detection.test.ts +628 -0
- package/tests/integration/test-execution/coordinator.test.ts +410 -0
- package/tests/integration/test-generation/coordinator.test.ts +361 -0
- package/tests/mocks/index.ts +228 -0
- package/tests/time-crystal/default-phases.test.ts +476 -0
- package/tests/time-crystal/oscillator.test.ts +541 -0
- package/tests/time-crystal/phase-executor.test.ts +653 -0
- package/tests/time-crystal/scheduler.test.ts +626 -0
- package/tests/time-crystal/test-runner.test.ts +594 -0
- package/tests/unit/causal-discovery/causal-graph.test.ts +504 -0
- package/tests/unit/causal-discovery/causal-root-cause-analyzer.test.ts +347 -0
- package/tests/unit/causal-discovery/discovery-engine.test.ts +435 -0
- package/tests/unit/causal-discovery/weight-matrix.test.ts +328 -0
- package/tests/unit/cli/cli.test.ts +341 -0
- package/tests/unit/cli/commands.test.ts +414 -0
- package/tests/unit/cli/init-command.test.ts +274 -0
- package/tests/unit/cli/migrate-command.test.ts +396 -0
- package/tests/unit/coordination/claims/claim-service.test.ts +949 -0
- package/tests/unit/coordination/claims/handoff-manager.test.ts +773 -0
- package/tests/unit/coordination/claims/work-stealing.test.ts +492 -0
- package/tests/unit/coordination/queen-coordinator.test.ts +966 -0
- package/tests/unit/coordination/result-saver.test.ts +653 -0
- package/tests/unit/coordination/task-executor.test.ts +810 -0
- package/tests/unit/domains/chaos-resilience/chaos-engineer.test.ts +484 -0
- package/tests/unit/domains/chaos-resilience/load-tester.test.ts +559 -0
- package/tests/unit/domains/chaos-resilience/performance-profiler.test.ts +490 -0
- package/tests/unit/domains/code-intelligence/impact-analyzer.test.ts +560 -0
- package/tests/unit/domains/code-intelligence/knowledge-graph.test.ts +460 -0
- package/tests/unit/domains/code-intelligence/semantic-analyzer.test.ts +584 -0
- package/tests/unit/domains/contract-testing/api-compatibility.test.ts +483 -0
- package/tests/unit/domains/contract-testing/contract-validator.test.ts +370 -0
- package/tests/unit/domains/contract-testing/schema-validator.test.ts +610 -0
- package/tests/unit/domains/coverage-analysis/coverage-embedder.test.ts +298 -0
- package/tests/unit/domains/coverage-analysis/hnsw-index.test.ts +292 -0
- package/tests/unit/domains/coverage-analysis/sublinear-analyzer.test.ts +506 -0
- package/tests/unit/domains/defect-intelligence/defect-predictor.test.ts +370 -0
- package/tests/unit/domains/defect-intelligence/pattern-learner.test.ts +546 -0
- package/tests/unit/domains/defect-intelligence/root-cause-analyzer.test.ts +534 -0
- package/tests/unit/domains/learning-optimization/learning-coordinator.test.ts +541 -0
- package/tests/unit/domains/learning-optimization/metrics-optimizer.test.ts +552 -0
- package/tests/unit/domains/learning-optimization/production-intel.test.ts +589 -0
- package/tests/unit/domains/learning-optimization/transfer-specialist.test.ts +453 -0
- package/tests/unit/domains/quality-assessment/coherence-gate.test.ts +1006 -0
- package/tests/unit/domains/quality-assessment/deployment-advisor.test.ts +515 -0
- package/tests/unit/domains/quality-assessment/quality-analyzer.test.ts +401 -0
- package/tests/unit/domains/quality-assessment/quality-gate.test.ts +324 -0
- package/tests/unit/domains/requirements-validation/bdd-scenario-writer.test.ts +479 -0
- package/tests/unit/domains/requirements-validation/requirements-validator.test.ts +452 -0
- package/tests/unit/domains/requirements-validation/testability-scorer.test.ts +505 -0
- package/tests/unit/domains/security-compliance/compliance-validator.test.ts +500 -0
- package/tests/unit/domains/security-compliance/security-auditor.test.ts +498 -0
- package/tests/unit/domains/security-compliance/security-scanner.test.ts +412 -0
- package/tests/unit/domains/visual-accessibility/accessibility-tester.test.ts +432 -0
- package/tests/unit/domains/visual-accessibility/responsive-tester.test.ts +506 -0
- package/tests/unit/domains/visual-accessibility/visual-tester.test.ts +412 -0
- package/tests/unit/early-exit/early-exit-controller.test.ts +548 -0
- package/tests/unit/early-exit/early-exit-decision.test.ts +617 -0
- package/tests/unit/early-exit/index.test.ts +254 -0
- package/tests/unit/early-exit/quality-signal.test.ts +589 -0
- package/tests/unit/early-exit/speculative-executor.test.ts +453 -0
- package/tests/unit/feedback/coverage-learner.test.ts +288 -0
- package/tests/unit/feedback/feedback-loop.test.ts +458 -0
- package/tests/unit/feedback/pattern-promotion.test.ts +390 -0
- package/tests/unit/feedback/quality-score-calculator.test.ts +364 -0
- package/tests/unit/feedback/test-outcome-tracker.test.ts +243 -0
- package/tests/unit/init/init-wizard.test.ts +881 -0
- package/tests/unit/init/project-analyzer.test.ts +807 -0
- package/tests/unit/init/self-configurator.test.ts +493 -0
- package/tests/unit/integrations/ruvector/ast-complexity.test.ts +240 -0
- package/tests/unit/integrations/ruvector/coverage-router.test.ts +366 -0
- package/tests/unit/integrations/ruvector/diff-risk-classifier.test.ts +340 -0
- package/tests/unit/integrations/ruvector/graph-boundaries.test.ts +355 -0
- package/tests/unit/integrations/ruvector/q-learning-router.test.ts +314 -0
- package/tests/unit/kernel/agent-coordinator.test.ts +220 -0
- package/tests/unit/kernel/event-bus.test.ts +197 -0
- package/tests/unit/learning/qe-reasoning-bank.test.ts +666 -0
- package/tests/unit/learning/real-qe-reasoning-bank.benchmark.test.ts +415 -0
- package/tests/unit/mcp/mcp-server.test.ts +544 -0
- package/tests/unit/mcp/metrics/metrics-collector.test.ts +340 -0
- package/tests/unit/mcp/security/cve-prevention.test.ts +512 -0
- package/tests/unit/mcp/security/oauth21-provider.test.ts +624 -0
- package/tests/unit/mcp/security/rate-limiter.test.ts +410 -0
- package/tests/unit/mcp/security/sampling-server.test.ts +420 -0
- package/tests/unit/mcp/security/schema-validator.test.ts +494 -0
- package/tests/unit/mcp/tools/base.test.ts +336 -0
- package/tests/unit/mcp/tools/domain-tools.test.ts +759 -0
- package/tests/unit/mcp/tools/registry.test.ts +240 -0
- package/tests/unit/neural-optimizer/replay-buffer.test.ts +403 -0
- package/tests/unit/neural-optimizer/swarm-topology.test.ts +473 -0
- package/tests/unit/neural-optimizer/topology-optimizer.test.ts +595 -0
- package/tests/unit/neural-optimizer/value-network.test.ts +343 -0
- package/tests/unit/optimization/auto-tuner.test.ts +506 -0
- package/tests/unit/optimization/metric-collectors.test.ts +352 -0
- package/tests/unit/optimization/qe-workers.test.ts +407 -0
- package/tests/unit/optimization/tuning-algorithm.test.ts +467 -0
- package/tests/unit/routing/qe-agent-registry.test.ts +229 -0
- package/tests/unit/routing/qe-task-router.test.ts +390 -0
- package/tests/unit/routing/routing-feedback.test.ts +339 -0
- package/tests/unit/shared/embeddings/nomic-embedder.test.ts +419 -0
- package/tests/unit/shared/http/http-client.test.ts +719 -0
- package/tests/unit/shared/io/file-reader.test.ts +511 -0
- package/tests/unit/shared/llm/cache.test.ts +391 -0
- package/tests/unit/shared/llm/circuit-breaker.test.ts +293 -0
- package/tests/unit/shared/llm/cost-tracker.test.ts +431 -0
- package/tests/unit/shared/llm/provider-manager.test.ts +550 -0
- package/tests/unit/shared/llm/providers.test.ts +532 -0
- package/tests/unit/shared/parsers/typescript-parser.test.ts +693 -0
- package/tests/unit/shared/value-objects.test.ts +184 -0
- package/tests/unit/strange-loop/strange-loop.test.ts +1170 -0
- package/tests/unit/workers/base-worker.test.ts +341 -0
- package/tests/unit/workers/daemon.test.ts +291 -0
- package/tests/unit/workers/worker-manager.test.ts +284 -0
- package/tsconfig.json +32 -0
- package/vitest.config.ts +27 -0
|
@@ -0,0 +1,2783 @@
|
|
|
1
|
+
# Agentic QE v3 - Architecture Decision Records
|
|
2
|
+
|
|
3
|
+
**Project:** Agentic QE v3 Reimagining
|
|
4
|
+
**Date Range:** 2026-01-07 onwards
|
|
5
|
+
**Status:** Phase 6 In Progress (RuVector MinCut Intelligence + V3 Skills Improvement)
|
|
6
|
+
**Decision Authority:** Architecture Team
|
|
7
|
+
**Last Verified:** 2026-01-11 (3178 tests passing, ADR-001-036 Implemented)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## ADR Index
|
|
12
|
+
|
|
13
|
+
| ADR | Title | Status | Date | Implementation |
|
|
14
|
+
|-----|-------|--------|------|----------------|
|
|
15
|
+
| ADR-001 | Adopt DDD for QE Bounded Contexts | **Implemented** | 2026-01-07 | ✅ 12/12 domains |
|
|
16
|
+
| ADR-002 | Event-Driven Domain Communication | **Implemented** | 2026-01-07 | ✅ EventBus + Router + 7 protocols |
|
|
17
|
+
| ADR-003 | Sublinear Algorithms for Coverage Analysis | **Implemented** | 2026-01-09 | ✅ REAL hnswlib-node + lcov-parse (verified) |
|
|
18
|
+
| ADR-004 | Plugin Architecture for QE Extensions | **Implemented** | 2026-01-07 | ✅ 12 plugins |
|
|
19
|
+
| ADR-005 | AI-First Test Generation | **Implemented** | 2026-01-09 | ✅ Full implementation (stubs replaced) |
|
|
20
|
+
| ADR-006 | Unified Learning System | **Implemented** | 2026-01-09 | ✅ Learning domain complete |
|
|
21
|
+
| ADR-007 | Quality Gate Decision Engine | **Implemented** | 2026-01-09 | ✅ ML-based gate engine |
|
|
22
|
+
| ADR-008 | Multi-Agent Hierarchical Coordination | **Implemented** | 2026-01-07 | ✅ Queen + protocols |
|
|
23
|
+
| ADR-009 | AgentDB as Primary Memory Backend | **Implemented** | 2026-01-07 | ✅ Backend with vector search |
|
|
24
|
+
| ADR-010 | MCP-First Tool Design | **Implemented** | 2026-01-09 | ✅ 14 domain tools + CLI wrappers |
|
|
25
|
+
| ADR-011 | LLM Provider System for QE | **Implemented** | 2026-01-09 | ✅ Claude/OpenAI/Ollama + circuit breaker |
|
|
26
|
+
| ADR-012 | MCP Security Features for QE | **Implemented** | 2026-01-09 | ✅ OAuth2.1 + rate limiter + CVE prevention |
|
|
27
|
+
| ADR-013 | Core Security Module for QE | **Implemented** | 2026-01-07 | ✅ OSV client + compliance patterns |
|
|
28
|
+
| ADR-014 | Background Workers for QE Monitoring | **Implemented** | 2026-01-09 | ✅ 10 workers + daemon |
|
|
29
|
+
| ADR-015 | Unified Plugin System for QE Extensions | **Implemented** | 2026-01-07 | ✅ Plugin loader + 12 domain plugins |
|
|
30
|
+
| ADR-016 | Collaborative Test Task Claims | **Implemented** | 2026-01-09 | ✅ ClaimService + WorkStealing + Handoff |
|
|
31
|
+
| ADR-017 | RuVector Integration for QE Intelligence | **Implemented** | 2026-01-09 | ✅ Q-Learning + AST + fallbacks |
|
|
32
|
+
| ADR-018 | Expanded 12-Domain Architecture | **Implemented** | 2026-01-07 | ✅ All 12 domains |
|
|
33
|
+
| ADR-019 | Phase 1-3 Foundation Implementation | **Implemented** | 2026-01-07 | ✅ 1954 tests passing |
|
|
34
|
+
| ADR-020 | Stub Implementation Replacement | **Implemented** | 2026-01-11 | ✅ Domain services complete, 9 orchestration stubs (acceptable) |
|
|
35
|
+
| ADR-021 | QE ReasoningBank for Pattern Learning | **Implemented** | 2026-01-09 | ✅ REAL impl: transformers + SQLite (114k/s) + 52 tests |
|
|
36
|
+
| ADR-022 | Adaptive QE Agent Routing | **Implemented** | 2026-01-09 | ✅ ML router: 80 agents + 62ms P95 + 83 tasks/sec |
|
|
37
|
+
| ADR-023 | Quality Feedback Loop System | **Implemented** | 2026-01-09 | ✅ 101 tests: TestOutcomeTracker + CoverageLearner + PatternPromotion |
|
|
38
|
+
| ADR-024 | Self-Optimization Engine | **Implemented** | 2026-01-09 | ✅ 103 tests: AutoTuner + MetricCollectors + 4 QE Workers + Applicators |
|
|
39
|
+
| ADR-025 | Enhanced Init with Self-Configuration | **Implemented** | 2026-01-10 | ✅ 73 tests: ProjectAnalyzer + SelfConfigurator + InitWizard |
|
|
40
|
+
| ADR-026 | AISP Parsing and Validation | **Rejected** | 2026-01-10 | ❌ Deleted - no integration points, duplicated existing EventBus |
|
|
41
|
+
| ADR-027 | AISP Agent Specifications for QE Fleet | **Rejected** | 2026-01-10 | ❌ Deleted - TypeScript interfaces sufficient |
|
|
42
|
+
| ADR-028 | AISP↔Prose Translator (Rosetta Stone) | **Rejected** | 2026-01-10 | ❌ Deleted - no consumers of translation |
|
|
43
|
+
| ADR-029 | AISP Agent Communication Protocol | **Rejected** | 2026-01-10 | ❌ Deleted - duplicated existing coordination layer |
|
|
44
|
+
| ADR-030 | Coherence-Gated Quality Gates | **Implemented** | 2026-01-11 | ✅ 68 tests, 2,345 LOC: λ-coherence + 4-tier compute allocation |
|
|
45
|
+
| ADR-031 | Strange Loop Self-Awareness | **Implemented** | 2026-01-11 | ✅ 61 tests, 4,700 LOC: SwarmObserver + SelfModel + HealingController |
|
|
46
|
+
| ADR-032 | Time Crystal Scheduling | **Implemented** | 2026-01-11 | ✅ 165 tests, 1,870 LOC: Kuramoto CPG + 4-phase test cycle |
|
|
47
|
+
| ADR-033 | Early Exit Testing | **Implemented** | 2026-01-11 | ✅ 126 tests, 2,800 LOC: λ-stability + speculative execution |
|
|
48
|
+
| ADR-034 | Neural Topology Optimizer | **Implemented** | 2026-01-11 | ✅ 143 tests, 1,820 LOC: Q-learning + value network + replay buffer |
|
|
49
|
+
| ADR-035 | Causal Discovery | **Implemented** | 2026-01-11 | ✅ 103 tests, 1,430 LOC: STDP + Floyd-Warshall + Tarjan SCC |
|
|
50
|
+
| ADR-036 | Language-Aware Result Persistence | **Implemented** | 2026-01-11 | ✅ 74 tests, 780 LOC: ResultSaver + 11 languages + SARIF/LCOV |
|
|
51
|
+
| ADR-037 | V3 QE Agent Naming Standardization | **Proposed** | 2026-01-11 | ⏳ V2→V3 naming migration |
|
|
52
|
+
| ADR-038 | V3 QE Memory System Unification | **Proposed** | 2026-01-11 | ⏳ AgentDB + HNSW + SONA |
|
|
53
|
+
| ADR-039 | V3 QE MCP Optimization | **Proposed** | 2026-01-11 | ⏳ Connection pooling + O(1) lookup |
|
|
54
|
+
| ADR-040 | V3 QE Agentic-Flow Integration | **Proposed** | 2026-01-11 | ⏳ SONA + Flash Attention + 9 RL algorithms |
|
|
55
|
+
| ADR-041 | V3 QE CLI Enhancement | **Proposed** | 2026-01-11 | ⏳ Interactive wizards + workflows |
|
|
56
|
+
| ADR-042 | V3 QE Token Tracking Integration | **Proposed** | 2026-01-11 | ⏳ Token tracking + -25% reduction via pattern reuse |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## ADR-001: Adopt DDD for QE Bounded Contexts
|
|
61
|
+
|
|
62
|
+
**Status:** Implemented
|
|
63
|
+
**Date:** 2026-01-07
|
|
64
|
+
**Decision Makers:** Architecture Team
|
|
65
|
+
**Context Owner:** Lead Architect
|
|
66
|
+
|
|
67
|
+
### Context
|
|
68
|
+
|
|
69
|
+
Current Agentic QE v2.x implements quality engineering as monolithic services in `src/mcp/tools/` and `src/core/agents/`. This creates:
|
|
70
|
+
- Tight coupling between test generation and execution
|
|
71
|
+
- Difficulty in scaling individual QE capabilities
|
|
72
|
+
- Complex testing due to interdependencies
|
|
73
|
+
- Limited ability to evolve domains independently
|
|
74
|
+
|
|
75
|
+
**Current State:**
|
|
76
|
+
- All MCP tools in single directory (40+ tools)
|
|
77
|
+
- Agents mixed with different responsibilities
|
|
78
|
+
- Memory implementations scattered
|
|
79
|
+
- No clear domain boundaries
|
|
80
|
+
|
|
81
|
+
**Analysis:**
|
|
82
|
+
```
|
|
83
|
+
Current Structure:
|
|
84
|
+
├── src/mcp/tools/ # 40+ MCP tool implementations
|
|
85
|
+
├── src/core/agents/ # Mixed agent responsibilities
|
|
86
|
+
├── src/core/memory/ # Multiple memory implementations
|
|
87
|
+
└── High coupling, difficult to test
|
|
88
|
+
|
|
89
|
+
v3 Target Structure:
|
|
90
|
+
├── src/domains/
|
|
91
|
+
│ ├── test-generation/ # Bounded Context 1
|
|
92
|
+
│ ├── test-execution/ # Bounded Context 2
|
|
93
|
+
│ ├── coverage-analysis/ # Bounded Context 3
|
|
94
|
+
│ ├── quality-assessment/ # Bounded Context 4
|
|
95
|
+
│ ├── defect-intelligence/ # Bounded Context 5
|
|
96
|
+
│ └── learning-optimization/ # Bounded Context 6
|
|
97
|
+
└── Clear boundaries, independent evolution
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Decision
|
|
101
|
+
|
|
102
|
+
**We will restructure Agentic QE v3 using Domain-Driven Design with 12 bounded contexts (expanded per ADR-018) focused on quality engineering capabilities.**
|
|
103
|
+
|
|
104
|
+
> **Note:** Original proposal was 6 domains. Per ADR-018, expanded to 12 domains to ensure feature parity with v2.
|
|
105
|
+
|
|
106
|
+
Bounded Contexts:
|
|
107
|
+
1. **Test Generation** - AI-powered test creation, pattern learning
|
|
108
|
+
2. **Test Execution** - Parallel execution, retry, flaky detection
|
|
109
|
+
3. **Coverage Analysis** - Sublinear gap detection, risk scoring
|
|
110
|
+
4. **Quality Assessment** - Quality gates, deployment decisions
|
|
111
|
+
5. **Defect Intelligence** - Prediction, root cause, pattern learning
|
|
112
|
+
6. **Requirements Validation** - BDD, testability scoring (per ADR-018)
|
|
113
|
+
7. **Code Intelligence** - Knowledge Graph, semantic search (per ADR-018)
|
|
114
|
+
8. **Security Compliance** - SAST/DAST, compliance (per ADR-018)
|
|
115
|
+
9. **Contract Testing** - API contracts, GraphQL (per ADR-018)
|
|
116
|
+
10. **Visual Accessibility** - Visual regression, a11y (per ADR-018)
|
|
117
|
+
11. **Chaos Resilience** - Chaos engineering, load testing (per ADR-018)
|
|
118
|
+
12. **Learning Optimization** - Cross-domain learning, transfer
|
|
119
|
+
|
|
120
|
+
### Rationale
|
|
121
|
+
|
|
122
|
+
**Pros:**
|
|
123
|
+
- Independent evolution of QE capabilities
|
|
124
|
+
- Clearer testing boundaries
|
|
125
|
+
- Team specialization possible
|
|
126
|
+
- Better scalability per domain
|
|
127
|
+
- Aligned with QE workflow stages
|
|
128
|
+
|
|
129
|
+
**Cons:**
|
|
130
|
+
- Migration effort from v2
|
|
131
|
+
- Cross-domain coordination complexity
|
|
132
|
+
- Learning curve for DDD concepts
|
|
133
|
+
|
|
134
|
+
**Alternatives Considered:**
|
|
135
|
+
|
|
136
|
+
1. **Status Quo (Keep Flat Structure)**
|
|
137
|
+
- Rejected: Scaling issues, tight coupling
|
|
138
|
+
|
|
139
|
+
2. **Layer-Based Architecture**
|
|
140
|
+
- Rejected: Doesn't align with QE workflow stages
|
|
141
|
+
|
|
142
|
+
3. **Feature-Based Modules**
|
|
143
|
+
- Rejected: Less clear boundaries than DDD
|
|
144
|
+
|
|
145
|
+
### Implementation Plan
|
|
146
|
+
|
|
147
|
+
**Phase 1: Foundation (Week 1-2)**
|
|
148
|
+
- Define domain interfaces
|
|
149
|
+
- Create shared kernel
|
|
150
|
+
- Set up event bus
|
|
151
|
+
|
|
152
|
+
**Phase 2: Core Domains (Week 3-6)**
|
|
153
|
+
- Extract test-generation domain
|
|
154
|
+
- Extract test-execution domain
|
|
155
|
+
- Extract coverage-analysis domain
|
|
156
|
+
|
|
157
|
+
**Phase 3: Supporting Domains (Week 7-10)**
|
|
158
|
+
- Extract quality-assessment domain
|
|
159
|
+
- Extract defect-intelligence domain
|
|
160
|
+
- Extract learning-optimization domain
|
|
161
|
+
|
|
162
|
+
### Success Metrics
|
|
163
|
+
|
|
164
|
+
- [x] 12 clearly defined bounded contexts (expanded per ADR-018)
|
|
165
|
+
- [x] No circular dependencies between domains (verified 2026-01-09)
|
|
166
|
+
- [x] Each domain testable in isolation (1171 tests passing)
|
|
167
|
+
- [x] Domain events for cross-domain communication
|
|
168
|
+
- [ ] <300 lines per domain service (FAILED: some services exceed 1500 lines)
|
|
169
|
+
|
|
170
|
+
> **Implementation Note (2026-01-09):** All 12 domains implemented with coordinators, services, and plugins. However, some service files exceed the 300-line target (e.g., `security-auditor.ts` at 1715 lines, `test-generator.ts` at 1881 lines). Consider splitting in Phase 4.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## ADR-002: Event-Driven Domain Communication
|
|
175
|
+
|
|
176
|
+
**Status:** Implemented
|
|
177
|
+
**Date:** 2026-01-07
|
|
178
|
+
|
|
179
|
+
### Context
|
|
180
|
+
|
|
181
|
+
With DDD bounded contexts, we need a communication mechanism that maintains loose coupling while enabling reactive workflows (e.g., automatically generate tests when coverage gaps detected).
|
|
182
|
+
|
|
183
|
+
### Decision
|
|
184
|
+
|
|
185
|
+
**Use domain events for all cross-domain communication, enabling reactive QE workflows.**
|
|
186
|
+
|
|
187
|
+
Key Events:
|
|
188
|
+
- `TestCaseGeneratedEvent` - Triggers coverage analysis
|
|
189
|
+
- `CoverageGapDetectedEvent` - Triggers test generation
|
|
190
|
+
- `TestRunCompletedEvent` - Triggers quality gate evaluation
|
|
191
|
+
- `QualityGateEvaluatedEvent` - Triggers deployment decisions
|
|
192
|
+
- `DefectPredictedEvent` - Triggers targeted testing
|
|
193
|
+
|
|
194
|
+
### Implementation
|
|
195
|
+
|
|
196
|
+
```typescript
|
|
197
|
+
// Event Bus Interface
|
|
198
|
+
interface IDomainEventBus {
|
|
199
|
+
publish(event: DomainEvent): Promise<void>;
|
|
200
|
+
subscribe<T extends DomainEvent>(
|
|
201
|
+
eventType: new (...args: any[]) => T,
|
|
202
|
+
handler: (event: T) => Promise<void>
|
|
203
|
+
): void;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// Event Handler Example
|
|
207
|
+
@EventHandler(CoverageGapDetectedEvent)
|
|
208
|
+
class AutoTestGenerationHandler {
|
|
209
|
+
async handle(event: CoverageGapDetectedEvent): Promise<void> {
|
|
210
|
+
if (event.riskScore > 0.7) {
|
|
211
|
+
await this.testGenerator.generateForGap(event);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Success Metrics
|
|
218
|
+
|
|
219
|
+
- [x] All cross-domain communication via events (CrossDomainEventRouter implemented)
|
|
220
|
+
- [x] Event handlers are idempotent (event correlation IDs)
|
|
221
|
+
- [ ] Event replay for debugging (not yet implemented)
|
|
222
|
+
- [x] <100ms event propagation latency (in-memory bus)
|
|
223
|
+
|
|
224
|
+
> **Implementation Note (2026-01-09):** CrossDomainEventRouter with 7 coordination protocols (morning-sync, quality-gate, regression-prevention, coverage-driven, tdd-cycle, security-audit, learning-consolidation). Event replay deferred to Phase 4.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## ADR-003: Sublinear Algorithms for Coverage Analysis
|
|
229
|
+
|
|
230
|
+
**Status:** Implemented
|
|
231
|
+
**Date:** 2026-01-07
|
|
232
|
+
**Implemented:** 2026-01-09
|
|
233
|
+
|
|
234
|
+
### Context
|
|
235
|
+
|
|
236
|
+
Coverage analysis in large codebases (100k+ files) using linear O(n) algorithms is too slow for real-time feedback. We need O(log n) algorithms for interactive analysis.
|
|
237
|
+
|
|
238
|
+
### Decision
|
|
239
|
+
|
|
240
|
+
**Implement O(log n) coverage analysis using HNSW vector indexing via AgentDB.**
|
|
241
|
+
|
|
242
|
+
### Implementation
|
|
243
|
+
|
|
244
|
+
**Files Created:**
|
|
245
|
+
- `src/domains/coverage-analysis/services/hnsw-index.ts` - HNSW wrapper for O(log n) search
|
|
246
|
+
- `src/domains/coverage-analysis/services/coverage-embedder.ts` - Coverage to embedding converter
|
|
247
|
+
- `src/domains/coverage-analysis/services/sublinear-analyzer.ts` - Main sublinear analyzer
|
|
248
|
+
|
|
249
|
+
**Tests (49 passing):**
|
|
250
|
+
- `tests/unit/domains/coverage-analysis/hnsw-index.test.ts`
|
|
251
|
+
- `tests/unit/domains/coverage-analysis/coverage-embedder.test.ts`
|
|
252
|
+
- `tests/unit/domains/coverage-analysis/sublinear-analyzer.test.ts`
|
|
253
|
+
|
|
254
|
+
```typescript
|
|
255
|
+
// Usage Example
|
|
256
|
+
import { createSublinearAnalyzer, createHNSWIndex } from '@agentic-qe/v3';
|
|
257
|
+
|
|
258
|
+
const analyzer = createSublinearAnalyzer(memoryBackend);
|
|
259
|
+
await analyzer.initialize();
|
|
260
|
+
|
|
261
|
+
// Index coverage data - O(n log n)
|
|
262
|
+
await analyzer.indexCoverageData(coverageData);
|
|
263
|
+
|
|
264
|
+
// Find gaps - O(log n)
|
|
265
|
+
const gaps = await analyzer.findGapsSublinear({
|
|
266
|
+
maxLineCoverage: 60,
|
|
267
|
+
minRiskScore: 0.5
|
|
268
|
+
});
|
|
269
|
+
|
|
270
|
+
// Find similar patterns - O(log n)
|
|
271
|
+
const similar = await analyzer.findSimilarPatterns(gap, 5);
|
|
272
|
+
|
|
273
|
+
// Detect risk zones - O(log n)
|
|
274
|
+
const zones = await analyzer.detectRiskZones(0.7);
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### Performance Targets
|
|
278
|
+
|
|
279
|
+
| Codebase Size | Traditional O(n) | v3 O(log n) | Improvement |
|
|
280
|
+
|---------------|-----------------|-------------|-------------|
|
|
281
|
+
| 1,000 files | 1,000 ops | 10 ops | 100x |
|
|
282
|
+
| 10,000 files | 10,000 ops | 13 ops | 770x |
|
|
283
|
+
| 100,000 files | 100,000 ops | 17 ops | 5,900x |
|
|
284
|
+
|
|
285
|
+
### Success Metrics
|
|
286
|
+
|
|
287
|
+
- [x] <100ms gap detection on 500 files (verified in tests)
|
|
288
|
+
- [x] HNSW index wrapper with configurable dimensions
|
|
289
|
+
- [x] Sublinear scaling verified in benchmark tests
|
|
290
|
+
- [x] CoverageEmbedder with 128-dimension vectors
|
|
291
|
+
- [ ] Real-time coverage updates (deferred to Phase 4)
|
|
292
|
+
- [x] Integration with actual HNSW native library (hnswlib-node)
|
|
293
|
+
|
|
294
|
+
> **Implementation Note (2026-01-09 - UPDATED):**
|
|
295
|
+
>
|
|
296
|
+
> **REAL IMPLEMENTATIONS ADDED:**
|
|
297
|
+
> - `hnsw-index.ts` - Uses real `hnswlib-node` native library with graceful fallback to brute-force when unavailable
|
|
298
|
+
> - `coverage-parser.ts` - Uses real `lcov-parse` to parse actual LCOV/JSON coverage files
|
|
299
|
+
> - `performance-benchmarks.ts` - Actual O(log n) verification benchmarks
|
|
300
|
+
>
|
|
301
|
+
> **Native HNSW usage:**
|
|
302
|
+
> ```typescript
|
|
303
|
+
> import hnswlib from 'hnswlib-node';
|
|
304
|
+
> const index = new HierarchicalNSW('cosine', dimensions);
|
|
305
|
+
> index.initIndex(maxElements, M, efConstruction);
|
|
306
|
+
> const result = index.searchKnn(query, k); // O(log n)
|
|
307
|
+
> ```
|
|
308
|
+
>
|
|
309
|
+
> **To verify O(log n) claims, run benchmarks:**
|
|
310
|
+
> ```bash
|
|
311
|
+
> npx tsx src/benchmarks/run-benchmarks.ts
|
|
312
|
+
> ```
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## ADR-004: Plugin Architecture for QE Extensions
|
|
317
|
+
|
|
318
|
+
**Status:** Implemented
|
|
319
|
+
**Date:** 2026-01-07
|
|
320
|
+
|
|
321
|
+
### Context
|
|
322
|
+
|
|
323
|
+
Agentic QE has specialized testing capabilities (n8n workflows, visual regression, performance) that not all users need. Core should be lean, with extensions as plugins.
|
|
324
|
+
|
|
325
|
+
### Decision
|
|
326
|
+
|
|
327
|
+
**Implement microkernel architecture with plugin system for optional QE capabilities.**
|
|
328
|
+
|
|
329
|
+
**Core (Always Loaded):**
|
|
330
|
+
- Test generation (basic)
|
|
331
|
+
- Test execution
|
|
332
|
+
- Coverage analysis
|
|
333
|
+
- Quality gates
|
|
334
|
+
|
|
335
|
+
**Plugins (Optional):**
|
|
336
|
+
- n8n Workflow Testing Plugin
|
|
337
|
+
- Visual Regression Plugin
|
|
338
|
+
- Performance Testing Plugin
|
|
339
|
+
- Security Scanning Plugin
|
|
340
|
+
- Accessibility Testing Plugin
|
|
341
|
+
- API Contract Testing Plugin
|
|
342
|
+
|
|
343
|
+
### Plugin Interface
|
|
344
|
+
|
|
345
|
+
```typescript
|
|
346
|
+
interface QEPlugin {
|
|
347
|
+
name: string;
|
|
348
|
+
version: string;
|
|
349
|
+
dependencies: string[];
|
|
350
|
+
|
|
351
|
+
initialize(kernel: QEKernel): Promise<void>;
|
|
352
|
+
shutdown(): Promise<void>;
|
|
353
|
+
|
|
354
|
+
registerAgents?(): AgentDefinition[];
|
|
355
|
+
registerMCPTools?(): MCPTool[];
|
|
356
|
+
registerDomainServices?(): ServiceDefinition[];
|
|
357
|
+
}
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### Success Metrics
|
|
361
|
+
|
|
362
|
+
- [ ] Core <50MB (vs 100MB+ with all features)
|
|
363
|
+
- [ ] Plugin loading <200ms
|
|
364
|
+
- [ ] 6+ official plugins
|
|
365
|
+
- [ ] Plugin development guide
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## ADR-005: AI-First Test Generation
|
|
370
|
+
|
|
371
|
+
**Status:** Implemented
|
|
372
|
+
**Date:** 2026-01-07
|
|
373
|
+
|
|
374
|
+
### Context
|
|
375
|
+
|
|
376
|
+
Traditional test generation relies on templates and heuristics. AI models (Claude, GPT) can generate higher-quality, context-aware tests.
|
|
377
|
+
|
|
378
|
+
### Decision
|
|
379
|
+
|
|
380
|
+
**Make AI-powered test generation the primary method, with template-based as fallback.**
|
|
381
|
+
|
|
382
|
+
### Implementation
|
|
383
|
+
|
|
384
|
+
```typescript
|
|
385
|
+
class AITestGenerationService {
|
|
386
|
+
async generate(request: GenerateTestsRequest): Promise<TestCase[]> {
|
|
387
|
+
// 1. Analyze source code
|
|
388
|
+
const analysis = await this.analyzeSource(request.sourceFile);
|
|
389
|
+
|
|
390
|
+
// 2. Retrieve learned patterns
|
|
391
|
+
const patterns = await this.patternRepo.findByContext(request);
|
|
392
|
+
|
|
393
|
+
// 3. Identify coverage gaps
|
|
394
|
+
const gaps = await this.coverageAnalyzer.findGaps(request.sourceFile);
|
|
395
|
+
|
|
396
|
+
// 4. Generate via AI
|
|
397
|
+
const tests = await this.aiClient.generate(
|
|
398
|
+
this.buildPrompt(analysis, patterns, gaps)
|
|
399
|
+
);
|
|
400
|
+
|
|
401
|
+
// 5. Store successful patterns
|
|
402
|
+
await this.storePatterns(tests);
|
|
403
|
+
|
|
404
|
+
return tests;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
### Success Metrics
|
|
410
|
+
|
|
411
|
+
- [ ] >80% of generated tests are valid
|
|
412
|
+
- [ ] AI tests improve coverage by 20%+
|
|
413
|
+
- [ ] <30 seconds per test suite generation
|
|
414
|
+
- [ ] Pattern learning improves quality over time
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
## ADR-006: Unified Learning System
|
|
419
|
+
|
|
420
|
+
**Status:** Implemented
|
|
421
|
+
**Date:** 2026-01-07
|
|
422
|
+
|
|
423
|
+
### Context
|
|
424
|
+
|
|
425
|
+
QE agents learn independently without sharing knowledge. Cross-agent and cross-project learning could significantly improve quality.
|
|
426
|
+
|
|
427
|
+
### Decision
|
|
428
|
+
|
|
429
|
+
**Implement unified learning system with pattern storage, cross-agent sharing, and transfer learning.**
|
|
430
|
+
|
|
431
|
+
### Components
|
|
432
|
+
|
|
433
|
+
1. **Pattern Storage** - Successful patterns indexed in AgentDB
|
|
434
|
+
2. **Cross-Agent Sharing** - Patterns shared via learning coordinator
|
|
435
|
+
3. **Transfer Learning** - Patterns transferred across projects
|
|
436
|
+
4. **Continuous Improvement** - Feedback loop for pattern refinement
|
|
437
|
+
|
|
438
|
+
### Success Metrics
|
|
439
|
+
|
|
440
|
+
- [ ] 1000+ learned patterns per project
|
|
441
|
+
- [ ] 15% improvement per sprint cycle
|
|
442
|
+
- [ ] Cross-project transfer working
|
|
443
|
+
- [ ] Pattern quality scoring
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
## ADR-007: Quality Gate Decision Engine
|
|
448
|
+
|
|
449
|
+
**Status:** Implemented
|
|
450
|
+
**Date:** 2026-01-07
|
|
451
|
+
|
|
452
|
+
### Context
|
|
453
|
+
|
|
454
|
+
Quality gates are currently simple threshold checks. Need intelligent decision engine that considers trends, risk, and context.
|
|
455
|
+
|
|
456
|
+
### Decision
|
|
457
|
+
|
|
458
|
+
**Implement intelligent quality gate engine with ML-based risk assessment.**
|
|
459
|
+
|
|
460
|
+
### Gate Evaluation
|
|
461
|
+
|
|
462
|
+
```typescript
|
|
463
|
+
class QualityGateEngine {
|
|
464
|
+
async evaluate(context: GateContext): Promise<GateDecision> {
|
|
465
|
+
const [
|
|
466
|
+
coverage,
|
|
467
|
+
testResults,
|
|
468
|
+
riskScore,
|
|
469
|
+
trends,
|
|
470
|
+
defectPrediction
|
|
471
|
+
] = await Promise.all([
|
|
472
|
+
this.getCoverage(context),
|
|
473
|
+
this.getTestResults(context),
|
|
474
|
+
this.calculateRisk(context),
|
|
475
|
+
this.analyzeTrends(context),
|
|
476
|
+
this.predictDefects(context)
|
|
477
|
+
]);
|
|
478
|
+
|
|
479
|
+
// ML-based decision
|
|
480
|
+
const decision = await this.decisionModel.predict({
|
|
481
|
+
coverage,
|
|
482
|
+
testResults,
|
|
483
|
+
riskScore,
|
|
484
|
+
trends,
|
|
485
|
+
defectPrediction
|
|
486
|
+
});
|
|
487
|
+
|
|
488
|
+
return decision;
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
### Success Metrics
|
|
494
|
+
|
|
495
|
+
- [ ] >95% accuracy in gate decisions
|
|
496
|
+
- [ ] <5% false positives (blocking good releases)
|
|
497
|
+
- [ ] <1% false negatives (allowing bad releases)
|
|
498
|
+
- [ ] Trend analysis integrated
|
|
499
|
+
|
|
500
|
+
---
|
|
501
|
+
|
|
502
|
+
## ADR-008: Multi-Agent Hierarchical Coordination
|
|
503
|
+
|
|
504
|
+
**Status:** Implemented
|
|
505
|
+
**Date:** 2026-01-07
|
|
506
|
+
|
|
507
|
+
### Context
|
|
508
|
+
|
|
509
|
+
Current agents operate independently. Need hierarchical coordination for complex QE workflows.
|
|
510
|
+
|
|
511
|
+
### Decision
|
|
512
|
+
|
|
513
|
+
**Implement hierarchical multi-agent coordination with Queen Coordinator pattern.**
|
|
514
|
+
|
|
515
|
+
### Agent Hierarchy
|
|
516
|
+
|
|
517
|
+
```
|
|
518
|
+
Queen Coordinator
|
|
519
|
+
|
|
|
520
|
+
+--------+--------+--------+--------+
|
|
521
|
+
| | | | |
|
|
522
|
+
Test Quality Coverage Learning Execution
|
|
523
|
+
Gen Gates Analysis Coord Coord
|
|
524
|
+
| | | | |
|
|
525
|
+
2-5 6-8 9-11 12-14 15-17
|
|
526
|
+
agents agents agents agents agents
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
### Success Metrics
|
|
530
|
+
|
|
531
|
+
- [ ] >85% agent utilization
|
|
532
|
+
- [ ] <5 minute end-to-end QE workflow
|
|
533
|
+
- [ ] Coordination overhead <10%
|
|
534
|
+
- [ ] Automatic work distribution
|
|
535
|
+
|
|
536
|
+
---
|
|
537
|
+
|
|
538
|
+
## ADR-009: AgentDB as Primary Memory Backend
|
|
539
|
+
|
|
540
|
+
**Status:** Implemented
|
|
541
|
+
**Date:** 2026-01-07
|
|
542
|
+
|
|
543
|
+
### Context
|
|
544
|
+
|
|
545
|
+
Multiple memory implementations exist. Need single, optimized backend with vector search and pattern learning.
|
|
546
|
+
|
|
547
|
+
### Decision
|
|
548
|
+
|
|
549
|
+
**Use AgentDB with HNSW indexing as primary memory backend for all QE domains.**
|
|
550
|
+
|
|
551
|
+
### Benefits
|
|
552
|
+
|
|
553
|
+
- 150x-12,500x faster search via HNSW
|
|
554
|
+
- Vector embeddings for semantic search
|
|
555
|
+
- Built-in RL algorithms
|
|
556
|
+
- Cross-agent memory sharing
|
|
557
|
+
|
|
558
|
+
### Success Metrics
|
|
559
|
+
|
|
560
|
+
- [ ] <10ms vector search
|
|
561
|
+
- [ ] 1M+ patterns indexed
|
|
562
|
+
- [ ] Seamless cross-domain access
|
|
563
|
+
- [ ] Memory usage <500MB
|
|
564
|
+
|
|
565
|
+
---
|
|
566
|
+
|
|
567
|
+
## ADR-010: MCP-First Tool Design
|
|
568
|
+
|
|
569
|
+
**Status:** Implemented
|
|
570
|
+
**Date:** 2026-01-07
|
|
571
|
+
**Accepted:** 2026-01-09
|
|
572
|
+
|
|
573
|
+
### Context
|
|
574
|
+
|
|
575
|
+
QE functionality should be accessible via multiple interfaces (CLI, API, programmatic). MCP provides standard interface.
|
|
576
|
+
|
|
577
|
+
### Decision
|
|
578
|
+
|
|
579
|
+
**All QE functionality exposed as MCP tools first, with CLI as wrapper.**
|
|
580
|
+
|
|
581
|
+
### Implementation
|
|
582
|
+
|
|
583
|
+
**14 MCP Tools Implemented:**
|
|
584
|
+
- `qe/tests/generate` - AI-powered test generation
|
|
585
|
+
- `qe/tests/execute` - Parallel test execution
|
|
586
|
+
- `qe/coverage/analyze` - Sublinear coverage analysis
|
|
587
|
+
- `qe/coverage/gaps` - Coverage gap detection
|
|
588
|
+
- `qe/quality/evaluate` - Quality gate evaluation
|
|
589
|
+
- `qe/defects/predict` - Defect prediction
|
|
590
|
+
- `qe/requirements/validate` - Requirements validation
|
|
591
|
+
- `qe/code/analyze` - Code intelligence analysis
|
|
592
|
+
- `qe/security/scan` - Security scanning (SAST/DAST)
|
|
593
|
+
- `qe/contracts/validate` - Contract validation
|
|
594
|
+
- `qe/visual/compare` - Visual regression testing
|
|
595
|
+
- `qe/a11y/audit` - Accessibility auditing
|
|
596
|
+
- `qe/chaos/inject` - Chaos engineering
|
|
597
|
+
- `qe/learning/optimize` - Learning optimization
|
|
598
|
+
|
|
599
|
+
**Key Files:**
|
|
600
|
+
- `src/mcp/tools/base.ts` - Base MCP tool class with validation, streaming, abort
|
|
601
|
+
- `src/mcp/tools/registry.ts` - Tool registry with 14 tools across 12 domains
|
|
602
|
+
- `src/mcp/tools/domain/*.ts` - Domain-specific tool implementations
|
|
603
|
+
- `src/cli/commands/qe-tools.ts` - CLI wrappers (thin, delegates to MCP)
|
|
604
|
+
- `tests/unit/mcp/tools/*.test.ts` - 130 unit tests
|
|
605
|
+
|
|
606
|
+
```typescript
|
|
607
|
+
// MCP Tool (primary) - Example from actual implementation
|
|
608
|
+
export class TestGenerateTool extends MCPToolBase<GenerateParams, GenerateResult> {
|
|
609
|
+
readonly config: MCPToolConfig = {
|
|
610
|
+
name: 'qe/tests/generate',
|
|
611
|
+
description: 'Generate tests using AI-powered analysis',
|
|
612
|
+
domain: 'test-generation',
|
|
613
|
+
schema: { /* JSON Schema */ },
|
|
614
|
+
streaming: true,
|
|
615
|
+
timeout: 60000,
|
|
616
|
+
};
|
|
617
|
+
|
|
618
|
+
async execute(params: GenerateParams, context: MCPToolContext): Promise<ToolResult<GenerateResult>> {
|
|
619
|
+
// Implementation with streaming, abort support, validation
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
// CLI Command (wrapper) - Thin wrapper pattern
|
|
624
|
+
program.command('generate')
|
|
625
|
+
.option('--file <path>', 'Source file path')
|
|
626
|
+
.action(async (options) => {
|
|
627
|
+
const tool = getQETool('qe/tests/generate');
|
|
628
|
+
const result = await tool.invoke(options);
|
|
629
|
+
console.log(JSON.stringify(result, null, 2));
|
|
630
|
+
});
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
### Success Metrics
|
|
634
|
+
|
|
635
|
+
- [x] 100% MCP coverage (14 tools covering all 12 domains)
|
|
636
|
+
- [x] CLI adds <10% code (thin wrappers only)
|
|
637
|
+
- [x] Consistent API across interfaces (JSON Schema validation)
|
|
638
|
+
- [x] Auto-generated documentation (from tool schemas)
|
|
639
|
+
- [x] 130 unit tests passing
|
|
640
|
+
|
|
641
|
+
---
|
|
642
|
+
|
|
643
|
+
## Decision Framework
|
|
644
|
+
|
|
645
|
+
For future ADRs, use this template:
|
|
646
|
+
|
|
647
|
+
### ADR-XXX: [Title]
|
|
648
|
+
|
|
649
|
+
**Status:** Proposed | Accepted | Deprecated | Superseded
|
|
650
|
+
**Date:** YYYY-MM-DD
|
|
651
|
+
|
|
652
|
+
#### Context
|
|
653
|
+
What is the issue we're trying to solve?
|
|
654
|
+
|
|
655
|
+
#### Decision
|
|
656
|
+
What are we going to do?
|
|
657
|
+
|
|
658
|
+
#### Rationale
|
|
659
|
+
Why this decision? What alternatives did we consider?
|
|
660
|
+
|
|
661
|
+
#### Consequences
|
|
662
|
+
What are the trade-offs?
|
|
663
|
+
|
|
664
|
+
#### Implementation
|
|
665
|
+
How will we do this?
|
|
666
|
+
|
|
667
|
+
#### Success Metrics
|
|
668
|
+
How do we know it worked?
|
|
669
|
+
|
|
670
|
+
---
|
|
671
|
+
|
|
672
|
+
## ADR-011: LLM Provider System for QE
|
|
673
|
+
|
|
674
|
+
**Status:** Implemented
|
|
675
|
+
**Date:** 2026-01-07
|
|
676
|
+
|
|
677
|
+
### Context
|
|
678
|
+
|
|
679
|
+
Test generation requires multiple LLM providers for different scenarios:
|
|
680
|
+
- Claude for complex reasoning and test design
|
|
681
|
+
- GPT-4 for alternative test perspectives
|
|
682
|
+
- Local models (Ollama) for fast iteration and cost control
|
|
683
|
+
- Cost tracking for test generation budget management
|
|
684
|
+
|
|
685
|
+
### Decision
|
|
686
|
+
|
|
687
|
+
**Implement unified LLM provider system with cost tracking, failover, and circuit breaker.**
|
|
688
|
+
|
|
689
|
+
Key Components:
|
|
690
|
+
- Provider Manager with round-robin/cost-based load balancing
|
|
691
|
+
- Circuit breaker for cascading failure prevention
|
|
692
|
+
- Cost tracking per test generation request
|
|
693
|
+
- LRU caching for repeated test generation patterns
|
|
694
|
+
|
|
695
|
+
Provider Priority:
|
|
696
|
+
1. Claude (primary) - Complex test generation
|
|
697
|
+
2. GPT-4 (secondary) - Alternative test perspectives
|
|
698
|
+
3. Ollama (local) - Fast iteration, unlimited runs
|
|
699
|
+
|
|
700
|
+
### Success Metrics
|
|
701
|
+
|
|
702
|
+
- [ ] 3+ LLM providers supported
|
|
703
|
+
- [ ] Cost tracking with budget alerts
|
|
704
|
+
- [ ] Circuit breaker prevents cascading failures
|
|
705
|
+
- [ ] <50ms overhead for provider selection
|
|
706
|
+
|
|
707
|
+
---
|
|
708
|
+
|
|
709
|
+
## ADR-012: MCP Security Features for QE
|
|
710
|
+
|
|
711
|
+
**Status:** Implemented
|
|
712
|
+
**Date:** 2026-01-07
|
|
713
|
+
**Implemented:** 2026-01-09
|
|
714
|
+
|
|
715
|
+
### Context
|
|
716
|
+
|
|
717
|
+
QE MCP tools handle sensitive operations: test execution, code analysis, credential management for integration tests. Need security hardening.
|
|
718
|
+
|
|
719
|
+
### Decision
|
|
720
|
+
|
|
721
|
+
**Implement security features following claude-flow v3 patterns.**
|
|
722
|
+
|
|
723
|
+
Security Features:
|
|
724
|
+
- **JSON Schema Validation** - Validate all MCP tool inputs (schema-validator.ts)
|
|
725
|
+
- **Rate Limiting** - Token bucket (100 req/s, 200 burst) + sliding window (rate-limiter.ts)
|
|
726
|
+
- **OAuth 2.1 + PKCE** - Enterprise authentication (oauth21-provider.ts)
|
|
727
|
+
- **Sampling** - Server-initiated LLM for AI-driven test decisions (sampling-server.ts)
|
|
728
|
+
|
|
729
|
+
CVE Prevention (cve-prevention.ts):
|
|
730
|
+
- Path traversal protection (validatePath, normalizePath, joinPaths)
|
|
731
|
+
- ReDoS prevention with regex escaping (isRegexSafe, createSafeRegex)
|
|
732
|
+
- Timing-safe authentication comparison (timingSafeCompare, timingSafeHashCompare)
|
|
733
|
+
- Input sanitization (sanitizeInput, escapeHtml, stripHtmlTags)
|
|
734
|
+
- Command injection prevention (validateCommand, escapeShellArg)
|
|
735
|
+
|
|
736
|
+
### Implementation
|
|
737
|
+
|
|
738
|
+
Files created in `v3/src/mcp/security/`:
|
|
739
|
+
- `index.ts` - Exports and security middleware factory
|
|
740
|
+
- `schema-validator.ts` - JSON Schema validation with type checking, formats, combinators
|
|
741
|
+
- `rate-limiter.ts` - Token bucket and sliding window rate limiters
|
|
742
|
+
- `oauth21-provider.ts` - OAuth 2.1 + PKCE authorization flows
|
|
743
|
+
- `sampling-server.ts` - Server-initiated LLM sampling with QE decision prompts
|
|
744
|
+
- `cve-prevention.ts` - Security utilities for CVE prevention
|
|
745
|
+
|
|
746
|
+
Test coverage: 207 tests in `v3/tests/unit/mcp/security/`
|
|
747
|
+
|
|
748
|
+
### Success Metrics
|
|
749
|
+
|
|
750
|
+
- [x] All MCP tools have input schema validation
|
|
751
|
+
- [x] Rate limiting prevents abuse (token bucket + sliding window)
|
|
752
|
+
- [x] OAuth 2.1 for enterprise deployments (authorization_code, refresh_token, client_credentials)
|
|
753
|
+
- [x] Zero critical CVEs (path traversal, ReDoS, timing attacks, injection attacks prevented)
|
|
754
|
+
|
|
755
|
+
> **Implementation Note (2026-01-09 - UPDATED):**
|
|
756
|
+
>
|
|
757
|
+
> **REAL SECURITY SCANNER ADDED:**
|
|
758
|
+
> - `semgrep-integration.ts` - Real Semgrep SAST integration that shells out to semgrep when available
|
|
759
|
+
> - Graceful fallback to pattern-based scanning when semgrep not installed
|
|
760
|
+
> - Supports OWASP Top 10, CWE Top 25, and custom rule sets
|
|
761
|
+
>
|
|
762
|
+
> ```bash
|
|
763
|
+
> # Install semgrep for full functionality
|
|
764
|
+
> pip install semgrep
|
|
765
|
+
> ```
|
|
766
|
+
|
|
767
|
+
---
|
|
768
|
+
|
|
769
|
+
## ADR-013: Core Security Module for QE
|
|
770
|
+
|
|
771
|
+
**Status:** Implemented
|
|
772
|
+
**Date:** 2026-01-07
|
|
773
|
+
|
|
774
|
+
### Context
|
|
775
|
+
|
|
776
|
+
QE executes tests with potentially dangerous operations: file access, command execution, credential handling for integration tests.
|
|
777
|
+
|
|
778
|
+
### Decision
|
|
779
|
+
|
|
780
|
+
**Create `@agentic-qe/security` package with defense-in-depth.**
|
|
781
|
+
|
|
782
|
+
Components:
|
|
783
|
+
1. **Safe Executor** - No shell interpretation, command allowlist
|
|
784
|
+
2. **Path Validator** - Traversal prevention, jail directories
|
|
785
|
+
3. **Credential Manager** - Secure storage for integration test credentials
|
|
786
|
+
4. **Input Sanitizer** - XSS, injection prevention
|
|
787
|
+
|
|
788
|
+
```typescript
|
|
789
|
+
const security = createSecurityModule({
|
|
790
|
+
projectRoot: process.cwd(),
|
|
791
|
+
allowedCommands: ['npm', 'jest', 'vitest', 'playwright'],
|
|
792
|
+
allowedPaths: ['src/', 'tests/', 'coverage/']
|
|
793
|
+
});
|
|
794
|
+
|
|
795
|
+
// Safe test execution
|
|
796
|
+
await security.safeExecutor.execute('jest', ['--coverage']);
|
|
797
|
+
```
|
|
798
|
+
|
|
799
|
+
### Success Metrics
|
|
800
|
+
|
|
801
|
+
- [ ] No command injection vulnerabilities
|
|
802
|
+
- [ ] Path traversal blocked
|
|
803
|
+
- [ ] Credentials encrypted at rest
|
|
804
|
+
- [ ] 400+ security tests passing
|
|
805
|
+
|
|
806
|
+
---
|
|
807
|
+
|
|
808
|
+
## ADR-014: Background Workers for QE Monitoring
|
|
809
|
+
|
|
810
|
+
**Status:** Implemented
|
|
811
|
+
**Date:** 2026-01-07
|
|
812
|
+
|
|
813
|
+
### Context
|
|
814
|
+
|
|
815
|
+
QE needs continuous monitoring: test health, coverage trends, flaky test detection, security scanning. Claude-flow v3 has 12 background workers.
|
|
816
|
+
|
|
817
|
+
### Decision
|
|
818
|
+
|
|
819
|
+
**Implement QE-specific background worker system with daemon support.**
|
|
820
|
+
|
|
821
|
+
QE Workers (10 total):
|
|
822
|
+
|
|
823
|
+
| Worker | Interval | Description |
|
|
824
|
+
|--------|----------|-------------|
|
|
825
|
+
| test-health | 5 min | Monitor test suite health |
|
|
826
|
+
| coverage-tracker | 10 min | Track coverage trends |
|
|
827
|
+
| flaky-detector | 15 min | Detect flaky test patterns |
|
|
828
|
+
| security-scan | 30 min | Security vulnerability scanning |
|
|
829
|
+
| quality-gate | 5 min | Continuous gate evaluation |
|
|
830
|
+
| learning-consolidation | 30 min | Pattern consolidation |
|
|
831
|
+
| defect-predictor | 15 min | ML defect prediction |
|
|
832
|
+
| regression-monitor | 10 min | Watch for regressions |
|
|
833
|
+
| performance-baseline | 1 hour | Performance trend tracking |
|
|
834
|
+
| compliance-checker | 30 min | ADR/DDD compliance |
|
|
835
|
+
|
|
836
|
+
Session Integration:
|
|
837
|
+
```bash
|
|
838
|
+
# Auto-start on session begin
|
|
839
|
+
aqe daemon start --workers test-health,coverage-tracker,flaky-detector
|
|
840
|
+
|
|
841
|
+
# Check worker status
|
|
842
|
+
aqe daemon status
|
|
843
|
+
```
|
|
844
|
+
|
|
845
|
+
### Success Metrics
|
|
846
|
+
|
|
847
|
+
- [ ] 10 QE workers implemented
|
|
848
|
+
- [ ] Daemon survives session restarts
|
|
849
|
+
- [ ] Historical metrics stored (30 days)
|
|
850
|
+
- [ ] <500ms worker execution time
|
|
851
|
+
|
|
852
|
+
---
|
|
853
|
+
|
|
854
|
+
## ADR-015: Unified Plugin System for QE Extensions
|
|
855
|
+
|
|
856
|
+
**Status:** Implemented
|
|
857
|
+
**Date:** 2026-01-07
|
|
858
|
+
|
|
859
|
+
### Context
|
|
860
|
+
|
|
861
|
+
QE has optional capabilities (n8n testing, visual regression, performance testing) that not all users need. Following ADR-004, we need a formal plugin SDK.
|
|
862
|
+
|
|
863
|
+
### Decision
|
|
864
|
+
|
|
865
|
+
**Implement plugin SDK with builder pattern following claude-flow v3.**
|
|
866
|
+
|
|
867
|
+
Plugin Types:
|
|
868
|
+
1. **n8n Workflow Testing Plugin**
|
|
869
|
+
2. **Visual Regression Plugin**
|
|
870
|
+
3. **Performance Testing Plugin**
|
|
871
|
+
4. **API Contract Testing Plugin**
|
|
872
|
+
5. **Accessibility Testing Plugin**
|
|
873
|
+
6. **Security Scanning Plugin**
|
|
874
|
+
|
|
875
|
+
Builder Pattern:
|
|
876
|
+
```typescript
|
|
877
|
+
const visualPlugin = new QEPluginBuilder('visual-regression', '1.0.0')
|
|
878
|
+
.withDescription('Visual regression testing with AI')
|
|
879
|
+
.withMCPTools([screenshotTool, compareTool, baselinesTool])
|
|
880
|
+
.withAgents(['visual-tester', 'accessibility-checker'])
|
|
881
|
+
.withWorkers([baselineWorker, regressionWorker])
|
|
882
|
+
.build();
|
|
883
|
+
|
|
884
|
+
await registry.register(visualPlugin);
|
|
885
|
+
```
|
|
886
|
+
|
|
887
|
+
### Success Metrics
|
|
888
|
+
|
|
889
|
+
- [ ] Plugin SDK published
|
|
890
|
+
- [ ] 6+ official QE plugins
|
|
891
|
+
- [ ] <50ms plugin load time
|
|
892
|
+
- [ ] Plugin development guide
|
|
893
|
+
|
|
894
|
+
---
|
|
895
|
+
|
|
896
|
+
## ADR-016: Collaborative Test Task Claims
|
|
897
|
+
|
|
898
|
+
**Status:** Implemented
|
|
899
|
+
**Date:** 2026-01-07
|
|
900
|
+
|
|
901
|
+
### Context
|
|
902
|
+
|
|
903
|
+
Multiple QE agents and humans work on test coverage. Need claim system to prevent duplicate work and enable handoffs.
|
|
904
|
+
|
|
905
|
+
### Decision
|
|
906
|
+
|
|
907
|
+
**Implement collaborative claim system for test tasks following claude-flow v3 patterns.**
|
|
908
|
+
|
|
909
|
+
Claim Types:
|
|
910
|
+
- Coverage gaps (uncovered code → agent claims to write tests)
|
|
911
|
+
- Flaky tests (detected → agent claims to fix)
|
|
912
|
+
- Defect investigations (predicted defect → agent claims to analyze)
|
|
913
|
+
- Test reviews (generated tests → human claims to review)
|
|
914
|
+
|
|
915
|
+
Work Stealing:
|
|
916
|
+
```typescript
|
|
917
|
+
// Agent B steals stale test gap claim
|
|
918
|
+
const stealable = await claimService.getStealable('test-generation');
|
|
919
|
+
if (stealable.length > 0) {
|
|
920
|
+
await claimService.steal(stealable[0].gapId, agentB);
|
|
921
|
+
}
|
|
922
|
+
```
|
|
923
|
+
|
|
924
|
+
Handoff Patterns:
|
|
925
|
+
1. Test Generator → Test Reviewer (human reviews AI tests)
|
|
926
|
+
2. Coverage Analyzer → Test Generator (gaps trigger generation)
|
|
927
|
+
3. Flaky Detector → Flaky Hunter (detection triggers investigation)
|
|
928
|
+
|
|
929
|
+
### Success Metrics
|
|
930
|
+
|
|
931
|
+
- [ ] Claim service for test tasks
|
|
932
|
+
- [ ] Work stealing for idle agents
|
|
933
|
+
- [ ] Human ↔ Agent handoffs working
|
|
934
|
+
- [ ] >90% QE agent utilization
|
|
935
|
+
|
|
936
|
+
---
|
|
937
|
+
|
|
938
|
+
## ADR-017: RuVector Integration for QE Intelligence
|
|
939
|
+
|
|
940
|
+
**Status:** Implemented
|
|
941
|
+
**Date:** 2026-01-07
|
|
942
|
+
**Implemented:** 2026-01-09
|
|
943
|
+
|
|
944
|
+
### Context
|
|
945
|
+
|
|
946
|
+
RuVector provides ML-based code intelligence that enhances QE:
|
|
947
|
+
- Q-Learning agent routing (80%+ accuracy)
|
|
948
|
+
- AST complexity for test prioritization
|
|
949
|
+
- Diff risk classification for targeted testing
|
|
950
|
+
- Graph analysis for module boundary testing
|
|
951
|
+
|
|
952
|
+
### Decision
|
|
953
|
+
|
|
954
|
+
**Integrate RuVector as OPTIONAL dependency with graceful fallback.**
|
|
955
|
+
|
|
956
|
+
Integration Points:
|
|
957
|
+
|
|
958
|
+
| RuVector Feature | QE Application |
|
|
959
|
+
|------------------|----------------|
|
|
960
|
+
| Q-Learning Router | Route test tasks to optimal agents |
|
|
961
|
+
| AST Complexity | Prioritize tests by code complexity |
|
|
962
|
+
| Diff Risk Classification | Target tests at high-risk changes |
|
|
963
|
+
| Coverage Routing | Test coverage-aware agent selection |
|
|
964
|
+
| Graph Boundaries | Focus integration tests at module boundaries |
|
|
965
|
+
|
|
966
|
+
CLI Commands:
|
|
967
|
+
```bash
|
|
968
|
+
# Route test task with Q-Learning
|
|
969
|
+
aqe route --task "Test user authentication" --q-learning
|
|
970
|
+
|
|
971
|
+
# Analyze code for test prioritization
|
|
972
|
+
aqe analyze complexity --path src/auth/
|
|
973
|
+
|
|
974
|
+
# Classify PR risk for targeted testing
|
|
975
|
+
aqe analyze diff --risk
|
|
976
|
+
```
|
|
977
|
+
|
|
978
|
+
Fallback: When RuVector not installed, fall back to rule-based routing.
|
|
979
|
+
|
|
980
|
+
### Implementation (2026-01-09)
|
|
981
|
+
|
|
982
|
+
**Files Created:**
|
|
983
|
+
|
|
984
|
+
```
|
|
985
|
+
v3/src/integrations/ruvector/
|
|
986
|
+
├── index.ts # Barrel export + client factory
|
|
987
|
+
├── interfaces.ts # Core interfaces and config types
|
|
988
|
+
├── fallback.ts # Rule-based fallback implementations
|
|
989
|
+
├── q-learning-router.ts # Q-Learning agent routing
|
|
990
|
+
├── ast-complexity.ts # AST complexity analyzer
|
|
991
|
+
├── diff-risk-classifier.ts # Diff risk classification
|
|
992
|
+
├── coverage-router.ts # Coverage-aware routing
|
|
993
|
+
└── graph-boundaries.ts # Module boundary analysis
|
|
994
|
+
```
|
|
995
|
+
|
|
996
|
+
**Test Files:**
|
|
997
|
+
|
|
998
|
+
```
|
|
999
|
+
v3/tests/unit/integrations/ruvector/
|
|
1000
|
+
├── q-learning-router.test.ts
|
|
1001
|
+
├── ast-complexity.test.ts
|
|
1002
|
+
├── diff-risk-classifier.test.ts
|
|
1003
|
+
├── coverage-router.test.ts
|
|
1004
|
+
└── graph-boundaries.test.ts
|
|
1005
|
+
```
|
|
1006
|
+
|
|
1007
|
+
**Key Architecture Patterns:**
|
|
1008
|
+
|
|
1009
|
+
1. **Factory Functions** - Each component has `createXXX(config)` factory
|
|
1010
|
+
2. **Graceful Fallback** - Every feature works without RuVector via rule-based fallback
|
|
1011
|
+
3. **Result Tracking** - All results include `usedFallback: boolean` indicator
|
|
1012
|
+
4. **Caching Support** - TTL-based caching when `cacheEnabled: true`
|
|
1013
|
+
5. **Error Types** - `RuVectorError`, `RuVectorUnavailableError`, `RuVectorTimeoutError`
|
|
1014
|
+
|
|
1015
|
+
**Usage Example:**
|
|
1016
|
+
|
|
1017
|
+
```typescript
|
|
1018
|
+
import {
|
|
1019
|
+
createRuVectorClient,
|
|
1020
|
+
createQLearningRouter,
|
|
1021
|
+
createDiffRiskClassifier,
|
|
1022
|
+
DEFAULT_RUVECTOR_CONFIG
|
|
1023
|
+
} from '@agentic-qe/v3/integrations/ruvector';
|
|
1024
|
+
|
|
1025
|
+
// Create client with fallback support
|
|
1026
|
+
const client = await createRuVectorClient({
|
|
1027
|
+
...DEFAULT_RUVECTOR_CONFIG,
|
|
1028
|
+
enabled: true,
|
|
1029
|
+
endpoint: 'http://ruvector:8080'
|
|
1030
|
+
});
|
|
1031
|
+
|
|
1032
|
+
// Route task to optimal agent
|
|
1033
|
+
const router = createQLearningRouter(client.config);
|
|
1034
|
+
const result = await router.routeTask({
|
|
1035
|
+
id: 'task-1',
|
|
1036
|
+
name: 'Test auth service',
|
|
1037
|
+
type: 'unit',
|
|
1038
|
+
complexity: 0.7,
|
|
1039
|
+
priority: 'p1'
|
|
1040
|
+
});
|
|
1041
|
+
|
|
1042
|
+
// result.usedFallback indicates if RuVector was available
|
|
1043
|
+
console.log(`Routed to ${result.agentType} (fallback: ${result.usedFallback})`);
|
|
1044
|
+
```
|
|
1045
|
+
|
|
1046
|
+
### Success Metrics
|
|
1047
|
+
|
|
1048
|
+
- [x] RuVector optional dependency configured
|
|
1049
|
+
- [x] Q-Learning routing implementation with epsilon-greedy action selection
|
|
1050
|
+
- [x] AST complexity analysis with cyclomatic, cognitive, coupling, cohesion metrics
|
|
1051
|
+
- [x] Graceful fallback when unavailable (all 5 components have fallback)
|
|
1052
|
+
- [x] 5 test files with comprehensive coverage
|
|
1053
|
+
- [x] Factory pattern for all components
|
|
1054
|
+
- [x] Caching support with TTL
|
|
1055
|
+
- [x] Model export/import for Q-Learning persistence
|
|
1056
|
+
|
|
1057
|
+
---
|
|
1058
|
+
|
|
1059
|
+
## ADR-018: Expanded 12-Domain Architecture
|
|
1060
|
+
|
|
1061
|
+
**Status:** Implemented
|
|
1062
|
+
**Date:** 2026-01-07
|
|
1063
|
+
|
|
1064
|
+
### Context
|
|
1065
|
+
|
|
1066
|
+
Initial v3 architecture (ADR-001) proposed 6 bounded contexts with 21 agents. Analysis of v2 capabilities revealed critical gaps:
|
|
1067
|
+
|
|
1068
|
+
**Missing Capabilities from v2:**
|
|
1069
|
+
- Code Intelligence (Knowledge Graph) - `qe-code-intelligence`
|
|
1070
|
+
- Requirements Validation - `qe-requirements-validator`
|
|
1071
|
+
- Regression Risk Analysis - `qe-regression-risk-analyzer`
|
|
1072
|
+
- API Contract Testing - `qe-api-contract-validator`
|
|
1073
|
+
- Visual Testing - `qe-visual-tester`
|
|
1074
|
+
- Accessibility Testing - `qe-a11y-ally`
|
|
1075
|
+
- Chaos Engineering - `qe-chaos-engineer`
|
|
1076
|
+
- Production Intelligence - `qe-production-intelligence`
|
|
1077
|
+
|
|
1078
|
+
**Comparison with claude-flow v3:**
|
|
1079
|
+
- claude-flow: 60+ agent types, 26 core commands, 140+ subcommands
|
|
1080
|
+
- Initial AQE v3: 21 agents, 6 domains - insufficient
|
|
1081
|
+
|
|
1082
|
+
### Decision
|
|
1083
|
+
|
|
1084
|
+
**Expand from 6 domains/21 agents to 12 domains/47 agents to ensure complete v2 migration and feature parity with enterprise needs.**
|
|
1085
|
+
|
|
1086
|
+
**12 Bounded Contexts:**
|
|
1087
|
+
|
|
1088
|
+
| # | Domain | Agents | Key Capabilities |
|
|
1089
|
+
|---|--------|--------|------------------|
|
|
1090
|
+
| 1 | test-generation | 5 | AI test creation, TDD, data generation |
|
|
1091
|
+
| 2 | test-execution | 4 | Parallel execution, flaky detection |
|
|
1092
|
+
| 3 | coverage-analysis | 4 | O(log n) gaps, mutation testing |
|
|
1093
|
+
| 4 | quality-assessment | 4 | Quality gates, deployment readiness |
|
|
1094
|
+
| 5 | defect-intelligence | 4 | Prediction, regression risk |
|
|
1095
|
+
| 6 | **requirements-validation** | 4 | BDD, testability scoring (NEW) |
|
|
1096
|
+
| 7 | **code-intelligence** | 4 | Knowledge Graph, semantic search (NEW) |
|
|
1097
|
+
| 8 | **security-compliance** | 4 | SAST/DAST, compliance (EXPANDED) |
|
|
1098
|
+
| 9 | **contract-testing** | 4 | API contracts, GraphQL (NEW) |
|
|
1099
|
+
| 10 | **visual-accessibility** | 4 | Visual regression, a11y (NEW) |
|
|
1100
|
+
| 11 | **chaos-resilience** | 4 | Chaos engineering, load testing (NEW) |
|
|
1101
|
+
| 12 | learning-optimization | 5 | Pattern learning, knowledge transfer |
|
|
1102
|
+
|
|
1103
|
+
**Agent Breakdown:**
|
|
1104
|
+
- 1 Queen Coordinator
|
|
1105
|
+
- 46 Domain Agents (across 12 domains)
|
|
1106
|
+
- 7 Subagents (task-specific workers)
|
|
1107
|
+
- 2 Specialized (cross-domain: QX Partner, Fleet Commander)
|
|
1108
|
+
- **Total: 56 agents**
|
|
1109
|
+
|
|
1110
|
+
### Migration Map (v2 → v3)
|
|
1111
|
+
|
|
1112
|
+
```
|
|
1113
|
+
v2 Agent → v3 Agent Domain
|
|
1114
|
+
─────────────────────────────────────────────────────────────────
|
|
1115
|
+
qe-code-intelligence → v3-qe-code-intelligence code-intelligence
|
|
1116
|
+
qe-requirements-validator → v3-qe-requirements-validator requirements-validation
|
|
1117
|
+
qe-regression-risk-analyzer→ v3-qe-regression-analyzer defect-intelligence
|
|
1118
|
+
qe-api-contract-validator → v3-qe-contract-validator contract-testing
|
|
1119
|
+
qe-visual-tester → v3-qe-visual-tester visual-accessibility
|
|
1120
|
+
qe-a11y-ally → v3-qe-a11y-specialist visual-accessibility
|
|
1121
|
+
qe-chaos-engineer → v3-qe-chaos-engineer chaos-resilience
|
|
1122
|
+
qe-security-scanner → v3-qe-security-scanner security-compliance
|
|
1123
|
+
qe-performance-tester → v3-qe-performance-profiler chaos-resilience
|
|
1124
|
+
qe-production-intelligence→ v3-qe-production-intel learning-optimization
|
|
1125
|
+
qe-code-complexity → v3-qe-code-complexity quality-assessment
|
|
1126
|
+
qe-test-data-architect → v3-qe-test-data-architect test-generation
|
|
1127
|
+
qx-partner → v3-qe-qx-partner specialized
|
|
1128
|
+
qe-fleet-commander → v3-qe-fleet-commander specialized
|
|
1129
|
+
```
|
|
1130
|
+
|
|
1131
|
+
### New Coordination Protocols
|
|
1132
|
+
|
|
1133
|
+
```yaml
|
|
1134
|
+
protocols:
|
|
1135
|
+
code-intelligence-index:
|
|
1136
|
+
description: "Knowledge graph indexing"
|
|
1137
|
+
participants: [v3-qe-code-intelligence, v3-qe-semantic-analyzer]
|
|
1138
|
+
triggers: [code-change, hourly, "aqe kg index"]
|
|
1139
|
+
|
|
1140
|
+
security-audit:
|
|
1141
|
+
description: "Security and compliance audit"
|
|
1142
|
+
participants: [v3-qe-security-scanner, v3-qe-compliance-validator]
|
|
1143
|
+
triggers: [daily-2am, dependency-update, "aqe security audit"]
|
|
1144
|
+
|
|
1145
|
+
requirements-validation:
|
|
1146
|
+
description: "Pre-development requirements analysis"
|
|
1147
|
+
participants: [v3-qe-requirements-validator, v3-qe-bdd-scenario-writer]
|
|
1148
|
+
triggers: [user-story-created, sprint-planning]
|
|
1149
|
+
```
|
|
1150
|
+
|
|
1151
|
+
### Rationale
|
|
1152
|
+
|
|
1153
|
+
**Pros:**
|
|
1154
|
+
- Complete v2 feature migration
|
|
1155
|
+
- Addresses user feedback about missing agents
|
|
1156
|
+
- Knowledge Graph crucial for intelligent test targeting
|
|
1157
|
+
- Requirements validation enables shift-left testing
|
|
1158
|
+
- Visual/a11y testing for modern web applications
|
|
1159
|
+
- Chaos engineering for distributed systems
|
|
1160
|
+
|
|
1161
|
+
**Cons:**
|
|
1162
|
+
- More complex coordination (47 vs 21 agents)
|
|
1163
|
+
- Longer migration timeline
|
|
1164
|
+
- Higher resource requirements
|
|
1165
|
+
|
|
1166
|
+
**Mitigation:**
|
|
1167
|
+
- Hierarchical coordination (Queen + 6 group leaders)
|
|
1168
|
+
- Max 15 concurrent agents (per claude-flow v3)
|
|
1169
|
+
- Lazy loading of domains (only activate when needed)
|
|
1170
|
+
|
|
1171
|
+
### Configuration
|
|
1172
|
+
|
|
1173
|
+
```yaml
|
|
1174
|
+
# .agentic-qe/config.yaml
|
|
1175
|
+
v3:
|
|
1176
|
+
domains: 12
|
|
1177
|
+
maxConcurrentAgents: 15
|
|
1178
|
+
lazyLoading: true
|
|
1179
|
+
memoryBackend: hybrid
|
|
1180
|
+
hnswEnabled: true
|
|
1181
|
+
backgroundWorkers: 12
|
|
1182
|
+
hooks: 17
|
|
1183
|
+
```
|
|
1184
|
+
|
|
1185
|
+
### Success Metrics
|
|
1186
|
+
|
|
1187
|
+
- [ ] All 22 v2 QE agents migrated to v3
|
|
1188
|
+
- [ ] 12 domains implemented
|
|
1189
|
+
- [ ] Knowledge Graph operational with O(log n) search
|
|
1190
|
+
- [ ] Requirements validation integrated with CI/CD
|
|
1191
|
+
- [ ] Visual/a11y testing automated
|
|
1192
|
+
- [ ] <15 concurrent agents during peak load
|
|
1193
|
+
|
|
1194
|
+
---
|
|
1195
|
+
|
|
1196
|
+
---
|
|
1197
|
+
|
|
1198
|
+
## ADR-019: Phase 1 Foundation Implementation
|
|
1199
|
+
|
|
1200
|
+
**Status:** Implemented
|
|
1201
|
+
**Date:** 2026-01-07
|
|
1202
|
+
**Decision Makers:** Architecture Team
|
|
1203
|
+
|
|
1204
|
+
### Context
|
|
1205
|
+
|
|
1206
|
+
Phase 1 of AQE v3 implementation requires establishing the foundational architecture before domain-specific work can begin. This ADR tracks the implementation progress of Phase 1 Foundation (Weeks 1-4 per Master Plan).
|
|
1207
|
+
|
|
1208
|
+
### Decision
|
|
1209
|
+
|
|
1210
|
+
**Implement Phase 1 Foundation with the following components:**
|
|
1211
|
+
|
|
1212
|
+
### Implementation Progress
|
|
1213
|
+
|
|
1214
|
+
#### ✅ Completed Tasks
|
|
1215
|
+
|
|
1216
|
+
| Task | Status | Date | Details |
|
|
1217
|
+
|------|--------|------|---------|
|
|
1218
|
+
| Directory structure for 12 domains | ✅ Complete | 2026-01-07 | All domain directories created |
|
|
1219
|
+
| Shared kernel types | ✅ Complete | 2026-01-07 | `src/shared/types/index.ts` |
|
|
1220
|
+
| Value objects | ✅ Complete | 2026-01-07 | FilePath, Coverage, RiskScore, TimeRange, Version |
|
|
1221
|
+
| Domain entities | ✅ Complete | 2026-01-07 | Agent, TestCase, TestSuite with AggregateRoot |
|
|
1222
|
+
| Domain events | ✅ Complete | 2026-01-07 | 15 core domain events defined |
|
|
1223
|
+
| Event bus | ✅ Complete | 2026-01-07 | InMemoryEventBus with pub/sub |
|
|
1224
|
+
| Agent coordinator | ✅ Complete | 2026-01-07 | Max 15 concurrent agents enforced |
|
|
1225
|
+
| Plugin loader | ✅ Complete | 2026-01-07 | Lazy loading with dependency resolution |
|
|
1226
|
+
| Memory backend | ✅ Complete | 2026-01-07 | In-memory store with vector search |
|
|
1227
|
+
| QE Kernel | ✅ Complete | 2026-01-07 | QEKernelImpl microkernel |
|
|
1228
|
+
| Domain interfaces (12/12) | ✅ Complete | 2026-01-07 | All 12 domains defined |
|
|
1229
|
+
| Foundation tests | ✅ Complete | 2026-01-07 | Event bus, coordinator, value objects |
|
|
1230
|
+
| Build configuration | ✅ Complete | 2026-01-07 | package.json, tsconfig.json, vitest.config.ts |
|
|
1231
|
+
|
|
1232
|
+
#### Domain Interfaces Implemented
|
|
1233
|
+
|
|
1234
|
+
| # | Domain | File | Status |
|
|
1235
|
+
|---|--------|------|--------|
|
|
1236
|
+
| 1 | test-generation | `src/domains/test-generation/interfaces.ts` | ✅ |
|
|
1237
|
+
| 2 | test-execution | `src/domains/test-execution/interfaces.ts` | ✅ |
|
|
1238
|
+
| 3 | coverage-analysis | `src/domains/coverage-analysis/interfaces.ts` | ✅ |
|
|
1239
|
+
| 4 | quality-assessment | `src/domains/quality-assessment/interfaces.ts` | ✅ |
|
|
1240
|
+
| 5 | defect-intelligence | `src/domains/defect-intelligence/interfaces.ts` | ✅ |
|
|
1241
|
+
| 6 | code-intelligence | `src/domains/code-intelligence/interfaces.ts` | ✅ |
|
|
1242
|
+
| 7 | requirements-validation | `src/domains/requirements-validation/interfaces.ts` | ✅ |
|
|
1243
|
+
| 8 | security-compliance | `src/domains/security-compliance/interfaces.ts` | ✅ |
|
|
1244
|
+
| 9 | contract-testing | `src/domains/contract-testing/interfaces.ts` | ✅ |
|
|
1245
|
+
| 10 | visual-accessibility | `src/domains/visual-accessibility/interfaces.ts` | ✅ |
|
|
1246
|
+
| 11 | chaos-resilience | `src/domains/chaos-resilience/interfaces.ts` | ✅ |
|
|
1247
|
+
| 12 | learning-optimization | `src/domains/learning-optimization/interfaces.ts` | ✅ |
|
|
1248
|
+
|
|
1249
|
+
### Key Architecture Decisions Made
|
|
1250
|
+
|
|
1251
|
+
1. **Max 15 Concurrent Agents**: Per claude-flow v3 spec, enforced in `agent-coordinator.ts`
|
|
1252
|
+
2. **HNSW Indexing**: Prepared for O(log n) vector search in memory backend
|
|
1253
|
+
3. **Event-Driven Communication**: All domains communicate via domain events
|
|
1254
|
+
4. **Microkernel Pattern**: Core QEKernel with lazy-loaded domain plugins
|
|
1255
|
+
5. **Value Objects**: Immutable value objects for domain concepts
|
|
1256
|
+
6. **Result Type**: Functional error handling with `Result<T, E>`
|
|
1257
|
+
|
|
1258
|
+
### Files Created
|
|
1259
|
+
|
|
1260
|
+
```
|
|
1261
|
+
v3/
|
|
1262
|
+
├── package.json (v3.0.0-alpha.1)
|
|
1263
|
+
├── tsconfig.json
|
|
1264
|
+
├── vitest.config.ts
|
|
1265
|
+
├── src/
|
|
1266
|
+
│ ├── shared/
|
|
1267
|
+
│ │ ├── types/index.ts
|
|
1268
|
+
│ │ ├── value-objects/index.ts
|
|
1269
|
+
│ │ ├── entities/
|
|
1270
|
+
│ │ │ ├── base.ts
|
|
1271
|
+
│ │ │ ├── agent.ts
|
|
1272
|
+
│ │ │ ├── test-case.ts
|
|
1273
|
+
│ │ │ └── test-suite.ts
|
|
1274
|
+
│ │ └── events/index.ts
|
|
1275
|
+
│ ├── kernel/
|
|
1276
|
+
│ │ ├── interfaces.ts
|
|
1277
|
+
│ │ ├── event-bus.ts
|
|
1278
|
+
│ │ ├── agent-coordinator.ts
|
|
1279
|
+
│ │ ├── plugin-loader.ts
|
|
1280
|
+
│ │ ├── memory-backend.ts
|
|
1281
|
+
│ │ └── kernel.ts
|
|
1282
|
+
│ └── domains/ (12 domains with interfaces.ts)
|
|
1283
|
+
└── tests/
|
|
1284
|
+
└── unit/
|
|
1285
|
+
├── kernel/
|
|
1286
|
+
│ ├── event-bus.test.ts
|
|
1287
|
+
│ └── agent-coordinator.test.ts
|
|
1288
|
+
└── shared/
|
|
1289
|
+
└── value-objects.test.ts
|
|
1290
|
+
```
|
|
1291
|
+
|
|
1292
|
+
### Success Metrics
|
|
1293
|
+
|
|
1294
|
+
- [x] 12 domain directories created
|
|
1295
|
+
- [x] Shared kernel implemented
|
|
1296
|
+
- [x] All domain interfaces defined
|
|
1297
|
+
- [x] QE Kernel operational
|
|
1298
|
+
- [x] Event bus functional
|
|
1299
|
+
- [x] Agent concurrency limit enforced (max 15)
|
|
1300
|
+
- [x] Foundation tests written
|
|
1301
|
+
- [x] All tests passing ✅
|
|
1302
|
+
- [x] TypeScript compilation successful ✅
|
|
1303
|
+
|
|
1304
|
+
### Phase 2: Domain Services - **COMPLETE**
|
|
1305
|
+
|
|
1306
|
+
- 48 service files implemented across 12 domains
|
|
1307
|
+
- Note: 18 stub implementations remain (to be replaced per ADR-020)
|
|
1308
|
+
|
|
1309
|
+
### Phase 3: Event Integration - **COMPLETE**
|
|
1310
|
+
|
|
1311
|
+
- CrossDomainEventRouter implemented
|
|
1312
|
+
- 7 coordination protocols (morning-sync, quality-gate, regression-prevention, coverage-driven, tdd-cycle, security-audit, learning-consolidation)
|
|
1313
|
+
- WorkflowOrchestrator with built-in workflows
|
|
1314
|
+
- Queen Coordinator with hierarchical coordination
|
|
1315
|
+
|
|
1316
|
+
### Current Stats (2026-01-09 - Verified by Code Review Agent)
|
|
1317
|
+
|
|
1318
|
+
| Metric | Count |
|
|
1319
|
+
|--------|-------|
|
|
1320
|
+
| Source Files | 182 |
|
|
1321
|
+
| Test Files | 46 |
|
|
1322
|
+
| Tests Passing | 1171 |
|
|
1323
|
+
| Domains | 12 |
|
|
1324
|
+
| Stubs Remaining | 10 (visual-accessibility + security-audit protocol) |
|
|
1325
|
+
| Shared Modules | 9 (embeddings, entities, events, git, http, io, llm, parsers, security) |
|
|
1326
|
+
| Coordination Protocols | 7 |
|
|
1327
|
+
| MCP Handlers | 6 groups (core, agent, task, memory, domain, index) |
|
|
1328
|
+
|
|
1329
|
+
### Next Steps (Phase 4)
|
|
1330
|
+
|
|
1331
|
+
1. Replace remaining 10 stub implementations (visual testing needs Playwright)
|
|
1332
|
+
2. Implement full MCP tool wrappers for all domain services
|
|
1333
|
+
3. Add background worker daemon implementation
|
|
1334
|
+
4. Complete RuVector integration for intelligent routing
|
|
1335
|
+
5. Implement claim-based work distribution for multi-agent coordination
|
|
1336
|
+
|
|
1337
|
+
### Rationale
|
|
1338
|
+
|
|
1339
|
+
Phase 1 establishes the architectural foundation that all subsequent phases depend on. By completing the shared kernel, event bus, and domain interfaces first, we ensure:
|
|
1340
|
+
|
|
1341
|
+
- Consistent patterns across all 12 domains
|
|
1342
|
+
- Type safety through comprehensive interfaces
|
|
1343
|
+
- Testable foundation before adding complexity
|
|
1344
|
+
- Clear boundaries for parallel development
|
|
1345
|
+
|
|
1346
|
+
---
|
|
1347
|
+
|
|
1348
|
+
## ADR-020: Stub Implementation Replacement
|
|
1349
|
+
|
|
1350
|
+
**Status:** Implemented
|
|
1351
|
+
**Date:** 2026-01-07
|
|
1352
|
+
**Updated:** 2026-01-11 (Final Verification)
|
|
1353
|
+
|
|
1354
|
+
### Context
|
|
1355
|
+
|
|
1356
|
+
Phase 2 domain services contained stub implementations. A brutal honesty review revealed more stubs than initially claimed. Final verification on 2026-01-11 confirmed all domain service stubs have been replaced.
|
|
1357
|
+
|
|
1358
|
+
### Decision
|
|
1359
|
+
|
|
1360
|
+
Replace stub implementations with REAL functionality - not facades or wrappers that call simulated code.
|
|
1361
|
+
|
|
1362
|
+
### Final Status (2026-01-11 - Verified)
|
|
1363
|
+
|
|
1364
|
+
**Stub Analysis Results:**
|
|
1365
|
+
- `// Stub:` comments: **0** ✅
|
|
1366
|
+
- `// Simulated` comments: **9** (all in orchestration/MCP layers - acceptable)
|
|
1367
|
+
- Domain service stubs: **0** ✅
|
|
1368
|
+
|
|
1369
|
+
**REAL Implementations Added:**
|
|
1370
|
+
|
|
1371
|
+
| Component | File | Status | Notes |
|
|
1372
|
+
|-----------|------|--------|-------|
|
|
1373
|
+
| HNSW Index | `coverage-analysis/services/hnsw-index.ts` | ✅ REAL | Uses `hnswlib-node` native library |
|
|
1374
|
+
| Coverage Parser | `coverage-analysis/services/coverage-parser.ts` | ✅ REAL | Uses `lcov-parse` for actual LCOV files |
|
|
1375
|
+
| Security Scanner | `security-compliance/services/semgrep-integration.ts` | ✅ REAL | Shells to semgrep CLI |
|
|
1376
|
+
| A11y Audit | `visual-accessibility/services/axe-core-audit.ts` | ✅ REAL | Uses axe-core + Playwright |
|
|
1377
|
+
| Benchmarks | `benchmarks/performance-benchmarks.ts` | ✅ REAL | Actual performance measurement |
|
|
1378
|
+
| Defect Predictor | `defect-intelligence/services/defect-predictor.ts` | ✅ REAL | ML-based prediction (27k LOC) |
|
|
1379
|
+
| Root Cause Analyzer | `defect-intelligence/services/root-cause-analyzer.ts` | ✅ REAL | Pattern-based analysis (18k LOC) |
|
|
1380
|
+
| Pattern Learner | `defect-intelligence/services/pattern-learner.ts` | ✅ REAL | Learning system (23k LOC) |
|
|
1381
|
+
|
|
1382
|
+
**Shared Modules Created:**
|
|
1383
|
+
- [x] `src/shared/parsers/` - TypeScript parser utilities
|
|
1384
|
+
- [x] `src/shared/io/` - File I/O abstractions
|
|
1385
|
+
- [x] `src/shared/http/` - HTTP client utilities
|
|
1386
|
+
- [x] `src/shared/embeddings/` - Nomic embedder integration
|
|
1387
|
+
- [x] `src/shared/security/` - Security utilities (OSV client, compliance patterns)
|
|
1388
|
+
- [x] `src/shared/git/` - Git integration utilities
|
|
1389
|
+
- [x] `src/shared/metrics/` - Metrics collection
|
|
1390
|
+
- [x] `src/shared/llm/` - Circuit breaker, cost tracker, cache
|
|
1391
|
+
|
|
1392
|
+
**Remaining Simulated Code (Acceptable):**
|
|
1393
|
+
|
|
1394
|
+
| Location | Count | Reason |
|
|
1395
|
+
|----------|-------|--------|
|
|
1396
|
+
| `coordination/task-executor.ts` | 6 | Orchestration layer facades (delegates to domain services) |
|
|
1397
|
+
| `mcp/handlers/agent-handlers.ts` | 2 | Resource metrics for dev/demo |
|
|
1398
|
+
| `mcp/security/sampling-server.ts` | 1 | Test response for validation |
|
|
1399
|
+
|
|
1400
|
+
> **Note:** These are acceptable because they are in orchestration/MCP layers, not domain services. The actual domain logic is fully implemented.
|
|
1401
|
+
|
|
1402
|
+
### Success Criteria
|
|
1403
|
+
|
|
1404
|
+
- [x] 0 "// Stub:" in production code ✅
|
|
1405
|
+
- [x] Domain service stubs replaced with real implementations ✅
|
|
1406
|
+
- [x] Real HNSW with native library (graceful fallback)
|
|
1407
|
+
- [x] Real LCOV parsing with lcov-parse
|
|
1408
|
+
- [x] Real security scanning with semgrep
|
|
1409
|
+
- [x] Real a11y testing with axe-core + Playwright
|
|
1410
|
+
- [x] Real benchmarks to verify O(log n) claims
|
|
1411
|
+
|
|
1412
|
+
### Build & Test Status (Verified 2026-01-11)
|
|
1413
|
+
|
|
1414
|
+
- [x] TypeScript build passes (`npm run build`)
|
|
1415
|
+
- [x] All **2,382 tests** passing (`npm test -- --run`)
|
|
1416
|
+
- [x] **91 test files** across unit and integration tests
|
|
1417
|
+
- [x] 166 source files compiled successfully
|
|
1418
|
+
- [x] No circular dependencies detected
|
|
1419
|
+
|
|
1420
|
+
### Issues Fixed During Verification
|
|
1421
|
+
|
|
1422
|
+
1. **cli-adapter.ts (TS6133):** Unused `agentMapper` variable - Added getter to expose
|
|
1423
|
+
2. **config-migrator.ts (TS2352):** Type conversion error - Fixed with proper casting
|
|
1424
|
+
3. **knowledge-graph.ts (TS2339):** `KGEdge.id` property missing - Changed to composite key
|
|
1425
|
+
4. **mcp/tools/index.ts:** Missing module imports - Replaced with base types
|
|
1426
|
+
|
|
1427
|
+
---
|
|
1428
|
+
|
|
1429
|
+
## ADR-021: QE ReasoningBank for Pattern Learning
|
|
1430
|
+
|
|
1431
|
+
**Status:** Implemented
|
|
1432
|
+
**Date:** 2026-01-09
|
|
1433
|
+
**Implemented:** 2026-01-09
|
|
1434
|
+
**Decision Makers:** Architecture Team
|
|
1435
|
+
**Source:** [AQE-SELF-LEARNING-IMPROVEMENT-PLAN.md](../../docs/plans/AQE-SELF-LEARNING-IMPROVEMENT-PLAN.md)
|
|
1436
|
+
|
|
1437
|
+
### Context
|
|
1438
|
+
|
|
1439
|
+
AQE v3 has basic pattern storage via SQLite and in-memory HNSW, but lacks QE-specific pattern learning. Claude-flow v3's ReasoningBank provides:
|
|
1440
|
+
- HNSW vector indexing (150x-12,500x faster search)
|
|
1441
|
+
- Pattern storage with quality scoring
|
|
1442
|
+
- Short-term to long-term promotion
|
|
1443
|
+
- Agent routing via similarity
|
|
1444
|
+
|
|
1445
|
+
AQE needs a QE-specific ReasoningBank that understands quality engineering domains and can guide test generation, coverage improvement, and defect prediction.
|
|
1446
|
+
|
|
1447
|
+
**Gap Analysis:**
|
|
1448
|
+
|
|
1449
|
+
| Capability | Claude-Flow V3 | AQE Current | Gap |
|
|
1450
|
+
|------------|----------------|-------------|-----|
|
|
1451
|
+
| Pattern Learning | TypeScript + AgentDB | SQLite + in-memory HNSW | Medium |
|
|
1452
|
+
| Domain Templates | 5 generic templates | None | High |
|
|
1453
|
+
| Quality Scoring | Outcome-based promotion | Partial | Medium |
|
|
1454
|
+
| ONNX Embeddings | @claude-flow/embeddings | Hash fallback | Medium |
|
|
1455
|
+
|
|
1456
|
+
### Decision
|
|
1457
|
+
|
|
1458
|
+
**Implement QEReasoningBank extending claude-flow's ReasoningBank with QE-specific domains, patterns, and guidance templates.**
|
|
1459
|
+
|
|
1460
|
+
### QE Domain Pattern Types
|
|
1461
|
+
|
|
1462
|
+
```typescript
|
|
1463
|
+
export const QE_DOMAINS = {
|
|
1464
|
+
'test-generation': /test|spec|describe|it\(|expect|assert/i,
|
|
1465
|
+
'coverage-analysis': /coverage|branch|line|uncovered|gap/i,
|
|
1466
|
+
'mutation-testing': /mutant|mutation|kill|survive/i,
|
|
1467
|
+
'api-testing': /endpoint|request|response|api|contract/i,
|
|
1468
|
+
'security-testing': /vuln|cve|owasp|xss|sqli|injection/i,
|
|
1469
|
+
'visual-testing': /screenshot|visual|snapshot|regression/i,
|
|
1470
|
+
'accessibility': /a11y|aria|wcag|screen.?reader/i,
|
|
1471
|
+
'performance': /load|stress|benchmark|latency|throughput/i,
|
|
1472
|
+
};
|
|
1473
|
+
|
|
1474
|
+
export type QEPatternType =
|
|
1475
|
+
| 'test-template'
|
|
1476
|
+
| 'assertion-pattern'
|
|
1477
|
+
| 'mock-pattern'
|
|
1478
|
+
| 'coverage-strategy'
|
|
1479
|
+
| 'mutation-strategy'
|
|
1480
|
+
| 'api-contract'
|
|
1481
|
+
| 'visual-baseline'
|
|
1482
|
+
| 'a11y-check'
|
|
1483
|
+
| 'perf-benchmark';
|
|
1484
|
+
```
|
|
1485
|
+
|
|
1486
|
+
### Implementation Plan
|
|
1487
|
+
|
|
1488
|
+
**Package:** `v3/@aqe-platform/learning/`
|
|
1489
|
+
|
|
1490
|
+
**Files:**
|
|
1491
|
+
- `src/qe-reasoning-bank.ts` - QE-specific ReasoningBank
|
|
1492
|
+
- `src/qe-patterns.ts` - Pattern types and validation
|
|
1493
|
+
- `src/qe-guidance.ts` - Domain-specific guidance templates
|
|
1494
|
+
- `src/pattern-store.ts` - Persistent pattern storage
|
|
1495
|
+
|
|
1496
|
+
**Phase 1 (Week 1-2):**
|
|
1497
|
+
1. Create `@aqe-platform/learning` package
|
|
1498
|
+
2. Implement `QEReasoningBank` extending ReasoningBank
|
|
1499
|
+
3. Define QE pattern types and domains
|
|
1500
|
+
4. Set up SQLite persistence with HNSW indexing
|
|
1501
|
+
5. Create QE hooks for pattern capture
|
|
1502
|
+
|
|
1503
|
+
### Implementation (2026-01-09)
|
|
1504
|
+
|
|
1505
|
+
**Files Created:**
|
|
1506
|
+
|
|
1507
|
+
```
|
|
1508
|
+
v3/src/learning/
|
|
1509
|
+
├── index.ts # Module exports
|
|
1510
|
+
├── qe-patterns.ts # 8 QE domains, 12 pattern types
|
|
1511
|
+
├── qe-guidance.ts # Guidance templates for all domains
|
|
1512
|
+
├── pattern-store.ts # HNSW-indexed pattern storage
|
|
1513
|
+
├── qe-reasoning-bank.ts # Main QEReasoningBank class
|
|
1514
|
+
├── qe-hooks.ts # Event handlers for pattern capture
|
|
1515
|
+
├── real-qe-reasoning-bank.ts # REAL implementation extending HybridReasoningBank
|
|
1516
|
+
├── real-embeddings.ts # REAL transformer embeddings (all-MiniLM-L6-v2)
|
|
1517
|
+
└── sqlite-persistence.ts # REAL SQLite persistence (better-sqlite3)
|
|
1518
|
+
|
|
1519
|
+
v3/tests/unit/learning/
|
|
1520
|
+
├── qe-reasoning-bank.test.ts # 46 comprehensive unit tests
|
|
1521
|
+
└── real-qe-reasoning-bank.benchmark.test.ts # REAL benchmarks with measured performance
|
|
1522
|
+
```
|
|
1523
|
+
|
|
1524
|
+
**Key Features Implemented:**
|
|
1525
|
+
|
|
1526
|
+
1. **8 QE Domains**: test-generation, coverage-analysis, mutation-testing, api-testing, security-testing, visual-testing, accessibility, performance
|
|
1527
|
+
2. **12 Pattern Types**: test-template, assertion-pattern, mock-pattern, coverage-strategy, mutation-strategy, api-contract, visual-baseline, a11y-check, perf-benchmark, flaky-fix, refactor-safe, error-handling
|
|
1528
|
+
3. **HNSW Vector Indexing**: Real `hnswlib-node` integration
|
|
1529
|
+
4. **Quality Scoring**: Combines confidence (30%), usage (20%), success rate (50%)
|
|
1530
|
+
5. **Pattern Promotion**: Short-term → Long-term after 3+ uses, >70% success, >60% confidence
|
|
1531
|
+
6. **Agent Routing**: 11 QE agents mapped with capabilities
|
|
1532
|
+
7. **Guidance Templates**: Best practices, anti-patterns, framework/language-specific guidance
|
|
1533
|
+
|
|
1534
|
+
### REAL Implementation (2026-01-09)
|
|
1535
|
+
|
|
1536
|
+
**Honest Assessment After Code Review:**
|
|
1537
|
+
|
|
1538
|
+
The initial implementation made claims that weren't fully backed by code. A brutal-honesty review identified gaps:
|
|
1539
|
+
- "Extends claude-flow ReasoningBank" - Was NOT actually extending anything
|
|
1540
|
+
- "ONNX embeddings" - Was using hash-based fallback
|
|
1541
|
+
- "SQLite persistence" - Was using MemoryBackend
|
|
1542
|
+
|
|
1543
|
+
**REAL Implementation Added:**
|
|
1544
|
+
|
|
1545
|
+
1. **`real-qe-reasoning-bank.ts`** - Standalone implementation with REAL components
|
|
1546
|
+
2. **`real-embeddings.ts`** - REAL transformer embeddings using `@xenova/transformers` (all-MiniLM-L6-v2, 384 dimensions)
|
|
1547
|
+
3. **`sqlite-persistence.ts`** - REAL SQLite using `better-sqlite3` with WAL mode, prepared statements
|
|
1548
|
+
|
|
1549
|
+
**Note on HybridReasoningBank Decision:** We initially attempted to extend `agentic-flow`'s `HybridReasoningBank`, but abandoned this due to:
|
|
1550
|
+
- **Bug #1:** `SharedMemoryPool` uses `new Database()` without importing `better-sqlite3`
|
|
1551
|
+
- **Bug #2:** Singleton behavior causes repeated re-initialization on every method call (OOM in CI)
|
|
1552
|
+
- **Solution:** Standalone implementation gives full control and proper resource management
|
|
1553
|
+
|
|
1554
|
+
**Verified Benchmarks (REAL numbers - 56 tests passing):**
|
|
1555
|
+
|
|
1556
|
+
| Component | Metric | Result |
|
|
1557
|
+
|-----------|--------|--------|
|
|
1558
|
+
| Transformer Embeddings | Model Load | ~70-100ms |
|
|
1559
|
+
| Transformer Embeddings | Semantic Similarity (related texts) | 65.4% |
|
|
1560
|
+
| Transformer Embeddings | Semantic Similarity (unrelated texts) | 23.3% |
|
|
1561
|
+
| SQLite Writes | Throughput | 127,212/sec |
|
|
1562
|
+
| SQLite Reads | Throughput | 41,657/sec |
|
|
1563
|
+
|
|
1564
|
+
**Usage Example:**
|
|
1565
|
+
|
|
1566
|
+
```typescript
|
|
1567
|
+
import {
|
|
1568
|
+
createRealQEReasoningBank, // Standalone REAL implementation
|
|
1569
|
+
createQEReasoningBank, // or in-memory implementation
|
|
1570
|
+
QEDomain,
|
|
1571
|
+
generateGuidanceContext
|
|
1572
|
+
} from '@agentic-qe/v3';
|
|
1573
|
+
|
|
1574
|
+
// REAL implementation with SQLite + HNSW + Transformers
|
|
1575
|
+
const realBank = createRealQEReasoningBank({
|
|
1576
|
+
sqlite: { dbPath: '.agentic-qe/qe-patterns.db' },
|
|
1577
|
+
});
|
|
1578
|
+
await realBank.initialize();
|
|
1579
|
+
|
|
1580
|
+
// Standalone implementation (no agentic-flow dependency)
|
|
1581
|
+
const standaloneBank = createQEReasoningBank();
|
|
1582
|
+
await standaloneBank.initialize();
|
|
1583
|
+
|
|
1584
|
+
// Both support same API
|
|
1585
|
+
const routing = await realBank.routeTask({
|
|
1586
|
+
task: 'Generate unit tests for UserService',
|
|
1587
|
+
context: { language: 'typescript', framework: 'vitest' },
|
|
1588
|
+
});
|
|
1589
|
+
```
|
|
1590
|
+
|
|
1591
|
+
### Success Metrics
|
|
1592
|
+
|
|
1593
|
+
- [x] QEReasoningBank with 8 QE domains
|
|
1594
|
+
- [x] Pattern storage with quality scoring
|
|
1595
|
+
- [x] Short-term to long-term promotion (3+ successful uses)
|
|
1596
|
+
- [x] REAL transformer embeddings (all-MiniLM-L6-v2, 384d)
|
|
1597
|
+
- [x] REAL SQLite persistence (114k+ writes/sec, 33k+ reads/sec)
|
|
1598
|
+
- [x] QE guidance templates for each domain
|
|
1599
|
+
- [ ] Full HybridReasoningBank integration (upstream database dependency)
|
|
1600
|
+
- [x] 46 unit tests + 6 benchmark tests passing
|
|
1601
|
+
|
|
1602
|
+
---
|
|
1603
|
+
|
|
1604
|
+
## ADR-022: Adaptive QE Agent Routing
|
|
1605
|
+
|
|
1606
|
+
**Status:** Implemented
|
|
1607
|
+
**Date:** 2026-01-09
|
|
1608
|
+
**Decision Makers:** Architecture Team
|
|
1609
|
+
**Source:** [AQE-SELF-LEARNING-IMPROVEMENT-PLAN.md](../../docs/plans/AQE-SELF-LEARNING-IMPROVEMENT-PLAN.md)
|
|
1610
|
+
|
|
1611
|
+
### Context
|
|
1612
|
+
|
|
1613
|
+
Current AQE agent routing uses basic regex matching and rule-based selection. This leads to:
|
|
1614
|
+
- Suboptimal agent selection (wrong agent for task)
|
|
1615
|
+
- No learning from past performance
|
|
1616
|
+
- No consideration of historical success rates
|
|
1617
|
+
- No capability matching
|
|
1618
|
+
|
|
1619
|
+
Claude-flow v3 provides ML-based routing via ReasoningBank patterns. AQE has 80 agents that need intelligent routing.
|
|
1620
|
+
|
|
1621
|
+
### Decision
|
|
1622
|
+
|
|
1623
|
+
**Implement ML-based task routing that combines vector similarity, historical performance, and capability matching.**
|
|
1624
|
+
|
|
1625
|
+
### Routing Algorithm
|
|
1626
|
+
|
|
1627
|
+
```typescript
|
|
1628
|
+
class QETaskRouter {
|
|
1629
|
+
async route(task: QETask): Promise<QERoutingDecision> {
|
|
1630
|
+
// 1. Get embedding for task description
|
|
1631
|
+
const taskEmbedding = await this.reasoningBank.embed(task.description);
|
|
1632
|
+
|
|
1633
|
+
// 2. Search for similar past successful tasks
|
|
1634
|
+
const similarTasks = await this.reasoningBank.searchPatterns(taskEmbedding, 10);
|
|
1635
|
+
|
|
1636
|
+
// 3. Get historical performance by agent
|
|
1637
|
+
const agentPerformance = this.calculateAgentPerformance(similarTasks);
|
|
1638
|
+
|
|
1639
|
+
// 4. Match task requirements to agent capabilities
|
|
1640
|
+
const capabilityScores = this.matchCapabilities(task, this.agentRegistry);
|
|
1641
|
+
|
|
1642
|
+
// 5. Combine scores with learned weights
|
|
1643
|
+
const finalScores = this.combineScores({
|
|
1644
|
+
similarity: 0.3, // How similar to past successful tasks
|
|
1645
|
+
performance: 0.4, // Historical agent performance
|
|
1646
|
+
capabilities: 0.3, // Capability match
|
|
1647
|
+
}, similarTasks, agentPerformance, capabilityScores);
|
|
1648
|
+
|
|
1649
|
+
return {
|
|
1650
|
+
recommended: finalScores[0].agent,
|
|
1651
|
+
confidence: finalScores[0].score,
|
|
1652
|
+
alternatives: finalScores.slice(1, 4),
|
|
1653
|
+
reasoning: this.generateReasoning(task, finalScores[0]),
|
|
1654
|
+
};
|
|
1655
|
+
}
|
|
1656
|
+
}
|
|
1657
|
+
```
|
|
1658
|
+
|
|
1659
|
+
### Agent Registry
|
|
1660
|
+
|
|
1661
|
+
All 78 QE agents mapped with capabilities:
|
|
1662
|
+
|
|
1663
|
+
```typescript
|
|
1664
|
+
export const QE_AGENT_REGISTRY: Record<string, QEAgentProfile> = {
|
|
1665
|
+
'qe-test-generator': {
|
|
1666
|
+
capabilities: ['test-generation', 'tdd', 'bdd'],
|
|
1667
|
+
frameworks: ['jest', 'vitest', 'pytest', 'junit'],
|
|
1668
|
+
languages: ['typescript', 'javascript', 'python', 'java'],
|
|
1669
|
+
complexity: { min: 'simple', max: 'complex' },
|
|
1670
|
+
performanceScore: 0.85, // Updated via feedback
|
|
1671
|
+
},
|
|
1672
|
+
'qe-coverage-analyzer': {
|
|
1673
|
+
capabilities: ['coverage-analysis', 'gap-detection'],
|
|
1674
|
+
algorithms: ['sublinear', 'O(log n)'],
|
|
1675
|
+
scalability: '10M+ lines',
|
|
1676
|
+
performanceScore: 0.92,
|
|
1677
|
+
},
|
|
1678
|
+
// ... 76 more agents
|
|
1679
|
+
};
|
|
1680
|
+
```
|
|
1681
|
+
|
|
1682
|
+
### Implementation Plan
|
|
1683
|
+
|
|
1684
|
+
**Package:** `v3/@aqe-platform/routing/`
|
|
1685
|
+
|
|
1686
|
+
**Phase 2 (Week 2-3):**
|
|
1687
|
+
1. Create QE agent registry (78 agents with capabilities)
|
|
1688
|
+
2. Implement QETaskRouter with similarity search
|
|
1689
|
+
3. Add routing feedback collection
|
|
1690
|
+
4. Build routing accuracy monitoring
|
|
1691
|
+
5. Integrate with existing Queen Coordinator
|
|
1692
|
+
|
|
1693
|
+
### Success Metrics
|
|
1694
|
+
|
|
1695
|
+
- [x] 80 agents registered with capabilities (6 categories: v3QE, n8n, general, v3Specialized, swarm, consensus)
|
|
1696
|
+
- [ ] >85% routing accuracy (needs production data)
|
|
1697
|
+
- [x] <100ms routing decision latency (P95: 62ms achieved)
|
|
1698
|
+
- [x] Routing feedback loop operational (RoutingFeedbackCollector)
|
|
1699
|
+
- [x] Agent performance scores updated from outcomes
|
|
1700
|
+
|
|
1701
|
+
### Implementation (2026-01-09)
|
|
1702
|
+
|
|
1703
|
+
**Package:** `v3/src/routing/`
|
|
1704
|
+
|
|
1705
|
+
**Files Created:**
|
|
1706
|
+
- `types.ts` - Comprehensive type definitions (QEAgentProfile, QETask, QERoutingDecision, etc.)
|
|
1707
|
+
- `qe-agent-registry.ts` - 80 QE agents with capabilities, domains, frameworks, languages
|
|
1708
|
+
- `qe-task-router.ts` - ML-based router using transformer embeddings (all-MiniLM-L6-v2)
|
|
1709
|
+
- `routing-feedback.ts` - Feedback collection for continuous learning
|
|
1710
|
+
- `index.ts` - Module exports
|
|
1711
|
+
|
|
1712
|
+
**Agent Categories:**
|
|
1713
|
+
- V3 QE Agents: 38 (test-generation, coverage, security, visual, performance, etc.)
|
|
1714
|
+
- n8n Workflow Agents: 15 (workflow testing, triggers, security, chaos)
|
|
1715
|
+
- General Agents: 7 (tester, reviewer, security, performance)
|
|
1716
|
+
- V3 Specialized: 11 (ReasoningBank, ADR, DDD, SPARC, SONA, etc.)
|
|
1717
|
+
- Swarm Agents: 8 (queen, mesh, hierarchical coordination)
|
|
1718
|
+
- Consensus Agents: 4 (Byzantine, Raft, CRDT)
|
|
1719
|
+
|
|
1720
|
+
**Routing Algorithm:**
|
|
1721
|
+
1. Detect domain and capabilities from task description
|
|
1722
|
+
2. Pre-filter candidates by hard requirements (language, framework, complexity)
|
|
1723
|
+
3. Compute vector similarity using transformer embeddings
|
|
1724
|
+
4. Score historical performance (from feedback)
|
|
1725
|
+
5. Match capabilities to task requirements
|
|
1726
|
+
6. Combine scores with configurable weights (default: 30% similarity, 40% performance, 30% capabilities)
|
|
1727
|
+
|
|
1728
|
+
**Benchmarks (Real):**
|
|
1729
|
+
- P95 Latency: 62ms (target: <100ms) ✓
|
|
1730
|
+
- Throughput: 83 tasks/sec (target: >5) ✓
|
|
1731
|
+
- 74 unit tests passing
|
|
1732
|
+
|
|
1733
|
+
---
|
|
1734
|
+
|
|
1735
|
+
## ADR-023: Quality Feedback Loop System
|
|
1736
|
+
|
|
1737
|
+
**Status:** Implemented
|
|
1738
|
+
**Date:** 2026-01-09
|
|
1739
|
+
**Implemented:** 2026-01-09
|
|
1740
|
+
**Decision Makers:** Architecture Team
|
|
1741
|
+
**Source:** [AQE-SELF-LEARNING-IMPROVEMENT-PLAN.md](../../docs/plans/AQE-SELF-LEARNING-IMPROVEMENT-PLAN.md)
|
|
1742
|
+
|
|
1743
|
+
### Context
|
|
1744
|
+
|
|
1745
|
+
AQE generates tests, analyzes coverage, and predicts defects but doesn't learn from outcomes:
|
|
1746
|
+
- Generated tests pass/fail without feeding back
|
|
1747
|
+
- Coverage improvements not tracked
|
|
1748
|
+
- Defect predictions not validated
|
|
1749
|
+
- No pattern quality updates
|
|
1750
|
+
|
|
1751
|
+
Need closed-loop feedback to improve patterns over time.
|
|
1752
|
+
|
|
1753
|
+
### Decision
|
|
1754
|
+
|
|
1755
|
+
**Implement comprehensive feedback loop that tracks outcomes and updates pattern quality.**
|
|
1756
|
+
|
|
1757
|
+
### Feedback Components
|
|
1758
|
+
|
|
1759
|
+
#### 1. Test Outcome Tracker
|
|
1760
|
+
|
|
1761
|
+
```typescript
|
|
1762
|
+
export interface TestOutcome {
|
|
1763
|
+
testId: string;
|
|
1764
|
+
generatedBy: string; // Agent that generated
|
|
1765
|
+
patternId?: string; // Pattern used
|
|
1766
|
+
framework: string;
|
|
1767
|
+
passed: boolean;
|
|
1768
|
+
coverage: {
|
|
1769
|
+
lines: number;
|
|
1770
|
+
branches: number;
|
|
1771
|
+
functions: number;
|
|
1772
|
+
};
|
|
1773
|
+
mutationScore?: number;
|
|
1774
|
+
executionTime: number;
|
|
1775
|
+
flaky: boolean;
|
|
1776
|
+
maintainability: number; // 0-1 score
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
class TestOutcomeTracker {
|
|
1780
|
+
async track(outcome: TestOutcome): Promise<void> {
|
|
1781
|
+
// 1. Store outcome
|
|
1782
|
+
await this.db.insert('test_outcomes', outcome);
|
|
1783
|
+
|
|
1784
|
+
// 2. Update pattern quality
|
|
1785
|
+
if (outcome.patternId) {
|
|
1786
|
+
const qualityDelta = this.calculateQualityDelta(outcome);
|
|
1787
|
+
await this.reasoningBank.recordOutcome(
|
|
1788
|
+
outcome.patternId,
|
|
1789
|
+
outcome.passed && !outcome.flaky
|
|
1790
|
+
);
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1793
|
+
// 3. Check for pattern promotion
|
|
1794
|
+
await this.checkPatternPromotion(outcome.patternId);
|
|
1795
|
+
}
|
|
1796
|
+
}
|
|
1797
|
+
```
|
|
1798
|
+
|
|
1799
|
+
#### 2. Coverage Improvement Learner
|
|
1800
|
+
|
|
1801
|
+
```typescript
|
|
1802
|
+
class CoverageLearner {
|
|
1803
|
+
async learnFromCoverageSession(session: CoverageSession): Promise<void> {
|
|
1804
|
+
const improvement = session.afterCoverage - session.beforeCoverage;
|
|
1805
|
+
|
|
1806
|
+
if (improvement > 5) { // Significant improvement
|
|
1807
|
+
const strategy = this.extractStrategy(session);
|
|
1808
|
+
await this.reasoningBank.storePattern(
|
|
1809
|
+
strategy.description,
|
|
1810
|
+
'coverage-analysis',
|
|
1811
|
+
{ improvement, technique: session.technique }
|
|
1812
|
+
);
|
|
1813
|
+
}
|
|
1814
|
+
}
|
|
1815
|
+
}
|
|
1816
|
+
```
|
|
1817
|
+
|
|
1818
|
+
#### 3. Routing Feedback Collector
|
|
1819
|
+
|
|
1820
|
+
```typescript
|
|
1821
|
+
class RoutingFeedbackCollector {
|
|
1822
|
+
async recordRoutingOutcome(
|
|
1823
|
+
taskId: string,
|
|
1824
|
+
routingDecision: QERoutingDecision,
|
|
1825
|
+
outcome: TaskOutcome
|
|
1826
|
+
): Promise<void> {
|
|
1827
|
+
await this.db.insert('routing_outcomes', {
|
|
1828
|
+
taskId,
|
|
1829
|
+
recommendedAgent: routingDecision.recommended,
|
|
1830
|
+
actualAgent: outcome.usedAgent,
|
|
1831
|
+
followedRecommendation: routingDecision.recommended === outcome.usedAgent,
|
|
1832
|
+
success: outcome.success,
|
|
1833
|
+
quality: outcome.qualityScore,
|
|
1834
|
+
duration: outcome.durationMs,
|
|
1835
|
+
});
|
|
1836
|
+
|
|
1837
|
+
// Update agent performance metrics
|
|
1838
|
+
await this.updateAgentMetrics(outcome.usedAgent, outcome);
|
|
1839
|
+
}
|
|
1840
|
+
}
|
|
1841
|
+
```
|
|
1842
|
+
|
|
1843
|
+
### Implementation Plan
|
|
1844
|
+
|
|
1845
|
+
**Package:** `v3/src/feedback/`
|
|
1846
|
+
|
|
1847
|
+
**Phase 3 (Week 3-4):**
|
|
1848
|
+
1. ✅ Implement TestOutcomeTracker
|
|
1849
|
+
2. ✅ Build CoverageLearner
|
|
1850
|
+
3. ⏳ Add RoutingFeedbackCollector (future)
|
|
1851
|
+
4. ✅ Create quality score calculator
|
|
1852
|
+
5. ✅ Implement pattern promotion logic
|
|
1853
|
+
|
|
1854
|
+
### Implementation Notes
|
|
1855
|
+
|
|
1856
|
+
**Implemented Components:**
|
|
1857
|
+
- `types.ts` - Comprehensive types for feedback system
|
|
1858
|
+
- `test-outcome-tracker.ts` - Tracks test outcomes with pattern correlation
|
|
1859
|
+
- `coverage-learner.ts` - Learns from coverage sessions, extracts strategies
|
|
1860
|
+
- `quality-score-calculator.ts` - Multi-dimensional quality scoring
|
|
1861
|
+
- `pattern-promotion.ts` - Tier-based promotion/demotion
|
|
1862
|
+
- `feedback-loop.ts` - Main integrator connecting all components
|
|
1863
|
+
- `index.ts` - Module exports
|
|
1864
|
+
|
|
1865
|
+
**Integration with ADR-021:**
|
|
1866
|
+
- Added `recordPatternOutcome()`, `promotePattern()`, `demotePattern()` to ReasoningBank
|
|
1867
|
+
- Added `updatePattern()` to SQLite persistence layer
|
|
1868
|
+
|
|
1869
|
+
**Benchmarks (Real):**
|
|
1870
|
+
- 82 unit tests passing
|
|
1871
|
+
- Quality dimensions: effectiveness, coverage, mutation, stability, maintainability, performance
|
|
1872
|
+
- Pattern tiers: short-term → working → long-term → permanent
|
|
1873
|
+
|
|
1874
|
+
### Success Metrics
|
|
1875
|
+
|
|
1876
|
+
- [x] Test outcomes tracked with pattern correlation
|
|
1877
|
+
- [x] Coverage improvement patterns captured
|
|
1878
|
+
- [x] Pattern quality scores updated from outcomes
|
|
1879
|
+
- [x] Multi-dimensional quality scoring (6 dimensions)
|
|
1880
|
+
- [x] Tier-based pattern promotion/demotion
|
|
1881
|
+
- [x] 87 unit tests + 14 integration tests = 101 tests passing
|
|
1882
|
+
- [ ] >20% quality improvement after 1 sprint (needs runtime measurement)
|
|
1883
|
+
- [ ] <5ms feedback recording latency (P95) (needs runtime measurement)
|
|
1884
|
+
|
|
1885
|
+
---
|
|
1886
|
+
|
|
1887
|
+
## ADR-024: Self-Optimization Engine
|
|
1888
|
+
|
|
1889
|
+
**Status:** Implemented
|
|
1890
|
+
**Date:** 2026-01-09
|
|
1891
|
+
**Implemented:** 2026-01-09
|
|
1892
|
+
**Decision Makers:** Architecture Team
|
|
1893
|
+
**Source:** [AQE-SELF-LEARNING-IMPROVEMENT-PLAN.md](../../docs/plans/AQE-SELF-LEARNING-IMPROVEMENT-PLAN.md)
|
|
1894
|
+
|
|
1895
|
+
### Context
|
|
1896
|
+
|
|
1897
|
+
AQE system parameters are manually configured:
|
|
1898
|
+
- HNSW efSearch (search quality vs speed)
|
|
1899
|
+
- Routing confidence threshold
|
|
1900
|
+
- Pattern promotion threshold
|
|
1901
|
+
- Test complexity limits
|
|
1902
|
+
|
|
1903
|
+
These should be auto-tuned based on measured performance.
|
|
1904
|
+
|
|
1905
|
+
### Decision
|
|
1906
|
+
|
|
1907
|
+
**Implement self-optimization engine that automatically tunes system parameters based on performance metrics.**
|
|
1908
|
+
|
|
1909
|
+
### Auto-Tunable Parameters
|
|
1910
|
+
|
|
1911
|
+
```typescript
|
|
1912
|
+
const tunableParams: TunableParameter[] = [
|
|
1913
|
+
{
|
|
1914
|
+
name: 'hnsw.efSearch',
|
|
1915
|
+
current: 100,
|
|
1916
|
+
min: 50,
|
|
1917
|
+
max: 500,
|
|
1918
|
+
metric: 'search_latency_ms',
|
|
1919
|
+
target: 1, // <1ms
|
|
1920
|
+
},
|
|
1921
|
+
{
|
|
1922
|
+
name: 'routing.confidence_threshold',
|
|
1923
|
+
current: 0.7,
|
|
1924
|
+
min: 0.5,
|
|
1925
|
+
max: 0.95,
|
|
1926
|
+
metric: 'routing_accuracy',
|
|
1927
|
+
target: 0.9, // 90% accuracy
|
|
1928
|
+
},
|
|
1929
|
+
{
|
|
1930
|
+
name: 'pattern.promotion_threshold',
|
|
1931
|
+
current: 3,
|
|
1932
|
+
min: 2,
|
|
1933
|
+
max: 10,
|
|
1934
|
+
metric: 'pattern_quality_long_term',
|
|
1935
|
+
target: 0.8,
|
|
1936
|
+
},
|
|
1937
|
+
{
|
|
1938
|
+
name: 'test_gen.complexity_limit',
|
|
1939
|
+
current: 'complex',
|
|
1940
|
+
options: ['simple', 'medium', 'complex'],
|
|
1941
|
+
metric: 'test_maintainability',
|
|
1942
|
+
target: 0.7,
|
|
1943
|
+
},
|
|
1944
|
+
];
|
|
1945
|
+
```
|
|
1946
|
+
|
|
1947
|
+
### QE-Specific Background Workers
|
|
1948
|
+
|
|
1949
|
+
```typescript
|
|
1950
|
+
export const QE_OPTIMIZATION_WORKERS = {
|
|
1951
|
+
'pattern-consolidator': {
|
|
1952
|
+
interval: 30 * 60 * 1000, // 30 min
|
|
1953
|
+
handler: async () => {
|
|
1954
|
+
return await qeReasoningBank.consolidate();
|
|
1955
|
+
},
|
|
1956
|
+
},
|
|
1957
|
+
|
|
1958
|
+
'coverage-gap-scanner': {
|
|
1959
|
+
interval: 60 * 60 * 1000, // 1 hour
|
|
1960
|
+
handler: async () => {
|
|
1961
|
+
const gaps = await coverageAnalyzer.findGaps();
|
|
1962
|
+
const prioritized = await riskAssessor.prioritize(gaps);
|
|
1963
|
+
await taskQueue.addMany(prioritized.map(g => ({
|
|
1964
|
+
type: 'coverage-improvement',
|
|
1965
|
+
target: g.file,
|
|
1966
|
+
priority: g.riskScore,
|
|
1967
|
+
})));
|
|
1968
|
+
return { gapsFound: gaps.length };
|
|
1969
|
+
},
|
|
1970
|
+
},
|
|
1971
|
+
|
|
1972
|
+
'flaky-test-detector': {
|
|
1973
|
+
interval: 2 * 60 * 60 * 1000, // 2 hours
|
|
1974
|
+
handler: async () => {
|
|
1975
|
+
const flaky = await testAnalyzer.detectFlakyTests();
|
|
1976
|
+
for (const test of flaky) {
|
|
1977
|
+
await taskQueue.add({
|
|
1978
|
+
type: 'flaky-test-fix',
|
|
1979
|
+
testId: test.id,
|
|
1980
|
+
flakinessScore: test.score,
|
|
1981
|
+
});
|
|
1982
|
+
}
|
|
1983
|
+
return { flakyTests: flaky.length };
|
|
1984
|
+
},
|
|
1985
|
+
},
|
|
1986
|
+
|
|
1987
|
+
'routing-accuracy-monitor': {
|
|
1988
|
+
interval: 15 * 60 * 1000, // 15 min
|
|
1989
|
+
handler: async () => {
|
|
1990
|
+
const stats = await routingFeedback.getStats('1h');
|
|
1991
|
+
if (stats.accuracy < 0.8) {
|
|
1992
|
+
await qeRouter.retrain();
|
|
1993
|
+
}
|
|
1994
|
+
return stats;
|
|
1995
|
+
},
|
|
1996
|
+
},
|
|
1997
|
+
};
|
|
1998
|
+
```
|
|
1999
|
+
|
|
2000
|
+
### Implementation (2026-01-09)
|
|
2001
|
+
|
|
2002
|
+
**Package:** `v3/src/optimization/`
|
|
2003
|
+
|
|
2004
|
+
**Files Created:**
|
|
2005
|
+
```
|
|
2006
|
+
v3/src/optimization/
|
|
2007
|
+
├── index.ts # Module exports
|
|
2008
|
+
├── types.ts # TunableParameter, MetricStats, ParameterApplicator interfaces
|
|
2009
|
+
├── metric-collectors.ts # 4 collectors: SearchLatency, RoutingAccuracy, PatternQuality, TestMaintainability
|
|
2010
|
+
├── tuning-algorithm.ts # CoordinateDescentTuner (gradient-free optimization)
|
|
2011
|
+
├── auto-tuner.ts # AQEAutoTuner orchestrator + ParameterApplicatorRegistry
|
|
2012
|
+
└── qe-workers.ts # 4 QE optimization workers
|
|
2013
|
+
|
|
2014
|
+
v3/tests/unit/optimization/
|
|
2015
|
+
├── auto-tuner.test.ts # 37 tests (including applicator registry tests)
|
|
2016
|
+
├── metric-collectors.test.ts # 29 tests (including division-by-zero edge cases)
|
|
2017
|
+
├── tuning-algorithm.test.ts # 17 tests
|
|
2018
|
+
└── qe-workers.test.ts # 20 tests
|
|
2019
|
+
```
|
|
2020
|
+
|
|
2021
|
+
**Key Features Implemented:**
|
|
2022
|
+
|
|
2023
|
+
1. **4 Default Tunable Parameters:**
|
|
2024
|
+
- `hnsw.efSearch` (50-500, target: <1ms latency)
|
|
2025
|
+
- `routing.confidenceThreshold` (0.5-0.95, target: 90% accuracy)
|
|
2026
|
+
- `pattern.promotionThreshold` (2-10, target: 0.8 quality)
|
|
2027
|
+
- `testGen.complexityLimit` (simple/medium/complex, target: 0.7 maintainability)
|
|
2028
|
+
|
|
2029
|
+
2. **Metric Collectors:**
|
|
2030
|
+
- `SearchLatencyCollector` - Tracks HNSW search performance
|
|
2031
|
+
- `RoutingAccuracyCollector` - Monitors agent routing success
|
|
2032
|
+
- `PatternQualityCollector` - Measures pattern quality scores
|
|
2033
|
+
- `TestMaintainabilityCollector` - Tracks test maintainability
|
|
2034
|
+
|
|
2035
|
+
3. **CoordinateDescentTuner:**
|
|
2036
|
+
- Gradient-free optimization (no gradients needed)
|
|
2037
|
+
- Exploration vs exploitation balance
|
|
2038
|
+
- Handles both numeric and categorical parameters
|
|
2039
|
+
|
|
2040
|
+
4. **ParameterApplicatorRegistry (Critical Fix):**
|
|
2041
|
+
- Bridges tuning suggestions to real system changes
|
|
2042
|
+
- `registerApplicator()` for each tunable system component
|
|
2043
|
+
- Validation before applying changes
|
|
2044
|
+
- Graceful fallback to simulation mode
|
|
2045
|
+
|
|
2046
|
+
5. **4 QE Optimization Workers:**
|
|
2047
|
+
- `pattern-consolidator` (30min) - Merges duplicate patterns
|
|
2048
|
+
- `coverage-gap-scanner` (1hr) - Prioritizes test gaps by risk
|
|
2049
|
+
- `flaky-test-detector` (2hr) - Identifies unstable tests
|
|
2050
|
+
- `routing-accuracy-monitor` (15min, critical) - Monitors router performance
|
|
2051
|
+
|
|
2052
|
+
**Critical Bug Fixes (via brutal-honesty-review):**
|
|
2053
|
+
- Fixed `runEvaluation()` to actually apply configurations via applicators
|
|
2054
|
+
- Fixed `recordMetric()` dead code for routing accuracy (now type-safe methods)
|
|
2055
|
+
- Fixed division by zero in base class trend calculation
|
|
2056
|
+
- Added `ParameterApplicator` interface for real system integration
|
|
2057
|
+
|
|
2058
|
+
**Usage Example:**
|
|
2059
|
+
```typescript
|
|
2060
|
+
import { createAutoTuner, DEFAULT_TUNABLE_PARAMETERS } from '@agentic-qe/v3';
|
|
2061
|
+
|
|
2062
|
+
const tuner = createAutoTuner(DEFAULT_TUNABLE_PARAMETERS, {
|
|
2063
|
+
evaluationPeriodMs: 5000,
|
|
2064
|
+
tuningIntervalMs: 7 * 24 * 60 * 60 * 1000, // Weekly
|
|
2065
|
+
});
|
|
2066
|
+
|
|
2067
|
+
// Register real system integration
|
|
2068
|
+
tuner.registerApplicator({
|
|
2069
|
+
parameterName: 'hnsw.efSearch',
|
|
2070
|
+
getCurrentValue: async () => hnswIndex.getEfSearch(),
|
|
2071
|
+
setValue: async (v) => hnswIndex.setEfSearch(v as number),
|
|
2072
|
+
});
|
|
2073
|
+
|
|
2074
|
+
// Type-safe metric recording
|
|
2075
|
+
tuner.recordSearchLatency(5.2);
|
|
2076
|
+
tuner.recordRoutingOutcome(true, true);
|
|
2077
|
+
tuner.recordPatternQuality(0.85);
|
|
2078
|
+
tuner.recordTestMaintainability(0.75);
|
|
2079
|
+
|
|
2080
|
+
// Start auto-tuning
|
|
2081
|
+
tuner.start();
|
|
2082
|
+
```
|
|
2083
|
+
|
|
2084
|
+
### Success Metrics
|
|
2085
|
+
|
|
2086
|
+
- [x] 4 auto-tunable parameters (numeric + categorical)
|
|
2087
|
+
- [x] Weekly auto-tuning cycles (configurable interval)
|
|
2088
|
+
- [x] 4 QE optimization workers implemented
|
|
2089
|
+
- [x] Parameter history tracked (evaluationHistory)
|
|
2090
|
+
- [x] ParameterApplicatorRegistry for real system integration
|
|
2091
|
+
- [x] Type-safe metric recording methods
|
|
2092
|
+
- [x] Division-by-zero protection in trend calculation
|
|
2093
|
+
- [x] 103 unit tests passing
|
|
2094
|
+
- [ ] <500ms worker execution time (needs runtime measurement)
|
|
2095
|
+
|
|
2096
|
+
---
|
|
2097
|
+
|
|
2098
|
+
## ADR-025: Enhanced Init with Self-Configuration
|
|
2099
|
+
|
|
2100
|
+
**Status:** Implemented
|
|
2101
|
+
**Date:** 2026-01-09
|
|
2102
|
+
**Implemented:** 2026-01-10
|
|
2103
|
+
**Decision Makers:** Architecture Team
|
|
2104
|
+
**Source:** [AQE-SELF-LEARNING-IMPROVEMENT-PLAN.md](../../docs/plans/AQE-SELF-LEARNING-IMPROVEMENT-PLAN.md)
|
|
2105
|
+
|
|
2106
|
+
### Context
|
|
2107
|
+
|
|
2108
|
+
Current `aqe init` is manual:
|
|
2109
|
+
- User must configure frameworks
|
|
2110
|
+
- No analysis of existing codebase
|
|
2111
|
+
- No pre-trained patterns loaded
|
|
2112
|
+
- No integration with learning system
|
|
2113
|
+
|
|
2114
|
+
Need intelligent initialization that analyzes the project and configures itself.
|
|
2115
|
+
|
|
2116
|
+
### Decision
|
|
2117
|
+
|
|
2118
|
+
**Implement enhanced init with project analysis, self-configuration, and learning hooks integration.**
|
|
2119
|
+
|
|
2120
|
+
### Implementation (2026-01-10)
|
|
2121
|
+
|
|
2122
|
+
**Package:** `v3/src/init/`
|
|
2123
|
+
|
|
2124
|
+
**Files Created:**
|
|
2125
|
+
```
|
|
2126
|
+
v3/src/init/
|
|
2127
|
+
├── index.ts # Module exports
|
|
2128
|
+
├── types.ts # All types + defaults (AQEInitConfig, ProjectAnalysis, etc.)
|
|
2129
|
+
├── project-analyzer.ts # Framework/language/test detection
|
|
2130
|
+
├── self-configurator.ts # Rule-based configuration recommendations
|
|
2131
|
+
└── init-wizard.ts # Wizard steps + orchestrator
|
|
2132
|
+
|
|
2133
|
+
v3/tests/unit/init/
|
|
2134
|
+
├── project-analyzer.test.ts # 17 tests
|
|
2135
|
+
├── self-configurator.test.ts # 33 tests
|
|
2136
|
+
└── init-wizard.test.ts # 23 tests
|
|
2137
|
+
```
|
|
2138
|
+
|
|
2139
|
+
**Key Features Implemented:**
|
|
2140
|
+
|
|
2141
|
+
1. **ProjectAnalyzer** - Detects project structure automatically:
|
|
2142
|
+
- Framework detection: jest, vitest, mocha, jasmine, pytest, playwright, cypress
|
|
2143
|
+
- Language detection: TypeScript, JavaScript, Python, Java, Go, Rust
|
|
2144
|
+
- Test detection: counts and categorizes existing tests
|
|
2145
|
+
- Complexity analysis: file count, LOC, recommendations
|
|
2146
|
+
- Coverage parsing: reads existing coverage reports
|
|
2147
|
+
- CI detection: GitHub Actions, GitLab CI, CircleCI, Jenkins
|
|
2148
|
+
|
|
2149
|
+
2. **SelfConfigurator** - Rule-based configuration with 14 rules:
|
|
2150
|
+
- `typescript-vitest`: Transformer embeddings + higher confidence
|
|
2151
|
+
- `large-codebase`: Larger HNSW index (M=32, efConstruction=400)
|
|
2152
|
+
- `small-project`: Smaller settings, fewer workers
|
|
2153
|
+
- `high-complexity`: All domains enabled
|
|
2154
|
+
- `low-coverage`: Coverage gap scanner enabled
|
|
2155
|
+
- `monorepo`: 15 agents, code intelligence domain
|
|
2156
|
+
- `has-e2e`: Visual/accessibility domains
|
|
2157
|
+
- `has-ci`: CI integration hooks
|
|
2158
|
+
- `github-actions`: Claude Code hooks enabled
|
|
2159
|
+
- `python-project`: Hybrid routing, security focus
|
|
2160
|
+
- `java-project`: Extended timeout (2 min)
|
|
2161
|
+
- `no-tests`: Focus on test generation
|
|
2162
|
+
- `many-tests`: Flaky detection enabled
|
|
2163
|
+
- `security-focus`: Security compliance domain
|
|
2164
|
+
|
|
2165
|
+
3. **InitOrchestrator** - Multi-step initialization with progress tracking:
|
|
2166
|
+
- Step 1: Project Analysis
|
|
2167
|
+
- Step 2: Configuration Generation
|
|
2168
|
+
- Step 3: Learning System Setup
|
|
2169
|
+
- Step 4: Hooks Configuration
|
|
2170
|
+
- Step 5: Background Workers Start
|
|
2171
|
+
- Step 6: Save Configuration
|
|
2172
|
+
|
|
2173
|
+
4. **Wizard Steps** - Interactive configuration:
|
|
2174
|
+
- Welcome info
|
|
2175
|
+
- Project type (auto-detect, single, monorepo, library)
|
|
2176
|
+
- Learning mode (full, basic, disabled)
|
|
2177
|
+
- Pre-trained patterns (yes/no)
|
|
2178
|
+
- Claude Code hooks (yes/no)
|
|
2179
|
+
- Background workers (yes/no)
|
|
2180
|
+
|
|
2181
|
+
### Enhanced Init Wizard
|
|
2182
|
+
|
|
2183
|
+
```
|
|
2184
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
2185
|
+
│ AQE v3 Initialization │
|
|
2186
|
+
├─────────────────────────────────────────────────────────────┤
|
|
2187
|
+
│ ✓ Project Analysis 50ms │
|
|
2188
|
+
│ ✓ Configuration Generation 10ms │
|
|
2189
|
+
│ ✓ Learning System Setup 5ms │
|
|
2190
|
+
│ ✓ Hooks Configuration 2ms │
|
|
2191
|
+
│ ✓ Background Workers 3ms │
|
|
2192
|
+
│ ✓ Save Configuration 1ms │
|
|
2193
|
+
├─────────────────────────────────────────────────────────────┤
|
|
2194
|
+
│ Project: test-project │
|
|
2195
|
+
│ Type: single │
|
|
2196
|
+
│ Patterns Loaded: 500 │
|
|
2197
|
+
│ Workers Started: 4 │
|
|
2198
|
+
│ Hooks Configured: Yes │
|
|
2199
|
+
├─────────────────────────────────────────────────────────────┤
|
|
2200
|
+
│ ✓ AQE v3 initialized as self-learning platform │
|
|
2201
|
+
└─────────────────────────────────────────────────────────────┘
|
|
2202
|
+
```
|
|
2203
|
+
|
|
2204
|
+
### Configuration Schema
|
|
2205
|
+
|
|
2206
|
+
```typescript
|
|
2207
|
+
export interface AQEInitConfig {
|
|
2208
|
+
version: string;
|
|
2209
|
+
project: {
|
|
2210
|
+
name: string;
|
|
2211
|
+
root: string;
|
|
2212
|
+
type: 'monorepo' | 'single' | 'library';
|
|
2213
|
+
};
|
|
2214
|
+
learning: {
|
|
2215
|
+
enabled: boolean;
|
|
2216
|
+
embeddingModel: 'transformer' | 'hash';
|
|
2217
|
+
hnswConfig: HNSWConfig;
|
|
2218
|
+
qualityThreshold: number;
|
|
2219
|
+
promotionThreshold: number;
|
|
2220
|
+
pretrainedPatterns: boolean;
|
|
2221
|
+
};
|
|
2222
|
+
routing: {
|
|
2223
|
+
mode: 'ml' | 'rules' | 'hybrid';
|
|
2224
|
+
confidenceThreshold: number;
|
|
2225
|
+
fallbackEnabled: boolean;
|
|
2226
|
+
};
|
|
2227
|
+
workers: {
|
|
2228
|
+
enabled: string[];
|
|
2229
|
+
intervals: Record<string, number>;
|
|
2230
|
+
maxConcurrent: number;
|
|
2231
|
+
daemonAutoStart: boolean;
|
|
2232
|
+
};
|
|
2233
|
+
hooks: {
|
|
2234
|
+
claudeCode: boolean;
|
|
2235
|
+
preCommit: boolean;
|
|
2236
|
+
ciIntegration: boolean;
|
|
2237
|
+
};
|
|
2238
|
+
autoTuning: {
|
|
2239
|
+
enabled: boolean;
|
|
2240
|
+
parameters: string[];
|
|
2241
|
+
evaluationPeriodMs: number;
|
|
2242
|
+
};
|
|
2243
|
+
domains: {
|
|
2244
|
+
enabled: string[];
|
|
2245
|
+
disabled: string[];
|
|
2246
|
+
};
|
|
2247
|
+
agents: {
|
|
2248
|
+
maxConcurrent: number;
|
|
2249
|
+
defaultTimeout: number;
|
|
2250
|
+
};
|
|
2251
|
+
}
|
|
2252
|
+
```
|
|
2253
|
+
|
|
2254
|
+
### Usage Examples
|
|
2255
|
+
|
|
2256
|
+
```typescript
|
|
2257
|
+
import {
|
|
2258
|
+
createProjectAnalyzer,
|
|
2259
|
+
createSelfConfigurator,
|
|
2260
|
+
createInitOrchestrator,
|
|
2261
|
+
quickInit,
|
|
2262
|
+
formatInitResult,
|
|
2263
|
+
} from '@agentic-qe/v3';
|
|
2264
|
+
|
|
2265
|
+
// Quick auto-configuration
|
|
2266
|
+
const result = await quickInit('/path/to/project');
|
|
2267
|
+
console.log(formatInitResult(result));
|
|
2268
|
+
|
|
2269
|
+
// Full control with custom options
|
|
2270
|
+
const orchestrator = createInitOrchestrator({
|
|
2271
|
+
projectRoot: '/path/to/project',
|
|
2272
|
+
autoMode: false,
|
|
2273
|
+
wizardAnswers: {
|
|
2274
|
+
'project-type': 'monorepo',
|
|
2275
|
+
'learning-mode': 'full',
|
|
2276
|
+
'load-patterns': true,
|
|
2277
|
+
'hooks': true,
|
|
2278
|
+
'workers': true,
|
|
2279
|
+
},
|
|
2280
|
+
});
|
|
2281
|
+
const result = await orchestrator.initialize();
|
|
2282
|
+
|
|
2283
|
+
// Analyze project only
|
|
2284
|
+
const analyzer = createProjectAnalyzer('/path/to/project');
|
|
2285
|
+
const analysis = await analyzer.analyze();
|
|
2286
|
+
|
|
2287
|
+
// Get configuration recommendations
|
|
2288
|
+
const configurator = createSelfConfigurator();
|
|
2289
|
+
const config = configurator.recommend(analysis);
|
|
2290
|
+
const appliedRules = configurator.getApplicableRules(analysis);
|
|
2291
|
+
```
|
|
2292
|
+
|
|
2293
|
+
### Success Metrics
|
|
2294
|
+
|
|
2295
|
+
- [x] Project analysis detects frameworks (7 frameworks)
|
|
2296
|
+
- [x] Project analysis detects languages (8 languages)
|
|
2297
|
+
- [x] Project analysis detects tests (count, type, framework)
|
|
2298
|
+
- [x] Self-configuration with 14 rules
|
|
2299
|
+
- [x] Wizard steps with progress tracking
|
|
2300
|
+
- [x] Auto-configuration mode (`quickInit()`)
|
|
2301
|
+
- [x] Custom wizard answers support
|
|
2302
|
+
- [x] Pre-trained pattern library loading
|
|
2303
|
+
- [x] Claude Code hooks integration
|
|
2304
|
+
- [x] CI provider detection
|
|
2305
|
+
- [x] Package manager detection
|
|
2306
|
+
- [x] 73 unit tests passing (17 + 33 + 23)
|
|
2307
|
+
- [ ] <30 seconds init time (needs runtime measurement)
|
|
2308
|
+
- [ ] Migration from v2 automated (deferred)
|
|
2309
|
+
|
|
2310
|
+
### ADR-025 Addendum: V2 Component Migration Analysis (2026-01-11)
|
|
2311
|
+
|
|
2312
|
+
**Status:** ✅ IMPLEMENTED (2026-01-11)
|
|
2313
|
+
|
|
2314
|
+
**Purpose:** Document which V2 init components are needed in V3 vs obsolete.
|
|
2315
|
+
|
|
2316
|
+
#### V2 Components NOT Needed in V3
|
|
2317
|
+
|
|
2318
|
+
1. **Slash Commands (`.claude/commands/`)** - OBSOLETE
|
|
2319
|
+
- V2: 9 slash commands (`/aqe-execute`, `/aqe-generate`, etc.)
|
|
2320
|
+
- V3: Replaced by MCP tools (`mcp__agentic-qe-v3__*`)
|
|
2321
|
+
- **Decision:** Do NOT create `.claude/commands/` directory
|
|
2322
|
+
|
|
2323
|
+
2. **V2 Agent Definitions (`.claude/agents/` flat)** - OBSOLETE
|
|
2324
|
+
- V2: 24 flat agent markdown files
|
|
2325
|
+
- V3: Replaced by V3 QE agents with DDD domain structure
|
|
2326
|
+
- **Decision:** Do NOT copy V2 agents
|
|
2327
|
+
|
|
2328
|
+
3. **Claude-Flow Core Agents** - NOT COPIED
|
|
2329
|
+
- Agents like `adr-architect`, `memory-specialist`, `security-architect`, etc.
|
|
2330
|
+
- These are **claude-flow** agents, not AQE agents (use `mcp__claude-flow__*` tools)
|
|
2331
|
+
- **Decision:** Do NOT copy - available via claude-flow separately
|
|
2332
|
+
|
|
2333
|
+
4. **Helper Scripts (`.claude/helpers/`)** - MOSTLY OBSOLETE
|
|
2334
|
+
- V2: 38 helper scripts
|
|
2335
|
+
- V3: Background workers + MCP tools replace most functionality
|
|
2336
|
+
- **Decision:** Keep only `statusline.js` and git hooks (optional)
|
|
2337
|
+
|
|
2338
|
+
5. **Reference Docs (`.agentic-qe/docs/`)** - OBSOLETE
|
|
2339
|
+
- V2: Copied documentation files
|
|
2340
|
+
- V3: Skills contain embedded documentation
|
|
2341
|
+
- **Decision:** Do NOT create `.agentic-qe/docs/` directory
|
|
2342
|
+
|
|
2343
|
+
6. **Flat Agent Definitions (`.agentic-qe/agents/`)** - OBSOLETE
|
|
2344
|
+
- V2: Agent configuration in separate directory
|
|
2345
|
+
- V3: DDD domains + MCP tools replace
|
|
2346
|
+
- **Decision:** Do NOT create `.agentic-qe/agents/` directory
|
|
2347
|
+
|
|
2348
|
+
#### V3 Components REQUIRED (Implemented)
|
|
2349
|
+
|
|
2350
|
+
1. **V3 QE Agents (`.claude/agents/v3/`)** - ✅ IMPLEMENTED
|
|
2351
|
+
- 40 V3 QE domain agents (v3-qe-*) mapped to 12 DDD contexts
|
|
2352
|
+
- 7 V3 QE subagents for TDD and code review
|
|
2353
|
+
- **Total:** 47 QE agents installed via `AgentsInstaller`
|
|
2354
|
+
|
|
2355
|
+
2. **Pattern Database (`.agentic-qe/data/patterns.db`)** - PLANNED
|
|
2356
|
+
- Required for: Learning system, pattern storage, HNSW indexing
|
|
2357
|
+
- **Action:** Add database initialization to init
|
|
2358
|
+
|
|
2359
|
+
3. **Project Configuration (`CLAUDE.md`)** - PLANNED
|
|
2360
|
+
- Required for: Project-specific V3 configuration, quick reference
|
|
2361
|
+
- **Action:** Add V3-specific CLAUDE.md generation
|
|
2362
|
+
|
|
2363
|
+
4. **MCP Configuration (`.claude/mcp.json`)** - ✅ IMPLEMENTED
|
|
2364
|
+
- Required for: MCP server definition, tool endpoint configuration
|
|
2365
|
+
- Configures `agentic-qe-v3` MCP server with `npx @agentic-qe/v3 mcp`
|
|
2366
|
+
|
|
2367
|
+
#### V3 Init Comparison
|
|
2368
|
+
|
|
2369
|
+
| Metric | V2 | V3 | Reason |
|
|
2370
|
+
|--------|----|----|--------|
|
|
2371
|
+
| Files created | ~100+ | ~60 | MCP tools replace commands |
|
|
2372
|
+
| Directories | 8 | 6 | DDD consolidates structure |
|
|
2373
|
+
| Helper scripts | 38 | 2-3 | Workers replace helpers |
|
|
2374
|
+
| V2 Agent defs | 24 | 0 | Replaced by V3 QE agents |
|
|
2375
|
+
| V3 QE Agents | 0 | 47 | v3-qe-* agents for Task tool |
|
|
2376
|
+
| Commands | 9 | 0 | MCP tools replace |
|
|
2377
|
+
|
|
2378
|
+
#### V3 Init File Structure (Final)
|
|
2379
|
+
|
|
2380
|
+
```
|
|
2381
|
+
Project Root
|
|
2382
|
+
├── CLAUDE.md # V3 project configuration [PLANNED]
|
|
2383
|
+
├── .agentic-qe/
|
|
2384
|
+
│ ├── config.yaml # ✅ Implemented
|
|
2385
|
+
│ ├── data/
|
|
2386
|
+
│ │ ├── patterns.db # [PLANNED] Pattern database
|
|
2387
|
+
│ │ ├── learning-config.json # ✅ Implemented
|
|
2388
|
+
│ │ └── hnsw/ # ✅ Implemented
|
|
2389
|
+
│ └── workers/
|
|
2390
|
+
│ ├── registry.json # ✅ Implemented
|
|
2391
|
+
│ ├── *.json # ✅ Implemented
|
|
2392
|
+
│ └── start-daemon.sh # ✅ Implemented
|
|
2393
|
+
└── .claude/
|
|
2394
|
+
├── settings.json # ✅ Implemented
|
|
2395
|
+
├── mcp.json # ✅ Implemented (MCP server config)
|
|
2396
|
+
├── skills/ # ✅ Implemented (SkillsInstaller)
|
|
2397
|
+
│ ├── README.md
|
|
2398
|
+
│ └── [skill-dirs]/
|
|
2399
|
+
└── agents/v3/ # ✅ Implemented (AgentsInstaller)
|
|
2400
|
+
├── README.md # Agent index
|
|
2401
|
+
├── v3-qe-*.md # 40 QE domain agents
|
|
2402
|
+
└── subagents/ # 7 QE subagents
|
|
2403
|
+
└── v3-qe-*.md
|
|
2404
|
+
```
|
|
2405
|
+
|
|
2406
|
+
---
|
|
2407
|
+
|
|
2408
|
+
## ADR-036: Language-Aware Result Persistence
|
|
2409
|
+
|
|
2410
|
+
**Status:** Accepted
|
|
2411
|
+
**Date:** 2026-01-10
|
|
2412
|
+
**Decision Makers:** Architecture Team
|
|
2413
|
+
**Source:** MCP v3 Task Execution Pipeline
|
|
2414
|
+
|
|
2415
|
+
### Context
|
|
2416
|
+
|
|
2417
|
+
The MCP v3 task executor now returns real results from domain services, but these results are only returned in the API response and not persisted for later analysis. Users need to:
|
|
2418
|
+
|
|
2419
|
+
1. Review results after task completion
|
|
2420
|
+
2. Compare results across multiple runs
|
|
2421
|
+
3. Track quality trends over time
|
|
2422
|
+
4. Generate reports for stakeholders
|
|
2423
|
+
5. Use generated tests directly in their codebase
|
|
2424
|
+
|
|
2425
|
+
Current limitations:
|
|
2426
|
+
- Results lost after API response
|
|
2427
|
+
- No historical tracking
|
|
2428
|
+
- Cannot diff between runs
|
|
2429
|
+
- Generated tests not saved as usable files
|
|
2430
|
+
|
|
2431
|
+
### Decision
|
|
2432
|
+
|
|
2433
|
+
**Implement language/framework-aware result persistence that saves outputs in appropriate formats based on task type and target stack.**
|
|
2434
|
+
|
|
2435
|
+
### Output Format Matrix
|
|
2436
|
+
|
|
2437
|
+
| Task Type | Primary Format | Secondary Format | Extension Pattern |
|
|
2438
|
+
|-----------|---------------|------------------|-------------------|
|
|
2439
|
+
| Test Generation | Source Code | JSON manifest | Language-specific |
|
|
2440
|
+
| Coverage Analysis | LCOV | JSON + HTML | `.lcov`, `.json`, `.html` |
|
|
2441
|
+
| Security Scan | SARIF | JSON + MD report | `.sarif`, `.json`, `.md` |
|
|
2442
|
+
| Quality Assessment | JSON | MD report | `.json`, `.md` |
|
|
2443
|
+
| Code Indexing | JSON graph | GraphML | `.json`, `.graphml` |
|
|
2444
|
+
| Defect Prediction | JSON | MD report | `.json`, `.md` |
|
|
2445
|
+
| Contract Testing | JSON | OpenAPI diff | `.json`, `.yaml` |
|
|
2446
|
+
| Accessibility | JSON | HTML report | `.json`, `.html` |
|
|
2447
|
+
| Chaos/Load Test | JSON | HTML dashboard | `.json`, `.html` |
|
|
2448
|
+
|
|
2449
|
+
### Test File Extensions by Language/Framework
|
|
2450
|
+
|
|
2451
|
+
```typescript
|
|
2452
|
+
const TEST_FILE_PATTERNS: Record<string, Record<string, string>> = {
|
|
2453
|
+
typescript: { jest: '.test.ts', vitest: '.test.ts', mocha: '.spec.ts' },
|
|
2454
|
+
javascript: { jest: '.test.js', vitest: '.test.js', mocha: '.spec.js' },
|
|
2455
|
+
python: { pytest: 'test_*.py', unittest: '*_test.py' },
|
|
2456
|
+
java: { junit: '*Test.java', testng: '*Test.java' },
|
|
2457
|
+
go: { testing: '*_test.go' },
|
|
2458
|
+
rust: { cargo: '*_test.rs' },
|
|
2459
|
+
ruby: { rspec: '*_spec.rb', minitest: '*_test.rb' },
|
|
2460
|
+
php: { phpunit: '*Test.php', pest: '*.test.php' },
|
|
2461
|
+
csharp: { xunit: '*Tests.cs', nunit: '*Tests.cs' },
|
|
2462
|
+
kotlin: { junit: '*Test.kt', kotest: '*Spec.kt' },
|
|
2463
|
+
swift: { xctest: '*Tests.swift' },
|
|
2464
|
+
};
|
|
2465
|
+
```
|
|
2466
|
+
|
|
2467
|
+
### Directory Structure
|
|
2468
|
+
|
|
2469
|
+
```
|
|
2470
|
+
.agentic-qe/
|
|
2471
|
+
├── results/
|
|
2472
|
+
│ ├── security/
|
|
2473
|
+
│ │ ├── 2026-01-10T15-30-00_scan.sarif
|
|
2474
|
+
│ │ ├── 2026-01-10T15-30-00_scan.json
|
|
2475
|
+
│ │ └── 2026-01-10T15-30-00_report.md
|
|
2476
|
+
│ ├── coverage/
|
|
2477
|
+
│ │ ├── 2026-01-10T15-30-00_coverage.lcov
|
|
2478
|
+
│ │ └── 2026-01-10T15-30-00_gaps.md
|
|
2479
|
+
│ ├── tests/
|
|
2480
|
+
│ │ ├── generated/
|
|
2481
|
+
│ │ │ ├── user-service.test.ts
|
|
2482
|
+
│ │ │ └── test_auth_module.py
|
|
2483
|
+
│ │ └── manifest.json
|
|
2484
|
+
│ └── index.json # Index of all results
|
|
2485
|
+
```
|
|
2486
|
+
|
|
2487
|
+
### Implementation (2026-01-10) ✅ COMPLETE
|
|
2488
|
+
|
|
2489
|
+
**Files Created:**
|
|
2490
|
+
- `v3/src/coordination/result-saver.ts` - Core ResultSaver class (780 LOC)
|
|
2491
|
+
- `v3/src/coordination/task-executor.ts` - TaskExecutor with ResultSaver integration
|
|
2492
|
+
|
|
2493
|
+
**Implemented Features:**
|
|
2494
|
+
|
|
2495
|
+
| Component | Status | Details |
|
|
2496
|
+
|-----------|--------|---------|
|
|
2497
|
+
| ResultSaver class | ✅ | 780 lines, full implementation |
|
|
2498
|
+
| Task-type savers | ✅ | 10 savers (test-gen, coverage, security, quality, code-index, defect, contract, a11y, chaos, generic) |
|
|
2499
|
+
| LCOV generator | ✅ | `generateLcov()` for coverage reports |
|
|
2500
|
+
| SARIF generator | ✅ | `generateSarif()` for security findings |
|
|
2501
|
+
| MD report generators | ✅ | Test, coverage, security, quality reports |
|
|
2502
|
+
| Language patterns | ✅ | 11 languages (TS, JS, Python, Java, Go, Rust, Ruby, PHP, C#, Kotlin, Swift) |
|
|
2503
|
+
| Framework patterns | ✅ | jest, vitest, mocha, pytest, junit, testng, rspec, phpunit, xunit, kotest, xctest |
|
|
2504
|
+
| Result index | ✅ | `updateIndex()` with trend tracking |
|
|
2505
|
+
| TaskExecutor integration | ✅ | Auto-saves results after task execution |
|
|
2506
|
+
|
|
2507
|
+
**Key Methods:**
|
|
2508
|
+
```typescript
|
|
2509
|
+
class ResultSaver {
|
|
2510
|
+
save(taskId, taskType, result, options): Promise<SavedResult>
|
|
2511
|
+
// 10 private task-type handlers
|
|
2512
|
+
generateLcov(data): string
|
|
2513
|
+
generateSarif(data): string
|
|
2514
|
+
generateTestReport(data): string
|
|
2515
|
+
updateIndex(savedResult): Promise<void>
|
|
2516
|
+
}
|
|
2517
|
+
```
|
|
2518
|
+
|
|
2519
|
+
### Success Metrics
|
|
2520
|
+
|
|
2521
|
+
- [x] Results persist in standard formats (SARIF, LCOV, JSON)
|
|
2522
|
+
- [x] Generated tests saved as ready-to-use source files
|
|
2523
|
+
- [x] Language/framework conventions respected (11 languages, 11+ frameworks)
|
|
2524
|
+
- [x] Result index with trend tracking
|
|
2525
|
+
- [ ] Result comparison/diff (future enhancement)
|
|
2526
|
+
- [ ] 30-day retention with compression (future enhancement)
|
|
2527
|
+
|
|
2528
|
+
---
|
|
2529
|
+
|
|
2530
|
+
## Implementation Roadmap Summary
|
|
2531
|
+
|
|
2532
|
+
### Sprint 1 (Days 1-5): Foundation - ADR-021
|
|
2533
|
+
- Create `v3/@aqe-platform/learning` package
|
|
2534
|
+
- Implement QEReasoningBank
|
|
2535
|
+
- Define QE pattern types
|
|
2536
|
+
|
|
2537
|
+
### Sprint 2 (Days 6-10): Routing - ADR-022
|
|
2538
|
+
- Create `v3/@aqe-platform/routing` package
|
|
2539
|
+
- Build QE agent registry (78 agents)
|
|
2540
|
+
- Implement ML-based task router
|
|
2541
|
+
|
|
2542
|
+
### Sprint 3 (Days 11-15): Feedback - ADR-023
|
|
2543
|
+
- Create `v3/@aqe-platform/feedback` package
|
|
2544
|
+
- Implement TestOutcomeTracker
|
|
2545
|
+
- Build CoverageLearner
|
|
2546
|
+
|
|
2547
|
+
### Sprint 4 (Days 16-20): Optimization - ADR-024
|
|
2548
|
+
- Create `v3/@aqe-platform/optimization` package
|
|
2549
|
+
- Implement AQEAutoTuner
|
|
2550
|
+
- Create QE optimization workers
|
|
2551
|
+
|
|
2552
|
+
### Sprint 5 (Days 21-25): Init - ADR-025
|
|
2553
|
+
- Enhance `aqe init --wizard`
|
|
2554
|
+
- Implement self-configuration
|
|
2555
|
+
- Create pre-trained pattern library
|
|
2556
|
+
|
|
2557
|
+
### Sprint 6 (Days 26-30): Integration
|
|
2558
|
+
- Integration tests
|
|
2559
|
+
- Performance benchmarks
|
|
2560
|
+
- Documentation
|
|
2561
|
+
|
|
2562
|
+
---
|
|
2563
|
+
|
|
2564
|
+
---
|
|
2565
|
+
|
|
2566
|
+
## ADR-037: V3 QE Agent Naming Standardization
|
|
2567
|
+
|
|
2568
|
+
**Status:** Proposed
|
|
2569
|
+
**Date:** 2026-01-11
|
|
2570
|
+
**Decision Makers:** Architecture Team
|
|
2571
|
+
**Source:** V3 Skills Improvement Analysis
|
|
2572
|
+
|
|
2573
|
+
### Context
|
|
2574
|
+
|
|
2575
|
+
V3 QE skills currently reference agents using V2-style short names (e.g., `'test-architect'`, `'coverage-specialist'`) while the actual V3 QE agent definitions use the full `v3-qe-*` prefix (e.g., `'v3-qe-test-architect'`, `'v3-qe-coverage-specialist'`).
|
|
2576
|
+
|
|
2577
|
+
This inconsistency causes:
|
|
2578
|
+
1. Confusion about which agent version is being used
|
|
2579
|
+
2. Potential routing errors in the Task tool
|
|
2580
|
+
3. Documentation mismatches
|
|
2581
|
+
4. Difficulty in agent discovery
|
|
2582
|
+
|
|
2583
|
+
### Decision
|
|
2584
|
+
|
|
2585
|
+
Standardize all V3 QE skills to use the full `v3-qe-*` agent naming convention.
|
|
2586
|
+
|
|
2587
|
+
**Naming Convention:** `v3-qe-{domain}-{specialty}`
|
|
2588
|
+
|
|
2589
|
+
**Files Updated:**
|
|
2590
|
+
- `.claude/skills/v3-qe-fleet-coordination/SKILL.md`
|
|
2591
|
+
- `.claude/skills/v3-qe-mcp/SKILL.md`
|
|
2592
|
+
- `.claude/skills/v3-qe-integration/SKILL.md`
|
|
2593
|
+
|
|
2594
|
+
**Full ADR:** [ADR-037-v3-qe-agent-naming.md](./ADR-037-v3-qe-agent-naming.md)
|
|
2595
|
+
|
|
2596
|
+
---
|
|
2597
|
+
|
|
2598
|
+
## ADR-038: V3 QE Memory System Unification
|
|
2599
|
+
|
|
2600
|
+
**Status:** Proposed
|
|
2601
|
+
**Date:** 2026-01-11
|
|
2602
|
+
**Decision Makers:** Architecture Team
|
|
2603
|
+
**Source:** V3 Skills Improvement Analysis
|
|
2604
|
+
|
|
2605
|
+
### Context
|
|
2606
|
+
|
|
2607
|
+
The existing `v3-qe-memory-system` skill provides basic AgentDB integration, but lacks the comprehensive unification approach from `v3-memory-unification` in claude-flow.
|
|
2608
|
+
|
|
2609
|
+
### Decision
|
|
2610
|
+
|
|
2611
|
+
Create enhanced `v3-qe-memory-unification` skill with:
|
|
2612
|
+
- AgentDB with HNSW indexing (150x-12,500x faster search)
|
|
2613
|
+
- Migration from legacy QE memory systems (SQLite, markdown, in-memory)
|
|
2614
|
+
- Cross-domain memory sharing for 12 DDD domains
|
|
2615
|
+
- SONA integration for pattern learning
|
|
2616
|
+
- Domain-specific HNSW configurations
|
|
2617
|
+
|
|
2618
|
+
**New Skill:** `.claude/skills/v3-qe-memory-unification/SKILL.md`
|
|
2619
|
+
|
|
2620
|
+
**Full ADR:** [ADR-038-v3-qe-memory-unification.md](./ADR-038-v3-qe-memory-unification.md)
|
|
2621
|
+
|
|
2622
|
+
---
|
|
2623
|
+
|
|
2624
|
+
## ADR-039: V3 QE MCP Optimization
|
|
2625
|
+
|
|
2626
|
+
**Status:** Proposed
|
|
2627
|
+
**Date:** 2026-01-11
|
|
2628
|
+
**Decision Makers:** Architecture Team
|
|
2629
|
+
**Source:** V3 Skills Improvement Analysis
|
|
2630
|
+
|
|
2631
|
+
### Context
|
|
2632
|
+
|
|
2633
|
+
The existing `v3-qe-mcp` skill provides basic MCP tool definitions but lacks the performance optimizations from `v3-mcp-optimization` in claude-flow.
|
|
2634
|
+
|
|
2635
|
+
### Decision
|
|
2636
|
+
|
|
2637
|
+
Create enhanced `v3-qe-mcp-optimization` skill with:
|
|
2638
|
+
- Connection pooling (50 max, 5 min pre-warmed)
|
|
2639
|
+
- O(1) tool lookup via hash-indexed registry
|
|
2640
|
+
- Load balancing for fleet operations
|
|
2641
|
+
- <100ms p95 response time targets
|
|
2642
|
+
- Performance monitoring dashboard
|
|
2643
|
+
|
|
2644
|
+
**New Skill:** `.claude/skills/v3-qe-mcp-optimization/SKILL.md`
|
|
2645
|
+
|
|
2646
|
+
**Full ADR:** [ADR-039-v3-qe-mcp-optimization.md](./ADR-039-v3-qe-mcp-optimization.md)
|
|
2647
|
+
|
|
2648
|
+
---
|
|
2649
|
+
|
|
2650
|
+
## ADR-040: V3 QE Agentic-Flow Integration
|
|
2651
|
+
|
|
2652
|
+
**Status:** Proposed
|
|
2653
|
+
**Date:** 2026-01-11
|
|
2654
|
+
**Decision Makers:** Architecture Team
|
|
2655
|
+
**Source:** V3 Skills Improvement Analysis
|
|
2656
|
+
|
|
2657
|
+
### Context
|
|
2658
|
+
|
|
2659
|
+
The existing `v3-qe-integration` skill provides basic cross-domain integration but lacks deep agentic-flow integration patterns from `v3-integration-deep` in claude-flow.
|
|
2660
|
+
|
|
2661
|
+
### Decision
|
|
2662
|
+
|
|
2663
|
+
Create enhanced `v3-qe-agentic-flow-integration` skill with:
|
|
2664
|
+
- SONA learning mode integration (<0.05ms adaptation)
|
|
2665
|
+
- Flash Attention (2.49x-7.47x speedup) for QE workloads
|
|
2666
|
+
- 9 RL algorithms for intelligent QE decisions
|
|
2667
|
+
- Code deduplication with agentic-flow
|
|
2668
|
+
|
|
2669
|
+
**New Skill:** `.claude/skills/v3-qe-agentic-flow-integration/SKILL.md`
|
|
2670
|
+
|
|
2671
|
+
**Full ADR:** [ADR-040-v3-qe-agentic-flow-integration.md](./ADR-040-v3-qe-agentic-flow-integration.md)
|
|
2672
|
+
|
|
2673
|
+
---
|
|
2674
|
+
|
|
2675
|
+
## ADR-041: V3 QE CLI Enhancement
|
|
2676
|
+
|
|
2677
|
+
**Status:** Proposed
|
|
2678
|
+
**Date:** 2026-01-11
|
|
2679
|
+
**Decision Makers:** Architecture Team
|
|
2680
|
+
**Source:** V3 Skills Improvement Analysis
|
|
2681
|
+
|
|
2682
|
+
### Context
|
|
2683
|
+
|
|
2684
|
+
The existing `v3-qe-cli` skill provides basic CLI commands for QE operations but lacks modern CLI features from `v3-cli-modernization` in claude-flow.
|
|
2685
|
+
|
|
2686
|
+
### Decision
|
|
2687
|
+
|
|
2688
|
+
Enhance `v3-qe-cli` with:
|
|
2689
|
+
- Interactive test generation wizard
|
|
2690
|
+
- Progress bars for fleet operations
|
|
2691
|
+
- Workflow automation for QE pipelines
|
|
2692
|
+
- Intelligent command completion
|
|
2693
|
+
- Streaming output for test execution
|
|
2694
|
+
|
|
2695
|
+
**Enhanced Skill:** `.claude/skills/v3-qe-cli/SKILL.md` (to be updated)
|
|
2696
|
+
|
|
2697
|
+
**Full ADR:** [ADR-041-v3-qe-cli-enhancement.md](./ADR-041-v3-qe-cli-enhancement.md)
|
|
2698
|
+
|
|
2699
|
+
---
|
|
2700
|
+
|
|
2701
|
+
## Implementation Roadmap Summary
|
|
2702
|
+
|
|
2703
|
+
### Sprint 1 (Days 1-5): Foundation - ADR-021
|
|
2704
|
+
- Create `v3/@aqe-platform/learning` package
|
|
2705
|
+
- Implement QEReasoningBank
|
|
2706
|
+
- Define QE pattern types
|
|
2707
|
+
|
|
2708
|
+
### Sprint 2 (Days 6-10): Routing - ADR-022
|
|
2709
|
+
- Create `v3/@aqe-platform/routing` package
|
|
2710
|
+
- Build QE agent registry (78 agents)
|
|
2711
|
+
- Implement ML-based task router
|
|
2712
|
+
|
|
2713
|
+
### Sprint 3 (Days 11-15): Feedback - ADR-023
|
|
2714
|
+
- Create `v3/@aqe-platform/feedback` package
|
|
2715
|
+
- Implement TestOutcomeTracker
|
|
2716
|
+
- Build CoverageLearner
|
|
2717
|
+
|
|
2718
|
+
### Sprint 4 (Days 16-20): Optimization - ADR-024
|
|
2719
|
+
- Create `v3/@aqe-platform/optimization` package
|
|
2720
|
+
- Implement AQEAutoTuner
|
|
2721
|
+
- Create QE optimization workers
|
|
2722
|
+
|
|
2723
|
+
### Sprint 5 (Days 21-25): Init - ADR-025
|
|
2724
|
+
- Enhance `aqe init --wizard`
|
|
2725
|
+
- Implement self-configuration
|
|
2726
|
+
- Create pre-trained pattern library
|
|
2727
|
+
|
|
2728
|
+
### Sprint 6 (Days 26-30): Integration
|
|
2729
|
+
- Integration tests
|
|
2730
|
+
- Performance benchmarks
|
|
2731
|
+
- Documentation
|
|
2732
|
+
|
|
2733
|
+
### Sprint 7 (Current): V3 Skills Improvement - ADR-037 to ADR-041
|
|
2734
|
+
- V3 agent naming standardization
|
|
2735
|
+
- Memory unification with HNSW
|
|
2736
|
+
- MCP optimization with pooling
|
|
2737
|
+
- Agentic-flow deep integration
|
|
2738
|
+
- CLI enhancement
|
|
2739
|
+
|
|
2740
|
+
---
|
|
2741
|
+
|
|
2742
|
+
## ADR-042: V3 QE Token Tracking Integration
|
|
2743
|
+
|
|
2744
|
+
**Status:** Proposed
|
|
2745
|
+
**Date:** 2026-01-11
|
|
2746
|
+
**Decision Makers:** Architecture Team
|
|
2747
|
+
**Source:** Analysis of [agentic-flow](https://github.com/ruvnet/agentic-flow) token tracking capabilities
|
|
2748
|
+
|
|
2749
|
+
### Context
|
|
2750
|
+
|
|
2751
|
+
V3 QE agents lack token consumption tracking and optimization. Analysis of agentic-flow revealed proven mechanisms for -25% token reduction via pattern reuse, caching, and early-exit optimizations.
|
|
2752
|
+
|
|
2753
|
+
### Decision
|
|
2754
|
+
|
|
2755
|
+
Implement comprehensive token tracking and consumption reduction:
|
|
2756
|
+
- Token tracking per task/agent/domain
|
|
2757
|
+
- Pattern reuse for -25% token reduction
|
|
2758
|
+
- MCP tool `token_usage` for analysis
|
|
2759
|
+
- Early-exit optimizer for high-confidence patterns
|
|
2760
|
+
|
|
2761
|
+
**Full ADR:** [ADR-042-v3-qe-token-tracking-integration.md](./ADR-042-v3-qe-token-tracking-integration.md)
|
|
2762
|
+
|
|
2763
|
+
---
|
|
2764
|
+
|
|
2765
|
+
**Document Maintained By:** Architecture Team
|
|
2766
|
+
**Last Updated:** 2026-01-11 (ADR-042 Token Tracking Integration)
|
|
2767
|
+
**Next Review:** After V3 Skills Implementation Complete
|
|
2768
|
+
|
|
2769
|
+
### Current Implementation Stats (2026-01-11)
|
|
2770
|
+
|
|
2771
|
+
| Metric | Count |
|
|
2772
|
+
|--------|-------|
|
|
2773
|
+
| Source Files | 182+ |
|
|
2774
|
+
| Test Files | 91 |
|
|
2775
|
+
| Tests Passing | 2,335 |
|
|
2776
|
+
| ADRs Complete | 35/42 (ADR-020 ongoing, ADR-037-042 proposed) |
|
|
2777
|
+
| RuVector MinCut ADRs | 6 (ADR-030 to ADR-035) |
|
|
2778
|
+
| Result Persistence ADR | 1 (ADR-036) |
|
|
2779
|
+
| V3 Skills Improvement ADRs | 6 (ADR-037 to ADR-042) |
|
|
2780
|
+
| V3 QE Skills | 24 (21 existing + 3 new enhanced) |
|
|
2781
|
+
| Init Module Tests | 73 |
|
|
2782
|
+
| Feedback Module Tests | 101 |
|
|
2783
|
+
| Optimization Module Tests | 103 |
|