--==========================================================================================
-- 75. exam_response_areas.meta — rich recognition payload from the extraction service (P2)
--==========================================================================================
-- The extraction service (docling-exam-spike analyse contract) returns richer per-region detail than
-- the thin first-pass could: per-option OMR box geometry + fill (boxes[]), select_n ("tick 2 of 5"),
-- n_options, the expected unit/quantity for single-line answers, and the data_table an MC question reads.
-- These have no dedicated columns; keep them in a jsonb sidecar so the canvas can render tick boxes /
-- units / MC option counts without a column per attribute. Nullable, defaults to {}.
alter table public.exam_response_areas add column if not exists meta jsonb not null default '{}'::jsonb;

comment on column public.exam_response_areas.meta is
  'Extraction-service recognition detail: {n_lines, unit, quantity, n_boxes, n_options, select_n, box_form, boxes:[{x0,y0,x1,y1,fill}], table:{grid,n_cells}}. Rendered by the canvas; not authoritative for marking.';
