[
  {
    "name": "case_id",
    "type": "string",
    "required": true,
    "description": "Unique code identifying the synthetic case."
  },
  {
    "name": "version",
    "type": "string",
    "required": true,
    "description": "Corpus version."
  },
  {
    "name": "role_family",
    "type": "string",
    "required": true,
    "description": "Target job role family."
  },
  {
    "name": "layout_id",
    "type": "string",
    "required": true,
    "description": "Layout template variant code (l01-l04)."
  },
  {
    "name": "layout_label",
    "type": "string",
    "required": true,
    "description": "Description of layout complexity."
  },
  {
    "name": "page_count",
    "type": "integer",
    "required": true,
    "description": "Page count of document (1 or 2)."
  },
  {
    "name": "file_format",
    "type": "string",
    "required": true,
    "description": "File type format (PDF, DOCX, TXT)."
  },
  {
    "name": "text_layer_expected",
    "type": "string",
    "required": true,
    "description": "Readable text layer expected status (present, partial, missing)."
  },
  {
    "name": "reading_order_risk_expected",
    "type": "string",
    "required": true,
    "description": "Layout reading order risk level (low, medium, high)."
  },
  {
    "name": "section_detection_expected",
    "type": "string",
    "required": true,
    "description": "Semicolon-separated expected section IDs."
  },
  {
    "name": "contact_detection_expected",
    "type": "string",
    "required": true,
    "description": "Semicolon-separated expected contact details."
  },
  {
    "name": "risk_flags_expected",
    "type": "string",
    "required": true,
    "description": "Semicolon-separated layout warning flags."
  },
  {
    "name": "expected_result_state",
    "type": "string",
    "required": true,
    "description": "Expected diagnostic state (clear, review, high_risk)."
  },
  {
    "name": "public_notes",
    "type": "string",
    "required": true,
    "description": "Summary notes on case objectives."
  },
  {
    "name": "limitations",
    "type": "string",
    "required": true,
    "description": "Layout constraints and parser bounds."
  }
]
