/** * Self-evaluation driver for the editing pipeline. * * The cut-qa agent (`.agents/agents/cut-qa.md`) is the intelligent layer; * this module is the mechanical layer that: * 1. Enumerates cut boundaries from an EDL * 2. Runs each boundary through the six programmatic checks * 3. Produces a `CutQaReport` consumable by the agent * 4. Persists iterations to `session.json` * * The agent then reads the report, proposes fixes, and the orchestrator * applies them and re-renders. Hard cap: 3 iterations. */ import type { CutQaFinding, CutQaReport, EditSession, Edl, EdlClip, Take, WordTiming } from './types.js'; export declare const MAX_ITERATIONS = 3; export interface CutBoundary { index: number; trailerTimeSec: number; outgoingClip: EdlClip; incomingClip: EdlClip; } /** Cumulative trailer-time position of each clip boundary. */ export declare function enumerateCutBoundaries(edl: Edl): CutBoundary[]; export interface AspectSpec { width: number; height: number; } export declare function checkAspectRegression(renderedPath: string, expectedRatio: '16:9' | '9:16' | '1:1'): CutQaFinding[]; export declare function checkVisualJump(renderedPath: string, boundaries: CutBoundary[]): CutQaFinding[]; export declare function checkVoTruncation(script: string, asrWords: WordTiming[]): CutQaFinding[]; export declare function checkAudioPops(renderedPath: string, boundaries: CutBoundary[], fadeMs: number): CutQaFinding[]; export declare function checkLightingDiscontinuity(renderedPath: string, boundaries: CutBoundary[]): CutQaFinding[]; export interface RunCutQaInput { renderedPath: string; edl: Edl; takes: Take[]; iteration: number; aspectRatio?: '16:9' | '9:16' | '1:1'; /** Ground-truth script for VO truncation check. */ groundTruthScript?: string; /** ASR words from the rendered output (pre-transcribed) for truncation check. */ renderedAsrWords?: WordTiming[]; } export declare function runCutQa(input: RunCutQaInput): CutQaReport; export declare function loadSession(path: string): EditSession | null; export declare function saveSession(session: EditSession, path: string): void; export declare function summarizeReport(report: CutQaReport): string; //# sourceMappingURL=self-eval.d.ts.map