{
  "tokens_out": 11447,
  "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": "test_rerun",
  "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": "73c3a0685d768f8f897ee77a10ee1e05bf931865",
  "failure_origin": null,
  "stuck_step": null,
  "repo_url": null,
  "needs": null,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "/usr/bin/js2wasm",
          "examples/wasi/hello-fs.ts",
          "--target",
          "wasi",
          "-o"
        ],
        "kind": "cli",
        "returncode": 0,
        "stdout": "<host-path>  (374 bytes)\n<host-path>  (182643 chars)\n<host-path>  (24 chars)\n<host-path>  (4115 chars)\n\nTo run: wasmtime -W gc=y,function-references=y,tail-call=y,exceptions=y <host-path>",
        "stderr": "note: auto-enabled Node API emulation (found a `node:` import). Pass --emulate none to disable.",
        "needs_credentials": false,
        "needs_browser": false,
        "scope": "product operation"
      }
    }
  ],
  "open_issues": null,
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "verifies_run_id": "loopdive--js2-claude-haiku-5-5-1792291237523395056",
  "total_s": 798.5908744335175,
  "license": null,
  "tool_calls": 24,
  "model_version": "claude-haiku-5-5",
  "example_checks": [],
  "mcp": null,
  "other_model": null,
  "first_use_s": null,
  "native_tool_calls": 24,
  "last_commit_at": null,
  "source": "https://github.com/loopdive/js2",
  "models_agree": null,
  "maintenance_verdict": null,
  "cost_usd": 0.016796480000000003,
  "safety": null,
  "answered_issues": null,
  "what_failed": null,
  "steps": [
    "cd <host-path> && ls -la && cat README.md 2>/dev/null | head -200",
    "cd <host-path> && git log -1 --format=%H 2>/dev/null; echo \"CDP_URL=$CDP_URL <env-var>=$<env-var>\"; ls -la <host-path> 2>/dev/null; ls -la .coldpass 2>/dev/null; node -v; npm -v; python3 --version",
    "cd <host-path> && grep -n '^#' README.md; sed -n '200,260p' README.md",
    "cd <host-path> && cat .mcp.json; sed -n 380,396p README.md; (sudo -n true && echo SUDO_OK); (curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - >/tmp/ns.log 2>&1 && sudo apt-get install -y nodejs >>/tmp/ns.log 2>&1); node -v; npm -v",
    "cd <host-path> && export NODE_USE_ENV_PROXY=1 && grep -n '\"packageManager\"\\|\"engines\"' -A2 package.json | head; npm i -g pnpm@10 >/tmp/pnpm-g.log 2>&1; pnpm -v; timeout 900 pnpm install --frozen-lockfile > /tmp/pnpm-install.log 2>&1; echo EXIT=$?; tail -30 /tmp/pnpm-install.log",
    "cd <host-path> && export NODE_USE_ENV_PROXY=1 && cat /tmp/pnpm-g.log | tail -5; sudo npm i -g pnpm@10.30.2 >/tmp/pnpm-g.log 2>&1; echo G=$?; which pnpm; pnpm -v; timeout 900 pnpm install --frozen-lockfile > /tmp/pnpm-install.log 2>&1; echo EXIT=$?; tail -30 /tmp/pnpm-install.log",
    "cd <host-path> && export NODE_USE_ENV_PROXY=1 && grep -n '\"bin\"' -A3 package.json; mkdir -p /tmp/js2out && printf 'export function add(a: number, b: number): number {\\n  return a + b;\\n}\\n' > /tmp/js2in.ts && timeout 600 npx js2wasm /tmp/js2in.ts -o /tmp/js2out; echo EXIT=$?; ls -la /tmp/js2out",
    "cd <host-path> && grep -n '\"build' package.json; ls dist 2>/dev/null | head -3",
    "cd <host-path> && export NODE_USE_ENV_PROXY=1 && timeout 900 pnpm run build > /tmp/build.log 2>&1; echo EXIT=$?; tail -15 /tmp/build.log; ls dist 2>/dev/null | head -5",
    "cd <host-path> && free -m; nproc; grep -n 'vite\\|building\\|transform\\|\u2713' /tmp/build.log | head -10; grep -c '' /tmp/build.log",
    "cd <host-path> && export NODE_USE_ENV_PROXY=1 && export NODE_OPTIONS=--max-old-space-size=6144 && timeout 1500 pnpm run build > /tmp/build.log 2>&1; echo EXIT=$?; tail -8 /tmp/build.log; ls dist 2>/dev/null | head -5",
    "cd <host-path> && export NODE_USE_ENV_PROXY=1 && rm -rf /tmp/js2out && mkdir -p /tmp/js2out && cp /tmp/js2in.ts /tmp/js2out/input.ts && cd /tmp/js2out && timeout 600 node <host-path> input.ts --target standalone -o /tmp/js2out; echo EXIT=$?; ls -la /tmp/js2out; cd /tmp/js2out && node -e 'const fs=require(\"fs\");WebAssembly.instantiate(fs.readFileSync(\"input.wasm\"),{}).then(r=>console.log(\"add(2,3)=\",r.instance.exports.add(2,3)))' 2>&1 | tail -3",
    "cd <host-path> && which node && mkdir -p .coldpass/probe-src && printf 'export function add(a: number, b: number): number {\\n  return a + b;\\n}\\n' > .coldpass/probe-src/input.ts && rm -rf .coldpass/probe-out && mkdir -p .coldpass/probe-out && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"cli\",\"argv\":[\"/usr/bin/node\",\"<host-path>\",\"input.ts\",\"--target\",\"standalone\",\"-o\",\"<host-path>\"],\"cwd\":\"<host-path>\"}\nEOF\ncat .coldpass/probe.json; <env-var>=<host-path> python3 -I <host-path> --validate; echo EXIT=$?",
    "cd <host-path> && ls -la node_modules/.bin/ | grep -i js2; ls -la node_modules/.bin/js2wasm 2>&1; head -3 dist/cli.js; grep -n 'check\\|argv' <host-path> | grep -i 'agent\\|partial\\|argv' | head -20",
    "sed -n 40,70p <host-path>",
    "cd <host-path> && export NODE_USE_ENV_PROXY=1 && P=$(npm prefix -g) && echo PREFIX=$P && sudo env PATH=$PATH npm i -g --ignore-scripts <host-path> > /tmp/npm-g-js2.log 2>&1; echo G=$?; tail -3 /tmp/npm-g-js2.log; ls -la $P/bin/js2wasm 2>&1; which js2wasm",
    "cd <host-path> && rm -rf <host-path> && mkdir -p <host-path> && /usr/bin/js2wasm input.ts --target standalone -o <host-path>; echo EXIT=$?; ls <host-path>",
    "cd <host-path> && node -e 'const fs=require(\"fs\");WebAssembly.instantiate(fs.readFileSync(\"input.wasm\"),{}).then(r=>console.log(\"add(2,3)=\",r.instance.exports.add(2,3))).catch(e=>console.log(\"ERR\",e.message))'; xxd input.wasm | head -3; cd /tmp/js2out && xxd input.wasm | head -2",
    "cd <host-path> && rm -rf .coldpass/probe-out && mkdir -p .coldpass/probe-out && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"cli\",\"argv\":[\"/usr/bin/js2wasm\",\"input.ts\",\"--target\",\"standalone\",\"-o\",\"<host-path>\"],\"cwd\":\"<host-path>\"}\nEOF\n<env-var>=<host-path> python3 -I <host-path> --validate; echo EXIT=$?",
    "grep -n 'SCRIPT_SUFFIX =\\|INTERPRETER =' <host-path>; cd <host-path> && ls examples | head -20; find examples -maxdepth 2 -name '*.ts' | head -5",
    "cd <host-path> && head -20 examples/wasi/hello-fs.ts; rm -rf .coldpass/probe-out && mkdir -p .coldpass/probe-out && /usr/bin/js2wasm examples/wasi/hello-fs.ts --target standalone -o <host-path>; echo EXIT=$?; ls -la .coldpass/probe-out",
    "cd <host-path> && rm -rf .coldpass/probe-out && mkdir -p .coldpass/probe-out && /usr/bin/js2wasm examples/wasi/hello-fs.ts --target wasi -o <host-path>; echo EXIT=$?; ls -la .coldpass/probe-out",
    "cd <host-path> && rm -rf .coldpass/probe-out .coldpass/probe-src && mkdir -p .coldpass/probe-out && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"cli\",\"argv\":[\"/usr/bin/js2wasm\",\"examples/wasi/hello-fs.ts\",\"--target\",\"wasi\",\"-o\",\"<host-path>\"],\"cwd\":\"<host-path>\"}\nEOF\n<env-var>=<host-path> python3 -I <host-path> --validate; echo EXIT=$?",
    "cd <host-path> && cat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"working\",\"operation\":\"Compile a TypeScript file to WasmGC with the README CLI: js2wasm examples/wasi/hello-fs.ts --target wasi -o <dir> (writes hello-fs.wasm, .wat, .d.ts, .imports.js). Earlier, a scratch add() function compiled with --target standalone and instantiated in Node returned add(2,3)=5.\",\"operation_scope\":\"Compile step only, verified by output files. The emitted .wasm was not executed under wasmtime (not installed; README recommends wasmtime 46+ with -W gc=y,function-references=y,tail-call=y,exceptions=y). No MCP server: .mcp.json only configures a Claude symphony channel script, which is not a product operation, so start/tools/list was not applicable. Browser not needed.\",\"steps\":[\"Read README.md (Quick start, Compile modes, Testing headings)\",\"Installed Node 22 via NodeSource apt setup (guest had no node/npm)\",\"npm i -g pnpm@10.30.2 (matches packageManager field)\",\"NODE_USE_ENV_PROXY=1 pnpm install --frozen-lockfile (README 'pnpm install')\",\"NODE_OPTIONS=--max-old-space-size=6144 pnpm run build (package.json build script; README build step)\",\"Compiled scratch add() with node dist/cli.js --target standalone -o <dir>; instantiated in Node: add(2,3)=5\",\"sudo npm i -g --ignore-scripts <host-path> to expose the README 'js2wasm' bin as /usr/bin/js2wasm\",\"/usr/bin/js2wasm examples/wasi/hello-fs.ts --target wasi -o .coldpass/probe-out (succeeded, 374-byte wasm)\",\"<env-var>=<host-path> python3 -I <host-path> --validate -> valid\"],\"deviations\":[\"Node/npm not present in guest: installed Node 22 via NodeSource setup script and apt nodejs (README prerequisite, Node >=20).\",\"pnpm not present: installed pnpm@10.30.2 globally via npm (repo packageManager pin).\",\"'pnpm run build' (README's build step) was OOM-killed at default heap (exit 134, V8 heap out of memory). Re-ran with NODE_OPTIONS=--max-old-space-size=6144 (guest has 8 GB RAM); build then succeeded.\",\"README 'npx js2wasm input.ts' failed with 'js2wasm: not found': the package bin is not linked into node_modules/.bin in the repo checkout. Ran 'sudo npm i -g --ignore-scripts <host-path>' to link /usr/bin/js2wasm, and used that bin. Product source unchanged.\",\"Probe argv invoking 'node dist/cli.js' and a .ts input under .coldpass were rejected by the checker as agent-written, so the probe uses the global js2wasm bin with a repo example input.\",\"wasm-opt/binaryen not installed; compile warns and skips optimization (non-fatal). wasmtime not installed, so the output was not run under wasmtime.\"],\"stuck_step\":null,\"main_blocker\":null,\"suggested_fix\":null}\nEOF\npython3 -I -c 'import json;json.load(open(\"<host-path>\"));print(\"report ok\")'; <env-var>=<host-path> python3 -I <host-path> --validate"
  ],
  "platform_conflicts": null,
  "claims_note": null,
  "maintained_note": null,
  "repo": "loopdive/js2",
  "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-18T07:02:37.454536+00:00",
  "kind": "repo",
  "resources": {
    "cpus": 2,
    "memory_mib": 2048,
    "disk_mib": 16384
  },
  "error_excerpt": null,
  "pass": true,
  "evidence_version": null,
  "source_revision": null,
  "run_id": "loopdive--js2-claude-haiku-5-5-1792306158863645152",
  "last_release_at": null,
  "furthest_model": null,
  "model": "claude-haiku-5-5",
  "what_it_did": "Compile a TypeScript file to WasmGC with the README CLI: js2wasm examples/wasi/hello-fs.ts --target wasi -o <dir> (writes hello-fs.wasm, .wat, .d.ts, .imports.js). Earlier, a scratch add() function compiled with --target standalone and instantiated in Node returned add(2,3)=5.",
  "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": "fix-95a71c94d6e755f1aa17",
  "tokens_in": 555410,
  "tested_at": null,
  "test_version": "readme-c26ffe1cce5b90e6f204842e94573d85d9b767775aa350121a892728022647fe",
  "recovery": {
    "source": "legacy-oct16-18",
    "original_run_id": "loopdive--js2-claude-haiku-5-5-1792306158863645152",
    "historical": true,
    "ledger_sha256": "c5e6a833c182c1e2aecf69d0bd0020aec63c65d98f3e933e4b32232340312736"
  },
  "transcript_url": "/transcripts/loopdive--js2-claude-haiku-5-5-1792306158863645152.txt",
  "report_url": "/reports/loopdive--js2-claude-haiku-5-5-1792306158863645152.json"
}
