{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/classifier-dev/json-schema/classifier-dev-type-safe-system-one-response-schema.json",
  "title": "TypeSafeSystemOneResponse",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/classifier-dev-openapi.json#/components/schemas/TypeSafeSystemOneResponse",
  "type": "object",
  "required": [
    "model",
    "answers",
    "usage"
  ],
  "properties": {
    "model": {
      "type": "string"
    },
    "answers": {
      "type": "object",
      "minProperties": 1,
      "additionalProperties": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "unknown_probability": {
                "type": "number",
                "minimum": 0,
                "maximum": 1,
                "description": "Imajev's calibrated probability that none of the options applies."
              },
              "abstained": {
                "type": "boolean",
                "description": "Imajev requests a handoff; do not act on the selected choice when true."
              }
            },
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "type",
                  "noul"
                ],
                "properties": {
                  "type": {
                    "const": "noul"
                  },
                  "noul": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type",
                  "choice",
                  "confidence",
                  "probabilities"
                ],
                "properties": {
                  "type": {
                    "const": "choice"
                  },
                  "choice": {
                    "type": "string"
                  },
                  "confidence": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "probabilities": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    }
                  }
                }
              },
              {
                "type": "object",
                "required": [
                  "type",
                  "score",
                  "confidence",
                  "legend",
                  "probabilities"
                ],
                "properties": {
                  "type": {
                    "const": "score"
                  },
                  "score": {
                    "type": "number"
                  },
                  "confidence": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "legend": {
                    "type": "object",
                    "additionalProperties": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "object",
                          "additionalProperties": true
                        },
                        {
                          "type": "array",
                          "items": {}
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "probabilities": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    }
                  }
                }
              }
            ]
          },
          {
            "type": "null",
            "description": "A question skipped because its condition was not met."
          }
        ]
      }
    },
    "usage": {
      "type": "object",
      "required": [
        "input_tokens",
        "output_tokens"
      ],
      "properties": {
        "input_tokens": {
          "type": "integer"
        },
        "output_tokens": {
          "type": "integer"
        }
      }
    }
  }
}