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
|
@@ -14,6 +14,10 @@ import { CodeIntelligenceAPI, IndexRequest, IndexResult, SearchRequest, SearchRe
|
|
|
14
14
|
import { type IMetricCollectorService, type ProjectMetrics } from './services/metric-collector/index.js';
|
|
15
15
|
import { HypergraphEngine, type BuildResult as HypergraphBuildResult, type CodeIndexResult } from '../../integrations/ruvector/hypergraph-engine.js';
|
|
16
16
|
import { type HypergraphNode } from '../../integrations/ruvector/hypergraph-schema.js';
|
|
17
|
+
import type { QueenMinCutBridge } from '../../coordination/mincut/queen-integration';
|
|
18
|
+
import type { WeakVertex } from '../../coordination/mincut/interfaces';
|
|
19
|
+
import type { ConsensusStats } from '../../coordination/mixins/consensus-enabled-domain';
|
|
20
|
+
import type { DomainName } from '../../shared/types';
|
|
17
21
|
/**
|
|
18
22
|
* Interface for the code intelligence coordinator
|
|
19
23
|
*/
|
|
@@ -64,6 +68,29 @@ export interface ICodeIntelligenceCoordinator extends CodeIntelligenceAPI {
|
|
|
64
68
|
* V3: Check if hypergraph is enabled and initialized
|
|
65
69
|
*/
|
|
66
70
|
isHypergraphEnabled(): boolean;
|
|
71
|
+
setMinCutBridge(bridge: QueenMinCutBridge): void;
|
|
72
|
+
isTopologyHealthy(): boolean;
|
|
73
|
+
getDomainWeakVertices(): WeakVertex[];
|
|
74
|
+
isDomainWeakPoint(): boolean;
|
|
75
|
+
getTopologyBasedRouting(targetDomains: DomainName[]): DomainName[];
|
|
76
|
+
isConsensusAvailable(): boolean;
|
|
77
|
+
getConsensusStats(): ConsensusStats | undefined;
|
|
78
|
+
verifyCodePatternDetection(pattern: {
|
|
79
|
+
id: string;
|
|
80
|
+
name: string;
|
|
81
|
+
type: string;
|
|
82
|
+
location: string;
|
|
83
|
+
}, confidence: number): Promise<boolean>;
|
|
84
|
+
verifyImpactAnalysis(impact: {
|
|
85
|
+
changedFiles: string[];
|
|
86
|
+
riskLevel: string;
|
|
87
|
+
impactedTests: string[];
|
|
88
|
+
}, confidence: number): Promise<boolean>;
|
|
89
|
+
verifyDependencyMapping(dependency: {
|
|
90
|
+
source: string;
|
|
91
|
+
targets: string[];
|
|
92
|
+
type: string;
|
|
93
|
+
}, confidence: number): Promise<boolean>;
|
|
67
94
|
}
|
|
68
95
|
/**
|
|
69
96
|
* Workflow status tracking
|
|
@@ -91,6 +118,13 @@ export interface CoordinatorConfig {
|
|
|
91
118
|
enableMetricCollector: boolean;
|
|
92
119
|
enableHypergraph: boolean;
|
|
93
120
|
hypergraphDbPath?: string;
|
|
121
|
+
enableMinCutAwareness: boolean;
|
|
122
|
+
topologyHealthThreshold: number;
|
|
123
|
+
pauseOnCriticalTopology: boolean;
|
|
124
|
+
enableConsensus: boolean;
|
|
125
|
+
consensusThreshold: number;
|
|
126
|
+
consensusStrategy: 'majority' | 'weighted' | 'unanimous';
|
|
127
|
+
consensusMinModels: number;
|
|
94
128
|
}
|
|
95
129
|
/**
|
|
96
130
|
* Code Intelligence Coordinator
|
|
@@ -114,6 +148,9 @@ export declare class CodeIntelligenceCoordinator implements ICodeIntelligenceCoo
|
|
|
114
148
|
private hypergraph?;
|
|
115
149
|
private hypergraphDb?;
|
|
116
150
|
private productFactorsBridge;
|
|
151
|
+
private readonly minCutMixin;
|
|
152
|
+
private readonly consensusMixin;
|
|
153
|
+
private readonly domainName;
|
|
117
154
|
constructor(eventBus: EventBus, memory: MemoryBackend, agentCoordinator: AgentCoordinator, config?: Partial<CoordinatorConfig>);
|
|
118
155
|
/**
|
|
119
156
|
* Initialize the coordinator
|
|
@@ -309,5 +346,80 @@ export declare class CodeIntelligenceCoordinator implements ICodeIntelligenceCoo
|
|
|
309
346
|
* test discovery with the existing impact analysis.
|
|
310
347
|
*/
|
|
311
348
|
private enhanceImpactWithHypergraph;
|
|
349
|
+
/**
|
|
350
|
+
* Set the MinCut bridge for topology awareness
|
|
351
|
+
*/
|
|
352
|
+
setMinCutBridge(bridge: QueenMinCutBridge): void;
|
|
353
|
+
/**
|
|
354
|
+
* Check if topology is healthy
|
|
355
|
+
*/
|
|
356
|
+
isTopologyHealthy(): boolean;
|
|
357
|
+
/**
|
|
358
|
+
* Check if consensus engine is available
|
|
359
|
+
*/
|
|
360
|
+
isConsensusAvailable(): boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Get consensus statistics
|
|
363
|
+
* Per MM-001: Returns metrics about consensus verification
|
|
364
|
+
*/
|
|
365
|
+
getConsensusStats(): ConsensusStats | undefined;
|
|
366
|
+
/**
|
|
367
|
+
* Verify a code pattern detection using multi-model consensus
|
|
368
|
+
* Per MM-001: High-stakes code intelligence decisions require verification
|
|
369
|
+
*
|
|
370
|
+
* @param pattern - The code pattern to verify
|
|
371
|
+
* @param confidence - Initial confidence in the pattern detection
|
|
372
|
+
* @returns true if the pattern is verified or doesn't require consensus
|
|
373
|
+
*/
|
|
374
|
+
verifyCodePatternDetection(pattern: {
|
|
375
|
+
id: string;
|
|
376
|
+
name: string;
|
|
377
|
+
type: string;
|
|
378
|
+
location: string;
|
|
379
|
+
}, confidence: number): Promise<boolean>;
|
|
380
|
+
/**
|
|
381
|
+
* Verify an impact analysis using multi-model consensus
|
|
382
|
+
* Per MM-001: Impact analysis decisions can have significant deployment impact
|
|
383
|
+
*
|
|
384
|
+
* @param impact - The impact analysis to verify
|
|
385
|
+
* @param confidence - Initial confidence in the analysis
|
|
386
|
+
* @returns true if the analysis is verified or doesn't require consensus
|
|
387
|
+
*/
|
|
388
|
+
verifyImpactAnalysis(impact: {
|
|
389
|
+
changedFiles: string[];
|
|
390
|
+
riskLevel: string;
|
|
391
|
+
impactedTests: string[];
|
|
392
|
+
}, confidence: number): Promise<boolean>;
|
|
393
|
+
/**
|
|
394
|
+
* Verify a dependency mapping using multi-model consensus
|
|
395
|
+
* Per MM-001: Dependency analysis can affect downstream decisions
|
|
396
|
+
*
|
|
397
|
+
* @param dependency - The dependency mapping to verify
|
|
398
|
+
* @param confidence - Initial confidence in the mapping
|
|
399
|
+
* @returns true if the mapping is verified or doesn't require consensus
|
|
400
|
+
*/
|
|
401
|
+
verifyDependencyMapping(dependency: {
|
|
402
|
+
source: string;
|
|
403
|
+
targets: string[];
|
|
404
|
+
type: string;
|
|
405
|
+
}, confidence: number): Promise<boolean>;
|
|
406
|
+
/**
|
|
407
|
+
* Get weak vertices belonging to this domain
|
|
408
|
+
* Per ADR-047: Identifies agents that are single points of failure
|
|
409
|
+
*/
|
|
410
|
+
getDomainWeakVertices(): WeakVertex[];
|
|
411
|
+
/**
|
|
412
|
+
* Check if this domain is a weak point in the topology
|
|
413
|
+
* Per ADR-047: Returns true if any weak vertex belongs to code-intelligence domain
|
|
414
|
+
*/
|
|
415
|
+
isDomainWeakPoint(): boolean;
|
|
416
|
+
/**
|
|
417
|
+
* Get topology-based routing excluding weak domains
|
|
418
|
+
* Per ADR-047: Filters out domains that are currently weak points
|
|
419
|
+
*
|
|
420
|
+
* @param targetDomains - List of potential target domains
|
|
421
|
+
* @returns Filtered list of healthy domains for routing
|
|
422
|
+
*/
|
|
423
|
+
getTopologyBasedRouting(targetDomains: DomainName[]): DomainName[];
|
|
312
424
|
}
|
|
313
425
|
//# sourceMappingURL=coordinator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/domains/code-intelligence/coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,MAAM,EAAoB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAEjB,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EACL,eAAe,EACf,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EAEd,MAAM,cAAc,CAAC;AAwCtB,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACpB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,gBAAgB,EAGhB,KAAK,WAAW,IAAI,qBAAqB,EACzC,KAAK,eAAe,EACrB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/domains/code-intelligence/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,12 @@ import { createPersistentSONAEngine, } from '../../integrations/ruvector/sona-pe
|
|
|
22
22
|
import { createMetricCollector, } from './services/metric-collector/index.js';
|
|
23
23
|
// V3 Integration: Hypergraph Engine for code intelligence (GOAP Action 7)
|
|
24
24
|
import { createHypergraphEngine, } from '../../integrations/ruvector/hypergraph-engine.js';
|
|
25
|
+
// ============================================================================
|
|
26
|
+
// MinCut & Consensus Mixin Imports (ADR-047, MM-001)
|
|
27
|
+
// ============================================================================
|
|
28
|
+
import { createMinCutAwareMixin, } from '../../coordination/mixins/mincut-aware-domain';
|
|
29
|
+
import { createConsensusEnabledMixin, } from '../../coordination/mixins/consensus-enabled-domain';
|
|
30
|
+
import { createDomainFinding, } from '../../coordination/consensus/domain-findings';
|
|
25
31
|
const DEFAULT_CONFIG = {
|
|
26
32
|
maxConcurrentWorkflows: 5,
|
|
27
33
|
defaultTimeout: 120000, // 2 minutes
|
|
@@ -33,6 +39,15 @@ const DEFAULT_CONFIG = {
|
|
|
33
39
|
enableMetricCollector: true,
|
|
34
40
|
// V3: Hypergraph enabled by default for intelligent code analysis (GOAP Action 7)
|
|
35
41
|
enableHypergraph: true,
|
|
42
|
+
// MinCut integration defaults (ADR-047)
|
|
43
|
+
enableMinCutAwareness: true,
|
|
44
|
+
topologyHealthThreshold: 0.5,
|
|
45
|
+
pauseOnCriticalTopology: false,
|
|
46
|
+
// Consensus integration defaults (MM-001)
|
|
47
|
+
enableConsensus: true,
|
|
48
|
+
consensusThreshold: 0.7,
|
|
49
|
+
consensusStrategy: 'weighted',
|
|
50
|
+
consensusMinModels: 2,
|
|
36
51
|
};
|
|
37
52
|
/**
|
|
38
53
|
* Code Intelligence Coordinator
|
|
@@ -60,11 +75,34 @@ export class CodeIntelligenceCoordinator {
|
|
|
60
75
|
hypergraphDb;
|
|
61
76
|
// V3: Product Factors Bridge for cross-domain C4 access
|
|
62
77
|
productFactorsBridge;
|
|
78
|
+
// MinCut topology awareness mixin (ADR-047)
|
|
79
|
+
minCutMixin;
|
|
80
|
+
// Consensus verification mixin (MM-001)
|
|
81
|
+
consensusMixin;
|
|
82
|
+
// Domain identifier for mixin initialization
|
|
83
|
+
domainName = 'code-intelligence';
|
|
63
84
|
constructor(eventBus, memory, agentCoordinator, config = {}) {
|
|
64
85
|
this.eventBus = eventBus;
|
|
65
86
|
this.memory = memory;
|
|
66
87
|
this.agentCoordinator = agentCoordinator;
|
|
67
88
|
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
89
|
+
// Initialize MinCut-aware mixin (ADR-047)
|
|
90
|
+
this.minCutMixin = createMinCutAwareMixin(this.domainName, {
|
|
91
|
+
enableMinCutAwareness: this.config.enableMinCutAwareness,
|
|
92
|
+
topologyHealthThreshold: this.config.topologyHealthThreshold,
|
|
93
|
+
pauseOnCriticalTopology: this.config.pauseOnCriticalTopology,
|
|
94
|
+
});
|
|
95
|
+
// Initialize Consensus-enabled mixin (MM-001)
|
|
96
|
+
this.consensusMixin = createConsensusEnabledMixin({
|
|
97
|
+
enableConsensus: this.config.enableConsensus,
|
|
98
|
+
consensusThreshold: this.config.consensusThreshold,
|
|
99
|
+
verifyFindingTypes: ['code-pattern-detection', 'impact-analysis', 'dependency-mapping'],
|
|
100
|
+
strategy: this.config.consensusStrategy,
|
|
101
|
+
minModels: this.config.consensusMinModels,
|
|
102
|
+
modelTimeout: 60000,
|
|
103
|
+
verifySeverities: ['critical', 'high'],
|
|
104
|
+
enableLogging: false,
|
|
105
|
+
});
|
|
68
106
|
this.knowledgeGraph = new KnowledgeGraphService(memory);
|
|
69
107
|
this.semanticAnalyzer = new SemanticAnalyzerService(memory);
|
|
70
108
|
this.impactAnalyzer = new ImpactAnalyzerService(memory, this.knowledgeGraph);
|
|
@@ -102,6 +140,17 @@ export class CodeIntelligenceCoordinator {
|
|
|
102
140
|
}
|
|
103
141
|
// V3: Initialize Product Factors Bridge
|
|
104
142
|
await this.productFactorsBridge.initialize();
|
|
143
|
+
// Initialize Consensus engine if enabled (MM-001)
|
|
144
|
+
if (this.config.enableConsensus) {
|
|
145
|
+
try {
|
|
146
|
+
await this.consensusMixin.initializeConsensus();
|
|
147
|
+
console.log(`[${this.domainName}] Consensus engine initialized`);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
console.error(`[${this.domainName}] Failed to initialize consensus engine:`, error);
|
|
151
|
+
console.warn(`[${this.domainName}] Continuing without consensus verification`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
105
154
|
this.initialized = true;
|
|
106
155
|
}
|
|
107
156
|
/**
|
|
@@ -185,6 +234,15 @@ export class CodeIntelligenceCoordinator {
|
|
|
185
234
|
* Dispose and cleanup
|
|
186
235
|
*/
|
|
187
236
|
async dispose() {
|
|
237
|
+
// Dispose Consensus engine (MM-001)
|
|
238
|
+
try {
|
|
239
|
+
await this.consensusMixin.disposeConsensus();
|
|
240
|
+
}
|
|
241
|
+
catch (error) {
|
|
242
|
+
console.error(`[${this.domainName}] Error disposing consensus engine:`, error);
|
|
243
|
+
}
|
|
244
|
+
// Dispose MinCut mixin (ADR-047)
|
|
245
|
+
this.minCutMixin.dispose();
|
|
188
246
|
// Save workflow state
|
|
189
247
|
await this.saveWorkflowState();
|
|
190
248
|
// Clear active workflows
|
|
@@ -234,6 +292,15 @@ export class CodeIntelligenceCoordinator {
|
|
|
234
292
|
const workflowId = uuidv4();
|
|
235
293
|
try {
|
|
236
294
|
this.startWorkflow(workflowId, 'index');
|
|
295
|
+
// ADR-047: Check topology health before expensive operations
|
|
296
|
+
if (this.config.enableMinCutAwareness && !this.isTopologyHealthy()) {
|
|
297
|
+
console.warn(`[${this.domainName}] Topology degraded, using conservative strategy`);
|
|
298
|
+
// Continue with reduced parallelism when topology is unhealthy
|
|
299
|
+
}
|
|
300
|
+
// ADR-047: Check if operations should be paused due to critical topology
|
|
301
|
+
if (this.minCutMixin.shouldPauseOperations()) {
|
|
302
|
+
return err(new Error('Indexing paused: topology is in critical state'));
|
|
303
|
+
}
|
|
237
304
|
// Check if we can spawn agents
|
|
238
305
|
if (!this.agentCoordinator.canSpawn()) {
|
|
239
306
|
return err(new Error('Agent limit reached, cannot spawn indexing agents'));
|
|
@@ -347,6 +414,14 @@ export class CodeIntelligenceCoordinator {
|
|
|
347
414
|
const workflowId = uuidv4();
|
|
348
415
|
try {
|
|
349
416
|
this.startWorkflow(workflowId, 'impact');
|
|
417
|
+
// ADR-047: Check topology health before expensive operations
|
|
418
|
+
if (this.config.enableMinCutAwareness && !this.isTopologyHealthy()) {
|
|
419
|
+
console.warn(`[${this.domainName}] Topology degraded, using conservative impact analysis`);
|
|
420
|
+
}
|
|
421
|
+
// ADR-047: Check if operations should be paused due to critical topology
|
|
422
|
+
if (this.minCutMixin.shouldPauseOperations()) {
|
|
423
|
+
return err(new Error('Impact analysis paused: topology is in critical state'));
|
|
424
|
+
}
|
|
350
425
|
// Spawn impact analyzer agent
|
|
351
426
|
const agentResult = await this.spawnImpactAnalyzerAgent(workflowId, request);
|
|
352
427
|
if (!agentResult.success) {
|
|
@@ -1304,5 +1379,151 @@ export class CodeIntelligenceCoordinator {
|
|
|
1304
1379
|
return baseAnalysis;
|
|
1305
1380
|
}
|
|
1306
1381
|
}
|
|
1382
|
+
// ============================================================================
|
|
1383
|
+
// MinCut Integration Methods (ADR-047)
|
|
1384
|
+
// ============================================================================
|
|
1385
|
+
/**
|
|
1386
|
+
* Set the MinCut bridge for topology awareness
|
|
1387
|
+
*/
|
|
1388
|
+
setMinCutBridge(bridge) {
|
|
1389
|
+
this.minCutMixin.setMinCutBridge(bridge);
|
|
1390
|
+
console.log(`[${this.domainName}] MinCut bridge connected for topology awareness`);
|
|
1391
|
+
}
|
|
1392
|
+
/**
|
|
1393
|
+
* Check if topology is healthy
|
|
1394
|
+
*/
|
|
1395
|
+
isTopologyHealthy() {
|
|
1396
|
+
return this.minCutMixin.isTopologyHealthy();
|
|
1397
|
+
}
|
|
1398
|
+
// ============================================================================
|
|
1399
|
+
// Consensus Integration Methods (MM-001)
|
|
1400
|
+
// ============================================================================
|
|
1401
|
+
/**
|
|
1402
|
+
* Check if consensus engine is available
|
|
1403
|
+
*/
|
|
1404
|
+
isConsensusAvailable() {
|
|
1405
|
+
return this.consensusMixin.isConsensusAvailable?.() ?? false;
|
|
1406
|
+
}
|
|
1407
|
+
/**
|
|
1408
|
+
* Get consensus statistics
|
|
1409
|
+
* Per MM-001: Returns metrics about consensus verification
|
|
1410
|
+
*/
|
|
1411
|
+
getConsensusStats() {
|
|
1412
|
+
return this.consensusMixin.getConsensusStats();
|
|
1413
|
+
}
|
|
1414
|
+
/**
|
|
1415
|
+
* Verify a code pattern detection using multi-model consensus
|
|
1416
|
+
* Per MM-001: High-stakes code intelligence decisions require verification
|
|
1417
|
+
*
|
|
1418
|
+
* @param pattern - The code pattern to verify
|
|
1419
|
+
* @param confidence - Initial confidence in the pattern detection
|
|
1420
|
+
* @returns true if the pattern is verified or doesn't require consensus
|
|
1421
|
+
*/
|
|
1422
|
+
async verifyCodePatternDetection(pattern, confidence) {
|
|
1423
|
+
const finding = createDomainFinding({
|
|
1424
|
+
id: uuidv4(),
|
|
1425
|
+
type: 'code-pattern-detection',
|
|
1426
|
+
confidence,
|
|
1427
|
+
description: `Verify code pattern: ${pattern.name} (${pattern.type}) at ${pattern.location}`,
|
|
1428
|
+
payload: pattern,
|
|
1429
|
+
detectedBy: 'code-intelligence-coordinator',
|
|
1430
|
+
severity: confidence > 0.9 ? 'high' : 'medium',
|
|
1431
|
+
});
|
|
1432
|
+
if (this.consensusMixin.requiresConsensus(finding)) {
|
|
1433
|
+
const result = await this.consensusMixin.verifyFinding(finding);
|
|
1434
|
+
if (result.success && result.value.verdict === 'verified') {
|
|
1435
|
+
console.log(`[${this.domainName}] Code pattern '${pattern.name}' verified by consensus`);
|
|
1436
|
+
return true;
|
|
1437
|
+
}
|
|
1438
|
+
console.warn(`[${this.domainName}] Code pattern '${pattern.name}' NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
|
|
1439
|
+
return false;
|
|
1440
|
+
}
|
|
1441
|
+
return true; // No consensus needed
|
|
1442
|
+
}
|
|
1443
|
+
/**
|
|
1444
|
+
* Verify an impact analysis using multi-model consensus
|
|
1445
|
+
* Per MM-001: Impact analysis decisions can have significant deployment impact
|
|
1446
|
+
*
|
|
1447
|
+
* @param impact - The impact analysis to verify
|
|
1448
|
+
* @param confidence - Initial confidence in the analysis
|
|
1449
|
+
* @returns true if the analysis is verified or doesn't require consensus
|
|
1450
|
+
*/
|
|
1451
|
+
async verifyImpactAnalysis(impact, confidence) {
|
|
1452
|
+
const finding = createDomainFinding({
|
|
1453
|
+
id: uuidv4(),
|
|
1454
|
+
type: 'impact-analysis',
|
|
1455
|
+
confidence,
|
|
1456
|
+
description: `Verify impact analysis: ${impact.changedFiles.length} files, risk=${impact.riskLevel}, ${impact.impactedTests.length} tests`,
|
|
1457
|
+
payload: impact,
|
|
1458
|
+
detectedBy: 'code-intelligence-coordinator',
|
|
1459
|
+
severity: impact.riskLevel === 'critical' || impact.riskLevel === 'high' ? 'high' : 'medium',
|
|
1460
|
+
});
|
|
1461
|
+
if (this.consensusMixin.requiresConsensus(finding)) {
|
|
1462
|
+
const result = await this.consensusMixin.verifyFinding(finding);
|
|
1463
|
+
if (result.success && result.value.verdict === 'verified') {
|
|
1464
|
+
console.log(`[${this.domainName}] Impact analysis verified by consensus (risk=${impact.riskLevel})`);
|
|
1465
|
+
return true;
|
|
1466
|
+
}
|
|
1467
|
+
console.warn(`[${this.domainName}] Impact analysis NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
|
|
1468
|
+
return false;
|
|
1469
|
+
}
|
|
1470
|
+
return true; // No consensus needed
|
|
1471
|
+
}
|
|
1472
|
+
/**
|
|
1473
|
+
* Verify a dependency mapping using multi-model consensus
|
|
1474
|
+
* Per MM-001: Dependency analysis can affect downstream decisions
|
|
1475
|
+
*
|
|
1476
|
+
* @param dependency - The dependency mapping to verify
|
|
1477
|
+
* @param confidence - Initial confidence in the mapping
|
|
1478
|
+
* @returns true if the mapping is verified or doesn't require consensus
|
|
1479
|
+
*/
|
|
1480
|
+
async verifyDependencyMapping(dependency, confidence) {
|
|
1481
|
+
const finding = createDomainFinding({
|
|
1482
|
+
id: uuidv4(),
|
|
1483
|
+
type: 'dependency-mapping',
|
|
1484
|
+
confidence,
|
|
1485
|
+
description: `Verify dependency: ${dependency.source} -> ${dependency.targets.length} targets (${dependency.type})`,
|
|
1486
|
+
payload: dependency,
|
|
1487
|
+
detectedBy: 'code-intelligence-coordinator',
|
|
1488
|
+
severity: confidence > 0.85 ? 'high' : 'medium',
|
|
1489
|
+
});
|
|
1490
|
+
if (this.consensusMixin.requiresConsensus(finding)) {
|
|
1491
|
+
const result = await this.consensusMixin.verifyFinding(finding);
|
|
1492
|
+
if (result.success && result.value.verdict === 'verified') {
|
|
1493
|
+
console.log(`[${this.domainName}] Dependency mapping verified by consensus`);
|
|
1494
|
+
return true;
|
|
1495
|
+
}
|
|
1496
|
+
console.warn(`[${this.domainName}] Dependency mapping NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
|
|
1497
|
+
return false;
|
|
1498
|
+
}
|
|
1499
|
+
return true; // No consensus needed
|
|
1500
|
+
}
|
|
1501
|
+
// ============================================================================
|
|
1502
|
+
// Topology Routing Methods (ADR-047)
|
|
1503
|
+
// ============================================================================
|
|
1504
|
+
/**
|
|
1505
|
+
* Get weak vertices belonging to this domain
|
|
1506
|
+
* Per ADR-047: Identifies agents that are single points of failure
|
|
1507
|
+
*/
|
|
1508
|
+
getDomainWeakVertices() {
|
|
1509
|
+
return this.minCutMixin.getDomainWeakVertices();
|
|
1510
|
+
}
|
|
1511
|
+
/**
|
|
1512
|
+
* Check if this domain is a weak point in the topology
|
|
1513
|
+
* Per ADR-047: Returns true if any weak vertex belongs to code-intelligence domain
|
|
1514
|
+
*/
|
|
1515
|
+
isDomainWeakPoint() {
|
|
1516
|
+
return this.minCutMixin.isDomainWeakPoint();
|
|
1517
|
+
}
|
|
1518
|
+
/**
|
|
1519
|
+
* Get topology-based routing excluding weak domains
|
|
1520
|
+
* Per ADR-047: Filters out domains that are currently weak points
|
|
1521
|
+
*
|
|
1522
|
+
* @param targetDomains - List of potential target domains
|
|
1523
|
+
* @returns Filtered list of healthy domains for routing
|
|
1524
|
+
*/
|
|
1525
|
+
getTopologyBasedRouting(targetDomains) {
|
|
1526
|
+
return this.minCutMixin.getTopologyBasedRouting(targetDomains);
|
|
1527
|
+
}
|
|
1307
1528
|
}
|
|
1308
1529
|
//# sourceMappingURL=coordinator.js.map
|