/** * ATR Quality Standard — Maturity Promotion and Demotion * * Pure functions that decide whether a rule is eligible to promote to a * higher maturity level, or should be automatically demoted due to * quality regression. * * See docs/proposals/001-atr-quality-standard-rfc.md §1 for the gate * definitions. * * @module agent-threat-rules/quality/validate-maturity */ import type { DemotionDecision, FpReport, Maturity, PromotionDecision, RuleMetadata } from "./types.js"; /** * Determine whether a rule is eligible to promote from its current maturity * to the next level. * * @param rule - Rule metadata * @param target - Target maturity level * @param now - Current timestamp (ISO string) for age calculations * @returns Promotion decision with blockers listed */ export declare function canPromote(rule: RuleMetadata, target: Maturity, now?: string): PromotionDecision; /** * Determine whether a stable rule should be automatically demoted to * experimental due to quality regression. * * Triggers: * - Wild FP rate exceeds DEMOTION_FP_RATE_THRESHOLD * - DEMOTION_FP_REPORT_COUNT+ unresolved FP reports in the window * * @param rule - Rule metadata * @param recentFpReports - FP reports from the demotion window * @param now - Current timestamp (ISO string) * @returns Demotion decision */ export declare function shouldDemote(rule: RuleMetadata, recentFpReports: readonly FpReport[], now?: string): DemotionDecision; /** * Public accessor for the promotion/demotion thresholds. * Useful for documentation and UI that displays the gate policy. */ export declare function getMaturityThresholds(): { minExperimentalDays: number; minWildSamplesForStable: number; maxWildFpForStable: number; minConfidenceForStable: number; demotionFpRateThreshold: number; demotionFpReportCount: number; demotionWindowDays: number; }; //# sourceMappingURL=validate-maturity.d.ts.map