{
  "$id": "https://schemas.ump.dev/v1/benchmark-cell.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "approved_by": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): approver principal.",
      "title": "Governance ApprovedBy"
    },
    "channel": {
      "title": "Channel",
      "type": "string"
    },
    "ci95": {
      "maxItems": 2,
      "minItems": 2,
      "prefixItems": [
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "title": "Ci95",
      "type": "array"
    },
    "ci_df": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Degrees of freedom of the HKSJ t interval, k - 1 (internal view only). Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Ci Df"
    },
    "ci_method": {
      "anyOf": [
        {
          "enum": [
            "hksj",
            "wald",
            "bayes_eti"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\u00a725.3 rule 4: HKSJ by default; Wald with DL, or ETI under a Bayesian model.",
      "title": "Ci Method"
    },
    "construction": {
      "anyOf": [
        {
          "enum": [
            "log_delta",
            "reported_scale_log_link",
            "bayes_hier"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\u00a725.3 rule 4a: delta-method log transform, or the reported-scale likelihood with a log link when any row is non-positive.",
      "title": "Construction"
    },
    "content_hash": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): the artifact content hash.",
      "title": "Governance ContentHash"
    },
    "contributor_band": {
      "anyOf": [
        {
          "enum": [
            "<5",
            "5-9",
            "10+"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contributor Band"
    },
    "contributors": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Salted client refs that contribute (internal view only; gives the exact k). Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Contributors"
    },
    "egger_flag": {
      "default": false,
      "title": "Egger Flag",
      "type": "boolean"
    },
    "empty": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "No pooled estimate: mu, se and tau are placeholders. Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Empty"
    },
    "estimand_id": {
      "default": "E-BM-AVG-ROI",
      "title": "Estimand Id",
      "type": "string"
    },
    "gate_results": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): gate results of the latest run.",
      "title": "Governance GateResults"
    },
    "hksj_multiplier": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "HKSJ variance multiplier (internal view only). Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Hksj Multiplier"
    },
    "i2": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "I2"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): artifact id.",
      "title": "Governance Id"
    },
    "k": {
      "title": "K",
      "type": "integer"
    },
    "leave_one_out": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Pooled without one client (`exclude_client_ref`; note LEAVE_ONE_OUT). Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Leave One Out"
    },
    "method": {
      "default": "DL",
      "enum": [
        "DL",
        "REML",
        "bayes_hier"
      ],
      "title": "Method",
      "type": "string"
    },
    "mu": {
      "title": "Mu",
      "type": "number"
    },
    "n": {
      "title": "N",
      "type": "integer"
    },
    "no_vertical_rows": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Placeholder for a channel with no row in this vertical (`fill_parents=true`). Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "No Vertical Rows"
    },
    "notes": {
      "items": {
        "type": "string"
      },
      "title": "Notes",
      "type": "array"
    },
    "owner": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): owner principal.",
      "title": "Governance Owner"
    },
    "parent_cell": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The cross-vertical parent cell, read in place of a suppressed cell (G-BM-04 Fall back). Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Parent Cell"
    },
    "parent_cell_ref": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Parent Cell Ref"
    },
    "pi95": {
      "maxItems": 2,
      "minItems": 2,
      "prefixItems": [
        {
          "type": "number"
        },
        {
          "type": "number"
        }
      ],
      "title": "Pi95",
      "type": "array"
    },
    "pi_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "How the prediction interval was built (internal view only). Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Pi Note"
    },
    "pooling_failed": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Why no log-link cell mean exists (the cell is `empty`). Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Pooling Failed"
    },
    "precision_shares": {
      "additionalProperties": {
        "type": "number"
      },
      "title": "Precision Shares",
      "type": "object"
    },
    "proposed_thresholds": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The proposed benchmark parameters the cell was computed under. Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Proposed Thresholds"
    },
    "reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Public reason a suppressed cell is held (public view only). Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Reason"
    },
    "released": {
      "default": false,
      "title": "Released",
      "type": "boolean"
    },
    "revision": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): content revision (spec \u00a77).",
      "title": "Governance Revision"
    },
    "se": {
      "title": "Se",
      "type": "number"
    },
    "shown": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The cell as a ShownNumber-like view: value, intervals, estimand and words. Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Shown"
    },
    "spend_shares": {
      "additionalProperties": {
        "type": "number"
      },
      "title": "Spend Shares",
      "type": "object"
    },
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): lifecycle state of the version.",
      "title": "Governance State"
    },
    "submitted_by": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): submitter principal.",
      "title": "Governance SubmittedBy"
    },
    "superseded_rows": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Rows set aside by the latest-refit rule (\u00a725.3 rule 1; note SUPERSEDED_REFIT). Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Superseded Rows"
    },
    "suppressed": {
      "default": false,
      "title": "Suppressed",
      "type": "boolean"
    },
    "tau": {
      "title": "Tau",
      "type": "number"
    },
    "valid_to": {
      "default": null,
      "description": "Governance member (spec \u00a76): end of the validity window (spec \u00a77).",
      "title": "Governance ValidTo"
    },
    "vertical": {
      "title": "Vertical",
      "type": "string"
    },
    "vintage_id": {
      "title": "Vintage Id",
      "type": "string"
    },
    "window": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Rule 1 window applied: `all` or `four_quarters`. Written by core benchmark cells (`services/benchmark.py`; live cells, vintage rows).",
      "title": "Window"
    }
  },
  "required": [
    "vintage_id",
    "vertical",
    "channel",
    "k",
    "n",
    "mu",
    "se",
    "tau",
    "ci95",
    "pi95"
  ],
  "title": "BenchmarkCell",
  "type": "object"
}
