/** * Routing Feedback Collection * ADR-022: Adaptive QE Agent Routing * * Collects feedback from routing outcomes to improve future routing decisions. * Integrates with SQLite for persistence and supports ReasoningBank patterns. */ import type { RoutingOutcome, QETask, QERoutingDecision, AgentPerformanceMetrics } from './types.js'; import type { QETaskRouter } from './qe-task-router.js'; /** * Collects and processes routing feedback for continuous learning */ export declare class RoutingFeedbackCollector { private outcomeStore; private router; constructor(maxOutcomes?: number); /** * Connect to router for automatic performance updates */ connectRouter(router: QETaskRouter): void; /** * Record a routing outcome */ recordOutcome(task: QETask, decision: QERoutingDecision, usedAgent: string, outcome: { success: boolean; qualityScore: number; durationMs: number; error?: string; }): RoutingOutcome; /** * Get aggregated performance metrics for an agent */ getAgentMetrics(agentId: string): AgentPerformanceMetrics | null; /** * Get metrics for all agents */ getAllAgentMetrics(): AgentPerformanceMetrics[]; /** * Analyze routing accuracy */ analyzeRoutingAccuracy(): { totalOutcomes: number; followedRecommendations: number; overrideRate: number; recommendationSuccessRate: number; overrideSuccessRate: number; confidenceCorrelation: number; }; /** * Calculate correlation between confidence and success */ private calculateConfidenceCorrelation; /** * Get recommendations for improving routing */ getImprovementRecommendations(): string[]; /** * Export outcomes for persistence */ exportOutcomes(): RoutingOutcome[]; /** * Import outcomes from persistence */ importOutcomes(outcomes: RoutingOutcome[]): void; /** * Get statistics */ getStats(): { totalOutcomes: number; uniqueAgentsUsed: number; recentOverrides: number; }; /** * Clear all stored outcomes */ clear(): void; } /** * Create a new routing feedback collector */ export declare function createRoutingFeedbackCollector(maxOutcomes?: number): RoutingFeedbackCollector; //# sourceMappingURL=routing-feedback.d.ts.map