/** * Phase 3 Input Filter * * CRITICAL: evaluatePhase3Inputs() does NOT read or use evolution_directive.json * Directive is a compatibility-only display artifact, not a truth source. * * Phase 3 eligibility depends ONLY on: * - Queue truth (valid evolution samples from queue) * * Any directive file is ignored for eligibility decisions. * * THREE-LANE CLASSIFICATION: * - authoritative: Valid inputs that can be used for Phase 3 eligibility decisions * - reference_only: Valid evidence that must NOT be used as positive eligibility input * (e.g., timeout-only outcomes - they indicate completion but not success) * - rejected: Invalid, corrupt, or policy-prohibited input */ /** * Classification for Phase 3 inputs. * - authoritative: Can be used for Phase 3 eligibility decisions * - reference_only: Valid data but not for eligibility (e.g., timeout outcomes) * - rejected: Invalid or corrupt data */ export type Phase3Classification = 'authoritative' | 'reference_only' | 'rejected'; export interface Phase3EvolutionInput { id?: string | null; status?: string | null; started_at?: string | null; completed_at?: string | null; resolution?: string | null; } export interface Phase3EvolutionSample { taskId: string; status: 'pending' | 'in_progress' | 'completed'; startedAt: string | null; completedAt: string | null; } export interface Phase3ReferenceOnlySample { taskId: string; status: string; classification: 'timeout_only' | 'other_reference'; reason: string; } export interface Phase3RejectedEvolutionSample { taskId: string | null; status: string | null; reasons: string[]; } export interface Phase3InputFilterResult { queueTruthReady: boolean; phase3ShadowEligible: boolean; evolution: { eligible: Phase3EvolutionSample[]; referenceOnly: Phase3ReferenceOnlySample[]; rejected: Phase3RejectedEvolutionSample[]; }; } /** * Evaluates Phase 3 readiness based on queue inputs. * * IMPORTANT: Does NOT use evolution_directive.json. * Directive is compatibility-only display artifact, not a truth source. * Queue is the only authoritative execution truth source for Phase 3. * * THREE-LANE CLASSIFICATION: * - authoritative: Valid inputs for Phase 3 eligibility * - reference_only: Valid evidence but not for eligibility (e.g., timeout outcomes) * - rejected: Invalid, corrupt, or policy-prohibited input * * @param queue - Evolution queue items to validate * @returns Phase 3 eligibility results */ export declare function evaluatePhase3Inputs(queue: Phase3EvolutionInput[]): Phase3InputFilterResult;