{
  "$id": "https://schemas.ump.dev/v1/priority-snapshot.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "\u00a711 test prioritisation snapshot: model version, joint draws used, scores, the kept portfolio\n(P1 cost-scaled greedy on EIG vs P2 best single test), alternatives by joint EVOI and the reason for\nany override. Briefs MUST NOT claim the (1 - 1/e) bound for EVOI or budget-constrained selection,\nso ``guarantee_note`` states what is (and is not) guaranteed. Signed off by the measurement lead.",
  "properties": {
    "alternatives": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Alternatives",
      "type": "array"
    },
    "approved_by": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): approver principal.",
      "title": "Governance ApprovedBy"
    },
    "assumptions": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Assumed values, each labelled. Written by experiments (`prioritise.py`).",
      "title": "Assumptions"
    },
    "budget": {
      "default": null,
      "title": "Budget"
    },
    "candidates": {
      "description": "Candidate tests with eig, cost, eig_per_dollar, evoi.",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Candidates",
      "type": "array"
    },
    "choice": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Measurement lead's logged choice: {portfolio, reason, by, at}.",
      "title": "Choice"
    },
    "client_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Client Id"
    },
    "cluster_threshold": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Clustering threshold (proposed). Written by experiments (`prioritise.py`).",
      "title": "Cluster Threshold"
    },
    "clusters": {
      "default": null,
      "title": "Clusters"
    },
    "content_hash": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): the artifact content hash.",
      "title": "Governance ContentHash"
    },
    "currency": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Currency"
    },
    "decision_rule": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Decision rule the snapshot ranks against. Written by experiments (`prioritise.py`).",
      "title": "Decision Rule"
    },
    "dependence": {
      "default": null,
      "title": "Dependence"
    },
    "divisors": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "number"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\u00a711: each score term's maximum over the candidate set, used as its divisor.",
      "title": "Divisors"
    },
    "eig_estimator": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\u00a711: the EIG estimator used.",
      "title": "Eig Estimator"
    },
    "eig_mc_se": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\u00a711: Monte Carlo SE of the EIG estimate.",
      "title": "Eig Mc Se"
    },
    "fallbacks": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Fallbacks",
      "type": "array"
    },
    "gate_results": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): gate results of the latest run.",
      "title": "Governance GateResults"
    },
    "guarantee": {
      "anyOf": [
        {
          "enum": [
            "eig_constant_factor",
            "none"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "\u00a711: `none` comes with note NO_GUARANTEE. Never covers EVOI.",
      "title": "Guarantee"
    },
    "guarantee_note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Guarantee Note"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): artifact id.",
      "title": "Governance Id"
    },
    "joint_draws_used": {
      "default": false,
      "title": "Joint Draws Used",
      "type": "boolean"
    },
    "kept": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Which of P1 and P2 was kept (higher EIG).",
      "title": "Kept"
    },
    "kept_portfolio": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Kept Portfolio"
    },
    "kpi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Kpi"
    },
    "model_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Model Id"
    },
    "model_version": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Model Version"
    },
    "n_draws": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "N Draws"
    },
    "notes": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Notes",
      "type": "array"
    },
    "override_needed": {
      "default": false,
      "title": "Override Needed",
      "type": "boolean"
    },
    "override_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Override Reason"
    },
    "owner": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): owner principal.",
      "title": "Governance Owner"
    },
    "p1": {
      "description": "Cost-scaled greedy portfolio on EIG.",
      "items": {
        "type": "string"
      },
      "title": "P1",
      "type": "array"
    },
    "p2": {
      "description": "Single most informative affordable test.",
      "items": {
        "type": "string"
      },
      "title": "P2",
      "type": "array"
    },
    "revision": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Governance member (spec \u00a76): content revision (spec \u00a77).",
      "title": "Governance Revision"
    },
    "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"
    },
    "valid_to": {
      "default": null,
      "description": "Governance member (spec \u00a76): end of the validity window (spec \u00a77).",
      "title": "Governance ValidTo"
    },
    "weights": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Ranking weights (proposed). Written by experiments (`prioritise.py`).",
      "title": "Weights"
    }
  },
  "title": "PrioritySnapshot",
  "type": "object"
}
