import type { EvidenceAbReport } from "./evidence-ab-report.js"; export { formatEvidencePminusReport } from "./evidence-pminus-format.js"; import type { PairedConsistencyReport } from "./evidence-pminus-paired.js"; type EvidencePminusOptions = { readonly projectDir?: string; }; type AbScenario = EvidenceAbReport["scenarios"][number]; type MetricDirection = "higher" | "lower" | "same" | "unavailable"; export type PminusDecisionHint = "downgrade" | "keep" | "keep-gathering" | "keep-opt-in" | "no-claim" | "remove-candidate"; type PminusOutcome = "improved" | "inconclusive" | "no-improvement" | "worse"; type TelemetryAvailability = "available" | "missing" | "partial"; type ClosureIntegrityInterpretation = "completion-integrity-improved" | "completion-integrity-worse" | "insufficient-closure-metrics" | "no-closure-improvement" | "unavailable"; type ClosureIntegrityReport = { readonly baselineReducedBlockers: number; readonly candidateReducedBlockers: number; readonly finishPassDelta: number | null; readonly interpretation: ClosureIntegrityInterpretation; readonly pairedBetter: number; readonly pairedWorse: number; readonly tied: number; readonly totalComparable: number; }; export type EvidencePminusScenarioReport = { readonly baselineCondition: string | null; readonly candidateCondition: string | null; readonly evidenceFiles: readonly string[]; readonly id: string; readonly killCriterion: string; readonly label: string; readonly closureIntegrity: ClosureIntegrityReport; readonly outcome: PminusOutcome; readonly pairedConsistency: PairedConsistencyReport; readonly reason: string; readonly surface: AbScenario["surface"]; readonly surfaceDecisionHint: PminusDecisionHint; readonly telemetry: { readonly providerTokens: TelemetryAvailability; readonly secondaryMetrics: { readonly elapsedMs: MetricDirection; readonly mcpCalls: MetricDirection; readonly readChars: MetricDirection; readonly toolCalls: MetricDirection; }; }; }; export type EvidencePminusReport = { readonly evidenceDir: string; readonly filesScanned: number; readonly limitations: readonly string[]; readonly projectDir: string; readonly scenarios: readonly EvidencePminusScenarioReport[]; readonly schemaVersion: "evidence-pminus-report.1"; readonly unreadableFiles: readonly string[]; }; export declare const KILL_CRITERION = "Kill criteria are decision support only: repeated matched scenarios with worse or no-improvement should trigger keep-opt-in, downgrade, or remove review; this command does not delete, downgrade, or mutate configuration."; export declare function readEvidencePminusReport(options?: EvidencePminusOptions): EvidencePminusReport;