{
  "$comment": "Hand-validated eval set for nightly regression. Each case lists the rubric fields the operator has confirmed (canonical_summary) — these are the ground-truth values the harness scores against. Image filenames resolve under --images-dir at runtime. Keep this small (5-10 cases); growing it requires the same clinician-review discipline as the case library because every entry here calibrates every other change to the prompt.",
  "version": "1.0",
  "cases": [
    {
      "case_id": "eval-01-nsr",
      "image_filename": "phase1-01-nsr.png",
      "canonical_summary": {
        "primary_diagnosis": "normal sinus rhythm",
        "rate_bpm": 75,
        "axis_category": "normal",
        "bundle_branch_block": "none",
        "av_block": "none",
        "st_elevation_present": false
      },
      "notes": "Reference normal. If this fails the prompt has drifted hard."
    },
    {
      "case_id": "eval-02-anterior-stemi",
      "image_filename": "phase1-12-anterior-stemi.png",
      "canonical_summary": {
        "primary_diagnosis": "anterior STEMI",
        "axis_category": "normal",
        "bundle_branch_block": "none",
        "av_block": "none",
        "st_elevation_present": true
      },
      "notes": "Classic anterior STEMI. Anchors the ischemia-recognition floor."
    },
    {
      "case_id": "eval-03-afib",
      "image_filename": "phase1-04-afib-controlled.png",
      "canonical_summary": {
        "primary_diagnosis": "atrial fibrillation",
        "axis_category": "normal",
        "bundle_branch_block": "none",
        "av_block": "none",
        "st_elevation_present": false
      },
      "notes": "Controlled AF. Tests the irregularly-irregular rhythm recognition."
    },
    {
      "case_id": "eval-04-lbbb",
      "image_filename": "phase1-11-lbbb.png",
      "canonical_summary": {
        "primary_diagnosis": "left bundle branch block",
        "bundle_branch_block": "lbbb",
        "av_block": "none",
        "st_elevation_present": false
      },
      "notes": "LBBB. Tests that the model doesn't over-call ischemia in the obscured ST segments."
    },
    {
      "case_id": "eval-05-chb",
      "image_filename": "phase1-09-chb.png",
      "canonical_summary": {
        "primary_diagnosis": "complete heart block",
        "av_block": "complete",
        "st_elevation_present": false
      },
      "notes": "Third-degree AV block. AV dissociation should be unmistakable."
    },
    {
      "case_id": "eval-06-hyperkalemia",
      "image_filename": "phase1-18-hyperkalemia.png",
      "canonical_summary": {
        "primary_diagnosis": "hyperkalemia",
        "bundle_branch_block": "nonspecific_ivcd",
        "st_elevation_present": false
      },
      "notes": "Peaked T waves + widened QRS. High-yield must-not-miss; if this misses, the prompt needs to better cue on electrolyte patterns."
    }
  ]
}
