{
  "schemaVersion": 1,
  "lessonId": "operations-07",
  "contentHash": "43e1f34e84f93a58fe344a5357aee212ede59116f582807c39c167b4ae0f84a7",
  "rendererHash": "a1bd5b648f4731ae5d5f0a24811c2540d1a0a132149ce589d17c4113509cbedf",
  "kind": "executed",
  "generatedAt": "2026-10-20T10:47:17.120280+00:00",
  "provenance": "recorded_cpu_computation",
  "environment": {
    "backend": "cpu",
    "deviceCount": 1,
    "jax": "0.9.2",
    "numpy": "2.4.4",
    "matplotlib": "3.10.8"
  },
  "stdout": "Observed replay scores: [{'overall': 0.9, 'answerable': 1.0, 'unanswerable': 0.0}, {'overall': 1.0, 'answerable': 1.0, 'unanswerable': 1.0}]\nTwo real MLflow traces; no LLM API was called and no general model quality was evaluated.\n",
  "data": {
    "kind": "bar",
    "labels": [
      "overall (10)",
      "answerable (9)",
      "unsupported (1)"
    ],
    "xlabel": "fixture group (count)",
    "ylabel": "fixture pass fraction",
    "series": [
      {
        "label": "always-answer",
        "y": [
          0.9,
          1.0,
          0.0
        ]
      },
      {
        "label": "contract-aware",
        "y": [
          1.0,
          1.0,
          1.0
        ]
      }
    ]
  }
}
