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;
