agentic-qe 3.3.1 → 3.3.2
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/package.json +1 -1
- package/v3/CHANGELOG.md +46 -0
- package/v3/dist/cli/bundle.js +3675 -342
- package/v3/dist/coordination/queen-coordinator.d.ts +13 -1
- package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
- package/v3/dist/coordination/queen-coordinator.js +91 -3
- package/v3/dist/coordination/queen-coordinator.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/plugin.d.ts +6 -1
- package/v3/dist/domains/coverage-analysis/plugin.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/plugin.js +73 -0
- package/v3/dist/domains/coverage-analysis/plugin.js.map +1 -1
- package/v3/dist/domains/domain-interface.d.ts +39 -2
- package/v3/dist/domains/domain-interface.d.ts.map +1 -1
- package/v3/dist/domains/domain-interface.js +99 -0
- package/v3/dist/domains/domain-interface.js.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.d.ts +83 -0
- package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.js +174 -0
- package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
- package/v3/dist/domains/learning-optimization/interfaces.d.ts +14 -0
- package/v3/dist/domains/learning-optimization/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.d.ts +23 -0
- package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/coordinator.js +139 -1
- package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
- package/v3/dist/domains/quality-assessment/plugin.d.ts +6 -1
- package/v3/dist/domains/quality-assessment/plugin.d.ts.map +1 -1
- package/v3/dist/domains/quality-assessment/plugin.js +67 -0
- package/v3/dist/domains/quality-assessment/plugin.js.map +1 -1
- package/v3/dist/domains/test-execution/plugin.d.ts +6 -1
- package/v3/dist/domains/test-execution/plugin.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/plugin.js +77 -0
- package/v3/dist/domains/test-execution/plugin.js.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.d.ts +40 -0
- package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/coordinator.js +184 -1
- package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/plugin.d.ts +6 -1
- package/v3/dist/domains/test-generation/plugin.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/plugin.js +84 -0
- package/v3/dist/domains/test-generation/plugin.js.map +1 -1
- package/v3/dist/kernel/interfaces.d.ts +54 -1
- package/v3/dist/kernel/interfaces.d.ts.map +1 -1
- package/v3/dist/learning/dream/dream-scheduler.d.ts +302 -0
- package/v3/dist/learning/dream/dream-scheduler.d.ts.map +1 -0
- package/v3/dist/learning/dream/dream-scheduler.js +551 -0
- package/v3/dist/learning/dream/dream-scheduler.js.map +1 -0
- package/v3/dist/learning/dream/index.d.ts +1 -0
- package/v3/dist/learning/dream/index.d.ts.map +1 -1
- package/v3/dist/learning/dream/index.js +4 -0
- package/v3/dist/learning/dream/index.js.map +1 -1
- package/v3/dist/mcp/bundle.js +66391 -60131
- package/v3/dist/mcp/handlers/core-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/core-handlers.js +16 -2
- package/v3/dist/mcp/handlers/core-handlers.js.map +1 -1
- package/v3/dist/mcp/handlers/task-handlers.d.ts +1 -0
- package/v3/dist/mcp/handlers/task-handlers.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/task-handlers.js +46 -12
- package/v3/dist/mcp/handlers/task-handlers.js.map +1 -1
- package/v3/dist/mcp/services/reasoning-bank-service.d.ts +87 -13
- package/v3/dist/mcp/services/reasoning-bank-service.d.ts.map +1 -1
- package/v3/dist/mcp/services/reasoning-bank-service.js +291 -31
- package/v3/dist/mcp/services/reasoning-bank-service.js.map +1 -1
- package/v3/dist/routing/qe-agent-registry.d.ts +27 -0
- package/v3/dist/routing/qe-agent-registry.d.ts.map +1 -1
- package/v3/dist/routing/qe-agent-registry.js +96 -0
- package/v3/dist/routing/qe-agent-registry.js.map +1 -1
- package/v3/dist/shared/events/domain-events.d.ts +27 -0
- package/v3/dist/shared/events/domain-events.d.ts.map +1 -1
- package/v3/dist/shared/events/domain-events.js +1 -0
- package/v3/dist/shared/events/domain-events.js.map +1 -1
- package/v3/package.json +1 -1
|
@@ -2,11 +2,18 @@
|
|
|
2
2
|
* Agentic QE v3 - ReasoningBank Service
|
|
3
3
|
* ADR-051: Provides ReasoningBank integration for MCP task handlers
|
|
4
4
|
*
|
|
5
|
-
* This service bridges the
|
|
6
|
-
* enabling learning from task outcomes and
|
|
5
|
+
* This service bridges the EnhancedReasoningBankAdapter with MCP task execution,
|
|
6
|
+
* enabling learning from task outcomes, intelligent routing, and trajectory tracking.
|
|
7
|
+
*
|
|
8
|
+
* INTEGRATION FIX: Now uses EnhancedReasoningBankAdapter for full learning pipeline:
|
|
9
|
+
* - Trajectory tracking during task execution
|
|
10
|
+
* - Experience-guided routing decisions
|
|
11
|
+
* - Pattern evolution and consolidation
|
|
12
|
+
* - Synchronous learning (no fire-and-forget)
|
|
7
13
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import { getPatternLoader } from '../../integrations/agentic-flow/pattern-loader';
|
|
14
|
+
import { createEnhancedReasoningBank, } from '../../integrations/agentic-flow/reasoning-bank/index.js';
|
|
15
|
+
import { getPatternLoader } from '../../integrations/agentic-flow/pattern-loader.js';
|
|
16
|
+
import { updateAgentPerformance } from '../../routing/qe-agent-registry.js';
|
|
10
17
|
/**
|
|
11
18
|
* Default configuration
|
|
12
19
|
*/
|
|
@@ -14,6 +21,9 @@ export const DEFAULT_SERVICE_CONFIG = {
|
|
|
14
21
|
enableLearning: true,
|
|
15
22
|
enableRouting: true,
|
|
16
23
|
enableGuidance: true,
|
|
24
|
+
enableTrajectories: true,
|
|
25
|
+
enableExperienceReplay: true,
|
|
26
|
+
autoStoreExperiences: true,
|
|
17
27
|
minQualityThreshold: 0.6,
|
|
18
28
|
};
|
|
19
29
|
// ============================================================================
|
|
@@ -23,13 +33,17 @@ export const DEFAULT_SERVICE_CONFIG = {
|
|
|
23
33
|
* ReasoningBank Service
|
|
24
34
|
*
|
|
25
35
|
* Provides learning and routing capabilities for MCP task execution.
|
|
26
|
-
*
|
|
36
|
+
* Uses EnhancedReasoningBankAdapter for full learning pipeline including:
|
|
37
|
+
* - Trajectory tracking
|
|
38
|
+
* - Experience replay
|
|
39
|
+
* - Pattern evolution
|
|
40
|
+
* - HNSW-indexed pattern storage
|
|
27
41
|
*/
|
|
28
42
|
export class ReasoningBankService {
|
|
29
43
|
static instance = null;
|
|
30
44
|
static initPromise = null;
|
|
31
45
|
config;
|
|
32
|
-
|
|
46
|
+
enhancedAdapter;
|
|
33
47
|
disposed = false;
|
|
34
48
|
// ADR-051: Pattern loading status
|
|
35
49
|
patternsLoaded = false;
|
|
@@ -40,9 +54,11 @@ export class ReasoningBankService {
|
|
|
40
54
|
failedTasks = 0;
|
|
41
55
|
patternsStored = 0;
|
|
42
56
|
routingRequests = 0;
|
|
43
|
-
|
|
57
|
+
// INTEGRATION FIX: Track active trajectories per task
|
|
58
|
+
activeTrajectories = new Map();
|
|
59
|
+
constructor(config, enhancedAdapter) {
|
|
44
60
|
this.config = config;
|
|
45
|
-
this.
|
|
61
|
+
this.enhancedAdapter = enhancedAdapter;
|
|
46
62
|
}
|
|
47
63
|
/**
|
|
48
64
|
* Get or create the singleton service instance
|
|
@@ -71,16 +87,21 @@ export class ReasoningBankService {
|
|
|
71
87
|
...DEFAULT_SERVICE_CONFIG,
|
|
72
88
|
...config,
|
|
73
89
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
90
|
+
// INTEGRATION FIX: Use EnhancedReasoningBankAdapter instead of RealQEReasoningBank
|
|
91
|
+
const enhancedAdapter = createEnhancedReasoningBank({
|
|
92
|
+
enableTrajectories: fullConfig.enableTrajectories,
|
|
93
|
+
enableExperienceReplay: fullConfig.enableExperienceReplay,
|
|
94
|
+
enablePatternEvolution: true,
|
|
95
|
+
autoStoreExperiences: fullConfig.autoStoreExperiences,
|
|
96
|
+
autoConsolidate: true,
|
|
78
97
|
});
|
|
79
|
-
await
|
|
80
|
-
const service = new ReasoningBankService(fullConfig,
|
|
98
|
+
await enhancedAdapter.initialize();
|
|
99
|
+
const service = new ReasoningBankService(fullConfig, enhancedAdapter);
|
|
81
100
|
// ADR-051: Load quality thresholds from PatternLoader
|
|
82
101
|
await service.loadPatternsFromLoader();
|
|
83
|
-
|
|
102
|
+
// INTEGRATION FIX: Seed initial patterns if none exist
|
|
103
|
+
await service.seedInitialPatternsIfNeeded();
|
|
104
|
+
console.error('[ReasoningBankService] Initialized with EnhancedReasoningBankAdapter (trajectory + experience + evolution)');
|
|
84
105
|
return service;
|
|
85
106
|
}
|
|
86
107
|
/**
|
|
@@ -108,6 +129,102 @@ export class ReasoningBankService {
|
|
|
108
129
|
}
|
|
109
130
|
this.patternsLoaded = false;
|
|
110
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* INTEGRATION FIX: Seed initial QE patterns for bootstrap
|
|
134
|
+
* This ensures the system has baseline data to work with
|
|
135
|
+
*/
|
|
136
|
+
async seedInitialPatternsIfNeeded() {
|
|
137
|
+
try {
|
|
138
|
+
const stats = await this.enhancedAdapter.getStats();
|
|
139
|
+
if (stats.reasoningBank.totalPatterns > 0) {
|
|
140
|
+
console.error(`[ReasoningBankService] Found ${stats.reasoningBank.totalPatterns} existing patterns, skipping seed`);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
console.error('[ReasoningBankService] Seeding initial QE patterns...');
|
|
144
|
+
// Helper to create template variables
|
|
145
|
+
const makeVar = (name, type = 'string', required = false) => ({
|
|
146
|
+
name,
|
|
147
|
+
type,
|
|
148
|
+
required,
|
|
149
|
+
description: `${name} parameter`,
|
|
150
|
+
});
|
|
151
|
+
const seedPatterns = [
|
|
152
|
+
{
|
|
153
|
+
patternType: 'test-template',
|
|
154
|
+
name: 'unit-test-generation',
|
|
155
|
+
description: 'Generate comprehensive unit tests for TypeScript/JavaScript modules',
|
|
156
|
+
domain: 'test-generation',
|
|
157
|
+
template: {
|
|
158
|
+
type: 'workflow',
|
|
159
|
+
content: 'Analyze module exports, identify edge cases, generate Jest/Vitest tests with proper mocking',
|
|
160
|
+
variables: [makeVar('modulePath'), makeVar('framework')],
|
|
161
|
+
},
|
|
162
|
+
context: { tags: ['unit', 'typescript', 'jest', 'vitest'] },
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
patternType: 'coverage-strategy',
|
|
166
|
+
name: 'coverage-gap-analysis',
|
|
167
|
+
description: 'Identify untested code paths and recommend targeted tests',
|
|
168
|
+
domain: 'coverage-analysis',
|
|
169
|
+
template: {
|
|
170
|
+
type: 'workflow',
|
|
171
|
+
content: 'Parse coverage report, identify uncovered branches, prioritize by risk, generate recommendations',
|
|
172
|
+
variables: [makeVar('coveragePath'), makeVar('threshold', 'number')],
|
|
173
|
+
},
|
|
174
|
+
context: { tags: ['coverage', 'analysis', 'risk'] },
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
patternType: 'test-template',
|
|
178
|
+
name: 'integration-test-generation',
|
|
179
|
+
description: 'Generate integration tests for API endpoints and service interactions',
|
|
180
|
+
domain: 'test-generation',
|
|
181
|
+
template: {
|
|
182
|
+
type: 'workflow',
|
|
183
|
+
content: 'Identify API contracts, generate request/response tests, validate error handling',
|
|
184
|
+
variables: [makeVar('apiPath'), makeVar('framework')],
|
|
185
|
+
},
|
|
186
|
+
context: { tags: ['integration', 'api', 'contract'] },
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
patternType: 'flaky-fix',
|
|
190
|
+
name: 'flaky-test-remediation',
|
|
191
|
+
description: 'Detect and fix flaky tests through pattern analysis',
|
|
192
|
+
domain: 'test-execution',
|
|
193
|
+
template: {
|
|
194
|
+
type: 'workflow',
|
|
195
|
+
content: 'Analyze test history, identify timing/race conditions, apply stabilization patterns',
|
|
196
|
+
variables: [makeVar('testPath'), makeVar('retryCount', 'number')],
|
|
197
|
+
},
|
|
198
|
+
context: { tags: ['flaky', 'stability', 'retry'] },
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
patternType: 'error-handling',
|
|
202
|
+
name: 'security-vulnerability-scan',
|
|
203
|
+
description: 'Scan code for security vulnerabilities using OWASP patterns',
|
|
204
|
+
domain: 'security-compliance',
|
|
205
|
+
template: {
|
|
206
|
+
type: 'workflow',
|
|
207
|
+
content: 'Run SAST analysis, check for injection risks, validate authentication/authorization',
|
|
208
|
+
variables: [makeVar('targetPath'), makeVar('severity')],
|
|
209
|
+
},
|
|
210
|
+
context: { tags: ['security', 'owasp', 'sast'] },
|
|
211
|
+
},
|
|
212
|
+
];
|
|
213
|
+
for (const pattern of seedPatterns) {
|
|
214
|
+
try {
|
|
215
|
+
await this.enhancedAdapter.storePattern(pattern);
|
|
216
|
+
this.patternsStored++;
|
|
217
|
+
}
|
|
218
|
+
catch (err) {
|
|
219
|
+
console.error(`[ReasoningBankService] Failed to seed pattern ${pattern.name}:`, err);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
console.error(`[ReasoningBankService] Seeded ${seedPatterns.length} initial patterns`);
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
console.error('[ReasoningBankService] Failed to seed patterns:', error);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
111
228
|
/**
|
|
112
229
|
* ADR-051: Get pattern loading status for health checks
|
|
113
230
|
*/
|
|
@@ -120,10 +237,85 @@ export class ReasoningBankService {
|
|
|
120
237
|
getQualityThresholdsFromPatterns() {
|
|
121
238
|
return this.qualityThresholdsFromPatterns;
|
|
122
239
|
}
|
|
240
|
+
// ============================================================================
|
|
241
|
+
// INTEGRATION FIX: Trajectory Tracking Methods
|
|
242
|
+
// ============================================================================
|
|
243
|
+
/**
|
|
244
|
+
* Start tracking a task trajectory
|
|
245
|
+
* Call this when a task begins execution
|
|
246
|
+
*/
|
|
247
|
+
async startTaskTrajectory(taskId, task, options = {}) {
|
|
248
|
+
if (!this.config.enableTrajectories || this.disposed) {
|
|
249
|
+
return taskId; // Return taskId as fallback trajectory ID
|
|
250
|
+
}
|
|
251
|
+
try {
|
|
252
|
+
const trajectoryId = await this.enhancedAdapter.startTaskTrajectory(task, options);
|
|
253
|
+
this.activeTrajectories.set(taskId, trajectoryId);
|
|
254
|
+
console.error(`[ReasoningBankService] Started trajectory: task=${taskId} trajectory=${trajectoryId}`);
|
|
255
|
+
return trajectoryId;
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
console.error('[ReasoningBankService] Failed to start trajectory:', error);
|
|
259
|
+
return taskId;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Record a step in the current task trajectory
|
|
264
|
+
*/
|
|
265
|
+
async recordTrajectoryStep(taskId, action, result, options) {
|
|
266
|
+
if (!this.config.enableTrajectories || this.disposed) {
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
const trajectoryId = this.activeTrajectories.get(taskId);
|
|
270
|
+
if (!trajectoryId) {
|
|
271
|
+
console.error(`[ReasoningBankService] No active trajectory for task ${taskId}`);
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
try {
|
|
275
|
+
await this.enhancedAdapter.recordTaskStep(trajectoryId, action, result, options);
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
console.error('[ReasoningBankService] Failed to record trajectory step:', error);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* End a task trajectory and trigger learning
|
|
283
|
+
* Call this when a task completes
|
|
284
|
+
*/
|
|
285
|
+
async endTaskTrajectory(taskId, success, feedback) {
|
|
286
|
+
if (!this.config.enableTrajectories || this.disposed) {
|
|
287
|
+
return null;
|
|
288
|
+
}
|
|
289
|
+
const trajectoryId = this.activeTrajectories.get(taskId);
|
|
290
|
+
if (!trajectoryId) {
|
|
291
|
+
console.error(`[ReasoningBankService] No active trajectory for task ${taskId}`);
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
try {
|
|
295
|
+
const trajectory = await this.enhancedAdapter.endTaskTrajectory(trajectoryId, success, feedback);
|
|
296
|
+
this.activeTrajectories.delete(taskId);
|
|
297
|
+
console.error(`[ReasoningBankService] Ended trajectory: task=${taskId} success=${success} ` +
|
|
298
|
+
`steps=${trajectory.steps.length} quality=${trajectory.metrics.averageQuality.toFixed(2)}`);
|
|
299
|
+
return trajectory;
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
console.error('[ReasoningBankService] Failed to end trajectory:', error);
|
|
303
|
+
this.activeTrajectories.delete(taskId);
|
|
304
|
+
return null;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Get active trajectory ID for a task
|
|
309
|
+
*/
|
|
310
|
+
getActiveTrajectoryId(taskId) {
|
|
311
|
+
return this.activeTrajectories.get(taskId);
|
|
312
|
+
}
|
|
313
|
+
// ============================================================================
|
|
314
|
+
// Record Task Outcome (Synchronous Learning)
|
|
315
|
+
// ============================================================================
|
|
123
316
|
/**
|
|
124
317
|
* Record a task outcome for learning
|
|
125
|
-
*
|
|
126
|
-
* This is called after task execution to learn from the outcome.
|
|
318
|
+
* INTEGRATION FIX: Now synchronous (awaited) to ensure learning occurs
|
|
127
319
|
*/
|
|
128
320
|
async recordTaskOutcome(outcome) {
|
|
129
321
|
if (!this.config.enableLearning || this.disposed) {
|
|
@@ -151,18 +343,44 @@ export class ReasoningBankService {
|
|
|
151
343
|
},
|
|
152
344
|
feedback: outcome.error,
|
|
153
345
|
};
|
|
154
|
-
await this.
|
|
346
|
+
await this.enhancedAdapter.recordPatternOutcome(learningOutcome);
|
|
155
347
|
// If high quality, store as a pattern
|
|
156
348
|
if (outcome.success &&
|
|
157
349
|
(outcome.qualityScore || 0.5) >= this.config.minQualityThreshold) {
|
|
158
350
|
await this.storeTaskPattern(outcome);
|
|
159
351
|
this.patternsStored++;
|
|
160
352
|
}
|
|
353
|
+
// INTEGRATION FIX: Update agent performance metrics
|
|
354
|
+
if (outcome.agentId) {
|
|
355
|
+
await this.updateAgentPerformanceFromOutcome(outcome);
|
|
356
|
+
}
|
|
161
357
|
console.error(`[ReasoningBankService] Recorded outcome: task=${outcome.taskId} ` +
|
|
162
358
|
`success=${outcome.success} quality=${outcome.qualityScore?.toFixed(2) || 'N/A'}`);
|
|
163
359
|
}
|
|
164
360
|
catch (error) {
|
|
165
361
|
console.error('[ReasoningBankService] Failed to record outcome:', error);
|
|
362
|
+
// INTEGRATION FIX: Re-throw to ensure caller knows learning failed
|
|
363
|
+
throw error;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* INTEGRATION FIX: Update agent performance metrics from task outcome
|
|
368
|
+
*/
|
|
369
|
+
async updateAgentPerformanceFromOutcome(outcome) {
|
|
370
|
+
if (!outcome.agentId)
|
|
371
|
+
return;
|
|
372
|
+
try {
|
|
373
|
+
updateAgentPerformance(outcome.agentId, {
|
|
374
|
+
success: outcome.success,
|
|
375
|
+
executionTimeMs: outcome.executionTimeMs,
|
|
376
|
+
qualityScore: outcome.qualityScore,
|
|
377
|
+
});
|
|
378
|
+
console.error(`[ReasoningBankService] Updated agent performance: agent=${outcome.agentId} ` +
|
|
379
|
+
`success=${outcome.success} duration=${outcome.executionTimeMs}ms`);
|
|
380
|
+
}
|
|
381
|
+
catch (error) {
|
|
382
|
+
// Don't fail the whole operation if performance update fails
|
|
383
|
+
console.error('[ReasoningBankService] Failed to update agent performance:', error);
|
|
166
384
|
}
|
|
167
385
|
}
|
|
168
386
|
/**
|
|
@@ -177,7 +395,7 @@ export class ReasoningBankService {
|
|
|
177
395
|
outcome.agentId ? `agent:${outcome.agentId}` : undefined,
|
|
178
396
|
outcome.modelTier ? `tier:${outcome.modelTier}` : undefined,
|
|
179
397
|
].filter((t) => t !== undefined);
|
|
180
|
-
await this.
|
|
398
|
+
await this.enhancedAdapter.storePattern({
|
|
181
399
|
patternType: 'test-template',
|
|
182
400
|
name: `${outcome.taskType}-${outcome.domain || 'general'}`,
|
|
183
401
|
description: outcome.task,
|
|
@@ -199,10 +417,12 @@ export class ReasoningBankService {
|
|
|
199
417
|
console.error('[ReasoningBankService] Failed to store pattern:', error);
|
|
200
418
|
}
|
|
201
419
|
}
|
|
420
|
+
// ============================================================================
|
|
421
|
+
// INTEGRATION FIX: Experience-Guided Routing
|
|
422
|
+
// ============================================================================
|
|
202
423
|
/**
|
|
203
|
-
* Get routing recommendation
|
|
204
|
-
*
|
|
205
|
-
* Uses pattern similarity to recommend the best agent and approach.
|
|
424
|
+
* Get routing recommendation with experience guidance
|
|
425
|
+
* INTEGRATION FIX: Uses routeTaskWithExperience for enhanced routing
|
|
206
426
|
*/
|
|
207
427
|
async getRoutingRecommendation(request) {
|
|
208
428
|
if (!this.config.enableRouting || this.disposed) {
|
|
@@ -210,20 +430,43 @@ export class ReasoningBankService {
|
|
|
210
430
|
}
|
|
211
431
|
this.routingRequests++;
|
|
212
432
|
try {
|
|
213
|
-
|
|
433
|
+
// INTEGRATION FIX: Use experience-guided routing
|
|
434
|
+
const result = await this.enhancedAdapter.routeTaskWithExperience(request);
|
|
214
435
|
if (!result.success) {
|
|
215
436
|
console.error('[ReasoningBankService] Routing returned error:', result.error);
|
|
216
437
|
return this.createFallbackRouting(request);
|
|
217
438
|
}
|
|
439
|
+
const enhancedResult = result.value;
|
|
440
|
+
// Log experience guidance if available
|
|
441
|
+
if (enhancedResult.experienceGuidance) {
|
|
442
|
+
console.error(`[ReasoningBankService] Experience guidance: strategy="${enhancedResult.experienceGuidance.recommendedStrategy}" ` +
|
|
443
|
+
`confidence=${enhancedResult.experienceGuidance.confidence.toFixed(2)} ` +
|
|
444
|
+
`tokenSavings=${enhancedResult.experienceGuidance.estimatedTokenSavings}`);
|
|
445
|
+
}
|
|
218
446
|
console.error(`[ReasoningBankService] Routing: task="${request.task.slice(0, 50)}..." ` +
|
|
219
|
-
|
|
220
|
-
return
|
|
447
|
+
`-> agent=${enhancedResult.recommendedAgent} confidence=${enhancedResult.confidence.toFixed(2)}`);
|
|
448
|
+
return enhancedResult;
|
|
221
449
|
}
|
|
222
450
|
catch (error) {
|
|
223
451
|
console.error('[ReasoningBankService] Routing failed:', error);
|
|
224
452
|
return this.createFallbackRouting(request);
|
|
225
453
|
}
|
|
226
454
|
}
|
|
455
|
+
/**
|
|
456
|
+
* Get experience guidance for a task (without routing)
|
|
457
|
+
*/
|
|
458
|
+
async getExperienceGuidance(task, domain) {
|
|
459
|
+
if (!this.config.enableExperienceReplay || this.disposed) {
|
|
460
|
+
return null;
|
|
461
|
+
}
|
|
462
|
+
try {
|
|
463
|
+
return await this.enhancedAdapter.getExperienceGuidance(task, domain);
|
|
464
|
+
}
|
|
465
|
+
catch (error) {
|
|
466
|
+
console.error('[ReasoningBankService] Failed to get experience guidance:', error);
|
|
467
|
+
return null;
|
|
468
|
+
}
|
|
469
|
+
}
|
|
227
470
|
/**
|
|
228
471
|
* Get guidance for a task
|
|
229
472
|
*/
|
|
@@ -232,7 +475,7 @@ export class ReasoningBankService {
|
|
|
232
475
|
return [];
|
|
233
476
|
}
|
|
234
477
|
try {
|
|
235
|
-
const result = await this.
|
|
478
|
+
const result = await this.enhancedAdapter.routeTaskWithExperience({
|
|
236
479
|
task,
|
|
237
480
|
domain,
|
|
238
481
|
});
|
|
@@ -254,7 +497,7 @@ export class ReasoningBankService {
|
|
|
254
497
|
return [];
|
|
255
498
|
}
|
|
256
499
|
try {
|
|
257
|
-
const results = await this.
|
|
500
|
+
const results = await this.enhancedAdapter.searchPatterns(query, {
|
|
258
501
|
limit: options?.limit || 10,
|
|
259
502
|
domain: options?.domain,
|
|
260
503
|
});
|
|
@@ -273,7 +516,7 @@ export class ReasoningBankService {
|
|
|
273
516
|
* Get service statistics
|
|
274
517
|
*/
|
|
275
518
|
async getStats() {
|
|
276
|
-
const
|
|
519
|
+
const adapterStats = await this.enhancedAdapter.getStats();
|
|
277
520
|
return {
|
|
278
521
|
service: {
|
|
279
522
|
tasksRecorded: this.tasksRecorded,
|
|
@@ -282,9 +525,11 @@ export class ReasoningBankService {
|
|
|
282
525
|
successRate: this.tasksRecorded > 0 ? this.successfulTasks / this.tasksRecorded : 0,
|
|
283
526
|
patternsStored: this.patternsStored,
|
|
284
527
|
routingRequests: this.routingRequests,
|
|
285
|
-
patternsLoaded: this.patternsLoaded,
|
|
528
|
+
patternsLoaded: this.patternsLoaded,
|
|
529
|
+
activeTrajectories: this.activeTrajectories.size,
|
|
286
530
|
},
|
|
287
|
-
reasoningBank:
|
|
531
|
+
reasoningBank: adapterStats.reasoningBank,
|
|
532
|
+
adapter: adapterStats.adapter,
|
|
288
533
|
};
|
|
289
534
|
}
|
|
290
535
|
/**
|
|
@@ -315,7 +560,8 @@ export class ReasoningBankService {
|
|
|
315
560
|
if (this.disposed)
|
|
316
561
|
return;
|
|
317
562
|
this.disposed = true;
|
|
318
|
-
await this.
|
|
563
|
+
await this.enhancedAdapter.dispose();
|
|
564
|
+
this.activeTrajectories.clear();
|
|
319
565
|
ReasoningBankService.instance = null;
|
|
320
566
|
console.error('[ReasoningBankService] Disposed');
|
|
321
567
|
}
|
|
@@ -353,4 +599,18 @@ export async function getRoutingRecommendation(request) {
|
|
|
353
599
|
const service = await getReasoningBankService();
|
|
354
600
|
return service.getRoutingRecommendation(request);
|
|
355
601
|
}
|
|
602
|
+
/**
|
|
603
|
+
* Start task trajectory (shorthand)
|
|
604
|
+
*/
|
|
605
|
+
export async function startTaskTrajectory(taskId, task, options) {
|
|
606
|
+
const service = await getReasoningBankService();
|
|
607
|
+
return service.startTaskTrajectory(taskId, task, options);
|
|
608
|
+
}
|
|
609
|
+
/**
|
|
610
|
+
* End task trajectory (shorthand)
|
|
611
|
+
*/
|
|
612
|
+
export async function endTaskTrajectory(taskId, success, feedback) {
|
|
613
|
+
const service = await getReasoningBankService();
|
|
614
|
+
return service.endTaskTrajectory(taskId, success, feedback);
|
|
615
|
+
}
|
|
356
616
|
//# sourceMappingURL=reasoning-bank-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-bank-service.js","sourceRoot":"","sources":["../../../src/mcp/services/reasoning-bank-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reasoning-bank-service.js","sourceRoot":"","sources":["../../../src/mcp/services/reasoning-bank-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,4 +64,31 @@ export declare function getAgentCounts(): {
|
|
|
64
64
|
consensus: number;
|
|
65
65
|
total: number;
|
|
66
66
|
};
|
|
67
|
+
/**
|
|
68
|
+
* Performance update data from task outcomes
|
|
69
|
+
*/
|
|
70
|
+
export interface AgentPerformanceUpdate {
|
|
71
|
+
/** Whether the task succeeded */
|
|
72
|
+
success: boolean;
|
|
73
|
+
/** Task execution time in milliseconds */
|
|
74
|
+
executionTimeMs: number;
|
|
75
|
+
/** Quality score (0-1) */
|
|
76
|
+
qualityScore?: number;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Update an agent's performance metrics based on task outcome
|
|
80
|
+
* INTEGRATION FIX: Closes the feedback loop from ReasoningBank learning
|
|
81
|
+
*
|
|
82
|
+
* @param agentId - The agent ID to update
|
|
83
|
+
* @param update - Performance update data
|
|
84
|
+
*/
|
|
85
|
+
export declare function updateAgentPerformance(agentId: string, update: AgentPerformanceUpdate): void;
|
|
86
|
+
/**
|
|
87
|
+
* Get agents sorted by performance score
|
|
88
|
+
*/
|
|
89
|
+
export declare function getAgentsByPerformance(domain?: QEDomain): QEAgentProfile[];
|
|
90
|
+
/**
|
|
91
|
+
* Reset all agent performance metrics (for testing)
|
|
92
|
+
*/
|
|
93
|
+
export declare function resetAgentPerformanceMetrics(): void;
|
|
67
94
|
//# sourceMappingURL=qe-agent-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qe-agent-registry.d.ts","sourceRoot":"","sources":["../../src/routing/qe-agent-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAs+B3D;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAQrD,CAAC;AAEH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,cAAc,EAAE,CAEnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,cAAc,EAAE,CAEnF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,EAAE,CAE/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,cAAc,EAAE,CAanF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEnE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAWA"}
|
|
1
|
+
{"version":3,"file":"qe-agent-registry.d.ts","sourceRoot":"","sources":["../../src/routing/qe-agent-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAs+B3D;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAQrD,CAAC;AAEH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc,EAAE,CAEpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,cAAc,EAAE,CAEnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,cAAc,EAAE,CAEnF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,aAAa,GAAG,cAAc,EAAE,CAE/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,cAAc,EAAE,CAanF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEnE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAWA;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CAgBN;AAwDD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,cAAc,EAAE,CAmB1E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAQnD"}
|
|
@@ -1059,4 +1059,100 @@ export function getAgentCounts() {
|
|
|
1059
1059
|
total: QE_AGENT_REGISTRY.length,
|
|
1060
1060
|
};
|
|
1061
1061
|
}
|
|
1062
|
+
/**
|
|
1063
|
+
* Update an agent's performance metrics based on task outcome
|
|
1064
|
+
* INTEGRATION FIX: Closes the feedback loop from ReasoningBank learning
|
|
1065
|
+
*
|
|
1066
|
+
* @param agentId - The agent ID to update
|
|
1067
|
+
* @param update - Performance update data
|
|
1068
|
+
*/
|
|
1069
|
+
export function updateAgentPerformance(agentId, update) {
|
|
1070
|
+
const agent = QE_AGENT_REGISTRY.find(a => a.id === agentId);
|
|
1071
|
+
if (!agent) {
|
|
1072
|
+
// Try to find by partial match (e.g., "qe-test-architect" matches "v3-qe-test-architect")
|
|
1073
|
+
const partialMatch = QE_AGENT_REGISTRY.find(a => a.id.includes(agentId) || agentId.includes(a.id));
|
|
1074
|
+
if (!partialMatch) {
|
|
1075
|
+
console.error(`[AgentRegistry] Agent not found: ${agentId}`);
|
|
1076
|
+
return;
|
|
1077
|
+
}
|
|
1078
|
+
updateAgentMetrics(partialMatch, update);
|
|
1079
|
+
return;
|
|
1080
|
+
}
|
|
1081
|
+
updateAgentMetrics(agent, update);
|
|
1082
|
+
}
|
|
1083
|
+
/**
|
|
1084
|
+
* Internal function to update agent metrics
|
|
1085
|
+
*/
|
|
1086
|
+
function updateAgentMetrics(agent, update) {
|
|
1087
|
+
const previousTasks = agent.tasksCompleted;
|
|
1088
|
+
const previousSuccesses = Math.round(agent.successRate * previousTasks);
|
|
1089
|
+
// Increment task count
|
|
1090
|
+
agent.tasksCompleted++;
|
|
1091
|
+
// Update success rate (exponential moving average for recent weighting)
|
|
1092
|
+
const newSuccesses = previousSuccesses + (update.success ? 1 : 0);
|
|
1093
|
+
agent.successRate = agent.tasksCompleted > 0
|
|
1094
|
+
? newSuccesses / agent.tasksCompleted
|
|
1095
|
+
: 0;
|
|
1096
|
+
// Update average duration (exponential moving average)
|
|
1097
|
+
if (previousTasks === 0) {
|
|
1098
|
+
agent.avgDurationMs = update.executionTimeMs;
|
|
1099
|
+
}
|
|
1100
|
+
else {
|
|
1101
|
+
// Weight recent results more heavily (alpha = 0.3)
|
|
1102
|
+
const alpha = 0.3;
|
|
1103
|
+
agent.avgDurationMs = alpha * update.executionTimeMs + (1 - alpha) * agent.avgDurationMs;
|
|
1104
|
+
}
|
|
1105
|
+
// Update performance score based on success rate and quality
|
|
1106
|
+
const qualityFactor = update.qualityScore ?? (update.success ? 0.7 : 0.3);
|
|
1107
|
+
const successFactor = agent.successRate;
|
|
1108
|
+
// Performance score = weighted combination (quality 40%, success rate 60%)
|
|
1109
|
+
const newPerformanceScore = 0.4 * qualityFactor + 0.6 * successFactor;
|
|
1110
|
+
// Exponential moving average for stability
|
|
1111
|
+
if (previousTasks === 0) {
|
|
1112
|
+
agent.performanceScore = newPerformanceScore;
|
|
1113
|
+
}
|
|
1114
|
+
else {
|
|
1115
|
+
const alpha = 0.2;
|
|
1116
|
+
agent.performanceScore = alpha * newPerformanceScore + (1 - alpha) * agent.performanceScore;
|
|
1117
|
+
}
|
|
1118
|
+
// Clamp performance score to valid range
|
|
1119
|
+
agent.performanceScore = Math.max(0, Math.min(1, agent.performanceScore));
|
|
1120
|
+
console.error(`[AgentRegistry] Updated ${agent.id}: tasks=${agent.tasksCompleted} ` +
|
|
1121
|
+
`successRate=${(agent.successRate * 100).toFixed(1)}% ` +
|
|
1122
|
+
`performanceScore=${agent.performanceScore.toFixed(3)} ` +
|
|
1123
|
+
`avgDurationMs=${agent.avgDurationMs.toFixed(0)}`);
|
|
1124
|
+
}
|
|
1125
|
+
/**
|
|
1126
|
+
* Get agents sorted by performance score
|
|
1127
|
+
*/
|
|
1128
|
+
export function getAgentsByPerformance(domain) {
|
|
1129
|
+
let agents = [...QE_AGENT_REGISTRY];
|
|
1130
|
+
if (domain) {
|
|
1131
|
+
agents = agents.filter(a => a.domains.includes(domain));
|
|
1132
|
+
}
|
|
1133
|
+
return agents.sort((a, b) => {
|
|
1134
|
+
// Primary sort by performance score (descending)
|
|
1135
|
+
if (b.performanceScore !== a.performanceScore) {
|
|
1136
|
+
return b.performanceScore - a.performanceScore;
|
|
1137
|
+
}
|
|
1138
|
+
// Secondary sort by success rate (descending)
|
|
1139
|
+
if (b.successRate !== a.successRate) {
|
|
1140
|
+
return b.successRate - a.successRate;
|
|
1141
|
+
}
|
|
1142
|
+
// Tertiary sort by tasks completed (descending) - prefer experienced agents
|
|
1143
|
+
return b.tasksCompleted - a.tasksCompleted;
|
|
1144
|
+
});
|
|
1145
|
+
}
|
|
1146
|
+
/**
|
|
1147
|
+
* Reset all agent performance metrics (for testing)
|
|
1148
|
+
*/
|
|
1149
|
+
export function resetAgentPerformanceMetrics() {
|
|
1150
|
+
for (const agent of QE_AGENT_REGISTRY) {
|
|
1151
|
+
agent.performanceScore = 0.7;
|
|
1152
|
+
agent.tasksCompleted = 0;
|
|
1153
|
+
agent.successRate = 0;
|
|
1154
|
+
agent.avgDurationMs = 0;
|
|
1155
|
+
}
|
|
1156
|
+
console.error('[AgentRegistry] Reset all agent performance metrics');
|
|
1157
|
+
}
|
|
1062
1158
|
//# sourceMappingURL=qe-agent-registry.js.map
|