{
  "schema_version": "1",
  "runs": [
    {
      "generated_at": "2026-09-22T07:47:33.137821+00:00",
      "stage": "post_render",
      "passed": false,
      "errors": 23,
      "warnings": 0,
      "verdicts": [
        {
          "verifier": "cover_offset",
          "verifier_version": "1.0",
          "stage": "post_render",
          "passed": true,
          "findings": [],
          "evidence": {
            "cue_mismatches": 0,
            "cues": 43,
            "timeline_entries": 43,
            "vtt_has_cover": true,
            "recorded_page": "slides.html",
            "html_has_cover": true
          },
          "errors": 0,
          "warnings": 0
        },
        {
          "verifier": "fragment_narration_alignment",
          "verifier_version": "1.0",
          "stage": "post_render",
          "passed": false,
          "findings": [
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_00_cover.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 0
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_01_turn_01.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 1
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_01_turn_02.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 1
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_01_turn_03.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 1
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_01_turn_04.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 1
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_02_turn_01.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 2
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_02_turn_02.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 2
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_02_turn_03.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 2
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_02_turn_04.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 2
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_03_turn_01.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 3
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "... and 33 more like this (full count in evidence)",
              "slide_num": null
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "slide 3: 4 narration turn(s) but 5 beat(s) in the timeline. A beat short of its turns is the §1.2 bug class — the surplus turns never sound (or sound stacked on the last beat).",
              "slide_num": 3
            }
          ],
          "evidence": {
            "missing_audio": 43,
            "narration_source": "manifest",
            "slide_count_mismatches": 1,
            "missing_fragments": 0
          },
          "errors": 12,
          "warnings": 0
        },
        {
          "verifier": "bundle_integrity",
          "verifier_version": "1.0",
          "stage": "post_render",
          "passed": false,
          "findings": [
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_00_cover.wav, which does not exist in the bundle.",
              "slide_num": 0
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_01_turn_01.wav, which does not exist in the bundle.",
              "slide_num": 1
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_01_turn_02.wav, which does not exist in the bundle.",
              "slide_num": 1
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_01_turn_03.wav, which does not exist in the bundle.",
              "slide_num": 1
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_01_turn_04.wav, which does not exist in the bundle.",
              "slide_num": 1
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_02_turn_01.wav, which does not exist in the bundle.",
              "slide_num": 2
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_02_turn_02.wav, which does not exist in the bundle.",
              "slide_num": 2
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_02_turn_03.wav, which does not exist in the bundle.",
              "slide_num": 2
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_02_turn_04.wav, which does not exist in the bundle.",
              "slide_num": 2
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_03_turn_01.wav, which does not exist in the bundle.",
              "slide_num": 3
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "... and 33 more like this (full count in evidence)",
              "slide_num": null
            }
          ],
          "evidence": {
            "missing_assets": 43,
            "asset_refs_checked": 43,
            "duration_mismatches": 0,
            "recorded_page": "slides.html",
            "timeline_total_sec": 389.495,
            "declared_audio_sec": 389.49509374999997
          },
          "errors": 11,
          "warnings": 0
        },
        {
          "verifier": "narration_source_consistency",
          "verifier_version": "1.0",
          "stage": "post_render",
          "passed": true,
          "findings": [],
          "evidence": {
            "divergent_slides": 0,
            "narration_source_requested": null
          },
          "errors": 0,
          "warnings": 0
        }
      ],
      "skipped": {},
      "crashed": {},
      "missing_required": []
    },
    {
      "generated_at": "2026-09-22T07:48:07.424591+00:00",
      "stage": "post_render",
      "passed": false,
      "errors": 23,
      "warnings": 0,
      "verdicts": [
        {
          "verifier": "cover_offset",
          "verifier_version": "1.0",
          "stage": "post_render",
          "passed": true,
          "findings": [],
          "evidence": {
            "cue_mismatches": 0,
            "cues": 43,
            "timeline_entries": 43,
            "vtt_has_cover": true,
            "recorded_page": "slides.html",
            "html_has_cover": true
          },
          "errors": 0,
          "warnings": 0
        },
        {
          "verifier": "fragment_narration_alignment",
          "verifier_version": "1.0",
          "stage": "post_render",
          "passed": false,
          "findings": [
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_00_cover.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 0
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_01_turn_01.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 1
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_01_turn_02.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 1
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_01_turn_03.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 1
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_01_turn_04.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 1
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_02_turn_01.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 2
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_02_turn_02.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 2
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_02_turn_03.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 2
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_02_turn_04.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 2
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "audio/slide_03_turn_01.wav is in the fragment_timeline but not on disk — that beat is silent.",
              "slide_num": 3
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "... and 33 more like this (full count in evidence)",
              "slide_num": null
            },
            {
              "check": "fragment_narration_alignment",
              "severity": "error",
              "message": "slide 3: 4 narration turn(s) but 5 beat(s) in the timeline. A beat short of its turns is the §1.2 bug class — the surplus turns never sound (or sound stacked on the last beat).",
              "slide_num": 3
            }
          ],
          "evidence": {
            "missing_audio": 43,
            "narration_source": "manifest",
            "slide_count_mismatches": 1,
            "missing_fragments": 0
          },
          "errors": 12,
          "warnings": 0
        },
        {
          "verifier": "bundle_integrity",
          "verifier_version": "1.0",
          "stage": "post_render",
          "passed": false,
          "findings": [
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_00_cover.wav, which does not exist in the bundle.",
              "slide_num": 0
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_01_turn_01.wav, which does not exist in the bundle.",
              "slide_num": 1
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_01_turn_02.wav, which does not exist in the bundle.",
              "slide_num": 1
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_01_turn_03.wav, which does not exist in the bundle.",
              "slide_num": 1
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_01_turn_04.wav, which does not exist in the bundle.",
              "slide_num": 1
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_02_turn_01.wav, which does not exist in the bundle.",
              "slide_num": 2
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_02_turn_02.wav, which does not exist in the bundle.",
              "slide_num": 2
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_02_turn_03.wav, which does not exist in the bundle.",
              "slide_num": 2
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_02_turn_04.wav, which does not exist in the bundle.",
              "slide_num": 2
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "manifest references audio/slide_03_turn_01.wav, which does not exist in the bundle.",
              "slide_num": 3
            },
            {
              "check": "bundle_integrity",
              "severity": "error",
              "message": "... and 33 more like this (full count in evidence)",
              "slide_num": null
            }
          ],
          "evidence": {
            "missing_assets": 43,
            "asset_refs_checked": 43,
            "duration_mismatches": 0,
            "recorded_page": "slides.html",
            "timeline_total_sec": 389.495,
            "declared_audio_sec": 389.49509374999997
          },
          "errors": 11,
          "warnings": 0
        },
        {
          "verifier": "narration_source_consistency",
          "verifier_version": "1.0",
          "stage": "post_render",
          "passed": true,
          "findings": [],
          "evidence": {
            "divergent_slides": 0,
            "narration_source_requested": null
          },
          "errors": 0,
          "warnings": 0
        }
      ],
      "skipped": {},
      "crashed": {},
      "missing_required": []
    }
  ]
}