/** * Stage B (Distiller) output schema for the split diagnostician pipeline. * * The Distiller takes the root-cause artifact from Stage A and produces * an abstracted, cross-scenario principle grounded on the T-01..T-10 * core axiom registry. * * @see PRI-372 — Split diagnostician into Stage A (Root Cause) + Stage B (Distiller) */ import { type Static } from '@sinclair/typebox'; export declare const DiagDistillerScopeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"general">, import("@sinclair/typebox").TLiteral<"domain">, import("@sinclair/typebox").TLiteral<"scenario">]>; /** Scope classification for a distilled principle. */ export type DiagDistillerScope = Static; /** * TypeBox schema for Stage B (Distiller) output. * * Lineage consistency: `sourceRootCauseArtifactId` must match the artifact * produced by Stage A so that the pipeline can trace every distilled * principle back to its root-cause diagnosis. * * `groundedOnCorePrincipleIds` is validated against the T-01..T-10 * registry at runtime — fabricated IDs cause validation failure. * * @see PRI-372 */ export declare const DiagDistillerOutputV1Schema: import("@sinclair/typebox").TObject<{ valid: import("@sinclair/typebox").TBoolean; taskId: import("@sinclair/typebox").TString; sourceRootCauseArtifactId: import("@sinclair/typebox").TString; abstractedPrinciple: import("@sinclair/typebox").TString; rationale: import("@sinclair/typebox").TString; groundedOnCorePrincipleIds: import("@sinclair/typebox").TArray; scope: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"general">, import("@sinclair/typebox").TLiteral<"domain">, import("@sinclair/typebox").TLiteral<"scenario">]>; confidence: import("@sinclair/typebox").TNumber; ambiguityNotes: import("@sinclair/typebox").TOptional>; }>; /** Inferred TypeScript type for Stage B (Distiller) output. */ export type DiagDistillerOutputV1 = Static; /** * Validator interface for DiagDistillerOutputV1. * * Accepts `unknown` input — implementations must perform runtime checks (ERR-001). * * @see PRI-372 */ export interface DiagDistillerValidator { /** * Validate untrusted distiller stage output. * * @param output - Raw output to validate (treated as unknown — ERR-001) * @param taskId - Expected taskId for lineage verification (ERR-008) * @returns Validation result with valid flag, errors, and optional error category */ validate(output: unknown, taskId: string): Promise<{ valid: boolean; errors: string[]; errorCategory?: string; warnings?: string[]; }>; } /** * Default validator for DiagDistillerOutputV1 using TypeBox Value.Check / Value.Errors. * * Validates: * 1. Structural correctness via TypeBox schema * 2. taskId lineage match (ERR-008) * 3. Core principle registry membership — every id in * groundedOnCorePrincipleIds must pass isCorePrincipleId(). * Fabricated IDs (e.g. T-99) produce a validation failure with * errorCategory 'output_invalid'. * * @see PRI-372 */ export declare class DefaultDiagDistillerValidator implements DiagDistillerValidator { validate(output: unknown, taskId: string): Promise<{ valid: boolean; errors: string[]; errorCategory?: string; warnings?: string[]; }>; } //# sourceMappingURL=diag-distiller-output.d.ts.map