-- 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' ]));