{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "requirementId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "pattern": "^[^\\s]+$"
    },
    "title": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    },
    "expectedOutcomeMarkdown": {
      "type": "string",
      "maxLength": 32768,
      "minLength": 1
    },
    "acceptanceScope": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProjectAgentExactTarget"
      },
      "maxItems": 100,
      "minItems": 1
    },
    "relations": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "requirement",
                  "claim",
                  "evidence"
                ]
              },
              "revisionId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512,
                "pattern": "^[^\\s]+$"
              }
            },
            "required": [
              "kind",
              "revisionId"
            ]
          },
          {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "resource"
                ]
              },
              "target": {
                "$ref": "#/components/schemas/ProjectAgentExactTarget"
              }
            },
            "required": [
              "kind",
              "target"
            ]
          }
        ]
      },
      "maxItems": 100,
      "minItems": 0
    }
  },
  "required": [
    "requirementId"
  ]
}