JSONB, NULL for a single engine so the page cannot claim a second opinion. On the already FORCE'd, RLS-scoped table, so the exact-set isolation test is unaffected. Up and down are one commit: golang-migrate pairs them. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
13 lines
798 B
SQL
13 lines
798 B
SQL
-- Migration 019: how a merged transcript came about (ADR-034).
|
|
--
|
|
-- When two engines transcribed the same audio and a local model chose between their
|
|
-- disagreements, this records the status, the exact counts, and a bounded list of the
|
|
-- contested spots (changed or unsure, each with a position and both readings) so the
|
|
-- page can say what was done and the user can check the uncertain spots against the
|
|
-- audio. NULL means a single engine: no second opinion, and the page must not claim one.
|
|
--
|
|
-- It lives on the already-FORCE'd, RLS-scoped uploaded_transcripts, so the exact-set
|
|
-- isolation test is unaffected. The contested spots hold fragments of the private
|
|
-- transcript, which is why they are here and nowhere else.
|
|
ALTER TABLE uploaded_transcripts ADD COLUMN reconciliation JSONB;
|