{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "anu_v3/goal_request.schema.json",
  "title": "Goal Request (task-2553+17 Track3)",
  "description": "Chair supplies only goal + boundary + policy_profile; goal_loop_planner binds it to a track and generates the standard ANU loop plan (9-R.7).",
  "type": "object",
  "required": ["goal_id", "goal_statement", "policy_profile"],
  "additionalProperties": false,
  "properties": {
    "goal_id": { "type": "string", "minLength": 1 },
    "goal_statement": { "type": "string", "minLength": 1 },
    "boundary": {
      "type": "array",
      "items": { "type": "string" }
    },
    "policy_profile": { "$ref": "#/definitions/policy_profile" }
  },
  "definitions": {
    "policy_profile": {
      "type": "object",
      "required": ["name"],
      "additionalProperties": false,
      "properties": {
        "name": { "type": "string", "minLength": 1 },
        "retry_ceiling": { "type": "integer", "minimum": 0 },
        "auto_micro_fix": { "type": "boolean" },
        "hold_on_high_or_critical": { "type": "boolean" },
        "final_packet_schema": { "type": "string" }
      }
    }
  }
}
