{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "requirement_ref",
    "finding",
    "summary",
    "observations",
    "gaps",
    "uncertainties",
    "recommended_action"
  ],
  "properties": {
    "requirement_ref": {
      "type": "string",
      "enum": [
        "R1"
      ]
    },
    "finding": {
      "type": "string",
      "enum": [
        "potential_match",
        "partial_evidence",
        "mismatch",
        "inconclusive"
      ]
    },
    "summary": {
      "type": "string",
      "maxLength": 240
    },
    "observations": {
      "type": "array",
      "maxItems": 8,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "text",
          "requirement_clause_refs",
          "evidence_refs",
          "assessment_basis"
        ],
        "properties": {
          "text": {
            "type": "string",
            "maxLength": 300
          },
          "requirement_clause_refs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 20
          },
          "evidence_refs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 20
          },
          "assessment_basis": {
            "type": "string",
            "enum": [
              "reviewed_field",
              "extracted_text",
              "visual_page"
            ]
          }
        }
      }
    },
    "gaps": {
      "type": "array",
      "maxItems": 8,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "text",
          "requirement_clause_refs",
          "searched_document_refs",
          "scope"
        ],
        "properties": {
          "text": {
            "type": "string",
            "maxLength": 300
          },
          "requirement_clause_refs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 20
          },
          "searched_document_refs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "maxItems": 20
          },
          "scope": {
            "type": "string",
            "enum": [
              "supplied_material_only"
            ]
          }
        }
      }
    },
    "uncertainties": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 300
      },
      "maxItems": 8
    },
    "recommended_action": {
      "type": "string",
      "enum": [
        "consultant_review",
        "review_document",
        "review_applicability",
        "locate_evidence",
        "none"
      ]
    }
  }
}
