{
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "compatible": {
      "type": "boolean"
    },
    "diagnostics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ProjectAgentTrackerDiagnostic"
      },
      "maxItems": 2000,
      "minItems": 0
    },
    "schemaRevisionId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "pattern": "^[^\\s]+$"
    },
    "comparison": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "compatible": {
          "type": "boolean"
        },
        "changes": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "additive",
                  "breaking"
                ]
              },
              "path": {
                "type": "string",
                "maxLength": 1024
              },
              "message": {
                "type": "string",
                "maxLength": 1024
              },
              "fieldId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 512,
                "pattern": "^[^\\s]+$"
              }
            },
            "required": [
              "kind",
              "path",
              "message"
            ]
          },
          "maxItems": 1000,
          "minItems": 0
        },
        "affectedViews": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "pattern": "^[^\\s]+$"
          },
          "maxItems": 100,
          "minItems": 0
        }
      },
      "required": [
        "compatible",
        "changes",
        "affectedViews"
      ]
    },
    "records": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "recordId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 512,
            "pattern": "^[^\\s]+$"
          },
          "valid": {
            "type": "boolean"
          },
          "diagnostics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectAgentTrackerDiagnostic"
            },
            "maxItems": 2000,
            "minItems": 0
          },
          "etag": {
            "type": "string",
            "pattern": "^\"[^\"\\s]+:v[1-9][0-9]*\"$"
          }
        },
        "required": [
          "recordId",
          "valid",
          "diagnostics",
          "etag"
        ]
      },
      "maxItems": 100,
      "minItems": 0
    },
    "nextCursor": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2048,
          "pattern": "^[^\\s]+$"
        },
        {
          "type": "null"
        }
      ]
    },
    "migration": {
      "anyOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^[^\\s]+$"
            },
            "state": {
              "type": "string",
              "enum": [
                "running",
                "completed"
              ]
            },
            "remaining": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "processed": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "outcomes": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ProjectAgentTrackerMigrationOutcome"
              },
              "maxItems": 100,
              "minItems": 0
            }
          },
          "required": [
            "id",
            "state",
            "remaining",
            "processed",
            "outcomes"
          ]
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "compatible",
    "diagnostics",
    "schemaRevisionId"
  ]
}