coldpass

Per-setup public labels: Linux / Haiku: Works · Linux / Luna: Works

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/reeleehq--muvid.svg).

data

Works

The recorded run passed on 2 setups.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxyesyes

Linux / Haiku 5.5: yes · Oct 27, 2026 · f06cb507e67a · claude-code / 2.1.310 (Claude Code)
Recorded operation: <guest-path> -m muvid.choreo render <guest-path> <guest-path> --archetype star_guitar

Linux / Luna: yes · Oct 27, 2026 · f06cb507e67a · codex / codex-cli 0.164.0
Recorded operation: /tmp/muvid-venv/bin/python -m muvid.lyricvid vocabulary

Does what it says
2 of 2 claims checked out
  • choreo renders audio alone into a visual music video: Real input produced the expected result: "n_frames": 360

    Source: Audio in, nothing else.

    Input: 12 s generated test song.wav

    Expected: video file written; JSON reports 360 frames

    Command: <guest-path> -m muvid.choreo render <guest-path> <guest-path> --archetype star_guitar

    Observed: "n_frames": 360, "render_s": 11.11 } }

  • lyric video: words appear in time with the singing: Real input produced the expected result: "timing_source": "srt"

    Source: A song in, a typographic music video out: the words appear in time with the

    Input: song.wav plus SRT timed lyrics

    Expected: render completes with SRT timing source

    Command: <guest-path> -m muvid.lyricvid render <guest-path> <guest-path> --subtitles <guest-path>

    Observed: "timing_source": "srt", "timing_measured": false } }

MCP
No
Local or hosted
local
Local: runs on your machine
Needs keys or browser
None seen
Maintained
Maintained
actively maintained: last commit 0 days ago; 268 commits and 136 merged PRs in 90 days; 35 open issues, 2 open PRs; no releases

Last commit Oct 27, 2026

Setup time
7 min 54 s
7 min 54 s to a working result
Issue
none found in recorded check
Examples
1 of 1 ran as expected
  • lyricvid vocabulary lists the archetypes, free and key-free: command completed successfully

    Source: README.md: python -m muvid.lyricvid vocabulary

    Input: no arguments

    Expected: JSON archetype catalogue including one_word_centred

    Command: <guest-path> -m muvid.lyricvid vocabulary

    Observed: igner provides it.", "line": "The whole line arrives together, at the line's start.", "beat": "Snapped to the nearest beat. Rhythmic, forgiving of alignment error.", "downbeat": "Snapped to the nearest bar start. Slow, deliberate." }, "cut_styles": { "hard": "Instant change between scenes.", "crossfade": "Brief dissolve between scenes.", "hold": "The previous scene stays until the next has fully arrived." }, "cases": { "as_written": "Exactly as the lyrics are written.", "upper": "ALL CAPS.", "lower": "all lowercase.", "title": "Title Case." } }

Evidence
README behavior checked
Agent interfaces
CLI
CLI

Observed interfaces were exercised by the checker. Documentation alone does not confirm compatibility.

Tested with
Claude Code / Haiku 5.5
  • Linux: Claude Code / Haiku 5.5 · agent 2.1.310 (Claude Code) · Checked operation passed · Oct 27, 2026 on f06cb507e67a

Each entry describes its recorded operation and source revision.

Safety
No unexpected network or file activity found in these checks

No problems traced to this repository code in these checks; a short run cannot prove safety.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

Full event, path and process lists for each observed setup:

Repair history and test corrections
Run details

Haiku 5.5

Native agent · Checked operation passed

Checked operation <guest-path> -m muvid.choreo render <guest-path> <guest-path> --archetype star_guitar

Agent-reported scope: Render audio-driven videos from a song file with the README's key-free CLIs: python -m muvid.choreo render (visual music) and python -m muvid.lyricvid render with --subtitles timed lyrics (lyric video), plus python -m muvid.lyricvid vocabulary.

Run details
run
reeleehq--muvid-claude-haiku-5-5-1793139662570029749
date
Oct 27, 2026
time to working
473.6s
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.310 (Claude Code)
platform
linux
reported cost
$0.020614
Recorded source
https://github.com/reeleehq/muvid
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "f06cb507e67a0b1a18c8f36ce5ba645c412d2d74", "url": "https://github.com/reeleehq/muvid"}
Test version
readme-d5b140d3c0f8b95c2dd6fe6fc381a303cacb92679582c22317d8e78b572f0cf2
revision
f06cb507e67a0b1a18c8f36ce5ba645c412d2d74
Current diagnosis: test · resolved

native Claude returned a different model

Repair record fix-1ca4c2a70ee8930e3560 · current status JSON. Original run outcomes remain unchanged.

Failed run: reeleehq/muvid · Oct 27, 2026 · Our test failed; no repo verdict.

Test-repair rerun: reeleehq/muvid · Oct 27, 2026 · Checked operation passed.

Double-checks failed run: reeleehq/muvid · Oct 27, 2026.

Fix: fix-1ca4c2a70ee8930e3560.

Safety: No problems traced to this repository code in these checks.

No problems traced to this repository code in these checks.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • choreo renders audio alone into a visual music video: Real input produced the expected result: "n_frames": 360

    Source: Audio in, nothing else.

    Input: 12 s generated test song.wav

    Expected: video file written; JSON reports 360 frames

    Command: <guest-path> -m muvid.choreo render <guest-path> <guest-path> --archetype star_guitar

    Observed: "n_frames": 360, "render_s": 11.11 } }

  • lyric video: words appear in time with the singing: Real input produced the expected result: "timing_source": "srt"

    Source: A song in, a typographic music video out: the words appear in time with the

    Input: song.wav plus SRT timed lyrics

    Expected: render completes with SRT timing source

    Command: <guest-path> -m muvid.lyricvid render <guest-path> <guest-path> --subtitles <guest-path>

    Observed: "timing_source": "srt", "timing_measured": false } }

Examples

  • lyricvid vocabulary lists the archetypes, free and key-free: command completed successfully

    Source: README.md: python -m muvid.lyricvid vocabulary

    Input: no arguments

    Expected: JSON archetype catalogue including one_word_centred

    Command: <guest-path> -m muvid.lyricvid vocabulary

    Observed: igner provides it.", "line": "The whole line arrives together, at the line's start.", "beat": "Snapped to the nearest beat. Rhythmic, forgiving of alignment error.", "downbeat": "Snapped to the nearest bar start. Slow, deliberate." }, "cut_styles": { "hard": "Instant change between scenes.", "crossfade": "Brief dissolve between scenes.", "hold": "The previous scene stays until the next has fully arrived." }, "cases": { "as_written": "Exactly as the lyrics are written.", "upper": "ALL CAPS.", "lower": "all lowercase.", "title": "Title Case." } }

Local or hosted: local

What the agent did

Render audio-driven videos from a song file with the README's key-free CLIs: python -m muvid.choreo render (visual music) and python -m muvid.lyricvid render with --subtitles timed lyrics (lyric video), plus python -m muvid.lyricvid vocabulary.

cd <guest-path> && pwd && ls -la && id -u && (git status 2>&1 | head -3) && cat README.md 2>/dev/null | head -200
cd <guest-path> && ls /inputs 2>/dev/null; python3 --version; node --version 2>&1; npm --version 2>&1; uv --version 2>&1; ffmpeg -version 2>&1 | head -1
cd <guest-path> && sed -n 200,420p README.md
cd <guest-path> && grep -n -i "python -m\|muvid \|^muvid\|mcp\|--once\|cron\|schedul\|cli" README.md | head -80; ls tests; ls .github/workflows; cat .coldpass/* 2>/dev/null | head -5; echo; ls -la .coldpass
cd <guest-path> && grep -n "requires-python\|^name\|^version" pyproject.toml; grep -n "run:" -A3 .github/workflows/ci.yml | head -60; sudo -n true && echo SUDO_OK
sudo apt-get -o DPkg::Lock::Timeout=300 update -qq >/tmp/apt-update.log 2>&1; sudo apt-get -o DPkg::Lock::Timeout=300 install -y -qq ffmpeg >/tmp/apt-ffmpeg.log 2>&1; echo "rc=$?"; tail -3 /tmp/apt-ffmpeg.log; ffmpeg -version | head -1; ffprobe -version | head -1
mkdir -p <guest-path> && python3 -m venv <guest-path> && <guest-path> install -q --upgrade pip 2>&1 | tail -2; cd <guest-path> && <guest-path> install -q '.[lyricvid]' > /tmp/pip-muvid.log 2>&1; echo "rc=$?"; tail -5 /tmp/pip-muvid.log
cd <guest-path> && find tests/data misc -iname "*.wav" -o -iname "*.mp3" -o -iname "*.lrc" -o -iname "*.md" -path "*lyric*" 2>/dev/null | head -20; ls tests/data | head -30; <guest-path> --help 2>&1 | head -40; <guest-path> -m muvid.lyricvid vocabulary 2>&1 | head -20
mkdir -p <guest-path> <guest-path> && cd <guest-path> && ffmpeg -hide_banner -loglevel error -y -f lavfi -i "sine=frequency=220:duration=12" -f lavfi -i "sine=frequency=880:duration=12" -filter_complex "[0][1]amix=inputs=2,volume=0.6,tremolo=f=2:d=0.9" -ar 44100 song.wav && ls -la song.wav && mkdir -p <guest-path> && cd <guest-path> && time <guest-path> -m muvid.choreo render <guest-path> <guest-path> --archetype star_guitar 2>&1 | tail -20; echo "rc=${PIPESTATUS[0]}"; ls -la <guest-path>
cd <guest-path> && printf 'Hello there\nsing it loud\n' > lyrics.txt && mkdir -p <guest-path> && cd <guest-path> && time <guest-path> -m muvid.lyricvid render <guest-path> <guest-path> --lyrics <guest-path> > <guest-path> 2>&1; echo "rc=$?"; tail -15 <guest-path>; ls -la <guest-path>
cd <guest-path> && printf '1\n00:00:00,500 --> 00:00:03,000\nHello there\n\n2\n00:00:04,000 --> 00:00:07,500\nsing it loud\n' > lyrics.srt && rm -rf <guest-path> && mkdir -p <guest-path> && cd <guest-path> && time <guest-path> -m muvid.lyricvid render <guest-path> <guest-path> --lyrics <guest-path> > <guest-path> 2>&1; echo "rc=$?"; tail -5 <guest-path>; ls -la <guest-path>
cd <guest-path> && <guest-path> -m muvid.lyricvid render --help 2>&1 | head -60
rm -rf <guest-path> && mkdir -p <guest-path> && cd <guest-path> && time <guest-path> -m muvid.lyricvid render <guest-path> <guest-path> --subtitles <guest-path> > <guest-path> 2>&1; echo "rc=$?"; tail -8 <guest-path>; ls -la <guest-path>
cd <guest-path> && grep -n "^Audio in, nothing else\|A song in, a typographic\|^python -m muvid.choreo render song.wav out.mp4\|^python -m muvid.lyricvid render song.wav out.mp4 --lyrics\|^python -m muvid.lyricvid analyze song.wav\|^python -m muvid.lyricvid vocabulary\|Four archetypes\|^python -m muvid.lyricvid propose" README.md; grep -rn -i "schedul\|cron\|--once\|webhook\|daemon" --include=*.py muvid | head -5; rm -rf <guest-path> <guest-path>; mkdir -p <guest-path> <guest-path> <guest-path> <guest-path>; ls -R <guest-path> | head -20
cd <guest-path> && V=<guest-path>; $V -m muvid.choreo render <guest-path> <guest-path> --archetype star_guitar > <guest-path> 2>&1; echo "probe rc=$?"; grep -n '"n_frames"\|"archetypes"\|"beat_source"' <guest-path>; ls -la <guest-path>; $V -m muvid.lyricvid analyze <guest-path> > <guest-path> 2>&1; echo "analyze rc=$?"; head -c 600 <guest-path>
tail -6 <guest-path>; cd <guest-path> && <guest-path> -m muvid.lyricvid vocabulary > <guest-path> 2>&1; echo "vocab rc=$?"; <guest-path> -m muvid.lyricvid propose <guest-path> > <guest-path> 2>&1; echo "propose rc=$?"; head -c 300 <guest-path>; echo; tail -3 <guest-path>
cd <guest-path> && V=<guest-path> && cat > probe.json <<EOF
{"kind":"cli","argv":["$V","-m","muvid.choreo","render","<guest-path>","<guest-path>","--archetype","star_guitar"],"cwd":"<guest-path>","expected_text":"\"n_frames\": 360"}
EOF
cat > claims.json <<EOF
[
{"kind":"claim","claim":"choreo renders audio alone into a visual music video","source":"Audio in, nothing else.","input":"12 s generated test song.wav","expected":"video file written; JSON reports 360 frames","probe_kind":"cli","argv":["$V","-m","muvid.choreo","render","<guest-path>","<guest-path>","--archetype","star_guitar"],"expected_text":"\"n_frames\": 360","cwd":"<guest-path>"},
{"kind":"claim","claim":"lyric video: words appear in time with the singing","source":"A song in, a typographic music video out: the words appear in time with the","input":"song.wav plus SRT timed lyrics","expected":"render completes with SRT timing source","probe_kind":"cli","argv":["$V","-m","muvid.lyricvid","render","<guest-path>","<guest-path>","--subtitles","<guest-path>"],"expected_text":"\"timing_source\": \"srt\"","cwd":"<guest-path>"}
]
EOF
cat > examples.json <<EOF
[
{"kind":"example","claim":"lyricvid vocabulary lists the archetypes, free and key-free","source":"README.md: python -m muvid.lyricvid vocabulary","input":"no arguments","expected":"JSON archetype catalogue including one_word_centred","argv":["$V","-m","muvid.lyricvid","vocabulary"],"cwd":"<guest-path>","expected_text":"\"one_word_centred\""}
]
EOF
cat > cycles.json <<'EOF'
{"detected":false,"reason":"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.","checks":[]}
EOF
for f in probe.json claims.json examples.json cycles.json; do $V -I -c 1 2>/dev/null; <guest-path> -I -c "import json,sys;json.load(open(sys.argv[1]));print('ok',sys.argv[1])" $f 2>&1 || echo BAD $f; done
rm -f <guest-path> && ls <guest-path> && cd <guest-path> && <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | tail -60; echo "rc=${PIPESTATUS[0]}"
cd <guest-path> && cat > report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Render audio-driven videos from a song file with the README's key-free CLIs: python -m muvid.choreo render (visual music) and python -m muvid.lyricvid render with --subtitles timed lyrics (lyric video), plus python -m muvid.lyricvid vocabulary.","operation_scope":"Linux guest (Ubuntu, Python 3.12.3, ffmpeg 6.1.1). Installed muvid from the pinned source with pip into <guest-path> using the lyricvid extra. No API keys, no browser, no faster-whisper. Input was a 12 s generated test tone (not a real song). Verified: choreo render (360 frames, exit 0), lyricvid render with SRT timing (exit 0), vocabulary (exit 0), and the checker validate+replay PASS.","steps":["sudo apt-get -o DPkg::Lock::Timeout=300 install -y ffmpeg","python3 -m venv <guest-path>","<guest-path> install '.[lyricvid]' (from <guest-path>)","<guest-path> -m muvid.choreo render song.wav out.mp4 --archetype star_guitar","<guest-path> -m muvid.lyricvid render song.wav out.mp4 --subtitles lyrics.srt","<guest-path> -m muvid.lyricvid vocabulary"],"deviations":["Installed from the pinned workspace source (pip install '.[lyricvid]') instead of PyPI 'pip install muvid[lyricvid]', so the tested code is the pinned commit.","Used apt ffmpeg 6.1.1 (README requires ffmpeg on PATH; not pinned by README).","README lists .srt as a valid --lyrics input, but 'python -m muvid.lyricvid render ... --lyrics lyrics.srt' failed with 'No offline aligner is available'. Worked around by passing the same SRT with --subtitles, which the error message suggests.","Plain-text --lyrics and the 'analyze' and 'propose' subcommands need faster-whisper for transcription when no timed lyrics are given; not installed (not in the lyricvid extra), so those README commands were not verified. 'analyze' and 'propose' failed with RuntimeError.","The song was a generated 12 s sine-tone file made with ffmpeg, not a real recording; the AI pipeline (ElevenLabs/fal keys), muvid.visualize, muvid.montage, and the footage/MCP tools were not exercised.","No product scheduler or cycle exists, so no cycle was triggered."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":"No fix needed for the verified operations. Consider making README's '--lyrics <file.srt>' route work without faster-whisper, or document that SRT needs --subtitles, and state that analyze/propose need faster-whisper."}
EOF
python3 -c "import json;d=json.load(open('<guest-path>'));print(d['outcome'],d['fault_owner'])"; ls -la <guest-path>; ls <guest-path> | grep -c report.json
Earlier attempts (1)

Luna

Native agent · Checked operation passed

Checked operation /tmp/muvid-venv/bin/python -m muvid.lyricvid vocabulary

Agent-reported scope: List lyric video archetypes

Run details
run
reeleehq--muvid-gpt-6-luna-1793129742293514927
date
Oct 27, 2026
time to working
371.0s
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
gpt-6-luna
agent / version
codex / codex-cli 0.164.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/reeleehq/muvid
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "f06cb507e67a0b1a18c8f36ce5ba645c412d2d74", "url": "https://github.com/reeleehq/muvid"}
Test version
readme-38e6b13f3b13804effb95797e3466b1a1334da7a232d897cbc8965867f802605
revision
f06cb507e67a0b1a18c8f36ce5ba645c412d2d74
Whose fault: not assigned · resolved

Safety: No problems traced to this repository code in these checks.

No problems traced to this repository code in these checks.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • The layout offers a closed set of archetypes.: Real input produced the expected result: one_word_centred

    Source: The layout is chosen from a closed set of archetypes

    Input: vocabulary

    Expected: one_word_centred archetype is listed

    Command: /tmp/muvid-venv/bin/python -m muvid.lyricvid vocabulary

    Observed: one_word_centred": "One word at a time, large, centred. The default lyric-video look: unmissable, works at any aspect ratio, reads on a phone.", "stacked_lines": "Lines accumulate down the frame and hold, so the viewer can read back what has already been sung. Good for narrative or dense lyrics.", "karaoke_wipe": "Two lines at the bottom, the current one wiped syllable by syllable as it is sung. The classic karaoke treatment; the most legible option.", "concrete_page": "The whole lyric is typeset as a fixed page \u2014 one CENTRED HORIZONTAL ROW per line \u2014 and each word ignite

Examples

  • List lyric video archetypes and descriptions: command completed successfully

    Source: README.md, muvid.lyricvid — lyric videos

    Input: vocabulary

    Expected: JSON archetypes including one_word_centred

    Command: /tmp/muvid-venv/bin/python -m muvid.lyricvid vocabulary

    Observed: igner provides it.", "line": "The whole line arrives together, at the line's start.", "beat": "Snapped to the nearest beat. Rhythmic, forgiving of alignment error.", "downbeat": "Snapped to the nearest bar start. Slow, deliberate." }, "cut_styles": { "hard": "Instant change between scenes.", "crossfade": "Brief dissolve between scenes.", "hold": "The previous scene stays until the next has fully arrived." }, "cases": { "as_written": "Exactly as the lyrics are written.", "upper": "ALL CAPS.", "lower": "all lowercase.", "title": "Title Case." } }

Local or hosted: local

What the agent did

List lyric video archetypes

pwd && ls -la && sed -n '1,240p' README.md && python3 --version && id -u
rg -n "^## |python -m|pip install|ffmpeg|CLI|mcp" README.md | tail -100; find .coldpass -maxdepth 2 -type f -print; cat pyproject.toml | head -70; command -v ffmpeg || true; python3 -m pip --version
grep -nE '^## |^python -m|^pip install|ffmpeg|python3\.' README.md | tail -100; ls -la .coldpass; command -v ffmpeg; python3 -m venv /tmp/muvid-venv
sudo apt-get update && sudo apt-get -o DPkg::Lock::Timeout=300 install -y ffmpeg && /tmp/muvid-venv/bin/pip install -e '.[lyricvid]'
command -v ffmpeg; /tmp/muvid-venv/bin/pip --version; /tmp/muvid-venv/bin/pip install -e '.[lyricvid]'
/tmp/muvid-venv/bin/python -m muvid.lyricvid vocabulary
mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["/tmp/muvid-venv/bin/python","-m","muvid.lyricvid","vocabulary"],"cwd":"<guest-path>","expected_text":"one_word_centred"}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"The layout offers a closed set of archetypes.","source":"The layout is chosen from a closed set of archetypes","input":"vocabulary","expected":"one_word_centred archetype is listed","probe_kind":"cli","argv":["/tmp/muvid-venv/bin/python","-m","muvid.lyricvid","vocabulary"],"expected_text":"one_word_centred","cwd":"<guest-path>"}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"List lyric video archetypes and descriptions","source":"README.md, muvid.lyricvid — lyric videos","input":"vocabulary","expected":"JSON archetypes including one_word_centred","argv":["/tmp/muvid-venv/bin/python","-m","muvid.lyricvid","vocabulary"],"cwd":"<guest-path>","expected_text":"one_word_centred"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Inspected README entry points: documented commands render, analyze, propose, validate and vocabulary; no scheduler or recurring cycle is described.","checks":[]}
EOF
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"List lyric video archetypes","operation_scope":"Documented muvid lyricvid vocabulary command; Python 3.12.3 venv and ffmpeg installed.","steps":["Read README.md","Installed ffmpeg with apt-get (the combined initial apt and pip attempt exceeded the execution ceiling; ffmpeg was present on retry)","Installed editable local package with lyricvid extra","Ran python -m muvid.lyricvid vocabulary"],"deviations":["Initial combined apt-get update/install and pip install command exceeded the 300 second execution ceiling; subsequent ffmpeg check succeeded and pip install completed."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay

No product verdict. Run record.