{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://chateb1.com/agents/schemas/evidence-map.schema.json",
  "title": "ChatEB1 sanitized evidence map",
  "description": "Educational schema for separating a sanitized claim from its source, limits, and missing corroboration. It does not determine eligibility or predict an immigration outcome.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "claim",
    "source",
    "what_it_supports",
    "what_it_does_not_establish",
    "gap_to_check"
  ],
  "properties": {
    "claim": {
      "type": "string",
      "minLength": 1,
      "description": "A narrow, factual, sanitized statement about an achievement or use."
    },
    "source": {
      "type": "string",
      "minLength": 1,
      "description": "A sanitized description of the document, record, or public source that supports the claim."
    },
    "what_it_supports": {
      "type": "string",
      "minLength": 1,
      "description": "The limited factual proposition the source can corroborate."
    },
    "what_it_does_not_establish": {
      "type": "string",
      "minLength": 1,
      "description": "A clear statement of conclusions the source cannot support by itself."
    },
    "gap_to_check": {
      "type": "string",
      "minLength": 1,
      "description": "The next corroboration question to investigate or take to qualified counsel."
    },
    "canonical_source_url": {
      "type": "string",
      "format": "uri",
      "description": "Optional public source URL. Do not include private document URLs."
    },
    "notes_for_attorney": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional questions for qualified immigration counsel, not legal conclusions."
    }
  }
}
