/** * Knowledge coverage analyzer. * Computes coverage rates by comparing consumed knowledge against the full index. */ import type { ToolCallInfo, ResultEntry, Report } from '../types/index.js'; export interface KnowledgeEntry { path: string; aliases?: string[]; type: 'principle' | 'semantic' | 'design' | 'script' | 'code' | 'other'; lineCount?: number; } export interface KnowledgeIndex { entries: KnowledgeEntry[]; totalFiles: number; totalLines: number; } export interface KnowledgeConsumption { filesRead: string[]; grepPatterns: Array<{ pattern: string; path?: string; }>; bashGrepPatterns: Array<{ pattern: string; path?: string; }>; } export declare function extractReferencedPaths(artifactContent: string): string[]; export declare function buildKnowledgeIndex(cwd: string): KnowledgeIndex; export declare function buildFullKnowledgeIndex(artifactContent: string | null, cwd: string | null): KnowledgeIndex; export declare function extractKnowledgeConsumption(toolCalls: ToolCallInfo[]): KnowledgeConsumption; export declare function normalizeKnowledgePath(filePath: string, cwd?: string | null): string; export interface CoverageEntry { path: string; type: KnowledgeEntry['type']; accessed: boolean; accessCount: number; lineCount?: number; } export interface CoverageReport { entries: CoverageEntry[]; filesCovered: number; filesTotal: number; fileCoverageRate: number; uncoveredFiles: string[]; grepPatternsUsed: number; overallRate: number; } /** * Compute knowledge coverage for a single variant across all samples. */ export declare function computeCoverage(results: ResultEntry[], variant: string, index: KnowledgeIndex, cwd?: string | null): CoverageReport; /** * Compute coverage reports for all variants in a report. * Returns a map of variant → CoverageReport. */ export declare function computeReportCoverage(report: Report, artifactContents: Record, cwds: Record): Record;