agentic-qe 3.6.19 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/README.md +29 -1
  3. package/package.json +2 -1
  4. package/scripts/rvf-baseline-benchmark.ts +843 -0
  5. package/v3/CHANGELOG.md +30 -0
  6. package/v3/dist/audit/witness-chain.d.ts +148 -0
  7. package/v3/dist/audit/witness-chain.d.ts.map +1 -0
  8. package/v3/dist/audit/witness-chain.js +269 -0
  9. package/v3/dist/audit/witness-chain.js.map +1 -0
  10. package/v3/dist/cli/brain-commands.d.ts +39 -0
  11. package/v3/dist/cli/brain-commands.d.ts.map +1 -0
  12. package/v3/dist/cli/brain-commands.js +60 -0
  13. package/v3/dist/cli/brain-commands.js.map +1 -0
  14. package/v3/dist/cli/bundle.js +4509 -2452
  15. package/v3/dist/cli/command-registry.d.ts.map +1 -1
  16. package/v3/dist/cli/command-registry.js +3 -1
  17. package/v3/dist/cli/command-registry.js.map +1 -1
  18. package/v3/dist/cli/handlers/brain-handler.d.ts +22 -0
  19. package/v3/dist/cli/handlers/brain-handler.d.ts.map +1 -0
  20. package/v3/dist/cli/handlers/brain-handler.js +148 -0
  21. package/v3/dist/cli/handlers/brain-handler.js.map +1 -0
  22. package/v3/dist/cli/handlers/index.d.ts +1 -0
  23. package/v3/dist/cli/handlers/index.d.ts.map +1 -1
  24. package/v3/dist/cli/handlers/index.js +1 -0
  25. package/v3/dist/cli/handlers/index.js.map +1 -1
  26. package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts +31 -44
  27. package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts.map +1 -1
  28. package/v3/dist/domains/coverage-analysis/services/hnsw-index.js +73 -178
  29. package/v3/dist/domains/coverage-analysis/services/hnsw-index.js.map +1 -1
  30. package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
  31. package/v3/dist/domains/quality-assessment/coordinator.js +8 -0
  32. package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
  33. package/v3/dist/domains/test-execution/coordinator.d.ts +14 -0
  34. package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
  35. package/v3/dist/domains/test-execution/coordinator.js +18 -0
  36. package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
  37. package/v3/dist/domains/test-execution/services/index.d.ts +1 -0
  38. package/v3/dist/domains/test-execution/services/index.d.ts.map +1 -1
  39. package/v3/dist/domains/test-execution/services/index.js +1 -0
  40. package/v3/dist/domains/test-execution/services/index.js.map +1 -1
  41. package/v3/dist/domains/test-execution/services/mincut-test-optimizer.d.ts +118 -0
  42. package/v3/dist/domains/test-execution/services/mincut-test-optimizer.d.ts.map +1 -0
  43. package/v3/dist/domains/test-execution/services/mincut-test-optimizer.js +358 -0
  44. package/v3/dist/domains/test-execution/services/mincut-test-optimizer.js.map +1 -0
  45. package/v3/dist/integrations/ruvector/brain-exporter.d.ts +66 -0
  46. package/v3/dist/integrations/ruvector/brain-exporter.d.ts.map +1 -0
  47. package/v3/dist/integrations/ruvector/brain-exporter.js +537 -0
  48. package/v3/dist/integrations/ruvector/brain-exporter.js.map +1 -0
  49. package/v3/dist/integrations/ruvector/index.d.ts +4 -0
  50. package/v3/dist/integrations/ruvector/index.d.ts.map +1 -1
  51. package/v3/dist/integrations/ruvector/index.js +5 -0
  52. package/v3/dist/integrations/ruvector/index.js.map +1 -1
  53. package/v3/dist/integrations/ruvector/mincut-wrapper.d.ts +204 -0
  54. package/v3/dist/integrations/ruvector/mincut-wrapper.d.ts.map +1 -0
  55. package/v3/dist/integrations/ruvector/mincut-wrapper.js +310 -0
  56. package/v3/dist/integrations/ruvector/mincut-wrapper.js.map +1 -0
  57. package/v3/dist/integrations/ruvector/rvf-dual-writer.d.ts +141 -0
  58. package/v3/dist/integrations/ruvector/rvf-dual-writer.d.ts.map +1 -0
  59. package/v3/dist/integrations/ruvector/rvf-dual-writer.js +367 -0
  60. package/v3/dist/integrations/ruvector/rvf-dual-writer.js.map +1 -0
  61. package/v3/dist/integrations/ruvector/rvf-native-adapter.d.ts +60 -0
  62. package/v3/dist/integrations/ruvector/rvf-native-adapter.d.ts.map +1 -0
  63. package/v3/dist/integrations/ruvector/rvf-native-adapter.js +240 -0
  64. package/v3/dist/integrations/ruvector/rvf-native-adapter.js.map +1 -0
  65. package/v3/dist/kernel/hnsw-adapter.d.ts +99 -0
  66. package/v3/dist/kernel/hnsw-adapter.d.ts.map +1 -0
  67. package/v3/dist/kernel/hnsw-adapter.js +218 -0
  68. package/v3/dist/kernel/hnsw-adapter.js.map +1 -0
  69. package/v3/dist/kernel/hnsw-index-provider.d.ts +90 -0
  70. package/v3/dist/kernel/hnsw-index-provider.d.ts.map +1 -0
  71. package/v3/dist/kernel/hnsw-index-provider.js +23 -0
  72. package/v3/dist/kernel/hnsw-index-provider.js.map +1 -0
  73. package/v3/dist/kernel/progressive-hnsw-backend.d.ts +67 -0
  74. package/v3/dist/kernel/progressive-hnsw-backend.d.ts.map +1 -0
  75. package/v3/dist/kernel/progressive-hnsw-backend.js +266 -0
  76. package/v3/dist/kernel/progressive-hnsw-backend.js.map +1 -0
  77. package/v3/dist/kernel/unified-memory-hnsw.d.ts +71 -0
  78. package/v3/dist/kernel/unified-memory-hnsw.d.ts.map +1 -1
  79. package/v3/dist/kernel/unified-memory-hnsw.js +87 -0
  80. package/v3/dist/kernel/unified-memory-hnsw.js.map +1 -1
  81. package/v3/dist/kernel/unified-memory-schemas.d.ts +1 -0
  82. package/v3/dist/kernel/unified-memory-schemas.d.ts.map +1 -1
  83. package/v3/dist/kernel/unified-memory-schemas.js +16 -0
  84. package/v3/dist/kernel/unified-memory-schemas.js.map +1 -1
  85. package/v3/dist/learning/dream/dream-engine.d.ts +16 -0
  86. package/v3/dist/learning/dream/dream-engine.d.ts.map +1 -1
  87. package/v3/dist/learning/dream/dream-engine.js +70 -0
  88. package/v3/dist/learning/dream/dream-engine.js.map +1 -1
  89. package/v3/dist/learning/dream/index.d.ts +2 -0
  90. package/v3/dist/learning/dream/index.d.ts.map +1 -1
  91. package/v3/dist/learning/dream/index.js +8 -0
  92. package/v3/dist/learning/dream/index.js.map +1 -1
  93. package/v3/dist/learning/dream/rvcow-branch-manager.d.ts +170 -0
  94. package/v3/dist/learning/dream/rvcow-branch-manager.d.ts.map +1 -0
  95. package/v3/dist/learning/dream/rvcow-branch-manager.js +263 -0
  96. package/v3/dist/learning/dream/rvcow-branch-manager.js.map +1 -0
  97. package/v3/dist/learning/dream/speculative-dreamer.d.ts +129 -0
  98. package/v3/dist/learning/dream/speculative-dreamer.d.ts.map +1 -0
  99. package/v3/dist/learning/dream/speculative-dreamer.js +214 -0
  100. package/v3/dist/learning/dream/speculative-dreamer.js.map +1 -0
  101. package/v3/dist/learning/qe-reasoning-bank.d.ts +9 -0
  102. package/v3/dist/learning/qe-reasoning-bank.d.ts.map +1 -1
  103. package/v3/dist/learning/qe-reasoning-bank.js +50 -1
  104. package/v3/dist/learning/qe-reasoning-bank.js.map +1 -1
  105. package/v3/dist/mcp/bundle.js +8900 -7163
  106. package/v3/dist/mcp/services/mincut-routing-service.d.ts +148 -0
  107. package/v3/dist/mcp/services/mincut-routing-service.d.ts.map +1 -0
  108. package/v3/dist/mcp/services/mincut-routing-service.js +198 -0
  109. package/v3/dist/mcp/services/mincut-routing-service.js.map +1 -0
  110. package/v3/dist/mcp/services/task-router.d.ts +4 -0
  111. package/v3/dist/mcp/services/task-router.d.ts.map +1 -1
  112. package/v3/dist/mcp/services/task-router.js +57 -15
  113. package/v3/dist/mcp/services/task-router.js.map +1 -1
  114. package/v3/dist/monitoring/structural-health.d.ts +142 -0
  115. package/v3/dist/monitoring/structural-health.d.ts.map +1 -0
  116. package/v3/dist/monitoring/structural-health.js +201 -0
  117. package/v3/dist/monitoring/structural-health.js.map +1 -0
  118. package/v3/package.json +1 -1
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Agentic QE v3 - MinCut Routing Service
3
+ * ADR-068: Mincut-Gated Model Routing
4
+ *
5
+ * Implements routing logic that uses lambda from QEMinCutService
6
+ * to determine the optimal model tier for a task. Builds a task graph
7
+ * from the current agent fleet topology, computes lambda (structural
8
+ * complexity), and routes based on lambda thresholds.
9
+ *
10
+ * @module mcp/services/mincut-routing-service
11
+ */
12
+ import { QEMinCutService, type AgentNode, type TaskGraph, type HealthReport } from '../../integrations/ruvector/mincut-wrapper.js';
13
+ export type { AgentNode, TaskGraph, RoutingTier, HealthReport } from '../../integrations/ruvector/mincut-wrapper.js';
14
+ import type { ModelTier } from '../../integrations/agentic-flow/model-router/types.js';
15
+ /**
16
+ * Input for mincut-based routing
17
+ */
18
+ export interface MinCutRoutingInput {
19
+ /** Task description */
20
+ readonly task: string;
21
+ /** Domain context */
22
+ readonly domain?: string;
23
+ /** Agent type making the request */
24
+ readonly agentType?: string;
25
+ /** Current agent fleet topology (if known) */
26
+ readonly agentTopology?: AgentNode[];
27
+ /** Pre-built task graph (if available) */
28
+ readonly taskGraph?: TaskGraph;
29
+ /** Whether the task is critical */
30
+ readonly isCritical?: boolean;
31
+ }
32
+ /**
33
+ * Result of mincut-based routing
34
+ */
35
+ export interface MinCutRoutingResult {
36
+ /** Recommended model tier (0-4 numeric) */
37
+ readonly modelTier: ModelTier;
38
+ /** Tier label for display */
39
+ readonly tierLabel: string;
40
+ /** Raw lambda value from mincut computation */
41
+ readonly lambda: number;
42
+ /** Normalized lambda (0-1) */
43
+ readonly normalizedLambda: number;
44
+ /** Confidence in the routing decision */
45
+ readonly confidence: number;
46
+ /** Human-readable rationale */
47
+ readonly rationale: string;
48
+ /** Whether mincut routing was used (vs fallback) */
49
+ readonly usedMinCut: boolean;
50
+ /** Structural health of the fleet at routing time */
51
+ readonly healthSnapshot?: HealthReport;
52
+ /** Time taken for routing decision (ms) */
53
+ readonly decisionTimeMs: number;
54
+ }
55
+ /**
56
+ * Configuration for the MinCut Routing Service
57
+ */
58
+ export interface MinCutRoutingConfig {
59
+ /** Whether mincut routing is enabled (default: true) */
60
+ readonly enabled: boolean;
61
+ /** Lambda threshold for Tier 1/Haiku (>= this value) (default: 0.8) */
62
+ readonly haikuThreshold: number;
63
+ /** Lambda threshold for Tier 2/Sonnet (>= this value, < haikuThreshold) (default: 0.4) */
64
+ readonly sonnetThreshold: number;
65
+ /** Whether to include health snapshot in results (default: false) */
66
+ readonly includeHealthSnapshot: boolean;
67
+ /** Whether to log routing decisions to stderr (default: true) */
68
+ readonly enableLogging: boolean;
69
+ /** Default agent topology to use when none is provided */
70
+ readonly defaultTopology?: AgentNode[];
71
+ }
72
+ /**
73
+ * Default configuration
74
+ */
75
+ export declare const DEFAULT_MINCUT_ROUTING_CONFIG: MinCutRoutingConfig;
76
+ /**
77
+ * MinCut Routing Service
78
+ *
79
+ * Routes tasks to model tiers based on mincut lambda analysis of the
80
+ * agent fleet topology.
81
+ *
82
+ * Lambda thresholds:
83
+ * - lambda >= 0.8 (highly connected) -> Tier 1 (Haiku)
84
+ * - lambda 0.4-0.8 (moderate) -> Tier 2 (Sonnet)
85
+ * - lambda < 0.4 (fragmented) -> Tier 3 (Sonnet-Extended) or Tier 4 (Opus)
86
+ *
87
+ * Critical tasks are always routed to at least Tier 2.
88
+ *
89
+ * @example
90
+ * ```typescript
91
+ * const service = new MinCutRoutingService();
92
+ * const result = service.route({
93
+ * task: 'Implement authentication flow',
94
+ * agentTopology: agents,
95
+ * });
96
+ * console.log(`Route to ${result.tierLabel} (Tier ${result.modelTier})`);
97
+ * ```
98
+ */
99
+ export declare class MinCutRoutingService {
100
+ private readonly config;
101
+ private readonly minCutService;
102
+ constructor(config?: Partial<MinCutRoutingConfig>);
103
+ /**
104
+ * Route a task using mincut-based analysis
105
+ *
106
+ * @param input - Routing input with task and topology information
107
+ * @returns Routing result with tier recommendation
108
+ */
109
+ route(input: MinCutRoutingInput): MinCutRoutingResult;
110
+ /**
111
+ * Get the underlying QEMinCutService for direct access
112
+ */
113
+ getMinCutService(): QEMinCutService;
114
+ /**
115
+ * Check if mincut routing is enabled
116
+ */
117
+ isEnabled(): boolean;
118
+ /**
119
+ * Convert routing tier (1-3) to ModelTier (0-4)
120
+ */
121
+ private routingTierToModelTier;
122
+ /**
123
+ * Get human-readable label for a ModelTier
124
+ */
125
+ private modelTierToLabel;
126
+ /**
127
+ * Create a fallback result when mincut routing cannot be used
128
+ */
129
+ private createFallbackResult;
130
+ /**
131
+ * Log routing decision to stderr
132
+ */
133
+ private logDecision;
134
+ }
135
+ /**
136
+ * Create a MinCutRoutingService instance
137
+ */
138
+ export declare function createMinCutRoutingService(config?: Partial<MinCutRoutingConfig>): MinCutRoutingService;
139
+ /**
140
+ * Quick route a task using mincut analysis.
141
+ * Convenience function for one-off routing decisions.
142
+ *
143
+ * @param task - Task description
144
+ * @param agentTopology - Current agent fleet topology
145
+ * @returns Routing result
146
+ */
147
+ export declare function routeWithMinCut(task: string, agentTopology: AgentNode[]): MinCutRoutingResult;
148
+ //# sourceMappingURL=mincut-routing-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mincut-routing-service.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/mincut-routing-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Agentic QE v3 - MinCut Routing Service
3
+ * ADR-068: Mincut-Gated Model Routing
4
+ *
5
+ * Implements routing logic that uses lambda from QEMinCutService
6
+ * to determine the optimal model tier for a task. Builds a task graph
7
+ * from the current agent fleet topology, computes lambda (structural
8
+ * complexity), and routes based on lambda thresholds.
9
+ *
10
+ * @module mcp/services/mincut-routing-service
11
+ */
12
+ import { createQEMinCutService, } from '../../integrations/ruvector/mincut-wrapper.js';
13
+ /**
14
+ * Default configuration
15
+ */
16
+ export const DEFAULT_MINCUT_ROUTING_CONFIG = {
17
+ enabled: true,
18
+ haikuThreshold: 0.8,
19
+ sonnetThreshold: 0.4,
20
+ includeHealthSnapshot: false,
21
+ enableLogging: true,
22
+ };
23
+ // ============================================================================
24
+ // MinCut Routing Service
25
+ // ============================================================================
26
+ /**
27
+ * MinCut Routing Service
28
+ *
29
+ * Routes tasks to model tiers based on mincut lambda analysis of the
30
+ * agent fleet topology.
31
+ *
32
+ * Lambda thresholds:
33
+ * - lambda >= 0.8 (highly connected) -> Tier 1 (Haiku)
34
+ * - lambda 0.4-0.8 (moderate) -> Tier 2 (Sonnet)
35
+ * - lambda < 0.4 (fragmented) -> Tier 3 (Sonnet-Extended) or Tier 4 (Opus)
36
+ *
37
+ * Critical tasks are always routed to at least Tier 2.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * const service = new MinCutRoutingService();
42
+ * const result = service.route({
43
+ * task: 'Implement authentication flow',
44
+ * agentTopology: agents,
45
+ * });
46
+ * console.log(`Route to ${result.tierLabel} (Tier ${result.modelTier})`);
47
+ * ```
48
+ */
49
+ export class MinCutRoutingService {
50
+ config;
51
+ minCutService;
52
+ constructor(config) {
53
+ this.config = { ...DEFAULT_MINCUT_ROUTING_CONFIG, ...config };
54
+ this.minCutService = createQEMinCutService();
55
+ }
56
+ /**
57
+ * Route a task using mincut-based analysis
58
+ *
59
+ * @param input - Routing input with task and topology information
60
+ * @returns Routing result with tier recommendation
61
+ */
62
+ route(input) {
63
+ const startTime = Date.now();
64
+ if (!this.config.enabled) {
65
+ return this.createFallbackResult(input, startTime, 'MinCut routing disabled');
66
+ }
67
+ // Determine the topology to use
68
+ const topology = input.agentTopology || this.config.defaultTopology;
69
+ // If no topology available, fall back
70
+ if (!topology || topology.length === 0) {
71
+ return this.createFallbackResult(input, startTime, 'No agent topology available for mincut analysis');
72
+ }
73
+ try {
74
+ // Compute routing tier via mincut
75
+ const routingTier = this.minCutService.computeRoutingTier(input.task, topology);
76
+ // Map to ModelTier (0-4 numeric)
77
+ let modelTier = this.routingTierToModelTier(routingTier.tier);
78
+ // Critical tasks get at least Tier 2
79
+ if (input.isCritical && modelTier < 2) {
80
+ modelTier = 2;
81
+ }
82
+ const tierLabel = this.modelTierToLabel(modelTier);
83
+ // Optionally compute health snapshot
84
+ let healthSnapshot;
85
+ if (this.config.includeHealthSnapshot) {
86
+ const graph = input.taskGraph
87
+ || this.minCutService.buildTaskGraphFromTopology(topology);
88
+ healthSnapshot = this.minCutService.getStructuralHealth(graph);
89
+ }
90
+ const decisionTimeMs = Date.now() - startTime;
91
+ const result = {
92
+ modelTier,
93
+ tierLabel,
94
+ lambda: routingTier.lambda,
95
+ normalizedLambda: routingTier.normalizedLambda,
96
+ confidence: routingTier.confidence,
97
+ rationale: routingTier.rationale,
98
+ usedMinCut: true,
99
+ healthSnapshot,
100
+ decisionTimeMs,
101
+ };
102
+ if (this.config.enableLogging) {
103
+ this.logDecision(result);
104
+ }
105
+ return result;
106
+ }
107
+ catch (error) {
108
+ return this.createFallbackResult(input, startTime, `MinCut routing error: ${error instanceof Error ? error.message : String(error)}`);
109
+ }
110
+ }
111
+ /**
112
+ * Get the underlying QEMinCutService for direct access
113
+ */
114
+ getMinCutService() {
115
+ return this.minCutService;
116
+ }
117
+ /**
118
+ * Check if mincut routing is enabled
119
+ */
120
+ isEnabled() {
121
+ return this.config.enabled;
122
+ }
123
+ // ==========================================================================
124
+ // Private Helpers
125
+ // ==========================================================================
126
+ /**
127
+ * Convert routing tier (1-3) to ModelTier (0-4)
128
+ */
129
+ routingTierToModelTier(routingTier) {
130
+ switch (routingTier) {
131
+ case 1: return 1; // Haiku
132
+ case 2: return 2; // Sonnet
133
+ case 3: return 4; // Opus
134
+ default: return 2; // Default to Sonnet
135
+ }
136
+ }
137
+ /**
138
+ * Get human-readable label for a ModelTier
139
+ */
140
+ modelTierToLabel(tier) {
141
+ switch (tier) {
142
+ case 0: return 'Booster';
143
+ case 1: return 'Haiku';
144
+ case 2: return 'Sonnet';
145
+ case 3: return 'Sonnet-Extended';
146
+ case 4: return 'Opus';
147
+ default: return 'Sonnet';
148
+ }
149
+ }
150
+ /**
151
+ * Create a fallback result when mincut routing cannot be used
152
+ */
153
+ createFallbackResult(input, startTime, reason) {
154
+ const defaultTier = input.isCritical ? 2 : 2;
155
+ return {
156
+ modelTier: defaultTier,
157
+ tierLabel: 'Sonnet',
158
+ lambda: 0,
159
+ normalizedLambda: 0,
160
+ confidence: 0.3,
161
+ rationale: `Fallback to Sonnet: ${reason}`,
162
+ usedMinCut: false,
163
+ decisionTimeMs: Date.now() - startTime,
164
+ };
165
+ }
166
+ /**
167
+ * Log routing decision to stderr
168
+ */
169
+ logDecision(result) {
170
+ const source = result.usedMinCut ? 'MinCut' : 'Fallback';
171
+ console.error(`[MinCutRouter] [${source}] Tier ${result.modelTier} (${result.tierLabel}) | ` +
172
+ `Lambda: ${result.normalizedLambda.toFixed(3)} | ` +
173
+ `Confidence: ${(result.confidence * 100).toFixed(0)}% | ` +
174
+ `Time: ${result.decisionTimeMs}ms`);
175
+ }
176
+ }
177
+ // ============================================================================
178
+ // Factory & Convenience Functions
179
+ // ============================================================================
180
+ /**
181
+ * Create a MinCutRoutingService instance
182
+ */
183
+ export function createMinCutRoutingService(config) {
184
+ return new MinCutRoutingService(config);
185
+ }
186
+ /**
187
+ * Quick route a task using mincut analysis.
188
+ * Convenience function for one-off routing decisions.
189
+ *
190
+ * @param task - Task description
191
+ * @param agentTopology - Current agent fleet topology
192
+ * @returns Routing result
193
+ */
194
+ export function routeWithMinCut(task, agentTopology) {
195
+ const service = createMinCutRoutingService({ enableLogging: false });
196
+ return service.route({ task, agentTopology });
197
+ }
198
+ //# sourceMappingURL=mincut-routing-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mincut-routing-service.js","sourceRoot":"","sources":["../../../src/mcp/services/mincut-routing-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,qBAAqB,GAKtB,MAAM,+CAA+C,CAAC;AAyFvD;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,GAAG;IACnB,eAAe,EAAE,GAAG;IACpB,qBAAqB,EAAE,KAAK;IAC5B,aAAa,EAAE,IAAI;CACpB,CAAC;AAEF,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,oBAAoB;IACd,MAAM,CAAsB;IAC5B,aAAa,CAAkB;IAEhD,YAAY,MAAqC;QAC/C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,6BAA6B,EAAE,GAAG,MAAM,EAAE,CAAC;QAC9D,IAAI,CAAC,aAAa,GAAG,qBAAqB,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAyB;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;QAChF,CAAC;QAED,gCAAgC;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAEpE,sCAAsC;QACtC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,oBAAoB,CAC9B,KAAK,EACL,SAAS,EACT,iDAAiD,CAClD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CACvD,KAAK,CAAC,IAAI,EACV,QAAQ,CACT,CAAC;YAEF,iCAAiC;YACjC,IAAI,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE9D,qCAAqC;YACrC,IAAI,KAAK,CAAC,UAAU,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACtC,SAAS,GAAG,CAAc,CAAC;YAC7B,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAEnD,qCAAqC;YACrC,IAAI,cAAwC,CAAC;YAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS;uBACxB,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;gBAC7D,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE9C,MAAM,MAAM,GAAwB;gBAClC,SAAS;gBACT,SAAS;gBACT,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;gBAC9C,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,UAAU,EAAE,IAAI;gBAChB,cAAc;gBACd,cAAc;aACf,CAAC;YAEF,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC9B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,oBAAoB,CAC9B,KAAK,EACL,SAAS,EACT,yBAAyB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,6EAA6E;IAC7E,kBAAkB;IAClB,6EAA6E;IAE7E;;OAEG;IACK,sBAAsB,CAAC,WAAmB;QAChD,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAc,CAAC,CAAC,QAAQ;YACvC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAc,CAAC,CAAC,SAAS;YACxC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAc,CAAC,CAAC,OAAO;YACtC,OAAO,CAAC,CAAC,OAAO,CAAc,CAAC,CAAC,oBAAoB;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAe;QACtC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC;YACzB,KAAK,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC;YACvB,KAAK,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC;YACxB,KAAK,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC;YACjC,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC;YACtB,OAAO,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,KAAyB,EACzB,SAAiB,EACjB,MAAc;QAEd,MAAM,WAAW,GAAc,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAc,CAAC,CAAC,CAAC,CAAc,CAAC;QAElF,OAAO;YACL,SAAS,EAAE,WAAW;YACtB,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,CAAC;YACT,gBAAgB,EAAE,CAAC;YACnB,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,uBAAuB,MAAM,EAAE;YAC1C,UAAU,EAAE,KAAK;YACjB,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACvC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,MAA2B;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;QACzD,OAAO,CAAC,KAAK,CACX,mBAAmB,MAAM,UAAU,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,MAAM;YAC9E,WAAW,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;YAClD,eAAe,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YACzD,SAAS,MAAM,CAAC,cAAc,IAAI,CACnC,CAAC;IACJ,CAAC;CACF;AAED,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAqC;IAErC,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,aAA0B;IAE1B,MAAM,OAAO,GAAG,0BAA0B,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,OAAO,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AAChD,CAAC"}
@@ -8,6 +8,7 @@
8
8
  * @module mcp/services/task-router
9
9
  */
10
10
  import { type ModelRouterConfig, type RoutingDecision, type RouterMetrics, type ModelTier } from '../../integrations/agentic-flow';
11
+ import { type AgentNode } from './mincut-routing-service.js';
11
12
  /**
12
13
  * Pattern hint for agent prompts (Phase 5.2)
13
14
  */
@@ -110,6 +111,7 @@ export declare class TaskRouterService {
110
111
  private static initializationPromise;
111
112
  private readonly config;
112
113
  private readonly modelRouter;
114
+ private readonly minCutRouter;
113
115
  private readonly routingLog;
114
116
  private disposed;
115
117
  private constructor();
@@ -221,6 +223,8 @@ export interface TaskRoutingInput {
221
223
  readonly enablePatternSearch?: boolean;
222
224
  /** Pattern hints from external source (Phase 5.2) */
223
225
  readonly patternHints?: readonly PatternHint[];
226
+ /** Agent topology for mincut-gated routing (ADR-068) */
227
+ readonly agentTopology?: AgentNode[];
224
228
  }
225
229
  /**
226
230
  * Routing statistics summary
@@ -1 +1 @@
1
- {"version":3,"file":"task-router.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/task-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-router.d.ts","sourceRoot":"","sources":["../../../src/mcp/services/task-router.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  * @module mcp/services/task-router
9
9
  */
10
10
  import { createModelRouter, createModelRouterWithAgentBooster, TIER_METADATA, } from '../../integrations/agentic-flow';
11
+ import { createMinCutRoutingService, } from './mincut-routing-service.js';
11
12
  /**
12
13
  * Default Task Router configuration
13
14
  */
@@ -44,11 +45,15 @@ export class TaskRouterService {
44
45
  static initializationPromise = null;
45
46
  config;
46
47
  modelRouter;
48
+ minCutRouter;
47
49
  routingLog = [];
48
50
  disposed = false;
49
51
  constructor(config, modelRouter) {
50
52
  this.config = config;
51
53
  this.modelRouter = modelRouter;
54
+ this.minCutRouter = createMinCutRoutingService({
55
+ enableLogging: config.enableLogging,
56
+ });
52
57
  }
53
58
  /**
54
59
  * Get or create the singleton TaskRouterService instance
@@ -109,6 +114,26 @@ export class TaskRouterService {
109
114
  if (this.disposed) {
110
115
  throw new Error('TaskRouterService has been disposed');
111
116
  }
117
+ // ADR-068: Try mincut-gated routing as PRIMARY strategy
118
+ let minCutResult = null;
119
+ if (this.minCutRouter.isEnabled() && input.agentTopology) {
120
+ try {
121
+ minCutResult = this.minCutRouter.route({
122
+ task: input.task,
123
+ domain: input.domain,
124
+ agentType: input.agentType,
125
+ agentTopology: input.agentTopology,
126
+ isCritical: input.isCritical,
127
+ });
128
+ }
129
+ catch (err) {
130
+ // MinCut failed — fall through to heuristic
131
+ if (this.config.enableLogging) {
132
+ console.error(`[TaskRouter] MinCut routing failed, falling back to heuristic: ${err instanceof Error ? err.message : String(err)}`);
133
+ }
134
+ }
135
+ }
136
+ // Heuristic (original) routing — always runs for full decision metadata
112
137
  const routingInput = {
113
138
  task: input.task,
114
139
  codeContext: input.codeContext,
@@ -120,20 +145,37 @@ export class TaskRouterService {
120
145
  metadata: input.metadata,
121
146
  };
122
147
  const decision = await this.modelRouter.route(routingInput);
123
- const tierMeta = TIER_METADATA[decision.tier];
124
- const executionStrategy = this.mapTierToStrategy(decision.tier);
148
+ // If mincut succeeded and gave a different tier, prefer mincut
149
+ let effectiveDecision = decision;
150
+ if (minCutResult && minCutResult.usedMinCut) {
151
+ const minCutTier = minCutResult.modelTier;
152
+ if (minCutTier !== decision.tier) {
153
+ // Override the tier with mincut's recommendation
154
+ effectiveDecision = {
155
+ ...decision,
156
+ tier: minCutTier,
157
+ rationale: `[MinCut] ${minCutResult.rationale} (heuristic suggested Tier ${decision.tier})`,
158
+ };
159
+ if (this.config.enableLogging) {
160
+ console.error(`[TaskRouter] MinCut override: Tier ${decision.tier} -> Tier ${minCutTier} ` +
161
+ `(lambda=${minCutResult.normalizedLambda.toFixed(3)})`);
162
+ }
163
+ }
164
+ }
165
+ const tierMeta = TIER_METADATA[effectiveDecision.tier];
166
+ const executionStrategy = this.mapTierToStrategy(effectiveDecision.tier);
125
167
  const logEntry = {
126
- timestamp: decision.metadata.timestamp,
168
+ timestamp: effectiveDecision.metadata.timestamp,
127
169
  taskDescription: input.task.slice(0, 200),
128
170
  requestedTier: input.manualTier,
129
- selectedTier: decision.tier,
130
- modelId: decision.modelId,
131
- complexity: decision.complexityAnalysis.overall,
132
- confidence: decision.confidence,
133
- wasDowngraded: decision.budgetDecision.wasDowngraded,
134
- agentBoosterEligible: decision.agentBoosterEligible,
135
- decisionTimeMs: decision.metadata.decisionTimeMs,
136
- rationale: decision.rationale,
171
+ selectedTier: effectiveDecision.tier,
172
+ modelId: effectiveDecision.modelId,
173
+ complexity: effectiveDecision.complexityAnalysis.overall,
174
+ confidence: effectiveDecision.confidence,
175
+ wasDowngraded: effectiveDecision.budgetDecision.wasDowngraded,
176
+ agentBoosterEligible: effectiveDecision.agentBoosterEligible,
177
+ decisionTimeMs: effectiveDecision.metadata.decisionTimeMs,
178
+ rationale: effectiveDecision.rationale,
137
179
  };
138
180
  // Always track log entries for metrics
139
181
  this.addLogEntry(logEntry);
@@ -147,12 +189,12 @@ export class TaskRouterService {
147
189
  ? this.formatPatternContext(patternHints)
148
190
  : undefined;
149
191
  return {
150
- decision,
192
+ decision: effectiveDecision,
151
193
  executionStrategy,
152
- useAgentBooster: decision.agentBoosterEligible,
153
- modelId: decision.modelId,
194
+ useAgentBooster: effectiveDecision.agentBoosterEligible,
195
+ modelId: effectiveDecision.modelId,
154
196
  tierInfo: {
155
- tier: decision.tier,
197
+ tier: effectiveDecision.tier,
156
198
  name: tierMeta.name,
157
199
  typicalLatencyMs: tierMeta.typicalLatencyMs,
158
200
  relativeCost: tierMeta.relativeCost,
@@ -1 +1 @@
1
- {"version":3,"file":"task-router.js","sourceRoot":"","sources":["../../../src/mcp/services/task-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-router.js","sourceRoot":"","sources":["../../../src/mcp/services/task-router.ts"],"names":[],"mappings":"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"}