import type { SupervisorCapability, SupervisorHistoryPoint } from "../supervisor/contract.js"; import { type DiagnosticAdvice, type PressureAssessment, type PressureDimension, type PressureHysteresisState, type PressureReasonCode, type PressureScope } from "./contract.js"; import type { PressureHistorySample } from "./pressure-contract.js"; /** * Advice is an envelope around one already-computed assessment. It maps * nothing: severity does not become pressure here, and no numeric threshold is * read. `assessPressure` owns the judgement, the observer publishes it, and * every surface renders this envelope so all of them agree. */ export interface BuildDiagnosticAdviceInput { assessment: PressureAssessment; /** The state the previous sample carried forward, so a replay can reproduce a transition. */ priorHysteresis: PressureHysteresisState | null; /** Where the assessment came from, and why it is missing when it is. */ sourceCapability: SupervisorCapability; activeFindingCount: number; evaluatedAt: string; } export declare function buildDiagnosticAdvice(input: BuildDiagnosticAdviceInput): DiagnosticAdvice; export declare const PRESSURE_DIMENSIONS: readonly PressureDimension[]; export interface UnknownPressureAssessmentInput { observedAt: string; /** A stable code from the frozen union, normally `evidence_unavailable` or `snapshot_stale`. */ reasonCode: PressureReasonCode; /** One plain sentence naming what is missing. Becomes the assessment summary. */ summary: string; scope?: PressureScope; sampleAgeMs?: number | null; prior?: PressureHysteresisState | null; observerGeneration?: string | null; } /** * The assessment to publish when the source is absent, stale, or malformed. * Every dimension reads `unavailable` and no owner is named, because a gap in * the evidence is not a measurement of health. */ export declare function unknownPressureAssessment(input: UnknownPressureAssessmentInput): PressureAssessment; /** * Project bounded supervisor history into the trend input the assessment reads. * The observer and a bundle replay both call this, so the trend they compute * from the same stored history is the same trend. */ export declare function pressureHistoryFromSupervisor(points: readonly SupervisorHistoryPoint[]): PressureHistorySample[]; //# sourceMappingURL=advice.d.ts.map