/** * Coverage: does a reopen reach every completed phase that still cites a * retired criterion? * * Pure — no I/O. It reads the impact walk, which change-management/AC-58 keeps * away from the reopen *planner*: a destructive write must not depend on a * prose-scanning heuristic. That still holds. This check can only stop a write, * never choose phases or cause one, so the worst a false positive in the walk * can do is ask for a wider `Reopens:` than needed — the cost every amendment * paid before a narrower one was allowed. * * Requirements: amend-cannot-reopen-current-phase/AC-3, AC-4, AC-5, AC-6, AC-10 */ import type { PhaseState } from '../core/types.js'; import type { Coverage, ImpactReport } from './types.js'; export interface CoverageInput { impact: ImpactReport; /** Applicable phase names, template order. */ order: string[]; currentPhase: string; phaseStates: Map; /** Earliest phase the write would reopen; `null` when it reopens nothing. */ reopenFrom: string | null; } /** * @returns `null` when the current phase is not an applicable phase — a state * `planReopen` already refuses, about which coverage has nothing to say. */ export declare function assessCoverage(input: CoverageInput): Coverage | null; //# sourceMappingURL=coverage.d.ts.map