{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://sake92.github.io/codeps/schemas/inspect-cycle.schema.json",
  "title": "CycleInspection",
  "description": "Codeps cycle inspection",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "members": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "witnessCycle": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "size": {
      "type": "integer",
      "minimum": 2,
      "format": "int32",
      "maximum": 2147483647
    },
    "extFanIn": {
      "type": "integer",
      "minimum": 0,
      "format": "int32",
      "maximum": 2147483647
    },
    "internalEdges": {
      "type": "integer",
      "minimum": 0,
      "format": "int32",
      "maximum": 2147483647
    },
    "incomingEdges": {
      "type": "integer",
      "minimum": 0,
      "format": "int32",
      "maximum": 2147483647
    },
    "outgoingEdges": {
      "type": "integer",
      "minimum": 0,
      "format": "int32",
      "maximum": 2147483647
    },
    "cutAnalysis": {
      "$ref": "definitions.schema.json#/$defs/cutAnalysis"
    },
    "findings": {
      "type": "array",
      "items": {
        "$ref": "definitions.schema.json#/$defs/finding"
      }
    }
  },
  "required": [
    "id",
    "members",
    "witnessCycle",
    "size",
    "extFanIn",
    "internalEdges",
    "incomingEdges",
    "outgoingEdges",
    "cutAnalysis",
    "findings"
  ]
}
