/** * "Recoverable-before-model" metric (v2.7). * * Design: docs/superpowers/specs/2026-07-07-recoverable-before-model-metric-design.md §4.B * * Pure, derived summary over `MergeStats.byType` — NOT a change to resolution * logic. Answers: of the residual left after the cheap deterministic passes, * how much is still recoverable deterministically before the model is ever * invoked? * * Design note: these fields are deliberately NOT added to `MergeStats` — * that struct is a serialized public contract (CLI --json reports, MCP * output), and derived metrics stay derived. `summarizeTiers` is a TS-side * helper consumed separately by CLI/desktop/MCP. (An earlier revision cited * the Rust↔TS parity probe as the reason; that probe covers git commands, * not resolution structs — the contract argument is the real one.) */ import type { ConflictType } from "../types.js"; export type ResolutionTier = "trivial" | "advancedDeterministic" | "model" | "unresolved"; export interface TierSummary { byTier: Record; /** advancedDeterministic + model + unresolved — everything past the cheap trivial passes. */ residual: number; /** model + unresolved — the bucket a new deterministic pattern must shrink. */ aiReachable: number; /** advancedDeterministic / residual, 0 when residual === 0 (never NaN/Infinity). */ recoverableBeforeModel: number; } export declare function summarizeTiers(byType: Record): TierSummary; //# sourceMappingURL=tiers.d.ts.map