{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://iarpg.com/mission-brief.schema.json",
  "title": "IARPG Mission Brief",
  "description": "Mission brief contract for fictional intelligence operations under IARPG-OPS-1.",
  "type": "object",
  "required": [
    "mission_id",
    "title",
    "authority",
    "mandate",
    "intelligence_requirement",
    "jurisdiction",
    "known_facts",
    "assumptions",
    "roles",
    "collection_plan",
    "evidence_threshold",
    "abort_condition",
    "extraction_plan",
    "debrief_deliverable",
    "standard_version",
    "interaction_model",
    "reward_posture",
    "synthetic_source_policy",
    "reason_codes",
    "fiction_boundary"
  ],
  "properties": {
    "mission_id": {
      "type": "string",
      "minLength": 3
    },
    "title": {
      "type": "string",
      "minLength": 3
    },
    "authority": {
      "type": "string",
      "minLength": 2
    },
    "customer": {
      "type": "string"
    },
    "mandate": {
      "type": "string",
      "minLength": 8
    },
    "intelligence_requirement": {
      "type": "string",
      "minLength": 8
    },
    "jurisdiction": {
      "type": "string",
      "minLength": 2
    },
    "known_facts": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "assumptions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "roles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "collection_plan": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "evidence_threshold": {
      "type": "string",
      "minLength": 8
    },
    "cover_plan": {
      "type": "string"
    },
    "abort_condition": {
      "type": "string",
      "minLength": 8
    },
    "extraction_plan": {
      "type": "string",
      "minLength": 8
    },
    "debrief_deliverable": {
      "type": "string",
      "minLength": 8
    },
    "synthetic_source_policy": {
      "type": "string",
      "enum": [
        "none",
        "disclosed-and-claim-only",
        "disclosed-and-intentionally-unreliable"
      ]
    },
    "reward_posture": {
      "type": "string",
      "enum": [
        "verified",
        "authority-reviewed",
        "reputation-backed",
        "unverified"
      ]
    },
    "standard_version": {
      "const": "IARPG-OPS-1"
    },
    "interaction_model": {
      "type": "string",
      "minLength": 20,
      "description": "What players see, decide, manipulate, verify, record, and hand off during the mission."
    },
    "reason_codes": {
      "type": "boolean",
      "const": true,
      "description": "Mission outcomes and restrictions expose reviewable reason codes."
    },
    "fiction_boundary": {
      "type": "boolean",
      "const": true,
      "description": "The brief is explicitly fictional and does not invite real-world targeting or validation of personal surveillance claims."
    }
  },
  "additionalProperties": true
}
