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.
- package/.claude/skills/skills-manifest.json +1 -1
- package/README.md +29 -1
- package/package.json +2 -1
- package/scripts/rvf-baseline-benchmark.ts +843 -0
- package/v3/CHANGELOG.md +30 -0
- package/v3/dist/audit/witness-chain.d.ts +148 -0
- package/v3/dist/audit/witness-chain.d.ts.map +1 -0
- package/v3/dist/audit/witness-chain.js +269 -0
- package/v3/dist/audit/witness-chain.js.map +1 -0
- package/v3/dist/cli/brain-commands.d.ts +39 -0
- package/v3/dist/cli/brain-commands.d.ts.map +1 -0
- package/v3/dist/cli/brain-commands.js +60 -0
- package/v3/dist/cli/brain-commands.js.map +1 -0
- package/v3/dist/cli/bundle.js +4509 -2452
- package/v3/dist/cli/command-registry.d.ts.map +1 -1
- package/v3/dist/cli/command-registry.js +3 -1
- package/v3/dist/cli/command-registry.js.map +1 -1
- package/v3/dist/cli/handlers/brain-handler.d.ts +22 -0
- package/v3/dist/cli/handlers/brain-handler.d.ts.map +1 -0
- package/v3/dist/cli/handlers/brain-handler.js +148 -0
- package/v3/dist/cli/handlers/brain-handler.js.map +1 -0
- package/v3/dist/cli/handlers/index.d.ts +1 -0
- package/v3/dist/cli/handlers/index.d.ts.map +1 -1
- package/v3/dist/cli/handlers/index.js +1 -0
- package/v3/dist/cli/handlers/index.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts +31 -44
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.js +73 -178
- package/v3/dist/domains/coverage-analysis/services/hnsw-index.js.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.js +8 -0
- package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.d.ts +14 -0
- package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.js +18 -0
- package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
- package/v3/dist/domains/test-execution/services/index.d.ts +1 -0
- package/v3/dist/domains/test-execution/services/index.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/services/index.js +1 -0
- package/v3/dist/domains/test-execution/services/index.js.map +1 -1
- package/v3/dist/domains/test-execution/services/mincut-test-optimizer.d.ts +118 -0
- package/v3/dist/domains/test-execution/services/mincut-test-optimizer.d.ts.map +1 -0
- package/v3/dist/domains/test-execution/services/mincut-test-optimizer.js +358 -0
- package/v3/dist/domains/test-execution/services/mincut-test-optimizer.js.map +1 -0
- package/v3/dist/integrations/ruvector/brain-exporter.d.ts +66 -0
- package/v3/dist/integrations/ruvector/brain-exporter.d.ts.map +1 -0
- package/v3/dist/integrations/ruvector/brain-exporter.js +537 -0
- package/v3/dist/integrations/ruvector/brain-exporter.js.map +1 -0
- package/v3/dist/integrations/ruvector/index.d.ts +4 -0
- package/v3/dist/integrations/ruvector/index.d.ts.map +1 -1
- package/v3/dist/integrations/ruvector/index.js +5 -0
- package/v3/dist/integrations/ruvector/index.js.map +1 -1
- package/v3/dist/integrations/ruvector/mincut-wrapper.d.ts +204 -0
- package/v3/dist/integrations/ruvector/mincut-wrapper.d.ts.map +1 -0
- package/v3/dist/integrations/ruvector/mincut-wrapper.js +310 -0
- package/v3/dist/integrations/ruvector/mincut-wrapper.js.map +1 -0
- package/v3/dist/integrations/ruvector/rvf-dual-writer.d.ts +141 -0
- package/v3/dist/integrations/ruvector/rvf-dual-writer.d.ts.map +1 -0
- package/v3/dist/integrations/ruvector/rvf-dual-writer.js +367 -0
- package/v3/dist/integrations/ruvector/rvf-dual-writer.js.map +1 -0
- package/v3/dist/integrations/ruvector/rvf-native-adapter.d.ts +60 -0
- package/v3/dist/integrations/ruvector/rvf-native-adapter.d.ts.map +1 -0
- package/v3/dist/integrations/ruvector/rvf-native-adapter.js +240 -0
- package/v3/dist/integrations/ruvector/rvf-native-adapter.js.map +1 -0
- package/v3/dist/kernel/hnsw-adapter.d.ts +99 -0
- package/v3/dist/kernel/hnsw-adapter.d.ts.map +1 -0
- package/v3/dist/kernel/hnsw-adapter.js +218 -0
- package/v3/dist/kernel/hnsw-adapter.js.map +1 -0
- package/v3/dist/kernel/hnsw-index-provider.d.ts +90 -0
- package/v3/dist/kernel/hnsw-index-provider.d.ts.map +1 -0
- package/v3/dist/kernel/hnsw-index-provider.js +23 -0
- package/v3/dist/kernel/hnsw-index-provider.js.map +1 -0
- package/v3/dist/kernel/progressive-hnsw-backend.d.ts +67 -0
- package/v3/dist/kernel/progressive-hnsw-backend.d.ts.map +1 -0
- package/v3/dist/kernel/progressive-hnsw-backend.js +266 -0
- package/v3/dist/kernel/progressive-hnsw-backend.js.map +1 -0
- package/v3/dist/kernel/unified-memory-hnsw.d.ts +71 -0
- package/v3/dist/kernel/unified-memory-hnsw.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory-hnsw.js +87 -0
- package/v3/dist/kernel/unified-memory-hnsw.js.map +1 -1
- package/v3/dist/kernel/unified-memory-schemas.d.ts +1 -0
- package/v3/dist/kernel/unified-memory-schemas.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory-schemas.js +16 -0
- package/v3/dist/kernel/unified-memory-schemas.js.map +1 -1
- package/v3/dist/learning/dream/dream-engine.d.ts +16 -0
- package/v3/dist/learning/dream/dream-engine.d.ts.map +1 -1
- package/v3/dist/learning/dream/dream-engine.js +70 -0
- package/v3/dist/learning/dream/dream-engine.js.map +1 -1
- package/v3/dist/learning/dream/index.d.ts +2 -0
- package/v3/dist/learning/dream/index.d.ts.map +1 -1
- package/v3/dist/learning/dream/index.js +8 -0
- package/v3/dist/learning/dream/index.js.map +1 -1
- package/v3/dist/learning/dream/rvcow-branch-manager.d.ts +170 -0
- package/v3/dist/learning/dream/rvcow-branch-manager.d.ts.map +1 -0
- package/v3/dist/learning/dream/rvcow-branch-manager.js +263 -0
- package/v3/dist/learning/dream/rvcow-branch-manager.js.map +1 -0
- package/v3/dist/learning/dream/speculative-dreamer.d.ts +129 -0
- package/v3/dist/learning/dream/speculative-dreamer.d.ts.map +1 -0
- package/v3/dist/learning/dream/speculative-dreamer.js +214 -0
- package/v3/dist/learning/dream/speculative-dreamer.js.map +1 -0
- package/v3/dist/learning/qe-reasoning-bank.d.ts +9 -0
- package/v3/dist/learning/qe-reasoning-bank.d.ts.map +1 -1
- package/v3/dist/learning/qe-reasoning-bank.js +50 -1
- package/v3/dist/learning/qe-reasoning-bank.js.map +1 -1
- package/v3/dist/mcp/bundle.js +8900 -7163
- package/v3/dist/mcp/services/mincut-routing-service.d.ts +148 -0
- package/v3/dist/mcp/services/mincut-routing-service.d.ts.map +1 -0
- package/v3/dist/mcp/services/mincut-routing-service.js +198 -0
- package/v3/dist/mcp/services/mincut-routing-service.js.map +1 -0
- package/v3/dist/mcp/services/task-router.d.ts +4 -0
- package/v3/dist/mcp/services/task-router.d.ts.map +1 -1
- package/v3/dist/mcp/services/task-router.js +57 -15
- package/v3/dist/mcp/services/task-router.js.map +1 -1
- package/v3/dist/monitoring/structural-health.d.ts +142 -0
- package/v3/dist/monitoring/structural-health.d.ts.map +1 -0
- package/v3/dist/monitoring/structural-health.js +201 -0
- package/v3/dist/monitoring/structural-health.js.map +1 -0
- 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":"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"}
|
|
@@ -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":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,SAAS,EAEf,MAAM,iCAAiC,CAAC;
|
|
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
|
-
|
|
124
|
-
|
|
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:
|
|
168
|
+
timestamp: effectiveDecision.metadata.timestamp,
|
|
127
169
|
taskDescription: input.task.slice(0, 200),
|
|
128
170
|
requestedTier: input.manualTier,
|
|
129
|
-
selectedTier:
|
|
130
|
-
modelId:
|
|
131
|
-
complexity:
|
|
132
|
-
confidence:
|
|
133
|
-
wasDowngraded:
|
|
134
|
-
agentBoosterEligible:
|
|
135
|
-
decisionTimeMs:
|
|
136
|
-
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:
|
|
153
|
-
modelId:
|
|
194
|
+
useAgentBooster: effectiveDecision.agentBoosterEligible,
|
|
195
|
+
modelId: effectiveDecision.modelId,
|
|
154
196
|
tierInfo: {
|
|
155
|
-
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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"}
|