{
  "tokens_out": 3842,
  "outcome": "pass",
  "suggested_fix": null,
  "cycle_checks": null,
  "fault": {
    "owner": null,
    "status": "resolved",
    "reason": null,
    "evidence": []
  },
  "runtime_revision": null,
  "agent_execution": "native_agent",
  "time_to_working_s": null,
  "usage_complete": true,
  "runtime": null,
  "architecture": null,
  "local_or_hosted": null,
  "agent_interfaces_note": null,
  "platform_details": null,
  "platforms_claimed": null,
  "maintenance": null,
  "evidence_strength": null,
  "purpose": "initial",
  "topic": null,
  "needs_which": null,
  "tested_with": null,
  "native_bundle": null,
  "agent_runtime": "claude-code",
  "maintenance_note": null,
  "runtime_version": null,
  "does_what_it_says": null,
  "commit": "3ba0f91db0995f9d167da506d0ac253ed133d44d",
  "failure_origin": null,
  "stuck_step": null,
  "repo_url": null,
  "needs": null,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "/usr/bin/npx",
          "-y",
          "@dinglebear/rytdl"
        ],
        "kind": "mcp",
        "serverInfo": {
          "name": "ytdl-rmcp",
          "version": "1.1.0 (e0ad4fc)"
        },
        "tools": [
          "youtube_download",
          "youtube_identify",
          "youtube_plex_playlist",
          "youtube_probe",
          "youtube_search",
          "youtube_search_ui",
          "youtube_stats",
          "youtube_transfer_queue"
        ],
        "scope": "product operation"
      }
    }
  ],
  "open_issues": null,
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "verifies_run_id": null,
  "total_s": 330.80228781700134,
  "license": null,
  "tool_calls": 9,
  "model_version": "claude-haiku-5-5",
  "example_checks": [],
  "mcp": null,
  "other_model": null,
  "first_use_s": null,
  "native_tool_calls": 9,
  "last_commit_at": null,
  "source": "https://github.com/dinglebear-ai/rytdl",
  "models_agree": null,
  "maintenance_verdict": null,
  "cost_usd": 0.00733341,
  "safety": null,
  "answered_issues": null,
  "what_failed": null,
  "steps": [
    "cd <host-path> && ls -la && cat README.md 2>/dev/null | head -300",
    "ls -la <host-path> 2>/dev/null; echo \"CDP=$CDP_URL $<env-var>\"; which node npm python3 pip3 uv 2>&1; cat /etc/os-release | head -2",
    "cd <host-path> && sed -n '/^## Install/,/^## Client Configuration/p' README.md; sed -n '/^## Development/,/^## Deployment/p' README.md | head -120",
    "export NODE_USE_ENV_PROXY=1; which node npm npx cargo; node -v 2>&1; npm -v 2>&1; ls /tmp; cd /tmp && timeout 600 npm view @dinglebear/rytdl version 2>&1 | tail -3",
    "(sudo apt-get update -qq && sudo DEBIAN_FRONTEND=noninteractive apt-get install -y -qq nodejs npm) > /tmp/apt.log 2>&1; echo rc=$?; tail -3 /tmp/apt.log; which node npm; node -v; npm -v",
    "export NODE_USE_ENV_PROXY=1; cd /tmp && timeout 900 npm i -g @dinglebear/rytdl > /tmp/npm-i.log 2>&1; echo rc=$?; tail -15 /tmp/npm-i.log; which rytdl ytdl-rmcp; npm root -g",
    "export NODE_USE_ENV_PROXY=1; cd /tmp && timeout 900 npx -y @dinglebear/rytdl doctor > /tmp/doctor.log 2>&1; echo rc=$?; cat /tmp/doctor.log | head -60",
    "export NODE_USE_ENV_PROXY=1; cd /tmp && printf '%s\\n' '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"smoke\",\"version\":\"0\"}}}' '{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}' '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}' | timeout 300 /usr/bin/npx -y @dinglebear/rytdl 2>/tmp/mcp.err | head -c 3000; echo; echo rc=$?; head -5 /tmp/mcp.err",
    "mkdir -p <host-path> && cd <host-path> && cat > probe.json <<'EOF'\n{\"kind\":\"mcp\",\"argv\":[\"/usr/bin/npx\",\"-y\",\"@dinglebear/rytdl\"],\"cwd\":\"/tmp\"}\nEOF\ncat > report.json <<'EOF'\n{\"outcome\":\"working\",\"operation\":\"Start the ytdl-rmcp MCP server over stdio via the README's npx launcher and list its tools (tools/list); returns 8 youtube_* tools.\",\"operation_scope\":\"Covers MCP stdio start, initialize, and tools/list. Does not exercise yt-dlp search/download: yt-dlp and ffmpeg auto-download on first use, and download needs YTDLP_TARGET_PATH configured for a trusted destination. No credentials needed for the read-only tools.\",\"steps\":[\"Read README (Install, Quickstart, Development, CLI Reference)\",\"sudo apt-get install -y nodejs npm (node was absent; Node 18.19.1, npm 9.2.0)\",\"npm i -g @dinglebear/rytdl (failed: EACCES on /usr/local/lib/node_modules; not retried)\",\"NODE_USE_ENV_PROXY=1 npx -y @dinglebear/rytdl doctor (rc=0, version 1.1.0 e0ad4fc, linux x86_64)\",\"printf initialize + notifications/initialized + tools/list | /usr/bin/npx -y @dinglebear/rytdl (rc=0, serverInfo ytdl-rmcp 1.1.0, tools listed)\"],\"deviations\":[\"npm global install (README Install: npm i -g @dinglebear/rytdl) failed with EACCES because the global prefix is root-owned; used the README's npx path instead, which needs no global install.\",\"node/npm were not preinstalled; installed via apt-get.\",\"Did not run the interactive 'setup' command (it prompts for targets and registers agent CLIs); doctor and MCP start were used instead.\",\"Did not run cargo build, cargo test, clippy, or the packaging/readme checks (smoke scope excludes unit/lint suites).\"],\"stuck_step\":null,\"main_blocker\":null,\"suggested_fix\":null}\nEOF\npython3 -I -m json.tool probe.json >/dev/null && python3 -I -m json.tool report.json >/dev/null && echo json-ok; cd <host-path> && <env-var>=<host-path> python3 -I <host-path> --validate; echo rc=$?"
  ],
  "platform_conflicts": null,
  "claims_note": null,
  "maintained_note": null,
  "repo": "dinglebear-ai/rytdl",
  "service_tier": null,
  "maintained": null,
  "source_pin": null,
  "operation_scope": "product operation",
  "reasoning": "low",
  "claims": [],
  "platform": "linux",
  "cost_to_try": null,
  "backend": null,
  "tool_transport": "mcp-assigned-vm",
  "hardware": null,
  "agent_interface": null,
  "profile": {
    "model": "claude-haiku-5-5",
    "reasoning": "low"
  },
  "date": "2026-10-18T18:41:03.897361+00:00",
  "kind": "mcp",
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "error_excerpt": null,
  "pass": true,
  "evidence_version": null,
  "source_revision": null,
  "run_id": "dinglebear-ai--rytdl-claude-haiku-5-5-1792348533095058950",
  "last_release_at": null,
  "furthest_model": null,
  "model": "claude-haiku-5-5",
  "what_it_did": "Start the ytdl-rmcp MCP server over stdio via the README's npx launcher and list its tools (tools/list); returns 8 youtube_* tools.",
  "sandbox_source": null,
  "other_run_id": null,
  "hosting": null,
  "tested_commit": null,
  "guest_setup": null,
  "mcp_context": null,
  "agent_interfaces": [],
  "setup_identity": null,
  "works": null,
  "install_s": null,
  "fix_id": null,
  "tokens_in": 157032,
  "tested_at": null,
  "test_version": "readme-80bce05978a913d9396742111125106710e3c4b0dc4098ba6143b35960c73717",
  "recovery": {
    "source": "legacy-oct16-18",
    "original_run_id": "dinglebear-ai--rytdl-claude-haiku-5-5-1792348533095058950",
    "historical": true,
    "ledger_sha256": "c5e6a833c182c1e2aecf69d0bd0020aec63c65d98f3e933e4b32232340312736"
  },
  "transcript_url": "/transcripts/dinglebear-ai--rytdl-claude-haiku-5-5-1792348533095058950.txt",
  "report_url": "/reports/dinglebear-ai--rytdl-claude-haiku-5-5-1792348533095058950.json"
}
