agentic-qe 3.3.2 → 3.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/helpers/statusline-v3.cjs +96 -27
- package/README.md +6 -3
- package/package.json +1 -1
- package/scripts/sync-claude-flow.cjs +99 -0
- package/v3/CHANGELOG.md +87 -0
- package/v3/README.md +9 -5
- package/v3/dist/cli/bundle.js +43386 -37651
- package/v3/dist/coordination/consensus/domain-findings.d.ts +202 -0
- package/v3/dist/coordination/consensus/domain-findings.d.ts.map +1 -0
- package/v3/dist/coordination/consensus/domain-findings.js +66 -0
- package/v3/dist/coordination/consensus/domain-findings.js.map +1 -0
- package/v3/dist/coordination/consensus/index.d.ts +2 -0
- package/v3/dist/coordination/consensus/index.d.ts.map +1 -1
- package/v3/dist/coordination/consensus/index.js +4 -0
- package/v3/dist/coordination/consensus/index.js.map +1 -1
- package/v3/dist/coordination/index.d.ts +1 -0
- package/v3/dist/coordination/index.d.ts.map +1 -1
- package/v3/dist/coordination/index.js +4 -0
- package/v3/dist/coordination/index.js.map +1 -1
- package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts +225 -0
- package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts.map +1 -0
- package/v3/dist/coordination/mixins/consensus-enabled-domain.js +466 -0
- package/v3/dist/coordination/mixins/consensus-enabled-domain.js.map +1 -0
- package/v3/dist/coordination/mixins/index.d.ts +14 -0
- package/v3/dist/coordination/mixins/index.d.ts.map +1 -0
- package/v3/dist/coordination/mixins/index.js +28 -0
- package/v3/dist/coordination/mixins/index.js.map +1 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts +227 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts.map +1 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.js +368 -0
- package/v3/dist/coordination/mixins/mincut-aware-domain.js.map +1 -0
- package/v3/dist/coordination/queen-coordinator.d.ts +10 -0
- package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
- package/v3/dist/coordination/queen-coordinator.js +40 -0
- package/v3/dist/coordination/queen-coordinator.js.map +1 -1
- package/v3/dist/coordination/task-executor.d.ts +21 -1
- package/v3/dist/coordination/task-executor.d.ts.map +1 -1
- package/v3/dist/coordination/task-executor.js +222 -5
- package/v3/dist/coordination/task-executor.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/coordinator.d.ts +92 -0
- package/v3/dist/domains/chaos-resilience/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/chaos-resilience/coordinator.js +241 -1
- package/v3/dist/domains/chaos-resilience/coordinator.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/plugin.js +1 -1
- package/v3/dist/domains/chaos-resilience/plugin.js.map +1 -1
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts +29 -2
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts.map +1 -1
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js +62 -3
- package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js.map +1 -1
- package/v3/dist/domains/code-intelligence/coordinator.d.ts +112 -0
- package/v3/dist/domains/code-intelligence/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/code-intelligence/coordinator.js +221 -0
- package/v3/dist/domains/code-intelligence/coordinator.js.map +1 -1
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts +66 -2
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts.map +1 -1
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.js +253 -3
- package/v3/dist/domains/code-intelligence/services/knowledge-graph.js.map +1 -1
- package/v3/dist/domains/contract-testing/coordinator.d.ts +89 -1
- package/v3/dist/domains/contract-testing/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/coordinator.js +222 -1
- package/v3/dist/domains/contract-testing/coordinator.js.map +1 -1
- package/v3/dist/domains/contract-testing/interfaces.d.ts +29 -1
- package/v3/dist/domains/contract-testing/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/plugin.js +1 -1
- package/v3/dist/domains/contract-testing/plugin.js.map +1 -1
- package/v3/dist/domains/contract-testing/services/contract-validator.d.ts +29 -2
- package/v3/dist/domains/contract-testing/services/contract-validator.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/services/contract-validator.js +58 -3
- package/v3/dist/domains/contract-testing/services/contract-validator.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/coordinator.d.ts +95 -2
- package/v3/dist/domains/coverage-analysis/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/coordinator.js +274 -6
- package/v3/dist/domains/coverage-analysis/coordinator.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts +119 -3
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js +267 -5
- package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts +111 -2
- package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/gap-detector.js +231 -3
- package/v3/dist/domains/coverage-analysis/services/gap-detector.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/coordinator.d.ts +80 -1
- package/v3/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/coordinator.js +262 -7
- package/v3/dist/domains/defect-intelligence/coordinator.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/interfaces.d.ts +17 -0
- package/v3/dist/domains/defect-intelligence/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts +91 -2
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.js +274 -7
- package/v3/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts +79 -2
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js +259 -3
- package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js.map +1 -1
- package/v3/dist/domains/domain-interface.d.ts +155 -0
- package/v3/dist/domains/domain-interface.d.ts.map +1 -1
- package/v3/dist/domains/domain-interface.js +140 -0
- package/v3/dist/domains/domain-interface.js.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.d.ts +88 -0
- package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.js +227 -1
- package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
- package/v3/dist/domains/learning-optimization/index.d.ts +1 -1
- package/v3/dist/domains/learning-optimization/index.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/index.js.map +1 -1
- package/v3/dist/domains/learning-optimization/interfaces.d.ts +4 -0
- package/v3/dist/domains/learning-optimization/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/plugin.js +1 -1
- package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts +54 -2
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.js +90 -3
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.d.ts +104 -0
- package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.js +354 -6
- package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
- package/v3/dist/domains/quality-assessment/interfaces.d.ts +22 -0
- package/v3/dist/domains/quality-assessment/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts +61 -2
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.js +213 -5
- package/v3/dist/domains/quality-assessment/services/deployment-advisor.js.map +1 -1
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts +59 -4
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.js +195 -3
- package/v3/dist/domains/quality-assessment/services/quality-analyzer.js.map +1 -1
- package/v3/dist/domains/requirements-validation/coordinator.d.ts +78 -0
- package/v3/dist/domains/requirements-validation/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/coordinator.js +189 -0
- package/v3/dist/domains/requirements-validation/coordinator.js.map +1 -1
- package/v3/dist/domains/requirements-validation/interfaces.d.ts +4 -0
- package/v3/dist/domains/requirements-validation/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts +106 -2
- package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts.map +1 -1
- package/v3/dist/domains/requirements-validation/services/requirements-validator.js +263 -3
- package/v3/dist/domains/requirements-validation/services/requirements-validator.js.map +1 -1
- package/v3/dist/domains/security-compliance/coordinator.d.ts +56 -1
- package/v3/dist/domains/security-compliance/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/coordinator.js +241 -17
- package/v3/dist/domains/security-compliance/coordinator.js.map +1 -1
- package/v3/dist/domains/security-compliance/interfaces.d.ts +2 -0
- package/v3/dist/domains/security-compliance/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/services/security-scanner.d.ts +33 -2
- package/v3/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -1
- package/v3/dist/domains/security-compliance/services/security-scanner.js +107 -3
- package/v3/dist/domains/security-compliance/services/security-scanner.js.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.d.ts +89 -0
- package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.js +259 -2
- package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
- package/v3/dist/domains/test-execution/services/test-executor.d.ts +30 -2
- package/v3/dist/domains/test-execution/services/test-executor.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/test-executor.js +64 -3
- package/v3/dist/domains/test-execution/services/test-executor.js.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.d.ts +97 -0
- package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.js +237 -0
- package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/interfaces.d.ts +2 -0
- package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/test-generator.d.ts +32 -0
- package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/test-generator.js +158 -3
- package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/coordinator.d.ts +77 -0
- package/v3/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/coordinator.js +210 -2
- package/v3/dist/domains/visual-accessibility/coordinator.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/plugin.js +3 -3
- package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts +47 -2
- package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts.map +1 -1
- package/v3/dist/domains/visual-accessibility/services/visual-tester.js +87 -3
- package/v3/dist/domains/visual-accessibility/services/visual-tester.js.map +1 -1
- package/v3/dist/learning/experience-capture-middleware.d.ts +119 -0
- package/v3/dist/learning/experience-capture-middleware.d.ts.map +1 -0
- package/v3/dist/learning/experience-capture-middleware.js +416 -0
- package/v3/dist/learning/experience-capture-middleware.js.map +1 -0
- package/v3/dist/mcp/bundle.js +60723 -54421
- package/v3/dist/mcp/handlers/domain-handlers.d.ts +12 -13
- package/v3/dist/mcp/handlers/domain-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/index.d.ts +1 -1
- package/v3/dist/mcp/handlers/index.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/index.js +2 -2
- package/v3/dist/mcp/handlers/index.js.map +1 -1
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts +30 -0
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts.map +1 -0
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.js +75 -0
- package/v3/dist/mcp/handlers/wrapped-domain-handlers.js.map +1 -0
- package/v3/dist/mcp/tools/chaos-resilience/inject.js +1 -1
- package/v3/dist/mcp/tools/chaos-resilience/inject.js.map +1 -1
- package/v3/dist/mcp/tools/contract-testing/validate.js +1 -1
- package/v3/dist/mcp/tools/contract-testing/validate.js.map +1 -1
- package/v3/dist/mcp/tools/learning-optimization/optimize.js +1 -1
- package/v3/dist/mcp/tools/learning-optimization/optimize.js.map +1 -1
- package/v3/dist/mcp/tools/visual-accessibility/index.js +2 -2
- package/v3/dist/mcp/tools/visual-accessibility/index.js.map +1 -1
- package/v3/dist/routing/qe-agent-registry.d.ts +1 -1
- package/v3/dist/routing/qe-agent-registry.d.ts.map +1 -1
- package/v3/dist/routing/qe-agent-registry.js +20 -1
- package/v3/dist/routing/qe-agent-registry.js.map +1 -1
- package/v3/dist/sync/claude-flow-bridge.d.ts +63 -0
- package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -0
- package/v3/dist/sync/claude-flow-bridge.js +320 -0
- package/v3/dist/sync/claude-flow-bridge.js.map +1 -0
- package/v3/package.json +1 -1
|
@@ -9,6 +9,24 @@ import { CoverageAnalyzerService, GapDetectorService, RiskScorerService, } from
|
|
|
9
9
|
import { QLearningAlgorithm } from '../../integrations/rl-suite/algorithms/q-learning';
|
|
10
10
|
import { COVERAGE_REWARDS } from '../../integrations/rl-suite/interfaces';
|
|
11
11
|
// ============================================================================
|
|
12
|
+
// MinCut & Consensus Mixin Imports (ADR-047, MM-001)
|
|
13
|
+
// ============================================================================
|
|
14
|
+
import { createMinCutAwareMixin, } from '../../coordination/mixins/mincut-aware-domain';
|
|
15
|
+
import { createConsensusEnabledMixin, } from '../../coordination/mixins/consensus-enabled-domain';
|
|
16
|
+
import { createDomainFinding, } from '../../coordination/consensus/domain-findings';
|
|
17
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
18
|
+
const DEFAULT_CONFIG = {
|
|
19
|
+
// MinCut integration defaults (ADR-047)
|
|
20
|
+
enableMinCutAwareness: true,
|
|
21
|
+
topologyHealthThreshold: 0.5,
|
|
22
|
+
pauseOnCriticalTopology: false,
|
|
23
|
+
// Consensus integration defaults (MM-001)
|
|
24
|
+
enableConsensus: true,
|
|
25
|
+
consensusThreshold: 0.7,
|
|
26
|
+
consensusStrategy: 'weighted',
|
|
27
|
+
consensusMinModels: 2,
|
|
28
|
+
};
|
|
29
|
+
// ============================================================================
|
|
12
30
|
// Coordinator Implementation
|
|
13
31
|
// ============================================================================
|
|
14
32
|
export class CoverageAnalysisCoordinator {
|
|
@@ -19,6 +37,14 @@ export class CoverageAnalysisCoordinator {
|
|
|
19
37
|
riskScorer;
|
|
20
38
|
qLearning;
|
|
21
39
|
_initialized = false;
|
|
40
|
+
// MinCut topology awareness mixin (ADR-047)
|
|
41
|
+
minCutMixin;
|
|
42
|
+
// Consensus verification mixin (MM-001)
|
|
43
|
+
consensusMixin;
|
|
44
|
+
// Domain identifier for mixin initialization
|
|
45
|
+
domainName = 'coverage-analysis';
|
|
46
|
+
// Coordinator configuration
|
|
47
|
+
config;
|
|
22
48
|
qlConfig = {
|
|
23
49
|
stateSize: 12,
|
|
24
50
|
actionSize: 4,
|
|
@@ -27,9 +53,27 @@ export class CoverageAnalysisCoordinator {
|
|
|
27
53
|
minReplaySize: 50,
|
|
28
54
|
doubleDQN: true,
|
|
29
55
|
};
|
|
30
|
-
constructor(eventBus, memory) {
|
|
56
|
+
constructor(eventBus, memory, config = {}) {
|
|
31
57
|
this.eventBus = eventBus;
|
|
32
58
|
this.memory = memory;
|
|
59
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
60
|
+
// Initialize MinCut-aware mixin (ADR-047)
|
|
61
|
+
this.minCutMixin = createMinCutAwareMixin(this.domainName, {
|
|
62
|
+
enableMinCutAwareness: this.config.enableMinCutAwareness,
|
|
63
|
+
topologyHealthThreshold: this.config.topologyHealthThreshold,
|
|
64
|
+
pauseOnCriticalTopology: this.config.pauseOnCriticalTopology,
|
|
65
|
+
});
|
|
66
|
+
// Initialize Consensus-enabled mixin (MM-001)
|
|
67
|
+
this.consensusMixin = createConsensusEnabledMixin({
|
|
68
|
+
enableConsensus: this.config.enableConsensus,
|
|
69
|
+
consensusThreshold: this.config.consensusThreshold,
|
|
70
|
+
verifyFindingTypes: ['coverage-gap', 'risk-zone', 'quality-regression'],
|
|
71
|
+
strategy: this.config.consensusStrategy,
|
|
72
|
+
minModels: this.config.consensusMinModels,
|
|
73
|
+
modelTimeout: 60000,
|
|
74
|
+
verifySeverities: ['critical', 'high'],
|
|
75
|
+
enableLogging: false,
|
|
76
|
+
});
|
|
33
77
|
this.coverageAnalyzer = new CoverageAnalyzerService(memory);
|
|
34
78
|
this.gapDetector = new GapDetectorService(memory);
|
|
35
79
|
this.riskScorer = new RiskScorerService(memory);
|
|
@@ -43,12 +87,32 @@ export class CoverageAnalysisCoordinator {
|
|
|
43
87
|
if (this._initialized)
|
|
44
88
|
return;
|
|
45
89
|
// Services are stateless, no initialization needed
|
|
90
|
+
// Initialize Consensus engine if enabled (MM-001)
|
|
91
|
+
if (this.config.enableConsensus) {
|
|
92
|
+
try {
|
|
93
|
+
await this.consensusMixin.initializeConsensus();
|
|
94
|
+
console.log(`[${this.domainName}] Consensus engine initialized`);
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
console.error(`[${this.domainName}] Failed to initialize consensus engine:`, error);
|
|
98
|
+
console.warn(`[${this.domainName}] Continuing without consensus verification`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
46
101
|
this._initialized = true;
|
|
47
102
|
}
|
|
48
103
|
/**
|
|
49
104
|
* Dispose resources
|
|
50
105
|
*/
|
|
51
106
|
async dispose() {
|
|
107
|
+
// Dispose Consensus engine (MM-001)
|
|
108
|
+
try {
|
|
109
|
+
await this.consensusMixin.disposeConsensus();
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
console.error(`[${this.domainName}] Error disposing consensus engine:`, error);
|
|
113
|
+
}
|
|
114
|
+
// Dispose MinCut mixin (ADR-047)
|
|
115
|
+
this.minCutMixin.dispose();
|
|
52
116
|
this._initialized = false;
|
|
53
117
|
}
|
|
54
118
|
// ============================================================================
|
|
@@ -317,9 +381,18 @@ export class CoverageAnalysisCoordinator {
|
|
|
317
381
|
// ============================================================================
|
|
318
382
|
/**
|
|
319
383
|
* Analyze coverage report and publish results
|
|
384
|
+
* Enhanced with topology awareness per ADR-047
|
|
320
385
|
*/
|
|
321
386
|
async analyze(request) {
|
|
322
387
|
try {
|
|
388
|
+
// ADR-047: Check topology health before expensive analysis
|
|
389
|
+
if (this.config.enableMinCutAwareness && !this.isTopologyHealthy()) {
|
|
390
|
+
console.warn(`[${this.domainName}] Topology degraded, using conservative analysis mode`);
|
|
391
|
+
}
|
|
392
|
+
// ADR-047: Check if operations should be paused due to critical topology
|
|
393
|
+
if (this.minCutMixin.shouldPauseOperations()) {
|
|
394
|
+
return err(new Error('Coverage analysis paused: topology is in critical state'));
|
|
395
|
+
}
|
|
323
396
|
const result = await this.coverageAnalyzer.analyze(request);
|
|
324
397
|
if (result.success) {
|
|
325
398
|
// Publish coverage report event
|
|
@@ -333,13 +406,42 @@ export class CoverageAnalysisCoordinator {
|
|
|
333
406
|
}
|
|
334
407
|
/**
|
|
335
408
|
* Detect coverage gaps using O(log n) vector search
|
|
409
|
+
* Enhanced with topology awareness per ADR-047
|
|
410
|
+
* Enhanced with consensus verification per MM-001
|
|
336
411
|
*/
|
|
337
412
|
async detectGaps(request) {
|
|
338
413
|
try {
|
|
414
|
+
// ADR-047: Check topology health before gap detection
|
|
415
|
+
if (this.config.enableMinCutAwareness && !this.isTopologyHealthy()) {
|
|
416
|
+
console.warn(`[${this.domainName}] Topology degraded, using conservative gap detection`);
|
|
417
|
+
}
|
|
418
|
+
// ADR-047: Check if operations should be paused due to critical topology
|
|
419
|
+
if (this.minCutMixin.shouldPauseOperations()) {
|
|
420
|
+
return err(new Error('Gap detection paused: topology is in critical state'));
|
|
421
|
+
}
|
|
339
422
|
const result = await this.gapDetector.detectGaps(request);
|
|
340
423
|
if (result.success) {
|
|
341
|
-
//
|
|
342
|
-
|
|
424
|
+
// MM-001: Verify high-risk gaps using consensus
|
|
425
|
+
const verifiedGaps = [];
|
|
426
|
+
for (const gap of result.value.gaps) {
|
|
427
|
+
// Only verify high-severity gaps with consensus
|
|
428
|
+
if (this.config.enableConsensus && (gap.severity === 'critical' || gap.severity === 'high')) {
|
|
429
|
+
const confidence = Math.min(0.95, gap.riskScore / 10 + 0.3);
|
|
430
|
+
const isVerified = await this.verifyCoverageGap(gap, confidence);
|
|
431
|
+
if (!isVerified) {
|
|
432
|
+
console.log(`[${this.domainName}] Coverage gap in '${gap.file}' not verified, skipping publication`);
|
|
433
|
+
continue;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
verifiedGaps.push(gap);
|
|
437
|
+
}
|
|
438
|
+
// Publish gap detection events for verified high-risk gaps
|
|
439
|
+
await this.publishGapEvents(verifiedGaps);
|
|
440
|
+
// Return result with verified gaps
|
|
441
|
+
return ok({
|
|
442
|
+
...result.value,
|
|
443
|
+
gaps: verifiedGaps,
|
|
444
|
+
});
|
|
343
445
|
}
|
|
344
446
|
return result;
|
|
345
447
|
}
|
|
@@ -349,13 +451,36 @@ export class CoverageAnalysisCoordinator {
|
|
|
349
451
|
}
|
|
350
452
|
/**
|
|
351
453
|
* Calculate risk score for uncovered code
|
|
454
|
+
* Enhanced with consensus verification per MM-001 for high-risk zones
|
|
352
455
|
*/
|
|
353
456
|
async calculateRisk(request) {
|
|
354
457
|
try {
|
|
458
|
+
// ADR-047: Check if operations should be paused due to critical topology
|
|
459
|
+
if (this.minCutMixin.shouldPauseOperations()) {
|
|
460
|
+
return err(new Error('Risk calculation paused: topology is in critical state'));
|
|
461
|
+
}
|
|
355
462
|
const result = await this.riskScorer.calculateRisk(request);
|
|
356
|
-
if (result.success
|
|
357
|
-
//
|
|
358
|
-
|
|
463
|
+
if (result.success) {
|
|
464
|
+
// MM-001: Verify critical risk zones using consensus
|
|
465
|
+
if (this.config.enableConsensus && (result.value.riskLevel === 'critical' || result.value.riskLevel === 'high')) {
|
|
466
|
+
const isVerified = await this.verifyRiskZone({
|
|
467
|
+
file: result.value.file,
|
|
468
|
+
riskScore: result.value.overallRisk,
|
|
469
|
+
factors: result.value.factors.map(f => ({ name: f.name, weight: f.contribution })),
|
|
470
|
+
}, Math.min(0.95, result.value.overallRisk / 10 + 0.5));
|
|
471
|
+
if (!isVerified) {
|
|
472
|
+
console.warn(`[${this.domainName}] Risk zone '${result.value.file}' not verified, downgrading severity`);
|
|
473
|
+
// Downgrade the risk level if not verified
|
|
474
|
+
return ok({
|
|
475
|
+
...result.value,
|
|
476
|
+
riskLevel: result.value.riskLevel === 'critical' ? 'high' : 'medium',
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
if (result.value.riskLevel === 'critical') {
|
|
481
|
+
// Publish risk zone identified event for verified critical risks
|
|
482
|
+
await this.publishRiskZoneEvent(result.value);
|
|
483
|
+
}
|
|
359
484
|
}
|
|
360
485
|
return result;
|
|
361
486
|
}
|
|
@@ -618,5 +743,148 @@ export class CoverageAnalysisCoordinator {
|
|
|
618
743
|
return 0;
|
|
619
744
|
}
|
|
620
745
|
}
|
|
746
|
+
// ============================================================================
|
|
747
|
+
// MinCut Integration Methods (ADR-047)
|
|
748
|
+
// ============================================================================
|
|
749
|
+
/**
|
|
750
|
+
* Set the MinCut bridge for topology awareness
|
|
751
|
+
*/
|
|
752
|
+
setMinCutBridge(bridge) {
|
|
753
|
+
this.minCutMixin.setMinCutBridge(bridge);
|
|
754
|
+
console.log(`[${this.domainName}] MinCut bridge connected for topology awareness`);
|
|
755
|
+
}
|
|
756
|
+
/**
|
|
757
|
+
* Check if topology is healthy
|
|
758
|
+
*/
|
|
759
|
+
isTopologyHealthy() {
|
|
760
|
+
return this.minCutMixin.isTopologyHealthy();
|
|
761
|
+
}
|
|
762
|
+
/**
|
|
763
|
+
* Get topology-based routing excluding weak domains
|
|
764
|
+
* Per ADR-047: Filters out domains that are currently weak points
|
|
765
|
+
*
|
|
766
|
+
* @param targetDomains - List of potential target domains
|
|
767
|
+
* @returns Filtered list of healthy domains for routing
|
|
768
|
+
*/
|
|
769
|
+
getTopologyBasedRouting(targetDomains) {
|
|
770
|
+
return this.minCutMixin.getTopologyBasedRouting(targetDomains);
|
|
771
|
+
}
|
|
772
|
+
/**
|
|
773
|
+
* Get weak vertices belonging to this domain
|
|
774
|
+
* Per ADR-047: Identifies agents that are single points of failure
|
|
775
|
+
*/
|
|
776
|
+
getDomainWeakVertices() {
|
|
777
|
+
return this.minCutMixin.getDomainWeakVertices();
|
|
778
|
+
}
|
|
779
|
+
/**
|
|
780
|
+
* Check if this domain is a weak point in the topology
|
|
781
|
+
* Per ADR-047: Returns true if any weak vertex belongs to coverage-analysis domain
|
|
782
|
+
*/
|
|
783
|
+
isDomainWeakPoint() {
|
|
784
|
+
return this.minCutMixin.isDomainWeakPoint();
|
|
785
|
+
}
|
|
786
|
+
// ============================================================================
|
|
787
|
+
// Consensus Integration Methods (MM-001)
|
|
788
|
+
// ============================================================================
|
|
789
|
+
/**
|
|
790
|
+
* Check if consensus engine is available
|
|
791
|
+
*/
|
|
792
|
+
isConsensusAvailable() {
|
|
793
|
+
return this.consensusMixin.isConsensusAvailable?.() ?? false;
|
|
794
|
+
}
|
|
795
|
+
/**
|
|
796
|
+
* Get consensus statistics
|
|
797
|
+
* Per MM-001: Returns metrics about consensus verification
|
|
798
|
+
*/
|
|
799
|
+
getConsensusStats() {
|
|
800
|
+
return this.consensusMixin.getConsensusStats();
|
|
801
|
+
}
|
|
802
|
+
/**
|
|
803
|
+
* Verify coverage gap detection using multi-model consensus
|
|
804
|
+
* Per MM-001: Coverage gap detection is a high-stakes decision affecting test priorities
|
|
805
|
+
*
|
|
806
|
+
* @param gap - The coverage gap to verify
|
|
807
|
+
* @param confidence - Initial confidence in the gap detection
|
|
808
|
+
* @returns true if the gap is verified or doesn't require consensus
|
|
809
|
+
*/
|
|
810
|
+
async verifyCoverageGap(gap, confidence) {
|
|
811
|
+
const finding = createDomainFinding({
|
|
812
|
+
id: uuidv4(),
|
|
813
|
+
type: 'coverage-gap',
|
|
814
|
+
confidence,
|
|
815
|
+
description: `Verify coverage gap in ${gap.file}: ${gap.lines.length} uncovered lines, ${gap.branches.length} uncovered branches`,
|
|
816
|
+
payload: gap,
|
|
817
|
+
detectedBy: 'coverage-analysis-coordinator',
|
|
818
|
+
severity: gap.severity,
|
|
819
|
+
});
|
|
820
|
+
if (this.consensusMixin.requiresConsensus(finding)) {
|
|
821
|
+
const result = await this.consensusMixin.verifyFinding(finding);
|
|
822
|
+
if (result.success && result.value.verdict === 'verified') {
|
|
823
|
+
console.log(`[${this.domainName}] Coverage gap in '${gap.file}' verified by consensus`);
|
|
824
|
+
return true;
|
|
825
|
+
}
|
|
826
|
+
console.warn(`[${this.domainName}] Coverage gap in '${gap.file}' NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
|
|
827
|
+
return false;
|
|
828
|
+
}
|
|
829
|
+
return true; // No consensus needed
|
|
830
|
+
}
|
|
831
|
+
/**
|
|
832
|
+
* Verify risk zone classification using multi-model consensus
|
|
833
|
+
* Per MM-001: Risk zone classification affects deployment and testing decisions
|
|
834
|
+
*
|
|
835
|
+
* @param zone - The risk zone to verify
|
|
836
|
+
* @param confidence - Initial confidence in the classification
|
|
837
|
+
* @returns true if the classification is verified or doesn't require consensus
|
|
838
|
+
*/
|
|
839
|
+
async verifyRiskZone(zone, confidence) {
|
|
840
|
+
const finding = createDomainFinding({
|
|
841
|
+
id: uuidv4(),
|
|
842
|
+
type: 'risk-zone',
|
|
843
|
+
confidence,
|
|
844
|
+
description: `Verify risk zone: ${zone.file} with risk score ${zone.riskScore.toFixed(2)}`,
|
|
845
|
+
payload: zone,
|
|
846
|
+
detectedBy: 'coverage-analysis-coordinator',
|
|
847
|
+
severity: zone.riskScore >= 0.8 ? 'critical' : zone.riskScore >= 0.5 ? 'high' : 'medium',
|
|
848
|
+
});
|
|
849
|
+
if (this.consensusMixin.requiresConsensus(finding)) {
|
|
850
|
+
const result = await this.consensusMixin.verifyFinding(finding);
|
|
851
|
+
if (result.success && result.value.verdict === 'verified') {
|
|
852
|
+
console.log(`[${this.domainName}] Risk zone '${zone.file}' classification verified by consensus`);
|
|
853
|
+
return true;
|
|
854
|
+
}
|
|
855
|
+
console.warn(`[${this.domainName}] Risk zone '${zone.file}' classification NOT verified`);
|
|
856
|
+
return false;
|
|
857
|
+
}
|
|
858
|
+
return true; // No consensus needed
|
|
859
|
+
}
|
|
860
|
+
/**
|
|
861
|
+
* Verify quality regression detection using multi-model consensus
|
|
862
|
+
* Per MM-001: Quality regressions trigger alerts and may block deployments
|
|
863
|
+
*
|
|
864
|
+
* @param regression - The quality regression to verify
|
|
865
|
+
* @param confidence - Initial confidence in the regression detection
|
|
866
|
+
* @returns true if the regression is verified or doesn't require consensus
|
|
867
|
+
*/
|
|
868
|
+
async verifyQualityRegression(regression, confidence) {
|
|
869
|
+
const finding = createDomainFinding({
|
|
870
|
+
id: uuidv4(),
|
|
871
|
+
type: 'quality-regression',
|
|
872
|
+
confidence,
|
|
873
|
+
description: `Verify quality regression: ${regression.metric} dropped from ${regression.previousValue.toFixed(1)}% to ${regression.currentValue.toFixed(1)}% (threshold: ${regression.threshold}%)`,
|
|
874
|
+
payload: regression,
|
|
875
|
+
detectedBy: 'coverage-analysis-coordinator',
|
|
876
|
+
severity: 'critical', // Quality regressions are always critical
|
|
877
|
+
});
|
|
878
|
+
if (this.consensusMixin.requiresConsensus(finding)) {
|
|
879
|
+
const result = await this.consensusMixin.verifyFinding(finding);
|
|
880
|
+
if (result.success && result.value.verdict === 'verified') {
|
|
881
|
+
console.log(`[${this.domainName}] Quality regression verified by consensus`);
|
|
882
|
+
return true;
|
|
883
|
+
}
|
|
884
|
+
console.warn(`[${this.domainName}] Quality regression NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
|
|
885
|
+
return false;
|
|
886
|
+
}
|
|
887
|
+
return true; // No consensus needed
|
|
888
|
+
}
|
|
621
889
|
}
|
|
622
890
|
//# sourceMappingURL=coordinator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/domains/coverage-analysis/coordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/domains/coverage-analysis/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agentic QE v3 - Coverage Analyzer Service
|
|
3
3
|
* Implements ICoverageAnalysisService with O(log n) vector-based analysis
|
|
4
|
+
*
|
|
5
|
+
* ADR-051: LLM-powered coverage analysis for intelligent gap detection
|
|
4
6
|
*/
|
|
5
7
|
import { Result } from '../../../shared/types';
|
|
6
8
|
import { MemoryBackend } from '../../../kernel/interfaces';
|
|
7
|
-
import { AnalyzeCoverageRequest, CoverageReport, CoverageData, CoverageSummary, CoverageGaps } from '../interfaces';
|
|
9
|
+
import { AnalyzeCoverageRequest, CoverageReport, CoverageData, CoverageSummary, CoverageGaps, CoverageGap } from '../interfaces';
|
|
10
|
+
import type { HybridRouter } from '../../../shared/llm';
|
|
8
11
|
export interface ICoverageAnalysisService {
|
|
9
12
|
/** Analyze coverage from reports */
|
|
10
13
|
analyze(request: AnalyzeCoverageRequest): Promise<Result<CoverageReport, Error>>;
|
|
@@ -13,11 +16,69 @@ export interface ICoverageAnalysisService {
|
|
|
13
16
|
/** Calculate coverage metrics */
|
|
14
17
|
calculateMetrics(coverageData: CoverageData): CoverageSummary;
|
|
15
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Configuration for the coverage analyzer
|
|
21
|
+
*/
|
|
22
|
+
export interface CoverageAnalyzerConfig {
|
|
23
|
+
/** Default coverage threshold percentage */
|
|
24
|
+
defaultThreshold: number;
|
|
25
|
+
/** ADR-051: Enable LLM-powered coverage analysis */
|
|
26
|
+
enableLLMAnalysis?: boolean;
|
|
27
|
+
/** ADR-051: Model tier for LLM calls (1=Haiku, 2=Sonnet, 4=Opus) */
|
|
28
|
+
llmModelTier?: number;
|
|
29
|
+
/** ADR-051: Max tokens for LLM responses */
|
|
30
|
+
llmMaxTokens?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Dependencies for CoverageAnalyzerService
|
|
34
|
+
* Enables dependency injection and testing
|
|
35
|
+
*/
|
|
36
|
+
export interface CoverageAnalyzerDependencies {
|
|
37
|
+
memory: MemoryBackend;
|
|
38
|
+
/** ADR-051: Optional LLM router for AI-enhanced coverage analysis */
|
|
39
|
+
llmRouter?: HybridRouter;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* LLM-generated coverage insights
|
|
43
|
+
* ADR-051: Structured analysis results from LLM
|
|
44
|
+
*/
|
|
45
|
+
export interface CoverageInsights {
|
|
46
|
+
/** Explanation of why code is uncovered */
|
|
47
|
+
uncoveredReasoning: string[];
|
|
48
|
+
/** Suggested test cases to cover gaps */
|
|
49
|
+
suggestedTestCases: SuggestedTestCase[];
|
|
50
|
+
/** Risk assessment for uncovered paths */
|
|
51
|
+
riskAssessment: RiskAssessment;
|
|
52
|
+
}
|
|
53
|
+
export interface SuggestedTestCase {
|
|
54
|
+
name: string;
|
|
55
|
+
description: string;
|
|
56
|
+
type: 'unit' | 'integration' | 'edge-case';
|
|
57
|
+
targetLines: number[];
|
|
58
|
+
estimatedEffort: 'low' | 'medium' | 'high';
|
|
59
|
+
}
|
|
60
|
+
export interface RiskAssessment {
|
|
61
|
+
overallRisk: 'low' | 'medium' | 'high' | 'critical';
|
|
62
|
+
riskFactors: string[];
|
|
63
|
+
businessImpact: string;
|
|
64
|
+
recommendations: string[];
|
|
65
|
+
}
|
|
16
66
|
export declare class CoverageAnalyzerService implements ICoverageAnalysisService {
|
|
17
|
-
private readonly memory;
|
|
18
67
|
private static readonly DEFAULT_THRESHOLD;
|
|
19
68
|
private static readonly VECTOR_DIMENSION;
|
|
20
|
-
|
|
69
|
+
private readonly memory;
|
|
70
|
+
private readonly config;
|
|
71
|
+
private readonly llmRouter?;
|
|
72
|
+
/**
|
|
73
|
+
* Constructor with backward compatibility support
|
|
74
|
+
* @param memoryOrDependencies - Either a MemoryBackend (legacy) or CoverageAnalyzerDependencies
|
|
75
|
+
* @param config - Optional configuration overrides
|
|
76
|
+
*/
|
|
77
|
+
constructor(memoryOrDependencies: MemoryBackend | CoverageAnalyzerDependencies, config?: Partial<CoverageAnalyzerConfig>);
|
|
78
|
+
/**
|
|
79
|
+
* Type guard to check if input is a MemoryBackend
|
|
80
|
+
*/
|
|
81
|
+
private isMemoryBackend;
|
|
21
82
|
/**
|
|
22
83
|
* Analyze coverage from reports
|
|
23
84
|
*/
|
|
@@ -31,6 +92,43 @@ export declare class CoverageAnalyzerService implements ICoverageAnalysisService
|
|
|
31
92
|
* Calculate coverage metrics from raw data
|
|
32
93
|
*/
|
|
33
94
|
calculateMetrics(coverageData: CoverageData): CoverageSummary;
|
|
95
|
+
/**
|
|
96
|
+
* Check if LLM analysis is available and enabled
|
|
97
|
+
*/
|
|
98
|
+
isLLMAnalysisAvailable(): boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Get model ID for the configured tier
|
|
101
|
+
*/
|
|
102
|
+
private getModelForTier;
|
|
103
|
+
/**
|
|
104
|
+
* Analyze coverage gaps using LLM for intelligent insights
|
|
105
|
+
* ADR-051: Provides explanations, test suggestions, and risk assessment
|
|
106
|
+
*
|
|
107
|
+
* @param gaps - Coverage gaps to analyze
|
|
108
|
+
* @param sourceCode - Source code content (optional, for deeper analysis)
|
|
109
|
+
* @returns LLM-generated coverage insights
|
|
110
|
+
*/
|
|
111
|
+
analyzeCoverageWithLLM(gaps: CoverageGap[], sourceCode?: string): Promise<CoverageInsights>;
|
|
112
|
+
/**
|
|
113
|
+
* Build the prompt for LLM coverage analysis
|
|
114
|
+
*/
|
|
115
|
+
private buildCoverageAnalysisPrompt;
|
|
116
|
+
/**
|
|
117
|
+
* Parse LLM response into CoverageInsights structure
|
|
118
|
+
*/
|
|
119
|
+
private parseInsightsResponse;
|
|
120
|
+
/**
|
|
121
|
+
* Normalize a suggested test case to ensure valid structure
|
|
122
|
+
*/
|
|
123
|
+
private normalizeTestCase;
|
|
124
|
+
/**
|
|
125
|
+
* Normalize risk assessment to ensure valid structure
|
|
126
|
+
*/
|
|
127
|
+
private normalizeRiskAssessment;
|
|
128
|
+
/**
|
|
129
|
+
* Get default insights when LLM is unavailable
|
|
130
|
+
*/
|
|
131
|
+
private getDefaultInsights;
|
|
34
132
|
private calculateOverallCoverage;
|
|
35
133
|
private calculateFileCoveragePercentage;
|
|
36
134
|
private calculateFileRiskScore;
|
|
@@ -46,4 +144,22 @@ export declare class CoverageAnalyzerService implements ICoverageAnalysisService
|
|
|
46
144
|
private generateGapId;
|
|
47
145
|
private estimateEffort;
|
|
48
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Create a CoverageAnalyzerService instance with default dependencies
|
|
149
|
+
* Maintains backward compatibility with existing code
|
|
150
|
+
*
|
|
151
|
+
* @param memory - Memory backend for vector storage and caching
|
|
152
|
+
* @param config - Optional configuration overrides
|
|
153
|
+
* @returns Configured CoverageAnalyzerService instance
|
|
154
|
+
*/
|
|
155
|
+
export declare function createCoverageAnalyzerService(memory: MemoryBackend, config?: Partial<CoverageAnalyzerConfig>): CoverageAnalyzerService;
|
|
156
|
+
/**
|
|
157
|
+
* Create a CoverageAnalyzerService instance with custom dependencies
|
|
158
|
+
* Used for testing or when LLM integration is needed
|
|
159
|
+
*
|
|
160
|
+
* @param dependencies - All service dependencies including optional LLM router
|
|
161
|
+
* @param config - Optional configuration overrides
|
|
162
|
+
* @returns Configured CoverageAnalyzerService instance
|
|
163
|
+
*/
|
|
164
|
+
export declare function createCoverageAnalyzerServiceWithDependencies(dependencies: CoverageAnalyzerDependencies, config?: Partial<CoverageAnalyzerConfig>): CoverageAnalyzerService;
|
|
49
165
|
//# sourceMappingURL=coverage-analyzer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-analyzer.d.ts","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/coverage-analyzer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"coverage-analyzer.d.ts","sourceRoot":"","sources":["../../../../src/domains/coverage-analysis/services/coverage-analyzer.ts"],"names":[],"mappings":"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"}
|