{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/zhongwencool/observer_cli/v2.0.0/priv/schema/observer_cli.cli.v1.schema.json",
  "title": "observer_cli CLI response",
  "description": "Public structured response contract for observer_cli term and JSON output.",
  "type": "object",
  "required": [
    "schema",
    "command",
    "outcome",
    "data",
    "meta",
    "issues"
  ],
  "additionalProperties": false,
  "properties": {
    "schema": {
      "const": "observer_cli.cli/v1"
    },
    "command": {
      "type": [
        "string",
        "null"
      ]
    },
    "outcome": {
      "enum": [
        "complete",
        "partial",
        "error"
      ]
    },
    "data": {
      "type": [
        "object",
        "null"
      ]
    },
    "meta": {
      "$ref": "#/$defs/meta"
    },
    "issues": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/issue"
      }
    }
  },
  "allOf": [
    {
      "if": {
        "properties": {
          "outcome": {
            "enum": [
              "complete",
              "partial"
            ]
          }
        },
        "required": [
          "outcome"
        ]
      },
      "then": {
        "properties": {
          "data": {
            "type": "object"
          }
        }
      }
    },
    {
      "if": {
        "properties": {
          "outcome": {
            "const": "complete"
          }
        },
        "required": [
          "outcome"
        ]
      },
      "then": {
        "properties": {
          "issues": {
            "not": {
              "contains": {
                "type": "object",
                "required": [
                  "severity"
                ],
                "properties": {
                  "severity": {
                    "const": "error"
                  }
                }
              }
            }
          }
        }
      }
    },
    {
      "if": {
        "properties": {
          "outcome": {
            "const": "partial"
          }
        },
        "required": [
          "outcome"
        ]
      },
      "then": {
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "target": {
                "$ref": "#/$defs/target"
              },
              "capture": {
                "$ref": "#/$defs/capture"
              }
            }
          },
          "issues": {
            "not": {
              "contains": {
                "type": "object",
                "required": [
                  "severity"
                ],
                "properties": {
                  "severity": {
                    "const": "error"
                  }
                }
              }
            }
          }
        }
      }
    },
    {
      "if": {
        "properties": {
          "outcome": {
            "const": "error"
          },
          "data": {
            "type": "null"
          }
        },
        "required": [
          "outcome",
          "data"
        ]
      },
      "then": {
        "properties": {
          "issues": {
            "contains": {
              "type": "object",
              "required": [
                "severity"
              ],
              "properties": {
                "severity": {
                  "const": "error"
                }
              }
            },
            "minContains": 1
          }
        }
      }
    },
    {
      "if": {
        "properties": {
          "outcome": {
            "const": "error"
          },
          "data": {
            "type": "object"
          }
        },
        "required": [
          "outcome",
          "data"
        ]
      },
      "then": {
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "target": {
                "$ref": "#/$defs/target"
              },
              "capture": {
                "$ref": "#/$defs/capture"
              }
            }
          }
        }
      }
    },
    {
      "if": {
        "properties": {
          "command": {
            "enum": [
              "snapshot",
              "diagnose",
              "memory",
              "schedulers",
              "distribution",
              "processes",
              "applications",
              "ets",
              "mnesia",
              "network",
              "ports",
              "sockets",
              "process",
              "port",
              "otp_state",
              "supervision_tree",
              "logs",
              "trace_call",
              "trace_stop_all"
            ]
          },
          "data": {
            "type": "object"
          }
        },
        "required": [
          "command",
          "data"
        ]
      },
      "then": {
        "properties": {
          "meta": {
            "type": "object",
            "properties": {
              "target": {
                "$ref": "#/$defs/target"
              },
              "capture": {
                "$ref": "#/$defs/capture"
              }
            }
          }
        }
      }
    }
  ],
  "oneOf": [
    {
      "$ref": "#/$defs/contextCommand"
    },
    {
      "$ref": "#/$defs/snapshotDiagnosticCommand"
    },
    {
      "$ref": "#/$defs/vmHealthCommand"
    },
    {
      "$ref": "#/$defs/resourceListCommand"
    },
    {
      "$ref": "#/$defs/resourceDetailCommand"
    },
    {
      "$ref": "#/$defs/traceCommand"
    },
    {
      "$ref": "#/$defs/logsCommand"
    },
    {
      "$ref": "#/$defs/preCommandError"
    }
  ],
  "$defs": {
    "meta": {
      "type": "object",
      "required": [
        "target",
        "capture"
      ],
      "additionalProperties": false,
      "properties": {
        "target": {
          "oneOf": [
            {
              "$ref": "#/$defs/target"
            },
            {
              "type": "null"
            }
          ]
        },
        "capture": {
          "oneOf": [
            {
              "$ref": "#/$defs/capture"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "target": {
      "type": "object",
      "required": [
        "node",
        "otp_release"
      ],
      "additionalProperties": false,
      "properties": {
        "node": {
          "type": "string",
          "minLength": 1
        },
        "otp_release": {
          "type": "string",
          "pattern": "^[1-9][0-9]*$"
        }
      }
    },
    "capture": {
      "type": "object",
      "required": [
        "started_at",
        "finished_at",
        "duration_ms",
        "probes",
        "observer_effects"
      ],
      "additionalProperties": false,
      "properties": {
        "started_at": {
          "type": "string",
          "format": "date-time"
        },
        "finished_at": {
          "type": "string",
          "format": "date-time"
        },
        "duration_ms": {
          "type": "integer",
          "minimum": 0
        },
        "probes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/probe"
          }
        },
        "observer_effects": {
          "type": "array",
          "items": {
            "type": "object"
          }
        }
      }
    },
    "probe": {
      "type": "object",
      "required": [
        "id",
        "required",
        "status",
        "reason_code",
        "duration_ms",
        "samples",
        "coverage"
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "required": {
          "type": "boolean"
        },
        "status": {
          "enum": [
            "ok",
            "unavailable",
            "timeout",
            "error"
          ]
        },
        "reason_code": {
          "type": [
            "string",
            "null"
          ]
        },
        "duration_ms": {
          "type": "integer",
          "minimum": 0
        },
        "samples": {
          "type": "integer",
          "minimum": 0
        },
        "coverage": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "oneOf": [
        {
          "properties": {
            "status": {
              "const": "ok"
            },
            "reason_code": {
              "type": "null"
            }
          }
        },
        {
          "properties": {
            "status": {
              "enum": [
                "unavailable",
                "timeout",
                "error"
              ]
            },
            "reason_code": {
              "type": "string",
              "minLength": 1
            }
          }
        }
      ]
    },
    "issue": {
      "type": "object",
      "required": [
        "severity",
        "class",
        "reason_code",
        "message"
      ],
      "additionalProperties": false,
      "properties": {
        "severity": {
          "enum": [
            "warning",
            "error"
          ]
        },
        "class": {
          "enum": [
            "argument",
            "format",
            "capability",
            "safety_refusal",
            "controller",
            "distribution",
            "connection",
            "cleanup",
            "schema",
            "internal",
            "required_probe",
            "partial"
          ]
        },
        "reason_code": {
          "type": "string",
          "minLength": 1
        },
        "message": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "contextCommand": {
      "oneOf": [
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "connect"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/contextData"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "data": {
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ]
              },
              "then": {
                "properties": {
                  "outcome": {
                    "const": "complete"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "target": {
                        "$ref": "#/$defs/target"
                      },
                      "capture": {
                        "type": "null"
                      }
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "status"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/contextData"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "data": {
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ]
              },
              "then": {
                "properties": {
                  "outcome": {
                    "const": "complete"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "target": {
                        "$ref": "#/$defs/target"
                      },
                      "capture": {
                        "type": "null"
                      }
                    }
                  }
                }
              }
            }
          ]
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "disconnect"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/disconnectData"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "data": {
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ]
              },
              "then": {
                "properties": {
                  "outcome": {
                    "const": "complete"
                  },
                  "meta": {
                    "type": "object",
                    "properties": {
                      "target": {
                        "type": "null"
                      },
                      "capture": {
                        "type": "null"
                      }
                    }
                  }
                }
              }
            }
          ]
        }
      ]
    },
    "snapshotDiagnosticCommand": {
      "oneOf": [
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "snapshot"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/snapshotData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "diagnose"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/diagnoseData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        }
      ]
    },
    "vmHealthCommand": {
      "oneOf": [
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "memory"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/memoryData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "schedulers"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/statusData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "distribution"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/distributionData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        }
      ]
    },
    "resourceListCommand": {
      "oneOf": [
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "processes"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/statusData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "applications"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/statusData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "ets"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/statusData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "mnesia"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/statusData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "network"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/statusData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "ports"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/statusData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "sockets"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/statusData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        }
      ]
    },
    "resourceDetailCommand": {
      "oneOf": [
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "process"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/statusData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "port"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/statusData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "otp_state"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/supervisionTreeData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "supervision_tree"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/supervisionTreeData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        }
      ]
    },
    "traceCommand": {
      "oneOf": [
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "trace_call"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/traceData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        },
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "trace_stop_all"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/traceData"
                },
                {
                  "type": "null"
                }
              ]
            }
          }
        }
      ]
    },
    "preCommandError": {
      "required": [
        "command",
        "outcome",
        "data",
        "meta",
        "issues"
      ],
      "properties": {
        "command": {
          "type": "null"
        },
        "outcome": {
          "const": "error"
        },
        "data": {
          "type": "null"
        },
        "meta": {
          "type": "object",
          "properties": {
            "target": {
              "type": "null"
            },
            "capture": {
              "type": "null"
            }
          }
        },
        "issues": {
          "type": "array",
          "contains": {
            "type": "object",
            "required": [
              "severity"
            ],
            "properties": {
              "severity": {
                "const": "error"
              }
            }
          },
          "minContains": 1
        }
      }
    },
    "contextData": {
      "type": "object",
      "required": [
        "node",
        "name_mode",
        "cookie_source",
        "probe",
        "diagnostics_module",
        "expected_capabilities",
        "observed_capabilities",
        "persistent_connection"
      ],
      "properties": {
        "node": {
          "type": "string"
        },
        "name_mode": {
          "type": "string"
        },
        "cookie_source": {
          "type": "object"
        },
        "probe": {
          "type": "string"
        },
        "diagnostics_module": {
          "type": "string"
        },
        "expected_capabilities": {
          "type": [
            "object",
            "null"
          ]
        },
        "observed_capabilities": {
          "type": [
            "object",
            "null"
          ]
        },
        "persistent_connection": {
          "type": "boolean"
        }
      }
    },
    "disconnectData": {
      "type": "object",
      "required": [
        "node",
        "disconnected"
      ],
      "properties": {
        "node": {
          "type": [
            "string",
            "null"
          ]
        },
        "disconnected": {
          "const": true
        },
        "recovered_invalid_context": {
          "type": "boolean"
        }
      }
    },
    "snapshotData": {
      "type": "object"
    },
    "diagnoseData": {
      "type": "object",
      "required": [
        "findings",
        "context",
        "skipped"
      ],
      "properties": {
        "findings": {
          "type": "array"
        },
        "context": {
          "type": "object"
        },
        "skipped": {
          "type": "array"
        }
      }
    },
    "memoryData": {
      "type": "object",
      "required": [
        "runtime",
        "memory"
      ],
      "properties": {
        "runtime": {
          "type": "object"
        },
        "memory": {
          "type": "object"
        }
      }
    },
    "statusData": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "distributionData": {
      "type": "object",
      "required": [
        "connected_peers",
        "returned_peer_count",
        "truncated"
      ],
      "properties": {
        "connected_peers": {
          "type": "array"
        },
        "returned_peer_count": {
          "type": "integer",
          "minimum": 0
        },
        "truncated": {
          "type": "boolean"
        }
      }
    },
    "supervisionTreeData": {
      "type": "object",
      "required": [
        "status",
        "risk_level"
      ],
      "properties": {
        "status": {
          "type": "string",
          "minLength": 1
        },
        "risk_level": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "traceData": {
      "type": "object",
      "required": [
        "reason",
        "trace"
      ],
      "properties": {
        "reason": {
          "type": [
            "string",
            "null"
          ]
        },
        "trace": {
          "type": "object"
        }
      }
    },
    "logsCommand": {
      "oneOf": [
        {
          "required": [
            "command"
          ],
          "properties": {
            "command": {
              "const": "logs"
            },
            "data": {
              "oneOf": [
                {
                  "$ref": "#/$defs/logsData"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "data": {
                    "type": "object"
                  }
                },
                "required": [
                  "data"
                ]
              },
              "then": {
                "properties": {
                  "meta": {
                    "type": "object",
                    "properties": {
                      "target": {
                        "$ref": "#/$defs/target"
                      },
                      "capture": {
                        "$ref": "#/$defs/logsCapture"
                      }
                    }
                  }
                }
              }
            }
          ]
        }
      ]
    },
    "logsData": {
      "type": "object",
      "required": [
        "sources",
        "selected_source",
        "tail"
      ],
      "additionalProperties": false,
      "properties": {
        "sources": {
          "type": "array",
          "maxItems": 64,
          "items": {
            "$ref": "#/$defs/logSource"
          }
        },
        "selected_source": {
          "oneOf": [
            {
              "$ref": "#/$defs/selectedLogSource"
            },
            {
              "type": "null"
            }
          ]
        },
        "tail": {
          "oneOf": [
            {
              "$ref": "#/$defs/logTail"
            },
            {
              "type": "null"
            }
          ]
        }
      }
    },
    "logSource": {
      "type": "object",
      "required": [
        "id",
        "addressable",
        "handler_kind",
        "supported",
        "reason_code"
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "addressable": {
          "type": "boolean"
        },
        "handler_kind": {
          "enum": [
            "logger_std_h_file",
            "other"
          ]
        },
        "supported": {
          "type": "boolean"
        },
        "reason_code": {
          "enum": [
            null,
            "unaddressable_handler_id",
            "unsupported_log_handler",
            "unsupported_file_modes",
            "log_path_unrepresentable",
            "invalid_log_handler_config"
          ]
        }
      }
    },
    "selectedLogSource": {
      "type": "object",
      "required": [
        "id",
        "addressable",
        "handler_kind",
        "supported",
        "reason_code",
        "configured_path",
        "active_handler_fd_match"
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "addressable": {
          "type": "boolean"
        },
        "handler_kind": {
          "enum": [
            "logger_std_h_file",
            "other"
          ]
        },
        "supported": {
          "type": "boolean"
        },
        "reason_code": {
          "enum": [
            null,
            "unaddressable_handler_id",
            "unsupported_log_handler",
            "unsupported_file_modes",
            "log_path_unrepresentable",
            "invalid_log_handler_config"
          ]
        },
        "configured_path": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096,
          "pattern": "^/"
        },
        "active_handler_fd_match": {
          "const": "unknown"
        }
      }
    },
    "logTail": {
      "type": "object",
      "required": [
        "scope",
        "active_handler_fd_match",
        "visibility",
        "command_filesync_requested",
        "consistency",
        "content_trust",
        "requested_lines",
        "returned_lines",
        "captured_eof_bytes",
        "bytes_read",
        "has_more",
        "content_truncated",
        "truncation_reasons",
        "truncated_line_indexes",
        "lines"
      ],
      "additionalProperties": false,
      "properties": {
        "scope": {
          "const": "configured_path"
        },
        "active_handler_fd_match": {
          "const": "unknown"
        },
        "visibility": {
          "const": "reader_visible"
        },
        "command_filesync_requested": {
          "const": false
        },
        "consistency": {
          "const": "non_atomic"
        },
        "content_trust": {
          "const": "untrusted"
        },
        "requested_lines": {
          "type": "integer",
          "minimum": 1,
          "maximum": 2000
        },
        "returned_lines": {
          "type": "integer",
          "minimum": 0,
          "maximum": 2000
        },
        "captured_eof_bytes": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9223372036854775807
        },
        "bytes_read": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65536
        },
        "has_more": {
          "type": "boolean"
        },
        "content_truncated": {
          "type": "boolean"
        },
        "truncation_reasons": {
          "type": "array",
          "maxItems": 2,
          "uniqueItems": true,
          "items": {
            "enum": [
              "byte_cap",
              "line_cap"
            ]
          }
        },
        "truncated_line_indexes": {
          "type": "array",
          "maxItems": 2000,
          "uniqueItems": true,
          "items": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1999
          }
        },
        "lines": {
          "type": "array",
          "maxItems": 2000,
          "items": {
            "$ref": "#/$defs/logLine"
          }
        }
      }
    },
    "logLine": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 32768
        },
        {
          "type": "object",
          "required": [
            "encoding",
            "data"
          ],
          "additionalProperties": false,
          "properties": {
            "encoding": {
              "const": "base64"
            },
            "data": {
              "type": "string",
              "contentEncoding": "base64"
            }
          }
        }
      ]
    },
    "logsCapture": {
      "type": "object",
      "required": [
        "started_at",
        "finished_at",
        "duration_ms",
        "probes",
        "observer_effects"
      ],
      "additionalProperties": false,
      "properties": {
        "started_at": {
          "type": "string",
          "format": "date-time",
          "maxLength": 64
        },
        "finished_at": {
          "type": "string",
          "format": "date-time",
          "maxLength": 64
        },
        "duration_ms": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9223372036854775807
        },
        "probes": {
          "type": "array",
          "minItems": 1,
          "maxItems": 1,
          "items": {
            "$ref": "#/$defs/probe"
          }
        },
        "observer_effects": {
          "oneOf": [
            {
              "type": "array",
              "minItems": 3,
              "maxItems": 3,
              "prefixItems": [
                {
                  "$ref": "#/$defs/diagnosticsWorkerEffect"
                },
                {
                  "$ref": "#/$defs/moduleLoadEffect"
                },
                {
                  "$ref": "#/$defs/configuredLogReadEffect"
                }
              ],
              "items": false
            },
            {
              "type": "array",
              "minItems": 4,
              "maxItems": 4,
              "prefixItems": [
                {
                  "$ref": "#/$defs/diagnosticsWorkerEffect"
                },
                {
                  "$ref": "#/$defs/moduleLoadEffect"
                },
                {
                  "$ref": "#/$defs/distributionControllerEffect"
                },
                {
                  "$ref": "#/$defs/configuredLogReadEffect"
                }
              ],
              "items": false
            }
          ]
        }
      }
    },
    "diagnosticsWorkerEffect": {
      "type": "object",
      "required": [
        "id",
        "affected_facts"
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          "const": "diagnostics_worker"
        },
        "affected_facts": {
          "const": [
            "process_count",
            "port_count",
            "memory",
            "io",
            "garbage_collection"
          ]
        }
      }
    },
    "moduleLoadEffect": {
      "type": "object",
      "required": [
        "id",
        "module_loaded_before_sample"
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          "const": "module_load"
        },
        "module_loaded_before_sample": {
          "type": "boolean"
        }
      }
    },
    "distributionControllerEffect": {
      "type": "object",
      "required": [
        "id",
        "controller_peer",
        "dynamic_controller_name_atom"
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          "const": "distribution_controller"
        },
        "controller_peer": {
          "type": "string",
          "minLength": 1
        },
        "dynamic_controller_name_atom": {
          "const": true
        }
      }
    },
    "configuredLogReadEffect": {
      "type": "object",
      "required": [
        "id",
        "handler_ids_enumerated",
        "handler_config_lookups",
        "read_attempts",
        "raw_read_cap_bytes",
        "atime_may_change",
        "consistency",
        "command_filesync_attempted"
      ],
      "additionalProperties": false,
      "properties": {
        "id": {
          "const": "configured_log_read"
        },
        "handler_ids_enumerated": {
          "type": "boolean"
        },
        "handler_config_lookups": {
          "type": "integer",
          "minimum": 0,
          "maximum": 66
        },
        "read_attempts": {
          "type": "integer",
          "minimum": 0,
          "maximum": 2
        },
        "raw_read_cap_bytes": {
          "const": 65536
        },
        "atime_may_change": {
          "const": true
        },
        "consistency": {
          "const": "non_atomic"
        },
        "command_filesync_attempted": {
          "const": false
        }
      }
    }
  }
}
