{
  "run_id": "TayHCode--channelrecap-claude-haiku-5-5-1792736740593363611",
  "date": "2026-10-23T06:33:23.557947+00:00",
  "repo": "TayHCode/channelrecap",
  "kind": "repo",
  "source": "https://github.com/TayHCode/channelrecap",
  "commit": "195952ed2df6fd43931291c3b6f09611e35e34eb",
  "model": "claude-haiku-5-5",
  "model_version": "claude-haiku-5-5",
  "test_version": "readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9",
  "pass": true,
  "outcome": "pass",
  "time_to_working_s": 372.6480877039721,
  "total_s": 462.9645619392395,
  "steps": [
    "cd C:\\coldpass\\workspace; Get-ChildItem -Force | Select-Object Name,Length; Get-Content README.md -TotalCount 200; C:\\coldpass\\python\\python.exe --version",
    "cd C:\\coldpass\\workspace; $c = Get-Content README.md -Raw; $c.Substring(9000) ; Get-ChildItem .coldpass,scripts,examples,docs -Recurse | Select-Object FullName",
    "cd C:\\coldpass\\workspace; Test-Path demo-library; Test-Path .venv; C:\\coldpass\\python\\python.exe -I -c \"import ensurepip,venv;print('ok')\"; C:\\coldpass\\python\\python.exe -m venv C:\\coldpass\\workspace\\.venv; if ($LASTEXITCODE -ne 0) {'VENV FAILED'}; C:\\coldpass\\workspace\\.venv\\Scripts\\python.exe --version; C:\\coldpass\\workspace\\.venv\\Scripts\\python.exe -m pip install . 2>&1 | Select-Object -Last 15",
    "cd C:\\coldpass\\workspace; .\\.venv\\Scripts\\channelrecap.exe --version; .\\.venv\\Scripts\\channelrecap.exe run --manifest examples/demo/videos.csv --out demo-library; \"EXIT=$LASTEXITCODE\"; .\\.venv\\Scripts\\channelrecap.exe check-citations examples/demo/analysis-example.md --out demo-library; \"EXIT=$LASTEXITCODE\"; Get-Content demo-library\\summary.md -TotalCount 5",
    "cd C:\\coldpass\\workspace; Get-ChildItem src -Recurse -Filter *.py | Select-String -Pattern 'cron|schedul|webhook|--once|--now|while True|watch' | Select-Object -First 20 | ForEach-Object { \"$($_.Path):$($_.LineNumber): $($_.Line)\" }; .\\.venv\\Scripts\\python.exe -m unittest discover -s tests -q 2>&1 | Select-Object -Last 6; \"EXIT=$LASTEXITCODE\"",
    "cd C:\\coldpass\\workspace; $out = & .\\.venv\\Scripts\\python.exe -m unittest discover -s tests 2>&1; $rc=$LASTEXITCODE; $out | Where-Object { $_ -match 'FAIL|ERROR|Ran |OK|Error' } | Select-Object -First 30; \"EXIT=$rc\"",
    "cd C:\\coldpass\\workspace; git --version; git init; git remote add origin https://github.com/TayHCode/channelrecap; git fetch --depth 1 origin 195952ed2df6fd43931291c3b6f09611e35e34eb; git reset --mixed FETCH_HEAD; git log --oneline -1; git status --short | Select-Object -First 15",
    "Get-Command winget -ErrorAction SilentlyContinue | Select-Object Source; $env:NODE_USE_ENV_PROXY='1'; try { winget install --id Git.PortableGit -e --scope user --accept-package-agreements --accept-source-agreements 2>&1 | Select-Object -Last 5 } catch { \"winget failed: $_\" }; Get-ChildItem \"$env:LOCALAPPDATA\\Microsoft\\WinGet\\Packages\" -ErrorAction SilentlyContinue | Select-Object Name",
    "$ErrorActionPreference='Continue'; $dir=\"$env:USERPROFILE\\git-local\"; New-Item -ItemType Directory -Force $dir | Out-Null; try { $r = Invoke-WebRequest -Uri 'https://github.com/git-for-windows/git/releases/latest' -MaximumRedirection 5 -UseBasicParsing; $r.BaseResponse.ResponseUri.AbsoluteUri } catch { \"latest lookup failed: $($_.Exception.Message)\" }",
    "$ErrorActionPreference='Continue'; $dir=\"$env:USERPROFILE\\git-local\"; $url='https://github.com/git-for-windows/git/releases/download/v2.56.0.windows.3/MinGit-2.56.0-64-bit.zip'; try { Invoke-WebRequest -Uri $url -OutFile \"$dir\\mingit.zip\" -UseBasicParsing; Expand-Archive -Force \"$dir\\mingit.zip\" -DestinationPath \"$dir\\mingit\"; & \"$dir\\mingit\\cmd\\git.exe\" --version } catch { \"install failed: $($_.Exception.Message)\" }",
    "$ErrorActionPreference='Continue'; $html = (Invoke-WebRequest -Uri 'https://github.com/git-for-windows/git/releases/expanded_assets/v2.56.0.windows.3' -UseBasicParsing).Content; [regex]::Matches($html,'/git-for-windows/git/releases/download/[^\"]*MinGit[^\"]*64-bit\\.zip') | ForEach-Object { $_.Value } | Select-Object -Unique",
    "$ErrorActionPreference='Continue'; $dir=\"$env:USERPROFILE\\git-local\"; $url='https://github.com/git-for-windows/git/releases/download/v2.56.0.windows.3/MinGit-2.56.0.3-64-bit.zip'; try { Invoke-WebRequest -Uri $url -OutFile \"$dir\\mingit.zip\" -UseBasicParsing; Expand-Archive -Force \"$dir\\mingit.zip\" -DestinationPath \"$dir\\mingit\"; & \"$dir\\mingit\\cmd\\git.exe\" --version } catch { \"install failed: $($_.Exception.Message)\" }",
    "cd C:\\coldpass\\workspace; $g = \"$env:USERPROFILE\\git-local\\mingit\\cmd\\git.exe\"; & $g init; & $g remote add origin https://github.com/TayHCode/channelrecap; & $g fetch --depth 1 origin 195952ed2df6fd43931291c3b6f09611e35e34eb; \"fetch=$LASTEXITCODE\"; & $g reset --mixed FETCH_HEAD; \"reset=$LASTEXITCODE\"; & $g log --oneline -1; & $g status --short | Select-Object -First 15",
    "Get-ChildItem Env: | Where-Object { $_.Name -like 'GIT_*' } | ForEach-Object { \"$($_.Name)=$($_.Value)\" }",
    "cd C:\\coldpass\\workspace; $env:GIT_CONFIG_COUNT='3'; $g = \"$env:USERPROFILE\\git-local\\mingit\\cmd\\git.exe\"; & $g init; & $g remote add origin https://github.com/TayHCode/channelrecap; & $g fetch --depth 1 origin 195952ed2df6fd43931291c3b6f09611e35e34eb; \"fetch=$LASTEXITCODE\"; & $g reset --mixed FETCH_HEAD; \"reset=$LASTEXITCODE\"; & $g log --oneline -1; & $g status --short | Select-Object -First 15",
    "cd C:\\coldpass\\workspace; Get-ChildItem pip -Recurse | Select-Object -First 5 FullName; $g = \"$env:USERPROFILE\\git-local\\mingit\\cmd\\git.exe\"; $env:GIT_CONFIG_COUNT='3'; & $g status --short --ignored | Select-Object -First 20; $out = & .\\.venv\\Scripts\\python.exe -m unittest discover -s tests 2>&1; $rc=$LASTEXITCODE; $out | ForEach-Object { \"$_\" } | Where-Object { $_ -match '^(FAIL|ERROR|Ran |OK|FAILED)' -or $_ -match 'AssertionError|FileNotFound|Missing components' } | Select-Object -First 20; \"EXIT=$rc\"",
    "cd C:\\coldpass\\workspace; Select-String -Path tests\\test_repo_hygiene.py -Pattern 'git|Missing' | Select-Object -First 12 | ForEach-Object { \"$($_.LineNumber): $($_.Line)\" }; \"----\"; Select-String -Path tests\\test_round3.py -Pattern 'def test_cached_cuda' -Context 0,25 | ForEach-Object { \"$($_.LineNumber): $($_.Line)\" }",
    "cd C:\\coldpass\\workspace; $l = Get-Content tests\\test_round3.py; $l[60..90] | ForEach-Object { $_ }",
    "cd C:\\coldpass\\workspace; .\\.venv\\Scripts\\channelrecap.exe run --manifest examples/demo/videos.csv --out demo-library --device cuda; \"EXIT=$LASTEXITCODE\"; .\\.venv\\Scripts\\channelrecap.exe doctor; \"DOCTOR=$LASTEXITCODE\"",
    "cd C:\\coldpass\\workspace; $env:PATH = \"$env:USERPROFILE\\git-local\\mingit\\cmd;$env:PATH\"; $env:GIT_CONFIG_COUNT='3'; $out = & .\\.venv\\Scripts\\python.exe -m unittest discover -s tests 2>&1; $rc=$LASTEXITCODE; $out | ForEach-Object { \"$_\" } | Where-Object { $_ -match '^(FAIL|ERROR|Ran |OK|FAILED)' -or $_ -match 'AssertionError|Missing components' } | Select-Object -First 20; \"EXIT=$rc\"",
    "cd C:\\coldpass\\workspace; Remove-Item -Recurse -Force pip; Get-ChildItem Env: | Where-Object { $_.Name -like 'PIP_*' -or $_.Name -like 'XDG*' } | ForEach-Object { \"$($_.Name)=$($_.Value)\" }; $sav=$env:PATH; $env:PATH = \"C:\\Windows\\System32;C:\\Windows\"; & C:\\coldpass\\workspace\\.venv\\Scripts\\channelrecap.exe run --manifest examples/demo/videos.csv --out demo-library --device cuda 2>&1 | Out-String; \"EXIT=$LASTEXITCODE\"; $env:PATH=$sav",
    "cd C:\\coldpass\\workspace; $env:PATH = \"$env:USERPROFILE\\git-local\\mingit\\cmd;$env:PATH\"; $env:GIT_CONFIG_COUNT='3'; & .\\.venv\\Scripts\\python.exe -m unittest tests.test_round3.RoundThreeTests.test_cached_cuda_warns_without_loading_model 2>&1 | Out-String | Select-Object -Last 25; Remove-Item -Recurse -Force pip -ErrorAction SilentlyContinue",
    "cd C:\\coldpass\\workspace; $env:PATH = \"$env:USERPROFILE\\git-local\\mingit\\cmd;$env:PATH\"; $env:GIT_CONFIG_COUNT='3'; $o = & .\\.venv\\Scripts\\python.exe -m unittest discover -s tests -p test_round3.py -k cached_cuda 2>&1 | ForEach-Object { \"$_\" }; $o | Select-Object -Last 30; Remove-Item -Recurse -Force pip -ErrorAction SilentlyContinue",
    "cd C:\\coldpass\\workspace; Select-String -Path tests\\helpers.py -Pattern 'def install_media_stubs' -Context 0,14 | ForEach-Object { \"$($_.LineNumber): $($_.Line)\" }",
    "cd C:\\coldpass\\workspace; $l = Get-Content tests\\helpers.py; $l[73..95] | ForEach-Object { $_ }",
    "cd C:\\coldpass\\workspace; New-Item -ItemType Directory -Force .coldpass\\out | Out-Null; $exe = 'C:/coldpass/workspace/.venv/Scripts/channelrecap.exe'; $cwd = 'C:\\coldpass\\workspace'\n$probe = @\"\n{\n  \"kind\": \"cli\",\n  \"argv\": [\"$exe\", \"run\", \"--manifest\", \"examples/demo/videos.csv\", \"--out\", \".coldpass/out/probe-library\"],\n  \"cwd\": \"$cwd\",\n  \"expected_text\": \"done=3 cached=0 failed=0 prepared=3\"\n}\n\"@\n$claims = @\"\n[\n  {\n    \"kind\": \"claim\",\n    \"claim\": \"The demo's three invented coffee episodes are transcribed from local captions and prepared into a library.\",\n    \"source\": \"The three invented coffee episodes use local captions:\",\n    \"input\": \"examples/demo/videos.csv\",\n    \"expected\": \"run finishes all three videos with no failures\",\n    \"probe_kind\": \"cli\",\n    \"argv\": [\"$exe\", \"run\", \"--manifest\", \"examples/demo/videos.csv\", \"--out\", \".coldpass/out/claim-library\"],\n    \"expected_text\": \"done=3 cached=0 failed=0 prepared=3\",\n    \"cwd\": \"$cwd\"\n  },\n  {\n    \"kind\": \"claim\",\n    \"claim\": \"The example analysis has ten checked citations that verify against the demo transcripts.\",\n    \"source\": \"is handwritten and has ten checked citations.\",\n    \"input\": \"examples/demo/analysis-example.md against demo-library\",\n    \"expected\": \"citation check reports ok=10 with no wrong-time or not-found entries\",\n    \"probe_kind\": \"cli\",\n    \"argv\": [\"$exe\", \"check-citations\", \"examples/demo/analysis-example.md\", \"--out\", \"demo-library\"],\n    \"expected_text\": \"citations ok=10 wrong-time=0 not-found=0\",\n    \"cwd\": \"$cwd\"\n  }\n]\n\"@\n$examples = @\"\n[\n  {\n    \"kind\": \"example\",\n    \"claim\": \"Documented demo: build the library from the bundled invented captions\",\n    \"source\": \"README.md\",\n    \"input\": \"examples/demo/videos.csv\",\n    \"expected\": \"three videos processed, no failures\",\n    \"argv\": [\"$exe\", \"run\", \"--manifest\", \"examples/demo/videos.csv\", \"--out\", \".coldpass/out/example-library\"],\n    \"cwd\": \"$cwd\",\n    \"expected_text\": \"done=3 cached=0 failed=0 prepared=3\"\n  },\n  {\n    \"kind\": \"example\",\n    \"claim\": \"Documented demo: check the handwritten example analysis citations against the demo library\",\n    \"source\": \"README.md\",\n    \"input\": \"examples/demo/analysis-example.md\",\n    \"expected\": \"ten citations ok\",\n    \"argv\": [\"$exe\", \"check-citations\", \"examples/demo/analysis-example.md\", \"--out\", \"demo-library\"],\n    \"cwd\": \"$cwd\",\n    \"expected_text\": \"citations ok=10 wrong-time=0 not-found=0\"\n  },\n  {\n    \"kind\": \"example\",\n    \"claim\": \"Documented test suite: offline unit tests from the README Tests section\",\n    \"source\": \"README.md\",\n    \"reason\": \"Ran 'python -m unittest discover -s tests -q' under the venv with Git on PATH: 151 tests, 11 skipped, 1 error (test_repository_files, needs Git-on-PATH and no pip cache in the checkout), 1 failure (test_cached_cuda_warns_without_loading_model: the test's POSIX-style ffmpeg stub cannot run on Windows, so the run returns exit 3 'Missing components: ffmpeg'). The product CLI itself behaved correctly for the same cached CUDA run (exit 0). ruff, mypy and build were not run.\"\n  }\n]\n\"@\n$cycles = @\"\n{\n  \"detected\": false,\n  \"reason\": \"Inspected README.md and every src/ Python file for cron, schedule, webhook, --once, --now, watch and loop patterns: none matched. channelrecap runs once per command invocation (run, transcribe, prepare, fillers, check-citations, doctor) and has no daemon or product scheduler.\",\n  \"checks\": []\n}\n\"@\n$enc = New-Object System.Text.UTF8Encoding($false)\n[IO.File]::WriteAllText(\"$cwd\\.coldpass\\probe.json\", $probe, $enc)\n[IO.File]::WriteAllText(\"$cwd\\.coldpass\\claims.json\", $claims, $enc)\n[IO.File]::WriteAllText(\"$cwd\\.coldpass\\examples.json\", $examples, $enc)\n[IO.File]::WriteAllText(\"$cwd\\.coldpass\\cycles.json\", $cycles, $enc)\nGet-ChildItem .coldpass | Select-Object Name,Length\nforeach ($f in 'probe','claims','examples','cycles') { try { Get-Content \".coldpass\\$f.json\" -Raw | ConvertFrom-Json | Out-Null; \"$f ok\" } catch { \"$f BAD: $_\" } }",
    "cd C:\\coldpass\\workspace\\.coldpass; $enc = New-Object System.Text.UTF8Encoding($false); foreach ($f in 'probe.json','claims.json','examples.json') { $t = [IO.File]::ReadAllText(\"$PWD\\$f\"); $t = $t.Replace('\"C:\\coldpass\\workspace\"','\"C:\\\\coldpass\\\\workspace\"'); [IO.File]::WriteAllText(\"$PWD\\$f\", $t, $enc); try { Get-Content $f -Raw | ConvertFrom-Json | Out-Null; \"$f ok\" } catch { \"$f BAD: $_\" } }",
    "$env:COLDPASS_WORKSPACE='C:\\coldpass\\workspace'; & C:\\coldpass\\python\\python.exe -I C:\\coldpass\\checker\\check.py --validate --replay 2>&1 | Out-String; \"EXIT=$LASTEXITCODE\"",
    "cd C:\\coldpass\\workspace; .\\.venv\\Scripts\\channelrecap.exe run examples/demo/episode1.vtt --out .coldpass/out/direct-check-library; \"EXIT=$LASTEXITCODE\"; Remove-Item -Recurse -Force demo-library -ErrorAction SilentlyContinue; Remove-Item -Recurse -Force .coldpass/out/direct-check-library -ErrorAction SilentlyContinue; \"cleaned\"",
    "cd C:\\coldpass\\workspace; $exe = 'C:/coldpass/workspace/.venv/Scripts/channelrecap.exe'; $cwd = 'C:\\\\coldpass\\\\workspace'; $enc = New-Object System.Text.UTF8Encoding($false)\n$claims = @\"\n[\n  {\n    \"kind\": \"claim\",\n    \"claim\": \"The demo's three invented coffee episodes are transcribed from local captions and prepared into a library.\",\n    \"source\": \"The three invented coffee episodes use local captions:\",\n    \"input\": \"examples/demo/videos.csv\",\n    \"expected\": \"run finishes all three videos with no failures\",\n    \"probe_kind\": \"cli\",\n    \"argv\": [\"$exe\", \"run\", \"--manifest\", \"examples/demo/videos.csv\", \"--out\", \".coldpass/out/claim-library\"],\n    \"expected_text\": \"done=3 cached=0 failed=0 prepared=3\",\n    \"cwd\": \"$cwd\"\n  },\n  {\n    \"kind\": \"claim\",\n    \"claim\": \"Local files can be passed directly to run, without a manifest.\",\n    \"source\": \"Local files can also be passed directly:\",\n    \"input\": \"examples/demo/episode1.vtt\",\n    \"expected\": \"one caption file is processed with no failures\",\n    \"probe_kind\": \"cli\",\n    \"argv\": [\"$exe\", \"run\", \"examples/demo/episode1.vtt\", \"--out\", \".coldpass/out/claim-direct-library\"],\n    \"expected_text\": \"done=1 cached=0 failed=0 prepared=1\",\n    \"cwd\": \"$cwd\"\n  }\n]\n\"@\n$examples = @\"\n[\n  {\n    \"kind\": \"example\",\n    \"claim\": \"Documented demo: build the library from the bundled invented captions\",\n    \"source\": \"README.md\",\n    \"input\": \"examples/demo/videos.csv\",\n    \"expected\": \"three videos processed, no failures\",\n    \"argv\": [\"$exe\", \"run\", \"--manifest\", \"examples/demo/videos.csv\", \"--out\", \".coldpass/out/example-library\"],\n    \"cwd\": \"$cwd\",\n    \"expected_text\": \"done=3 cached=0 failed=0 prepared=3\"\n  },\n  {\n    \"kind\": \"example\",\n    \"claim\": \"Documented test suite: offline unit tests from the README Tests section\",\n    \"source\": \"README.md\",\n    \"reason\": \"Ran 'python -m unittest discover -s tests -q' under the venv with Git on PATH: 151 tests, 11 skipped, 1 error (test_repository_files, needs Git-on-PATH and no pip cache in the checkout), 1 failure (test_cached_cuda_warns_without_loading_model: the test's POSIX-style ffmpeg stub cannot run on Windows, so the run returns exit 3 'Missing components: ffmpeg'). The product CLI itself behaved correctly for the same cached CUDA run (exit 0). ruff, mypy and build were not run. The README's check-citations demo (ten citations ok=10 on the demo library) was run manually but is not replayable by the checker, because the checker rewrites its --out to a fresh path that has no library.\"\n  }\n]\n\"@\n[IO.File]::WriteAllText(\"$PWD\\.coldpass\\claims.json\", $claims, $enc)\n[IO.File]::WriteAllText(\"$PWD\\.coldpass\\examples.json\", $examples, $enc)\nforeach ($f in 'claims','examples','probe') { Get-Content \".coldpass\\$f.json\" -Raw | ConvertFrom-Json | Out-Null; \"$f ok\" }\n$env:COLDPASS_WORKSPACE='C:\\coldpass\\workspace'; & C:\\coldpass\\python\\python.exe -I C:\\coldpass\\checker\\check.py --validate --replay 2>&1 | Out-String",
    "cd C:\\coldpass\\workspace; $enc = New-Object System.Text.UTF8Encoding($false); $report = @'\n{\n  \"outcome\": \"working\",\n  \"fault_owner\": null,\n  \"operation\": \"Build a timestamped transcript library from caption files with channelrecap run, then check the README's example citations\",\n  \"operation_scope\": \"CLI, core install (no ffmpeg, speech model, yt-dlp or network needed for the demo). Windows PowerShell, bundled Python 3.14.0 (README requires 3.11+), venv at C:\\\\coldpass\\\\workspace\\\\.venv. Captions only; media transcription and link downloads were not exercised.\",\n  \"steps\": [\n    \"C:\\\\coldpass\\\\python\\\\python.exe -m venv C:\\\\coldpass\\\\workspace\\\\.venv\",\n    \"C:\\\\coldpass\\\\workspace\\\\.venv\\\\Scripts\\\\python.exe -m pip install .\",\n    \"C:\\\\coldpass\\\\workspace\\\\.venv\\\\Scripts\\\\channelrecap.exe --version  (channelrecap 0.1.0)\",\n    \"C:\\\\coldpass\\\\workspace\\\\.venv\\\\Scripts\\\\channelrecap.exe run --manifest examples/demo/videos.csv --out demo-library  (done=3 cached=0 failed=0 prepared=3, exit 0)\",\n    \"C:\\\\coldpass\\\\workspace\\\\.venv\\\\Scripts\\\\channelrecap.exe check-citations examples/demo/analysis-example.md --out demo-library  (citations ok=10 wrong-time=0 not-found=0, exit 0)\",\n    \"C:\\\\coldpass\\\\workspace\\\\.venv\\\\Scripts\\\\channelrecap.exe run examples/demo/episode1.vtt --out <fresh folder>  (done=1, exit 0; README 'Local files can also be passed directly')\",\n    \"channelrecap doctor: ffmpeg, faster-whisper and yt-dlp reported missing (optional; not needed for the caption demo)\",\n    \"python -m unittest discover -s tests -q (venv): 151 tests, 1 error and 1 failure on Windows, see deviations\",\n    \"Git (pinned source): git init; git remote add origin https://github.com/TayHCode/channelrecap; git fetch --depth 1 origin 195952ed2df6fd43931291c3b6f09611e35e34eb; git reset --mixed FETCH_HEAD (HEAD now 195952e)\",\n    \"python -I C:\\\\coldpass\\\\checker\\\\check.py --validate --replay: valid=true, replay PASS\"\n  ],\n  \"deviations\": [\n    \"Git was not installed in the guest and winget is unavailable. Installed user-local MinGit 2.56.0.3 from the official git-for-windows GitHub release (https://github.com/git-for-windows/git/releases/download/v2.56.0.windows.3/MinGit-2.56.0.3-64-bit.zip) into %USERPROFILE%\\\\git-local\\\\mingit.\",\n    \"The guest sets GIT_CONFIG_COUNT=4 but defines only three GIT_CONFIG_KEY/VALUE pairs, so every git command failed with 'missing config value GIT_CONFIG_VALUE_3'. For the git steps I set GIT_CONFIG_COUNT=3 in the command shell only. No product files were changed.\",\n    \"Unit suite on Windows: test_repo_hygiene.test_repository_files errors unless git is on PATH and the checkout has no untracked pip cache (pip's cache was created in the workspace by an earlier pip call and was removed). With those fixed it still fails: the test flags untracked files in the checkout.\",\n    \"Unit suite on Windows: test_round3.test_cached_cuda_warns_without_loading_model fails. The test's helper creates POSIX-style ffmpeg stubs that Windows cannot execute, so the first run reports 'Missing components: ffmpeg' and exit 3. I judge this a test-harness problem on Windows, not a product defect.\",\n    \"README says a fully cached --device cuda run prints a warning that CUDA was not validated. On this guest (no GPU, no faster-whisper) the cached run exited 0 with 'done=0 cached=3', but I did not see that warning in stdout or stderr. Not investigated further.\",\n    \"check-citations cannot be replayed by the checker, which rewrites every --out to a fresh path that has no library. The citation result (ok=10) was observed manually against the demo-library made by the README run, and is recorded as text in examples.json rather than as a replayed claim. demo-library was removed after the claim work; the checker's run records were kept.\",\n    \"Optional prerequisites not installed: ffmpeg, faster-whisper and yt-dlp (doctor reports them missing). Media transcription and link downloads were not tested; they are outside the caption-only demo.\",\n    \"Not run: ruff, mypy and python -m build (README Tests section); not needed for the working claim.\"\n  ],\n  \"stuck_step\": null,\n  \"main_blocker\": null,\n  \"plain_failure\": null,\n  \"suggested_fix\": \"None for the caption workflow. For the test suite on Windows: make the test helper's ffmpeg stubs runnable on Windows (for example .cmd/.exe wrappers) and make the hygiene test ignore pip/ cache output or run in a clean clone.\"\n}\n'@; [IO.File]::WriteAllText(\"$PWD\\.coldpass\\report.json\", $report, $enc); Get-Content .coldpass\\report.json -Raw | ConvertFrom-Json | Out-Null; \"report ok\"; Remove-Item -Recurse -Force pip -ErrorAction SilentlyContinue; $env:COLDPASS_WORKSPACE='C:\\coldpass\\workspace'; & C:\\coldpass\\python\\python.exe -I C:\\coldpass\\checker\\check.py --validate --replay 2>&1 | Out-String | Select-String -Pattern '\"valid\": (true|false)' -AllMatches | ForEach-Object { $_.Matches.Value }; \"EXIT=$LASTEXITCODE\"",
    "cd C:\\coldpass\\workspace; $env:COLDPASS_WORKSPACE='C:\\coldpass\\workspace'; $o = & C:\\coldpass\\python\\python.exe -I C:\\coldpass\\checker\\check.py --validate --replay 2>&1 | Out-String; $o; \"EXIT=$LASTEXITCODE\"; Test-Path .coldpass\\report.json; Test-Path report.json"
  ],
  "stuck_step": null,
  "error_excerpt": null,
  "what_it_did": "Build a timestamped transcript library from caption files with channelrecap run, then check the README's example citations",
  "suggested_fix": null,
  "tokens_in": 1153105,
  "tokens_out": 27702,
  "cost_usd": 0.042277245000000005,
  "usage_complete": true,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "C:/coldpass/workspace/.venv/Scripts/channelrecap.exe",
          "run",
          "--manifest",
          "examples/demo/videos.csv",
          "--out",
          ".coldpass/out/probe-library-checker-f54c8dcdf13546fd86f7d7c46621257c"
        ],
        "kind": "cli",
        "returncode": 0,
        "stdout": "done=3 cached=0 failed=0 prepared=3 out=.coldpass\\out\\probe-library-checker-f54c8dcdf13546fd86f7d7c46621257c\n[excerpt truncated]",
        "stderr": "",
        "needs_credentials": false,
        "needs_browser": false,
        "scope": "product operation"
      }
    }
  ],
  "safety": {
    "version": "z2x-1",
    "rules_version": "z2x-1",
    "summary": "No problems traced to this repository code in these checks.",
    "findings": [],
    "context": [],
    "limitations": [
      "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.",
      "windows behavior observation needs an OS-native file/network/process collector; only the static scan ran.",
      "No Linux syscall trace was collected."
    ],
    "static": {
      "dependency_note": "OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check."
    },
    "evidence_url": "/safety/?run=TayHCode--channelrecap-claude-haiku-5-5-1792736740593363611",
    "evidence_file": "/data/safety/TayHCode--channelrecap-claude-haiku-5-5-1792736740593363611.json.gz"
  },
  "agent_execution": "native_agent",
  "agent_runtime": "claude-code",
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "tool_transport": "mcp-assigned-vm",
  "platform": "windows",
  "reasoning": "low",
  "service_tier": null,
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "native_tool_calls": 32,
  "native_bundle": null,
  "architecture": null,
  "backend": "hyperv",
  "platform_details": {
    "backend": "hyperv",
    "os": "windows"
  },
  "platform_conflicts": null,
  "sandbox_source": null,
  "source_pin": {
    "commit": "195952ed2df6fd43931291c3b6f09611e35e34eb",
    "url": "https://github.com/TayHCode/channelrecap"
  },
  "purpose": "initial",
  "profile": {
    "model": "claude-haiku-5-5",
    "reasoning": "low"
  },
  "fault": {
    "owner": null,
    "status": "resolved",
    "reason": null
  },
  "fix_id": null,
  "verifies_run_id": null,
  "hosting": null,
  "operation_scope": "product operation",
  "tool_calls": 32,
  "guest_setup": null,
  "runtime": null,
  "runtime_version": null,
  "runtime_revision": null,
  "source_revision": null,
  "evidence_version": null,
  "failure_origin": null,
  "evidence_strength": "readme_checked",
  "works": "yes",
  "install_s": null,
  "first_use_s": null,
  "mcp": "none",
  "needs": [],
  "needs_which": null,
  "agent_interface": [
    "cli"
  ],
  "license": "MIT",
  "repo_url": "https://github.com/TayHCode/channelrecap",
  "cost_to_try": "free",
  "hardware": "GPU",
  "what_failed": null,
  "local_or_hosted": "local",
  "cycle_checks": [
    {
      "kind": "cycle",
      "claim": "Scheduled or looping main behavior",
      "source": "repository entry points",
      "input": "source inspection",
      "expected": "identify the product trigger",
      "verdict": "yes",
      "outcome": "Inspected README.md and every src/ Python file for cron, schedule, webhook, --once, --now, watch and loop patterns: none matched. channelrecap runs once per command invocation (run, transcribe, prepare, fillers, check-citations, doctor) and has no daemon or product scheduler.",
      "evidence": "Inspected README.md and every src/ Python file for cron, schedule, webhook, --once, --now, watch and loop patterns: none matched. channelrecap runs once per command invocation (run, transcribe, prepare, fillers, check-citations, doctor) and has no daemon or product scheduler.",
      "command": ""
    }
  ],
  "claims": [
    {
      "kind": "claim",
      "claim": "The demo's three invented coffee episodes are transcribed from local captions and prepared into a library.",
      "source": "The three invented coffee episodes use local captions:",
      "input": "examples/demo/videos.csv",
      "expected": "run finishes all three videos with no failures",
      "command": "C:/coldpass/workspace/.venv/Scripts/channelrecap.exe run --manifest examples/demo/videos.csv --out .coldpass/out/claim-library-checker-54b4bb70db2d42938fe9a7eb5a6a785f",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: done=3 cached=0 failed=0 prepared=3",
      "evidence": "done=3 cached=0 failed=0 prepared=3 out=.coldpass\\out\\claim-library-checker-54b4bb70db2d42938fe9a7eb5a6a785f\r\n",
      "returncode": 0,
      "source_checked": true,
      "source_file": "README.md"
    },
    {
      "kind": "claim",
      "claim": "Local files can be passed directly to run, without a manifest.",
      "source": "Local files can also be passed directly:",
      "input": "examples/demo/episode1.vtt",
      "expected": "one caption file is processed with no failures",
      "command": "C:/coldpass/workspace/.venv/Scripts/channelrecap.exe run examples/demo/episode1.vtt --out .coldpass/out/claim-direct-library-checker-b3b8dd2f02c64a568239ee4c0dd19da1",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: done=1 cached=0 failed=0 prepared=1",
      "evidence": "done=1 cached=0 failed=0 prepared=1 out=.coldpass\\out\\claim-direct-library-checker-b3b8dd2f02c64a568239ee4c0dd19da1\r\n",
      "returncode": 0,
      "source_checked": true,
      "source_file": "README.md"
    }
  ],
  "claims_note": null,
  "example_checks": [
    {
      "kind": "example",
      "claim": "Documented demo: build the library from the bundled invented captions",
      "source": "README.md",
      "input": "examples/demo/videos.csv",
      "command": "C:/coldpass/workspace/.venv/Scripts/channelrecap.exe run --manifest examples/demo/videos.csv --out .coldpass/out/example-library-checker-4d65b553c84044f78413ad1d6ec99318",
      "evidence": "done=3 cached=0 failed=0 prepared=3 out=.coldpass\\out\\example-library-checker-4d65b553c84044f78413ad1d6ec99318",
      "deferred": false,
      "expected": "three videos processed, no failures",
      "returncode": 0,
      "verdict": "yes",
      "outcome": "command completed successfully"
    },
    {
      "kind": "example",
      "claim": "Documented test suite: offline unit tests from the README Tests section",
      "source": "README.md",
      "input": "",
      "command": "",
      "evidence": "Ran 'python -m unittest discover -s tests -q' under the venv with Git on PATH: 151 tests, 11 skipped, 1 error (test_repository_files, needs Git-on-PATH and no pip cache in the checkout), 1 failure (test_cached_cuda_warns_without_loading_model: the test's POSIX-style ffmpeg stub cannot run on Windows, so the run returns exit 3 'Missing components: ffmpeg'). The product CLI itself behaved correctly for the same cached CUDA run (exit 0). ruff, mypy and build were not run. The README's check-citations demo (ten citations ok=10 on the demo library) was run manually but is not replayable by the checker, because the checker rewrites its --out to a fresh path that has no library.",
      "deferred": false,
      "expected": "documented command completes successfully",
      "verdict": "blocked",
      "outcome": "Ran 'python -m unittest discover -s tests -q' under the venv with Git on PATH: 151 tests, 11 skipped, 1 error (test_repository_files, needs Git-on-PATH and no pip cache in the checkout), 1 failure (test_cached_cuda_warns_without_loading_model: the test's POSIX-style ffmpeg stub cannot run on Windows, so the run returns exit 3 'Missing components: ffmpeg'). The product CLI itself behaved correctly for the same cached CUDA run (exit 0). ruff, mypy and build were not run. The README's check-citations demo (ten citations ok=10 on the demo library) was run manually but is not replayable by the checker, because the checker rewrites its --out to a fresh path that has no library."
    }
  ],
  "does_what_it_says": "yes",
  "maintenance": {
    "archived": false,
    "commits_90d": 4,
    "last_commit_at": "2026-10-15T17:34:20Z",
    "last_release_at": null,
    "median_reply_hours": null,
    "merged_prs_90d": 2,
    "note": "actively maintained: last commit 7 days ago; 4 commits and 2 merged PRs in 90 days; 0 open issues, 0 open PRs; no releases",
    "open_issues": 0,
    "open_prs": 0,
    "reply_share": null,
    "reply_threads": 0,
    "verdict": "maintained"
  },
  "maintenance_verdict": "maintained",
  "maintenance_note": "actively maintained: last commit 7 days ago; 4 commits and 2 merged PRs in 90 days; 0 open issues, 0 open PRs; no releases",
  "maintained": "active",
  "maintained_note": "last commit 7 days ago",
  "last_commit_at": "2026-10-15T17:43:39Z",
  "last_release_at": null,
  "open_issues": null,
  "answered_issues": null,
  "platforms_claimed": [
    "linux",
    "mac",
    "windows"
  ],
  "topic": "agent-harness",
  "agent_interfaces": [
    {
      "interface": "cli",
      "evidence": "independent checker",
      "observed": true,
      "operation_checked": true
    }
  ],
  "agent_interfaces_note": "README metadata is a discovery hint, not pinned documentation proof. Observed interfaces were exercised in this run. An empty list means unknown.",
  "mcp_context": null,
  "tested_at": "2026-10-23T06:33:23.557947+00:00",
  "tested_commit": "195952ed2df6fd43931291c3b6f09611e35e34eb",
  "tested_with": {
    "agent": "claude-code",
    "agent_version": "2.1.300 (Claude Code)",
    "model": "claude-haiku-5-5",
    "model_route": "claude-haiku-5-5",
    "reasoning": "low",
    "os": "windows",
    "backend": "hyperv",
    "transport": "mcp-assigned-vm"
  },
  "setup_identity": {
    "repo": "TayHCode/channelrecap",
    "source": "https://github.com/TayHCode/channelrecap",
    "commit": "195952ed2df6fd43931291c3b6f09611e35e34eb",
    "source_revision": null,
    "os": "windows",
    "architecture": null,
    "backend": "hyperv",
    "model": "claude-haiku-5-5",
    "model_version": "claude-haiku-5-5",
    "agent_execution": "native_agent",
    "agent_runtime": "claude-code",
    "agent_runtime_version": "2.1.300 (Claude Code)",
    "tool_transport": "mcp-assigned-vm",
    "runtime": null,
    "runtime_version": null,
    "runtime_revision": null,
    "sandbox_source": null,
    "guest_setup": null,
    "source_pin": {
      "commit": "195952ed2df6fd43931291c3b6f09611e35e34eb",
      "url": "https://github.com/TayHCode/channelrecap"
    },
    "platform_details": {
      "os": "windows",
      "backend": "hyperv"
    },
    "platform_conflicts": null,
    "reasoning": "low",
    "service_tier": null,
    "resources": {
      "cpus": 2,
      "memory_mib": 4096,
      "disk_mib": 32768
    },
    "operation": "Build a timestamped transcript library from caption files with channelrecap run, then check the README's example citations",
    "operation_scope": "product operation",
    "hosting": null,
    "kind": "repo",
    "test_version": "readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9",
    "evidence_version": null
  },
  "other_model": null,
  "other_run_id": null,
  "models_agree": null,
  "furthest_model": null,
  "transcript_url": null,
  "report_url": null
}
