{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "context": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "project",
            "project_review_session"
          ]
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 512,
          "pattern": "^[^\\s]+$"
        }
      },
      "required": [
        "type",
        "id"
      ]
    },
    "title": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    },
    "statementMarkdown": {
      "type": "string",
      "maxLength": 32768,
      "minLength": 1
    },
    "targets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProjectAgentExactTarget"
      },
      "maxItems": 100,
      "minItems": 1
    },
    "evidenceRevisionIds": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 512,
        "pattern": "^[^\\s]+$"
      },
      "maxItems": 100,
      "minItems": 0,
      "uniqueItems": true
    },
    "requirementRevisionIds": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 512,
        "pattern": "^[^\\s]+$"
      },
      "maxItems": 100,
      "minItems": 0,
      "uniqueItems": true
    },
    "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": [
    "context",
    "statementMarkdown",
    "targets",
    "evidenceRevisionIds"
  ]
}