/** * PhilosopherOutputV1 — Output schema for the Philosopher peer runner. * * The Philosopher reads a Dreamer artifact and produces a principle candidate * with philosophical analysis. This is the second stage in the internalization * pipeline (Dreamer → Philosopher → Scribe). * * @see docs/adr/0003-peer-agent-state-machine-orchestration.md */ import { type Static } from '@sinclair/typebox'; export interface PhilosopherPrincipleCandidate { readonly title: string; readonly rationale: string; readonly scope: string; readonly confidence: number; } export interface PhilosopherOutputV1 { readonly taskId: string; readonly sourceDreamerArtifactId: string; readonly thesis: string; readonly principleCandidate: PhilosopherPrincipleCandidate; readonly risks: readonly string[]; readonly generatedAt: string; } export declare const PhilosopherPrincipleCandidateSchema: import("@sinclair/typebox").TObject<{ title: import("@sinclair/typebox").TString; rationale: import("@sinclair/typebox").TString; scope: import("@sinclair/typebox").TString; confidence: import("@sinclair/typebox").TNumber; }>; export declare const PhilosopherOutputV1Schema: import("@sinclair/typebox").TObject<{ taskId: import("@sinclair/typebox").TString; sourceDreamerArtifactId: import("@sinclair/typebox").TString; thesis: import("@sinclair/typebox").TString; principleCandidate: import("@sinclair/typebox").TObject<{ title: import("@sinclair/typebox").TString; rationale: import("@sinclair/typebox").TString; scope: import("@sinclair/typebox").TString; confidence: import("@sinclair/typebox").TNumber; }>; risks: import("@sinclair/typebox").TArray; generatedAt: import("@sinclair/typebox").TString; }>; export type PhilosopherOutputV1TB = Static; export interface PhilosopherValidationResult { readonly valid: boolean; readonly errors: readonly string[]; readonly errorCategory?: string; } export interface PhilosopherValidator { /** * Validate untrusted LLM/runtime output. * * Receives `unknown` — must perform runtime validation before * treating as PhilosopherOutputV1 (ERR-001, ERR-005, ERR-054). */ validate(output: unknown, taskId: string): Promise; } export declare class DefaultPhilosopherValidator implements PhilosopherValidator { validate(output: unknown, taskId: string): Promise; } //# sourceMappingURL=philosopher-output.d.ts.map