{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/eccaai-com/json-schema/eccaai-com-miss-counter-response-schema.json",
  "title": "MissCounterResponse",
  "x-generated": "2026-11-06",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/eccaai-com-api-openapi.json#/components/schemas/MissCounterResponse",
  "type": "object",
  "required": [
    "schema",
    "basis",
    "label",
    "agreedPanels",
    "agreedAndKeyDisagrees",
    "agreedAndKeyAgrees",
    "notMachineGraded",
    "n",
    "runDate",
    "setHash",
    "source",
    "engineCalls",
    "note"
  ],
  "properties": {
    "schema": {
      "type": "string",
      "const": "ecca.miss-counter.v1"
    },
    "basis": {
      "type": "string",
      "enum": [
        "live-record",
        "sample",
        "none"
      ],
      "description": "live-record: the stored calibration record has full-panel mode evidence for every counted question. sample: a summary without full live-panel evidence, labelled SAMPLE. none: no record stored yet; every count is null."
    },
    "label": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "SAMPLE",
        null
      ],
      "description": "SAMPLE whenever basis is sample; null otherwise."
    },
    "agreedPanels": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Questions where the AIs agreed (two or more comparable answers, none dissenting)."
    },
    "agreedAndKeyDisagrees": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Agreed panels whose machine-graded answer did not match the reference key: the miss count. Answers the rules cannot grade are never counted here."
    },
    "agreedAndKeyAgrees": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Agreed panels whose machine-graded answer matched the reference key."
    },
    "notMachineGraded": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Agreed panels whose answer needs a human grader; reported apart, never counted as a miss."
    },
    "n": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "description": "Questions counted in the run (failed and disputed questions excluded)."
    },
    "runDate": {
      "type": [
        "string",
        "null"
      ],
      "description": "YYYY-MM-DD of the run, or null."
    },
    "setHash": {
      "type": [
        "string",
        "null"
      ],
      "description": "Hash of the frozen calibration set the run used, or null."
    },
    "source": {
      "type": [
        "object",
        "null"
      ],
      "description": "The stored record behind the counts: its id and path.",
      "properties": {
        "id": {
          "type": "string"
        },
        "path": {
          "type": "string"
        }
      }
    },
    "engineCalls": {
      "type": "integer",
      "const": 0
    },
    "note": {
      "type": "string"
    }
  }
}