/** * Retake protocol — a PURE, deterministic analyzer over a per-scene shot log. * No I/O, no Date, no Math.random. * * Encodes the iteration economy from the MIT `Emily2040/seedance-2.0` repo * (`references/retake-protocol.md`, pinned commit 63b32dc): a structured shot * log plus the two hard rules that stop runaway iteration — * 1. two takes with the same flaw is a REWRITE, by rule (not a third re-roll); * 2. an attempt budget with a stop condition, so a $5 shot does not become a * $100 shot. * * Advisory by construction: `analyzeRetakes` returns warnings; nothing here * blocks a reroll. The verdict taxonomy ships as reference data + `triageVerdict`. */ export declare const RETAKE_VERDICTS: readonly ["keep", "fix-in-post", "edit", "re-roll", "rewrite"]; export type RetakeVerdict = (typeof RETAKE_VERDICTS)[number]; /** Canonical when/next-move guidance, condensed from the retake-protocol triage table. */ export declare const VERDICT_GUIDANCE: Record; export interface ShotLogEntry { /** 1-based take number, per scene. */ take: number; sceneIndex: number; verdict?: RetakeVerdict; /** The ONE variable changed this take (prompt clause, seed, mode, or one reference). */ changed?: string; seed?: 'same' | 'new'; /** What's wrong with this take — drives the same-flaw rule. */ flaw?: string; /** One-sentence note. */ evidence?: string; } export type RetakeAdvisoryCode = 'same-flaw-rewrite' | 'attempt-budget' | 'one-variable'; export interface RetakeAdvisory { code: RetakeAdvisoryCode; severity: 'warning'; message: string; } export declare const DEFAULT_ATTEMPT_BUDGET = 5; /** Next 1-based take number for a scene given its prior logged takes. */ export declare function nextTakeNumber(priorSceneTakes: ShotLogEntry[]): number; /** Canonical when/next-move guidance for a verdict. */ export declare function triageVerdict(verdict: RetakeVerdict): { when: string; nextMove: string; }; /** * The two hard rules + the one-variable nudge over a SINGLE scene's takes * (caller filters by scene). Pure: depends only on its arguments. */ export declare function analyzeRetakes(sceneTakes: ShotLogEntry[], opts?: { attemptBudget?: number; }): RetakeAdvisory[]; //# sourceMappingURL=retake-protocol.d.ts.map