begin; create or replace function public.agentic_rectification_evidence_kinds() returns text[] language sql immutable as $$ select array[ 'education_start', 'education_completion', 'education_interruption', 'education_change', 'education_milestone', 'career_entry', 'career_change', 'promotion', 'career_pressure', 'career_exit', 'business_start', 'relationship_start', 'relationship_commitment', 'relationship_separation', 'relationship_end', 'relationship_change', 'relocation', 'foreign_move', 'return', 'home_change', 'finance_gain', 'finance_loss', 'income_change', 'asset_change', 'finance_change', 'self_health_event', 'pressure_period', 'family_event', 'appearance_note', 'birthmark_or_scar', 'occupation_note', 'horary_query', 'other' ]::text[] $$; revoke all on function public.agentic_rectification_evidence_kinds() from public, anon, authenticated; grant execute on function public.agentic_rectification_evidence_kinds() to service_role; create or replace function public.agentic_rectification_evidence_domains() returns text[] language sql immutable as $$ select array[ 'education', 'career', 'relationship', 'relocation', 'finance', 'health', 'health_pressure', 'family', 'appearance', 'marks', 'occupation', 'horary', 'other' ]::text[] $$; revoke all on function public.agentic_rectification_evidence_domains() from public, anon, authenticated; grant execute on function public.agentic_rectification_evidence_domains() to service_role; commit;