/** * Agentic QE v3 - Defect Pattern Learner Service * Learns and recognizes defect patterns from historical data * Uses NomicEmbedder for semantic embeddings */ import { Result } from '../../../shared/types'; import { MemoryBackend } from '../../../kernel/interfaces'; import { LearnRequest, LearnedDefectPatterns, DefectPattern, DefectInfo, ClusterRequest, DefectClusters } from '../interfaces'; import { IEmbeddingProvider } from '../../../shared/embeddings'; /** * Interface for the pattern learner service */ export interface IPatternLearnerService { learnPatterns(request: LearnRequest): Promise>; clusterDefects(request: ClusterRequest): Promise>; findSimilarDefects(defect: DefectInfo, limit?: number): Promise>; getPatternById(patternId: string): Promise; listPatterns(limit?: number): Promise; } /** * Configuration for the pattern learner */ export interface PatternLearnerConfig { minPatternFrequency: number; maxPatterns: number; clusterThreshold: number; embeddingDimension: number; patternNamespace: string; enableSemanticClustering: boolean; /** Optional embedder instance (defaults to NomicEmbedder with fallback) */ embedder?: IEmbeddingProvider; } /** * Pattern Learner Service Implementation * Learns and recognizes defect patterns using ML and heuristics */ export declare class PatternLearnerService implements IPatternLearnerService { private readonly memory; private readonly config; private readonly patternCache; private readonly embedder; constructor(memory: MemoryBackend, config?: Partial); /** * Learn patterns from a collection of defects */ learnPatterns(request: LearnRequest): Promise>; /** * Cluster defects by similarity */ clusterDefects(request: ClusterRequest): Promise>; /** * Find defects similar to a given defect */ findSimilarDefects(defect: DefectInfo, limit?: number): Promise>; /** * Get a pattern by ID */ getPatternById(patternId: string): Promise; /** * List all learned patterns */ listPatterns(limit?: number): Promise; private extractPatterns; private mergeWithKnownPatterns; private formatPatternName; private storePattern; private learnResolutions; private calculateImprovementEstimate; private clusterBySemantic; private clusterByBehavior; private clusterByTemporal; private findCommonFactors; private generateClusterLabel; private suggestFix; private calculateClusteringMetrics; /** * Generate embedding for a defect * Uses NomicEmbedder for semantic embeddings */ private generateDefectEmbedding; /** * Generate embedding for a pattern * Uses the same embedder as defects for consistent similarity matching */ private generatePatternEmbedding; /** * Format a defect for embedding generation */ private formatDefectForEmbedding; /** * Format a pattern for embedding generation */ private formatPatternForEmbedding; private cosineSimilarity; } //# sourceMappingURL=pattern-learner.d.ts.map