BEGIN; ALTER TABLE context_snapshot ADD COLUMN preparation_status varchar(16) NOT NULL DEFAULT 'READY', ADD COLUMN preparation_failure_code varchar(80), ADD CONSTRAINT context_snapshot_preparation_status_check CHECK (preparation_status IN ('READY', 'FAILED')), ADD CONSTRAINT context_snapshot_preparation_failure_check CHECK ( (preparation_status = 'READY' AND preparation_failure_code IS NULL) OR (preparation_status = 'FAILED' AND NULLIF(btrim(preparation_failure_code), '') IS NOT NULL) ); COMMENT ON COLUMN context_snapshot.preparation_status IS 'Whether the authorized context was prepared. FAILED snapshots retain only a sanitized diagnostic result.'; COMMIT;