-- The dedup pass: the fix half of the audit loop. Takes a chapter
-- plus the story's prose-audit findings and rephrases only the
-- flagged repetitions, leaving everything else verbatim.
ALTER TABLE generation_runs DROP CONSTRAINT generation_runs_kind_check;
ALTER TABLE generation_runs ADD CONSTRAINT generation_runs_kind_check
    CHECK (kind = ANY (ARRAY[
        'gen', 'cleanup', 'audit', 'summary', 'embed',
        'narrate_prep', 'rewrite', 'prose_audit', 'dedup'
    ]));
