/** * Agentic QE v3 - RuVector Fallback Logic * * Rule-based fallback implementations when RuVector is unavailable. * All QE features MUST work without RuVector - this provides the baseline. */ import type { TestTask, AgentRoutingResult, FileComplexityResult, RiskClassification, DiffContext, FileChange, CoverageRoutingResult, FileCoverage, CoverageGap, GraphBoundariesResult, BoundaryCrossing, QLearningRouter, ASTComplexityAnalyzer, DiffRiskClassifier, CoverageRouter, GraphBoundariesAnalyzer, QLearningState, QLearningAction } from './interfaces'; import type { Severity, Priority } from '../../shared/types'; /** * Rule-based fallback for Q-Learning router * Uses simple heuristics instead of ML-based routing */ export declare class FallbackQLearningRouter implements QLearningRouter { private feedback; routeTask(task: TestTask): Promise; routeTasks(tasks: TestTask[]): Promise; provideFeedback(taskId: string, result: { success: boolean; durationMs: number; quality: number; }): Promise; getQValue(_state: QLearningState, _action: QLearningAction): number; reset(): Promise; exportModel(): Promise>; importModel(_model: Record): Promise; private computeRuleBasedRouting; private mapTaskToAgent; private getAlternatives; } /** * Rule-based fallback for AST complexity analysis * Uses simple heuristics based on file size and patterns */ export declare class FallbackASTComplexityAnalyzer implements ASTComplexityAnalyzer { analyzeFile(filePath: string): Promise; analyzeFiles(filePaths: string[]): Promise; getComplexityRanking(filePaths: string[]): Promise>; suggestTestFocus(filePaths: string[]): Promise>; private estimateComplexity; private calculateOverallScore; private scoreToRiskLevel; private scoreToPriority; private generateRecommendations; } /** * Rule-based fallback for diff risk classification */ export declare class FallbackDiffRiskClassifier implements DiffRiskClassifier { private readonly HIGH_RISK_PATTERNS; private readonly SENSITIVE_FILE_PATTERNS; classifyDiff(context: DiffContext): Promise; rankFilesByRisk(files: FileChange[]): Promise>; requiresSecurityReview(context: DiffContext): Promise; getRecommendedReviewers(_context: DiffContext): Promise; predictDefects(context: DiffContext): Promise>; private calculateRiskScore; private calculateFileRisk; private scoreToLevel; private identifyHighRiskFiles; private getRecommendedTests; } /** * Rule-based fallback for coverage routing */ export declare class FallbackCoverageRouter implements CoverageRouter { private readonly DEFAULT_TARGET_COVERAGE; analyzeCoverage(coverageData: FileCoverage[], targetCoverage?: number): Promise; getCoverageGaps(coverageData: FileCoverage[]): Promise; prioritizeForCoverage(files: string[], coverageData: FileCoverage[]): Promise; suggestTestsForCoverage(filePath: string, coverage: FileCoverage): Promise>; private prioritizeFiles; private getTestGenerationTargets; private assignAgents; private gapSeverity; private coverageToPriority; } /** * Rule-based fallback for graph boundaries analysis */ export declare class FallbackGraphBoundariesAnalyzer implements GraphBoundariesAnalyzer { analyzeBoundaries(entryPoints: string[]): Promise; getBoundaryCrossings(modules: string[]): Promise; getCriticalPaths(): Promise>; suggestIntegrationTests(): Promise>; detectViolations(): Promise>; private inferModules; private inferBoundaries; private suggestTests; } /** * Create fallback implementations for all RuVector components */ export declare function createFallbackComponents(): { qLearningRouter: QLearningRouter; astComplexityAnalyzer: ASTComplexityAnalyzer; diffRiskClassifier: DiffRiskClassifier; coverageRouter: CoverageRouter; graphBoundariesAnalyzer: GraphBoundariesAnalyzer; }; //# sourceMappingURL=fallback.d.ts.map