{
  "tokens_out": 9054,
  "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": "e00c79b49e19c6bbf2b9bdbf0440a36e8956cad8",
  "failure_origin": null,
  "stuck_step": null,
  "repo_url": null,
  "needs": null,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "--no-banner",
          "--no-color",
          "--yes",
          "run"
        ],
        "kind": "http",
        "status": 200,
        "bytes": 270908,
        "url": "http://127.0.0.1:8000/QvQChat/view",
        "scope": "product operation"
      }
    }
  ],
  "open_issues": null,
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "verifies_run_id": null,
  "total_s": 235.50339555740356,
  "license": null,
  "tool_calls": 15,
  "model_version": "claude-haiku-5-5",
  "example_checks": [],
  "mcp": null,
  "other_model": null,
  "first_use_s": null,
  "native_tool_calls": 15,
  "last_commit_at": null,
  "source": "https://github.com/wsu2059q/ErisPulse-QvQChat",
  "models_agree": null,
  "maintenance_verdict": null,
  "cost_usd": 0.01712835,
  "safety": null,
  "answered_issues": null,
  "what_failed": null,
  "steps": [
    "cd <host-path> && ls -la && cat README.md 2>/dev/null | head -200",
    "cat <host-path> 2>/dev/null | head -80; echo; env | grep -i -E 'CDP|NODE_USE' ; which node npm python3 uv pip3 2>&1",
    "cd <host-path> && sed -n '200,400p' README.md | sed 's/[^[:print:]]//g' | head -5; python3 - <<'EOF'\nimport re\nt=open('README.md',encoding='utf-8').read()\nfor m in re.finditer(r'^#+ .*$',t,re.M): print(m.group(0))\nEOF\necho ---; cat INSTALL.md; echo ---; ls tests .github/workflows; cat pyproject.toml",
    "cd <host-path> && (python3 -m venv <host-path> 2>&1 || (sudo apt-get update -qq && sudo apt-get install -y -qq python3-venv >/dev/null 2>&1 && python3 -m venv <host-path>)); <host-path> install -q -e . 2>&1 | tail -20; echo rc=$?; <host-path> show ErisPulse ErisPulse-QvQChat 2>&1 | grep -E 'Name|Version|Location'; ls <host-path> | grep -i -E 'epsdk|eris'",
    "cd <host-path> && E=<host-path>; $E/epsdk --help 2>&1 | head -40; echo ---; grep -rn -E 'epsdk|ErisPulse.*run|python -m|bin/' README.md README.en.md ARCHITECTURE.md docs/*.md | head -40; echo ---; ls docs; ls .github/workflows; grep -n 'run:' -A3 .github/workflows/*.yml | head -40",
    "cd <host-path> && E=<host-path>; $E/epsdk --no-banner list 2>&1 | head -40; echo ---; $E/epsdk run --help 2>&1 | head -30; echo ---; $E/epsdk --no-banner doctor 2>&1 | tail -25",
    "cd <host-path> && (nohup <host-path> --no-banner --no-color --yes run > <host-path> 2>&1 &echo $! > <host-path>); sleep 20; cat <host-path> | sed 's/\\x1b\\[[0-9;]*m//g' | tail -40; echo ---; (ss -ltnp 2>/dev/null || netstat -ltnp) | grep -E ':8000' ; curl -s -o /dev/null -w '%{http_code}\\n' http://127.0.0.1:8000/QvQChat/view",
    "cd <host-path> && grep -rn -E \"QvQChat/|add_route|router\\.|register_http|/api/\" QvQChat/*.py QvQChat/**/*.py 2>/dev/null | grep -v test | head -30; echo ---; curl -s -o /dev/null -w '%{http_code}\\n' http://127.0.0.1:8000/; curl -s http://127.0.0.1:8000/ | head -c 300",
    "cd <host-path> && E=<host-path>; timeout 120 $E/epsdk --no-banner list-remote 2>&1 | sed 's/\\x1b\\[[0-9;]*m//g' | grep -i -E 'dash|adapter' | head -20",
    "cd <host-path> && E=<host-path>; kill $(cat <host-path>) 2>/dev/null; sleep 3; pkill -f 'epsdk.*run' 2>/dev/null; sleep 2; ss -ltnp | grep 8000; timeout 280 $E/epsdk --no-banner --no-color --yes install ErisPulse-Dashboard 2>&1 | sed 's/\\x1b\\[[0-9;]*m//g' | tail -15; echo rc=$?",
    "cd <host-path> && ss -ltnp | grep 8000; pgrep -af epsdk | head; ls <host-path> | grep -c .",
    "cd <host-path> && kill 2548; sleep 3; ss -ltnp | grep -c ':8000 ' ; E=<host-path>; timeout 280 $E/epsdk --no-banner --no-color --yes install ErisPulse-Dashboard 2>&1 | sed 's/\\x1b\\[[0-9;]*m//g' | tail -15",
    "cd <host-path> && (nohup <host-path> --no-banner --no-color --yes run > <host-path> 2>&1 & echo $! > <host-path>); sleep 25; sed 's/\\x1b\\[[0-9;]*m//g' <host-path> | grep -i -E 'token|dashboard|QvQ|error|router|Traceback' | head -20; echo ---; for u in /QvQChat/view /api/qvq/auth /api/qvq/status; do echo -n \"$u \"; curl -s -o /dev/null -w '%{http_code}\\n' http://127.0.0.1:8000$u; done",
    "cd <host-path> && sed 's/\\x1b\\[[0-9;]*m//g' epsdk-run.log | grep -i -E 'token|\u4ee4\u724c' | head -5; for u in /QvQChat/api/qvq/auth /QvQChat/api/qvq/status /QvQChat/api/status; do echo -n \"$u \"; curl -s -o /dev/null -w '%{http_code}\\n' http://127.0.0.1:8000$u; done; grep -rn \"api/qvq\" <host-path> | head -2; grep -rn -E \"prefix|/api/\" <host-path> | grep -v 'self\\.' | head -5",
    "cd <host-path> && kill $(cat <host-path>) 2>/dev/null; sleep 3; L=$(ss -ltnp | grep ':8000 ' | grep -o 'pid=[0-9]*' | cut -d= -f2); [ -n \"$L\" ] && kill $L; sleep 3; ss -ltnp | grep -c ':8000 '; W=<host-path>; mkdir -p $W/.coldpass; ls -la $W/.coldpass\ncat > $W/.coldpass/probe.json <<'EOF'\n{\"kind\":\"http\",\"argv\":[\"<host-path>\",\"--no-banner\",\"--no-color\",\"--yes\",\"run\"],\"cwd\":\"<host-path>\",\"url\":\"http://127.0.0.1:8000/QvQChat/view\",\"env\":{}}\nEOF\ncat > $W/.coldpass/report.json <<'EOF'\n{\"outcome\":\"working\",\"operation\":\"Start the QvQChat ErisPulse host with `epsdk run` (port 8000) with the Dashboard installed, then GET the QvQChat view at /QvQChat/view (200).\",\"operation_scope\":\"Verifies install, module registration and HTTP serving. Not exercised: chat/LLM replies (needs an OpenAI-compatible model added in the Dashboard model pool and an API key), adapters (none installed; README expects one such as ErisPulse-OneBotAdapter), and authenticated /QvQChat/api/qvq/* calls (need the Dashboard token in Dashboard.token; unauthenticated call returns 401, which confirms auth is enforced).\",\"steps\":[\"python3 -m venv <host-path> (failed: ensurepip missing) -> apt-get install python3-venv, recreated venv\",\"<host-path> install -e . (README 'pip install' path, from <host-path>)\",\"<host-path> --no-banner doctor -> Environment is healthy\",\"<host-path> --no-banner list -> QvQChat 4.0.0 Enabled\",\"<host-path> run -> HTTP router on 0.0.0.0:8000, QvQChat loaded\",\"curl http://127.0.0.1:8000/QvQChat/view -> 200 (after Dashboard install)\"],\"deviations\":[\"README has no explicit run command; the README's 'start' step is ErisPulse's `epsdk run`, used for the probe.\",\"The README's `epsdk install ErisPulse-QvQChat` was not run; the package was installed from the pinned source via `pip install -e .` (equivalent module entry point QvQChat:Main).\",\"python3 -m venv failed (ensurepip missing). Fixed with `sudo apt-get install python3-venv` and recreated the venv.\",\"/QvQChat/view returned 404 ('Dashboard module not present, view skipped') on first start. Ran `<host-path> --yes install ErisPulse-Dashboard` (the Dashboard is the README's documented host for the QvQChat view), then restarted; view returns 200.\",\"Left no server running; the probe starts epsdk run itself.\"],\"stuck_step\":null,\"main_blocker\":null,\"suggested_fix\":null}\nEOF\n<env-var>=<host-path> python3 -I <host-path> --validate; echo rc=$?"
  ],
  "platform_conflicts": null,
  "claims_note": null,
  "maintained_note": null,
  "repo": "wsu2059q/ErisPulse-QvQChat",
  "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-18T15:57:39.804088+00:00",
  "kind": "repo",
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "error_excerpt": null,
  "pass": true,
  "evidence_version": null,
  "source_revision": null,
  "run_id": "wsu2059q--ErisPulse-QvQChat-claude-haiku-5-5-1792338824300679387",
  "last_release_at": null,
  "furthest_model": null,
  "model": "claude-haiku-5-5",
  "what_it_did": "Start the QvQChat ErisPulse host with `epsdk run` (port 8000) with the Dashboard installed, then GET the QvQChat view at /QvQChat/view (200).",
  "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": 491676,
  "tested_at": null,
  "test_version": "readme-03aea4c41d53955e3723c330e9927d2a9df627f6642624cc0078a97c73a53c8a",
  "recovery": {
    "source": "legacy-oct16-18",
    "original_run_id": "wsu2059q--ErisPulse-QvQChat-claude-haiku-5-5-1792338824300679387",
    "historical": true,
    "ledger_sha256": "c5e6a833c182c1e2aecf69d0bd0020aec63c65d98f3e933e4b32232340312736"
  },
  "transcript_url": "/transcripts/wsu2059q--ErisPulse-QvQChat-claude-haiku-5-5-1792338824300679387.txt",
  "report_url": "/reports/wsu2059q--ErisPulse-QvQChat-claude-haiku-5-5-1792338824300679387.json"
}
