{
  "tokens_out": 14234,
  "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": "b71d2e84a539e728a3ee9be6fe86a7f846f49802",
  "failure_origin": null,
  "stuck_step": null,
  "repo_url": null,
  "needs": null,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "--html",
          "<h1>Craft smoke test</h1>",
          "--title",
          "SmokeTest",
          "--quit-on-close"
        ],
        "kind": "cli",
        "returncode": 0,
        "stdout": "\n\u26a1 Loading HTML content in native window\n   Title: SmokeTest\n   Size: 1200x800\n",
        "stderr": "",
        "needs_credentials": false,
        "needs_browser": false,
        "scope": "product operation"
      }
    }
  ],
  "open_issues": null,
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "verifies_run_id": "craft-native--craft-claude-haiku-5-5-1792243434707824285",
  "total_s": 377.8366231918335,
  "license": null,
  "tool_calls": 41,
  "model_version": "claude-haiku-5-5",
  "example_checks": [],
  "mcp": null,
  "other_model": null,
  "first_use_s": null,
  "native_tool_calls": 41,
  "last_commit_at": null,
  "source": "https://github.com/craft-native/craft",
  "models_agree": null,
  "maintenance_verdict": null,
  "cost_usd": 0.027010340000000004,
  "safety": null,
  "answered_issues": null,
  "what_failed": null,
  "steps": [
    "cd <host-path> && ls -la && cat README* 2>/dev/null | head -300",
    "echo CDP=$CDP_URL $<env-var>; ls -la <host-path> 2>/dev/null; which node npm python3 pip3 go cargo 2>&1; uname -a; cat /etc/os-release | head -2",
    "cd <host-path> && grep -n '^#' README.md; echo ---; sed -n '/^## Get Started/,$p' README.md | grep -v '^$' | head -150",
    "cd <host-path> && grep -in 'mcp' README.md | head; sed -n 625,650p README.md; grep -n '\"build:core\"\\|\"dev\"\\|\"build\"' package.json; cat craft; ls bin packages | head -50",
    "export DEBIAN_FRONTEND=noninteractive; sudo apt-get update -qq >/tmp/apt.log 2>&1; sudo apt-get install -y -qq libgtk-3-dev libwebkit2gtk-4.1-dev git unzip curl xvfb >>/tmp/apt.log 2>&1; echo apt=$?; tail -3 /tmp/apt.log; which bun || (curl -fsSL https://bun.sh/install | bash >/tmp/bun.log 2>&1; echo bun=$?; tail -3 /tmp/bun.log)",
    "export PATH=$HOME/.bun/bin:$PATH; export NODE_USE_ENV_PROXY=1; cd <host-path> && bun --version && timeout 900 bun install >/tmp/bunins.log 2>&1; echo bun_install=$?; tail -15 /tmp/bunins.log",
    "export PATH=$HOME/.bun/bin:$PATH; export NODE_USE_ENV_PROXY=1; cd <host-path> && which pantry || (timeout 600 bun add -g pantry >/tmp/pantry-g.log 2>&1; echo g=$?; tail -3 /tmp/pantry-g.log); export PATH=$HOME/.bun/bin:$PATH; timeout 900 pantry install >/tmp/pantry.log 2>&1; echo pantry_install=$?; tail -15 /tmp/pantry.log",
    "grep -i 'err\\|expat' /tmp/pantry-g.log | head -20",
    "export DEBIAN_FRONTEND=noninteractive; sudo apt-get install -y -qq build-essential libexpat1-dev >>/tmp/apt.log 2>&1; echo apt=$?; export PATH=$HOME/.bun/bin:$PATH; export NODE_USE_ENV_PROXY=1; cd <host-path> && timeout 600 bun add -g pantry >/tmp/pantry-g.log 2>&1; echo g=$?; tail -3 /tmp/pantry-g.log; cd <host-path> && timeout 900 pantry install >/tmp/pantry.log 2>&1; echo pantry_install=$?; tail -8 /tmp/pantry.log",
    "export PATH=$HOME/.bun/bin:$PATH; export NODE_USE_ENV_PROXY=1; cd <host-path> && ls ~/.bun/bin; timeout 900 ~/.bun/bin/pantry install >/tmp/pantry.log 2>&1; echo pantry_install=$?; tail -8 /tmp/pantry.log",
    "export PATH=$HOME/.bun/bin:$PATH; export NODE_USE_ENV_PROXY=1; cd <host-path> && P=$(ls ~/.bun/install/global/node_modules/pantry/bin/* 2>/dev/null | head -1); echo P=$P; cat ~/.bun/install/global/node_modules/pantry/package.json | grep -A2 '\"bin\"'; timeout 900 bun ~/.bun/install/global/node_modules/pantry/bin/*.js install >/tmp/pantry.log 2>&1; echo pantry_install=$?; tail -8 /tmp/pantry.log",
    "ls ~/.bun/install/global/node_modules/pantry/ ; grep -A3 '\"bin\"' ~/.bun/install/global/node_modules/pantry/package.json; cat <host-path>",
    "cd <host-path> && grep -rn -i 'pantry' --include=*.md . | grep -i 'install\\|curl\\|sh' | grep -v CHANGELOG | head -15; grep -n 'zig' scripts/zig.ts | head -20; ls scripts",
    "cd <host-path> && grep -rn -i 'pantry' .github/workflows/*.yml | head -10; grep -rn -i 'pantry' deps.yaml | head",
    "for u in https://pantry.dev/install https://pantry.sh/install.sh https://get.pantry.dev https://raw.githubusercontent.com/pantry-pm/pantry/main/install.sh; do echo \"== $u\"; curl -fsSL -m 30 -o /tmp/pinst.sh $u && wc -c /tmp/pinst.sh && head -5 /tmp/pinst.sh; done 2>&1 | head -40",
    "cd <host-path> && grep -rn -i 'pantry' docs/*.md docs/**/*.md 2>/dev/null | grep -i 'curl\\|install' | head -8; grep -rn 'pantry.sh\\|pantry.dev' --include=*.md --include=*.yml . 2>/dev/null | grep -v node_modules | head -8",
    "cd <host-path> && sed -n 1,40p docs/GETTING_STARTED.md; grep -n -i 'zig' docs/install.md | head -20",
    "export PATH=$HOME/.bun/bin:$PATH; export NODE_USE_ENV_PROXY=1; cd /tmp && for p in pantry-cli @pantry/cli pantry-pm ts-pantry; do echo \"== $p\"; timeout 60 npm view $p name version bin 2>&1 | head -6; done",
    "export PATH=$HOME/.bun/bin:$PATH; cd /tmp && for p in pantry-cli @pantry/cli ts-pantry; do echo \"== $p\"; timeout 60 bun pm view $p name version bin 2>&1 | head -6; done; ls ~/.bun/install/global/node_modules/ | head -30",
    "grep -n -i 'install\\|curl\\|cli' ~/.bun/install/global/node_modules/pantry/README.md | head -20; cd <host-path>; grep -n -i 'pantry' -A3 docs/install.md | sed -n 1,30p",
    "curl -fsSL -m 30 https://pantry.sh/ | grep -o -i 'curl[^<\"]*\\|https://[^\"< ]*install[^\"< ]*\\|bun add[^<\"]*\\|npm i[^<\"]*' | sort -u | head -20; echo; curl -sS -m 20 -o /dev/null -w '%{http_code}\\n' https://pantry.sh/install.sh",
    "curl -fsSL -m 30 https://pantry.sh/ -o /tmp/home.html; grep -o -i '[a-z./:]*install[a-z./:]*' /tmp/home.html | sort -u | head; grep -o 'pantry[^\" ]*' /tmp/home.html | sort -u | head -20; wc -c /tmp/home.html",
    "mkdir -p /tmp/zigdl && cd /tmp/zigdl && for u in https://ziglang.org/builds/zig-x86_64-linux-0.17.0-dev.1963+e00c6c439.tar.xz https://ziglang.org/builds/zig-linux-x86_64-0.17.0-dev.1963+e00c6c439.tar.xz; do curl -fsSL -m 300 -O \"$u\" && echo OK $u && break; echo FAIL $u; done; ls -la",
    "cd /tmp && (python3 -m pip --version || sudo apt-get install -y -qq python3-pip python3-venv >/dev/null 2>&1); timeout 120 python3 -m pip index versions ziglang 2>&1 | head -3; timeout 60 curl -sS -m 30 -o /dev/null -w '%{http_code}\\n' https://ziglang.org/download/index.json; apt-cache policy zig 2>/dev/null | head -3",
    "sudo apt-get install -y -qq python3-venv >/dev/null 2>&1; python3 -m venv <host-path> && <host-path> install -q ziglang==0.17.0 2>&1 | tail -3; <host-path> -m ziglang version",
    "cd <host-path> && sed -n 1,50p scripts/zig.ts | grep -n 'CRAFT_ZIG\\|override\\|env' ; printf '#!/bin/sh\\nexec <host-path> -m ziglang \"$@\"\\n' > <host-path> && chmod +x <host-path> && <host-path> version",
    "export PATH=$HOME/.bun/bin:$PATH NODE_USE_ENV_PROXY=1 CRAFT_ZIG=<host-path> CRAFT_ALLOW_UNPINNED_ZIG=1; cd <host-path> && timeout 1500 bun run build:core >/tmp/build.log 2>&1; echo build=$?; tail -30 /tmp/build.log; ls -la packages/zig/zig-out/bin 2>&1",
    "cd <host-path> && grep -rn 'Libraries' --include=*.zig --include=*.zon --include=*.ts . ../../build.zig ../../deps.yaml 2>/dev/null | grep -v zig-cache | head; ls ..; ls <host-path> 2>&1",
    "cd <host-path> && grep -rn 'zig-js' --include=*.zig --include=*.zon --include=*.ts --include=*.yaml --include=*.toml --include=*.json . 2>/dev/null | grep -v node_modules | grep -v zig-cache | head",
    "cd <host-path> && grep -n 'Libraries\\|zig_js\\|zig-js' build.zig | head -20; grep -rn 'zig-js\\|zigjs' ../../craft.toml ../../deps.yaml ../../pantry.jsonc build.zig.zon 2>/dev/null | head",
    "cd <host-path> && sed -n 44,62p build.zig; cat build.zig.zon | sed -n 1,20p",
    "export CRAFT_ZIG=<host-path> CRAFT_ALLOW_UNPINNED_ZIG=1; cd <host-path> && timeout 1500 <host-path> build -Doptimize=ReleaseSafe -Djs-runtime=false >/tmp/build2.log 2>&1; echo rc=$?; tail -8 /tmp/build2.log; ls zig-out/bin 2>&1",
    "cd <host-path> && ./packages/zig/zig-out/bin/craft --help 2>&1 | head -60; echo rc=$?",
    "cd <host-path> && (pgrep Xvfb || (Xvfb :99 -screen 0 1280x1024x24 >/tmp/xvfb.log 2>&1 &)); sleep 2; export DISPLAY=:99; timeout 20 ./packages/zig/zig-out/bin/craft --html \"<h1>Hello Craft</h1>\" --title SmokeTest --quit-on-close 2>&1 | head -40; echo rc=${PIPESTATUS[0]}",
    "cd <host-path> && ls -la .coldpass 2>&1; grep -n 'stays_running\\|expected_text\\|def validate\\|--validate\\|absolute\\|cwd' <host-path> | head -60",
    "sed -n 55,80p <host-path>; sed -n 330,345p <host-path>; sed -n 370,380p <host-path>; sed -n 440,560p <host-path>",
    "cd <host-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"cli\",\"argv\":[\"<host-path>\",\"--html\",\"<h1>Craft smoke test</h1>\",\"--title\",\"SmokeTest\",\"--quit-on-close\"],\"cwd\":\"<host-path>\",\"stays_running\":true,\"expected_text\":\"Loading HTML content in native window\"}\nEOF\n<env-var>=<host-path> python3 -I <host-path> --validate; echo rc=$?",
    "pkill -f 'Xvfb :99' ; sleep 1; cd <host-path> && env -i PATH=/usr/bin:/bin HOME=<host-path> <env-var>=<host-path> timeout 200 python3 -I <host-path> --probe; echo rc=$?; pgrep -fa 'craft|Xvfb' | grep -v pgrep",
    "cd <host-path> && cat .coldpass/observed.json 2>&1; echo; cd <host-path> && <env-var>=<host-path> timeout 200 python3 -I <host-path> --probe 2>&1 | tail -5; echo rc=$?; grep -n 'PRODUCT_SECONDS =\\|^WORKSPACE\\|^def main\\|exit(255\\|_exit' <host-path> | head",
    "cd <host-path> && env -i PATH=/usr/bin:/bin HOME=<host-path> <env-var>=<host-path> timeout 200 python3 -I <host-path> --probe; echo rc=$?; ls -la .coldpass; cat .coldpass/observed.json | head -c 600",
    "cd <host-path> && rm -f .coldpass/observed.json && cat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"working\",\"operation\":\"Build craft from source (packages/zig, ReleaseSafe) and launch a native window rendering HTML via the craft CLI (`craft --html ... --title SmokeTest`); probe waits for 'Loading HTML content in native window' and the process is stopped by the checker.\",\"operation_scope\":\"Launch-and-render check only (window opens, page loads, process stopped by checker). Not exercised: README's `craft http://localhost:3000` URL flow (needs a server), TypeScript SDK, mobile, or interactive behavior. Runs under xvfb-run (no DISPLAY in checker env). Pantry-managed Zig toolchain was not available; built with unpinned Zig 0.17.0 release.\",\"steps\":[\"apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev git unzip curl xvfb build-essential libexpat1-dev (README: Platform-Specific Dependencies)\",\"curl -fsSL https://bun.sh/install | bash (bun 1.4.3)\",\"bun install (repo root)\",\"bun add -g pantry (npm package pantry@0.7.6; this is an unrelated HTTP cache library, not the Pantry CLI)\",\"pip install ziglang==0.17.0 into <host-path>; wrapper <host-path>\",\"CRAFT_ZIG=<host-path> CRAFT_ALLOW_UNPINNED_ZIG=1 bun run build:core -> failed (see deviations)\",\"cd packages/zig && zig build -Doptimize=ReleaseSafe -Djs-runtime=false -> success, produced packages/zig/zig-out/bin/craft\",\"craft --help (verified flags)\",\"craft --html '<h1>Craft smoke test</h1>' --title SmokeTest --quit-on-close under Xvfb -> window launched, printed expected text\",\"<env-var>=<host-path> python3 -I <host-path> --validate -> valid; --probe -> PASS working\"],\"deviations\":[\"`pantry install` (README 'Build from Source' / docs/GETTING_STARTED.md): no pantry CLI available. pantry.sh/install.sh returns an HTML page, pantry.dev/install 404s, npm/bun package 'pantry' is a library with no bin. Substituted zig from PyPI ziglang==0.17.0 (release, not the pinned dev build 0.17.0-dev.1963_e00c6c439; ziglang.org dev tarball 404). Used CRAFT_ZIG and CRAFT_ALLOW_UNPINNED_ZIG=1.\",\"`bun run build:core` failed: 'failed to open ../../../../Libraries/zig-js: FileNotFound' (packages/zig/build.zig.zon declares zig_js as a sibling path dependency outside the repo, not present in the guest). Built with `zig build -Doptimize=ReleaseSafe -Djs-runtime=false` instead, which disables Craft's JS runtime (zig-js) option. Build output: packages/zig/zig-out/bin/craft.\",\"`bun add -g pantry` initially failed building node-expat (missing make/libexpat); fixed by installing build-essential and libexpat1-dev.\",\"README CLI example `craft http://localhost:3000` not used because it needs a server on localhost:3000; probe uses the product's --html flag (from `craft --help`) instead.\",\"Set DISPLAY via Xvfb (:99) for manual testing; stopped it afterward. Checker uses xvfb-run automatically.\"],\"stuck_step\":null,\"main_blocker\":null,\"suggested_fix\":null}\nEOF\npython3 -c \"import json;json.load(open('.coldpass/report.json'));print('report ok')\"; <env-var>=<host-path> python3 -I <host-path> --validate; pgrep -fa 'zig-out/bin/craft|Xvfb' | grep -v pgrep; echo leftover_check_done"
  ],
  "platform_conflicts": null,
  "claims_note": null,
  "maintained_note": null,
  "repo": "craft-native/craft",
  "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-18T13:17:07.540615+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": "craft-native--craft-claude-haiku-5-5-1792329049703970906",
  "last_release_at": null,
  "furthest_model": null,
  "model": "claude-haiku-5-5",
  "what_it_did": "Build craft from source (packages/zig, ReleaseSafe) and launch a native window rendering HTML via the craft CLI (`craft --html ... --title SmokeTest`); probe waits for 'Loading HTML content in native window' and the process is stopped by the checker.",
  "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-g3-craft-readme3",
  "tokens_in": 1169335,
  "tested_at": null,
  "test_version": "readme-cf5e77b54d6a53931763b79581cfc89ff1b268f1b2e3230c1dcda1269a82e43f",
  "recovery": {
    "source": "legacy-oct16-18",
    "original_run_id": "craft-native--craft-claude-haiku-5-5-1792329049703970906",
    "historical": true,
    "ledger_sha256": "c5e6a833c182c1e2aecf69d0bd0020aec63c65d98f3e933e4b32232340312736"
  },
  "transcript_url": "/transcripts/craft-native--craft-claude-haiku-5-5-1792329049703970906.txt",
  "report_url": "/reports/craft-native--craft-claude-haiku-5-5-1792329049703970906.json"
}
