{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://oms.local/schemas/conductor-goal-proposal.schema.json",
  "title": "OMS conductor goal proposal",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "objective",
    "repository_scope",
    "queue_scope",
    "stopping_condition",
    "runtime_horizon",
    "budget_profile",
    "policy_profile",
    "creation_nonce"
  ],
  "properties": {
    "objective": { "type": "string", "minLength": 1, "maxLength": 32768 },
    "repository_scope": { "type": "string", "pattern": "^/", "maxLength": 4096 },
    "queue_scope": { "type": "string", "minLength": 1, "maxLength": 4096 },
    "stopping_condition": { "type": "string", "minLength": 1, "maxLength": 32768 },
    "runtime_horizon": { "enum": ["until-empty", "12h", "24h"] },
    "budget_profile": { "const": "subscription-only" },
    "policy_profile": { "const": "default" },
    "creation_nonce": {
      "type": "string",
      "pattern": "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$"
    }
  }
}
