{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Structured Agricultural Analysis",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "analysis_id",
    "case_id",
    "observations",
    "primary_hypothesis",
    "differentials",
    "evidence_sufficiency",
    "recommended_next_action"
  ],
  "properties": {
    "analysis_id": {
      "type": "string"
    },
    "case_id": {
      "type": "string"
    },
    "observations": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "finding",
          "evidence_ids"
        ],
        "properties": {
          "finding": {
            "type": "string"
          },
          "evidence_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "confidence": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          }
        }
      }
    },
    "primary_hypothesis": {
      "type": "object",
      "required": [
        "condition_code",
        "confidence",
        "supporting_evidence_ids"
      ],
      "properties": {
        "condition_code": {
          "type": "string"
        },
        "confidence": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "supporting_evidence_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "counterevidence_ids": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "differentials": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "evidence_sufficiency": {
      "type": "object",
      "required": [
        "context_completeness",
        "local_applicability",
        "freshness",
        "alternative_risk"
      ],
      "properties": {
        "context_completeness": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "local_applicability": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "freshness": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "alternative_risk": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        }
      }
    },
    "missing_information": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "recommended_next_action": {
      "enum": [
        "ANSWER",
        "ASK_FOLLOWUP",
        "REQUEST_MEDIA",
        "CALL_CONTEXT_TOOLS",
        "SEARCH_LOCAL",
        "SEARCH_EXTERNAL",
        "DEEP_RESEARCH",
        "ESCALATE"
      ]
    },
    "next_question": {
      "type": [
        "string",
        "null"
      ]
    },
    "research_questions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "risk_class": {
      "enum": [
        "LOW",
        "MEDIUM",
        "HIGH",
        "CRITICAL"
      ]
    },
    "model_version": {
      "type": "string"
    },
    "prompt_version": {
      "type": "string"
    }
  }
}