/** * Quality Score Calculator * ADR-023: Quality Feedback Loop System * * Calculates comprehensive quality scores from multiple dimensions. */ import type { QualityScore, QualityDimensions, QualityWeights, TestOutcome } from './types.js'; /** * Calculates quality scores from test outcomes and metrics */ export declare class QualityScoreCalculator { private weights; private historicalScores; private readonly maxHistory; constructor(weights?: Partial, maxHistory?: number); /** * Calculate quality score from a test outcome */ calculateFromOutcome(outcome: TestOutcome): QualityScore; /** * Calculate quality dimensions from outcome */ private calculateDimensions; /** * Calculate effectiveness (pass rate without flakiness) */ private calculateEffectiveness; /** * Calculate coverage score (normalized 0-1) */ private calculateCoverageScore; /** * Calculate stability score (inverse of flakiness) */ private calculateStability; /** * Calculate performance score based on execution time */ private calculatePerformanceScore; /** * Calculate overall quality score from dimensions */ private calculateOverall; /** * Track score for trend analysis */ private trackScore; /** * Calculate quality trend */ private calculateTrend; /** * Calculate aggregate quality score from multiple outcomes */ calculateAggregate(outcomes: TestOutcome[]): QualityScore; /** * Calculate delta between two quality scores */ calculateDelta(before: QualityScore, after: QualityScore): { overallDelta: number; dimensionDeltas: Record; improved: boolean; }; /** * Get recommendations based on quality score */ getRecommendations(score: QualityScore): string[]; /** * Update weights */ updateWeights(newWeights: Partial): void; /** * Get current weights */ getWeights(): QualityWeights; /** * Get statistics */ getStats(): { scoresTracked: number; currentTrend: 'improving' | 'stable' | 'declining'; avgRecentScore: number; }; /** * Clear history */ clearHistory(): void; } /** * Create a new quality score calculator */ export declare function createQualityScoreCalculator(weights?: Partial, maxHistory?: number): QualityScoreCalculator; //# sourceMappingURL=quality-score-calculator.d.ts.map