/** * Stable programmatic diagnostic codes for readers / TraceFacts / TraceContract. * * Lowercase `TraceReadError.code` values remain the published reader error codes. * These `AI_*` identifiers appear in messages and catalogs for actionable remediation. * * @experimental Additive in 6.15.0; do not replace published lowercase reader codes. */ type ProgrammaticDiagnosticCode = "AI_TRACE_INPUT_INVALID" | "AI_TRACE_FORMAT_UNSUPPORTED" | "AI_TRACE_FORMAT_AMBIGUOUS" | "AI_TRACE_FACTS_INPUT_NOT_NORMALIZED" | "AI_TRACE_CONTRACT_RUN_SELECTION_REQUIRED" | "AI_TRACE_RELATIONSHIP_SELF_PARENT" | "AI_TRACE_RELATIONSHIP_CYCLE"; interface ProgrammaticDiagnosticSpec { readonly code: ProgrammaticDiagnosticCode; /** Short problem statement (without the code prefix). */ readonly summary: string; /** Actionable remediation hint (always included in formatted messages). */ readonly remediation: string; /** Related published / capture codes that must remain valid. */ readonly relatedCodes?: readonly string[]; } declare const PROGRAMMATIC_DIAGNOSTIC_SPECS: Readonly>; /** * Format `CODE: summary Remediation: …` for thrown errors and diagnostics. */ declare function formatProgrammaticDiagnostic(code: ProgrammaticDiagnosticCode, detail?: string): string; export { PROGRAMMATIC_DIAGNOSTIC_SPECS as P, type ProgrammaticDiagnosticCode as a, type ProgrammaticDiagnosticSpec as b, formatProgrammaticDiagnostic as f };