/** * Per-Rule Quality Metrics -- computes TP, FP, precision, recall, * and confidence stats for each individual rule based on eval results. * * All functions are pure (no side effects, no mutation). * * @module agent-threat-rules/eval/rule-metrics */ import type { SampleResult } from './metrics.js'; export interface RuleQuality { readonly ruleId: string; readonly matchCount: number; readonly tpCount: number; readonly fpCount: number; readonly categories: readonly string[]; readonly avgConfidence: number; } export interface RuleQualityReport { readonly totalRulesEvaluated: number; readonly rulesFired: number; readonly rulesNeverFired: number; readonly topRules: readonly RuleQuality[]; readonly weakRules: readonly RuleQuality[]; readonly neverFiredRuleIds: readonly string[]; } /** * Compute per-rule quality metrics from eval results. * * @param results - The sample results from an eval run * @param loadedRuleIds - All rule IDs that were loaded in the engine * @returns A RuleQualityReport with top, weak, and never-fired rules */ export declare function computeRuleQuality(results: readonly SampleResult[], loadedRuleIds: readonly string[]): RuleQualityReport; //# sourceMappingURL=rule-metrics.d.ts.map