{
  "run_id": "reeleehq--muvid-claude-haiku-5-5-1793139662570029749",
  "checker": {
    "claims": [
      {
        "claim": "choreo renders audio alone into a visual music video",
        "command": "<guest-path> -m muvid.choreo render <guest-path> <guest-path> --archetype star_guitar",
        "evidence": "\"n_frames\": 360,\n    \"render_s\": 11.11\n  }\n}\n",
        "expected": "video file written; JSON reports 360 frames",
        "input": "12 s generated test song.wav",
        "kind": "claim",
        "outcome": "Real input produced the expected result: \"n_frames\": 360",
        "returncode": 0,
        "source": "Audio in, nothing else.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "lyric video: words appear in time with the singing",
        "command": "<guest-path> -m muvid.lyricvid render <guest-path> <guest-path> --subtitles <guest-path>",
        "evidence": "\"timing_source\": \"srt\",\n    \"timing_measured\": false\n  }\n}\n",
        "expected": "render completes with SRT timing source",
        "input": "song.wav plus SRT timed lyrics",
        "kind": "claim",
        "outcome": "Real input produced the expected result: \"timing_source\": \"srt\"",
        "returncode": 0,
        "source": "A song in, a typographic music video out: the words appear in time with the",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected (muvid CLI, muvid.choreo, muvid.lyricvid, muvid.montage, README). No scheduler, cron, loop, daemon, or webhook trigger exists in the product; the only 'cron' match is a comment in muvid/lyrics.py. Each render runs once per invocation.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected (muvid CLI, muvid.choreo, muvid.lyricvid, muvid.montage, README). No scheduler, cron, loop, daemon, or webhook trigger exists in the product; the only 'cron' match is a comment in muvid/lyrics.py. Each render runs once per invocation.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "<guest-path>",
        "-m",
        "muvid.choreo",
        "render",
        "<guest-path>",
        "<guest-path>",
        "--archetype",
        "star_guitar"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "",
      "stdout": "{\n  \"output\": \"<guest-path>\",\n  \"duration_s\": 12.021333,\n  \"artifacts\": {\n    \"events\": \"/tmp/muvid-choreo-w2f931cz/events.json\",\n    \"scene\": \"/tmp/muvid-choreo-w2f931cz/scene.json\",\n    \"treatment\": \"/tmp/muvid-choreo-w2f931cz/treatment.json\"\n  },\n  \"meta\": {\n    \"archetypes\": [\n      \"star_guitar\"\n    ],\n[excerpt truncated]",
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "lyricvid vocabulary lists the archetypes, free and key-free",
        "command": "<guest-path> -m muvid.lyricvid vocabulary",
        "deferred": false,
        "evidence": "igner provides it.\",\n    \"line\": \"The whole line arrives together, at the line's start.\",\n    \"beat\": \"Snapped to the nearest beat. Rhythmic, forgiving of alignment error.\",\n    \"downbeat\": \"Snapped to the nearest bar start. Slow, deliberate.\"\n  },\n  \"cut_styles\": {\n    \"hard\": \"Instant change between scenes.\",\n    \"crossfade\": \"Brief dissolve between scenes.\",\n    \"hold\": \"The previous scene stays until the next has fully arrived.\"\n  },\n  \"cases\": {\n    \"as_written\": \"Exactly as the lyrics are written.\",\n    \"upper\": \"ALL CAPS.\",\n    \"lower\": \"all lowercase.\",\n    \"title\": \"Title Case.\"\n  }\n}",
        "expected": "JSON archetype catalogue including one_word_centred",
        "input": "no arguments",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md: python -m muvid.lyricvid vocabulary",
        "verdict": "yes"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
