{
  "tokens_out": 26250,
  "outcome": "blocked",
  "suggested_fix": "Inspect the recorded blocker and correct the README prerequisites or harness error.",
  "cycle_checks": null,
  "fault": {
    "owner": null,
    "status": "pending",
    "reason": "README smoke check did not pass",
    "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": "repair",
  "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": "/bin/bash -c 'o=$(mktemp);e=$(mktemp);/bin/bash -lc \"$1\" </dev/null >\"$o\" 2>\"$e\";c=$?;cat \"$o\";cat \"$e\" >&2;rm -f \"$o\" \"$e\";exit $c' coldpass 'export CDP_URL=http://<internal-ip>:9226; export <env-var>=http://<internal-ip>:9226; export <env-var>=<host-path>; cd <host-path> && cd <host-path> && rm -f .coldpass/report.json && cat > report.json <<'\"'\"'EOF'\"'\"'\n{\"outcome\":\"blocked\",\n\"operation\":\"README '\"'\"'Build from Source'\"'\"' (pantry install, then bun run build:core), then a terminating start check of the built craft binary: craft --benchmark --html '\"'\"'<h1>Craft smoke</h1>'\"'\"' under Xvfb (DISPLAY=:99), which prints '\"'\"'ready'\"'\"' and exits 0. craft --version prints '\"'\"'craft version 0.0.234'\"'\"'.\",\n\"operation_scope\":\"Partial. The default build (bun run build:core) fails because the sibling checkout ../../../../Libraries/zig-js (declared as .zig_js path dependency in packages/zig/build.zig.zon) is absent in the VM. A build with -Djs-runtime=false succeeded and was used for the start check. Not verified: the JS runtime, craft --eval, the GUI run command from the README (craft http://localhost:3000), which never exits, and the TypeScript SDK path.\",\n\"steps\":[\"Installed bun 1.3.14 (pinned in the repo).\",\n\"Installed the pantry binary from the pantry-pm/pantry v0.11.92 GitHub release (the npm package named '\"'\"'pantry'\"'\"' is an unrelated library). Verified its checksum against release-manifest.json.\",\n\"Ran pantry install in the workspace. It provisioned bun and ziglang.org 0.17.0-dev.1963_e00c6c439 under ./pantry.\",\n\"Restored pantry.lock from the pinned-commit tarball after pantry install and pantry env rewrote it. Verified byte-identical afterwards.\",\n\"CRAFT_ZIG=<workspace>/pantry/ziglang.org/v0.17.0-dev.1963_e00c6c439/bin/zig bun run build:core failed: error: failed to open '\"'\"'../../../../Libraries/zig-js'\"'\"': FileNotFound.\",\n\"cd packages/zig && zig build -Doptimize=ReleaseSafe -Djs-runtime=false succeeded and produced packages/zig/zig-out/bin/craft.\",\n\"craft --version and craft --benchmark --html '\"'\"'<h1>Craft smoke</h1>'\"'\"' (DISPLAY=:99) both succeeded; the benchmark run printed '\"'\"'ready'\"'\"' and exited 0.\",\n\"Wrote .coldpass/probe.json with install and start checks. check.py --validate returned valid with no problems.\"],\n\"deviations\":[\"Used the pantry GitHub release binary instead of the npm package named '\"'\"'pantry'\"'\"'.\",\n\"pantry install printed '\"'\"'Patch failed for ts-maps'\"'\"'. It was a warning only; the install continued. Not investigated.\",\n\"pantry install and pantry env rewrote pantry.lock. Restored it from the pinned tarball. Source is otherwise unchanged; generated outputs (pantry/, node_modules/, zig-out/, .zig-cache/) are gitignored.\",\n\"Default bun run build:core failed on the missing zig-js sibling. Used zig build -Djs-runtime=false, the opt-out already present in build.zig. This is not the README'\"'\"'s default build.\",\n\"The probe uses --benchmark, a craft flag not documented in the README, because the README run command opens a GUI window that never exits and the checker has no timeout.\",\n\"The earlier failure in the '\"'\"'src/contacts'\"'\"' README (npm run mcp:demo, create_contact on a calendar-only server) does not apply to this repo. No src/contacts, no mcp:demo script, and craft is not an MCP server. Not reproduced.\"],\n\"stuck_step\":\"bun run build:core (README '\"'\"'Build from Source'\"'\"')\",\n\"main_blocker\":\"The default build needs the first-party sibling checkout ../../../../Libraries/zig-js (packages/zig/build.zig.zon). It is absent in the VM, and github.com/home-lang/zig-js returned 404.\",\n\"fault_owner\":\"prerequisite\",\n\"suggested_fix\":\"Provide the zig-js checkout at the path declared in build.zig.zon, or switch to a published zig-js URL dependency. Alternatively, document the sibling requirement and the -Djs-runtime=false opt-out in the README Build from Source section, or make zig_js lazy so the no-JS build works without it. No source was changed.\"}\nEOF\npython3 -c \"import json;print(json.load(open('\"'\"'report.json'\"'\"'))['\"'\"'outcome'\"'\"'])\" && <env-var>=<host-path> python3 -I <host-path> --validate'",
  "repo_url": null,
  "needs": null,
  "checks": [
    {
      "status": "PASS",
      "details": {
        "working": false,
        "argv": [
          "--version"
        ],
        "kind": "cli",
        "returncode": 0,
        "stdout": "craft version 0.0.234\nBuilt with Zig 0.17.0-dev\nPlatform: Linux\n",
        "stderr": "",
        "needs_credentials": false,
        "needs_browser": false,
        "scope": "partial: install"
      },
      "check": "install",
      "optional": false
    },
    {
      "status": "PASS",
      "details": {
        "working": false,
        "argv": [
          "--benchmark",
          "--html",
          "<h1>Craft smoke</h1>"
        ],
        "kind": "cli",
        "returncode": 0,
        "stdout": "ready",
        "stderr": "libEGL warning: DRI3 error: Could not get DRI3 device\nlibEGL warning: Ensure your X server supports DRI3 to get accelerated rendering\n[Permission] Linux WebView configured (camera=false, mic=false, geo=false, notify=true, clip=true)",
        "needs_credentials": false,
        "needs_browser": false,
        "scope": "partial: start"
      },
      "check": "start",
      "optional": false
    }
  ],
  "open_issues": null,
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "verifies_run_id": "HeyPuter--everything-claude-haiku-5-5-1792284893054766376",
  "total_s": 675.127364397049,
  "license": null,
  "tool_calls": 46,
  "model_version": "claude-haiku-5-5",
  "example_checks": [],
  "mcp": null,
  "other_model": null,
  "first_use_s": null,
  "native_tool_calls": 46,
  "last_commit_at": null,
  "source": "https://github.com/craft-native/craft",
  "models_agree": null,
  "maintenance_verdict": null,
  "cost_usd": 0.04643177499999999,
  "safety": null,
  "answered_issues": null,
  "what_failed": null,
  "steps": [
    "cd <host-path> && ls -la && git status 2>/dev/null | head -5; git log -1 --oneline 2>/dev/null; cat README.md 2>/dev/null | head -300; ls <host-path> 2>/dev/null; ls -la .coldpass 2>/dev/null",
    "cd <host-path> && ls; find . -maxdepth 2 -iname 'readme*' -not -path './node_modules/*' | head; echo \"---\"; echo \"NODE_USE_ENV_PROXY=$NODE_USE_ENV_PROXY CDP_URL=$CDP_URL <env-var>=$<env-var>\"; which node npm python3 pip3 uv 2>&1",
    "cd <host-path> && grep -rn \"mcp:demo\\|mcp demo\" --include=*.md --include=*.json . 2>/dev/null | grep -v node_modules | head -20; echo ---; find . -path ./node_modules -prune -o -type d -iname '*contact*' -print | head; echo ---; ls <host-path>; ls -la <host-path> 2>&1; echo ---; sed -n 1,80p <host-path>",
    "cd <host-path> && grep -n '^#' README.md | head -80; echo ---; grep -n -i 'install\\|bun \\|npm \\|zig\\|craft ' README.md | head -60; echo ---; cat craft; echo ---; which bun zig node npm 2>&1; cat /etc/os-release | head -2",
    "cd <host-path> && sed -n 326,372p README.md; echo ---; ls packages; echo ---; cat pantry.jsonc; echo; cat deps.yaml | head -40; echo ---; ls <host-path> 2>&1 | head -2; git -C <host-path> rev-parse HEAD 2>&1 | head -1",
    "cd <host-path> && grep -n '\"build:core\"\\|\"scripts\"' -A3 package.json | head; grep -n 'build:core' package.json; echo ---; which pantry bun zig gtk 2>&1; dpkg -l | grep -E 'libgtk-3-dev|libwebkit2gtk-4.1-dev' | head -3; echo ---; curl -sS -m 15 -o /dev/null -w '%{http_code}\\n' https://bun.sh 2>&1; curl -sS -m 15 -o /dev/null -w '%{http_code}\\n' https://ziglang.org 2>&1; curl -sS -m 15 -o /dev/null -w '%{http_code}\\n' https://github.com 2>&1; env | grep -i proxy",
    "cd <host-path> && sed -n 1,60p scripts/zig.ts; grep -rn 'pantry' scripts/ CLAUDE.md AGENTS.md 2>/dev/null | head -10",
    "export DEBIAN_FRONTEND=noninteractive; (sudo apt-get update -qq && sudo apt-get install -y -qq libgtk-3-dev libwebkit2gtk-4.1-dev unzip xz-utils) > /tmp/apt.log 2>&1; echo apt=$?; tail -3 /tmp/apt.log; curl -fsSL https://bun.sh/install | bash > /tmp/bun.log 2>&1; echo bun=$?; tail -3 /tmp/bun.log; ls ~/.bun/bin 2>&1",
    "export PATH=$HOME/.bun/bin:$PATH; curl -fsSL https://bun.sh/install | bash -s \"bun-v1.3.14\" > /tmp/bun2.log 2>&1; echo bun=$?; $HOME/.bun/bin/bun --version; export NODE_USE_ENV_PROXY=1; bun add -g pantry > /tmp/pantry.log 2>&1; echo pantry=$?; tail -5 /tmp/pantry.log; which pantry; ls $HOME/.bun/bin",
    "export PATH=$HOME/.bun/bin:$PATH NODE_USE_ENV_PROXY=1; sudo apt-get install -y -qq build-essential libexpat1-dev > /tmp/apt2.log 2>&1; echo apt=$?; bun add -g pantry > /tmp/pantry.log 2>&1; echo pantry=$?; tail -5 /tmp/pantry.log; grep -i 'err' /tmp/pantry.log | head -5",
    "export PATH=$HOME/.bun/bin:$PATH:$HOME/.bun/install/global/node_modules/.bin NODE_USE_ENV_PROXY=1; cd <host-path> && tail -3 /tmp/apt2.log; which pantry; timeout 900 pantry install > /tmp/pinstall.log 2>&1; echo rc=$?; tail -25 /tmp/pinstall.log",
    "ls ~/.bun/bin; ls ~/.bun/install/global/node_modules/ | head; cat ~/.bun/install/global/node_modules/pantry/package.json | grep -A3 '\"bin\"'",
    "cd ~/.bun/install/global/node_modules/pantry && ls; grep -n '\"bin\"' -A4 package.json; cat package.json | head -30",
    "export PATH=$HOME/.bun/bin:$PATH NODE_USE_ENV_PROXY=1; bun remove -g pantry >/dev/null 2>&1; curl -fsSL -m 30 https://pantry.sh/install.sh -o /tmp/pinst.sh; echo rc=$?; head -c 600 /tmp/pinst.sh; echo; curl -sS -m 20 https://registry.npmjs.org/@stacksjs%2Fpantry -o /tmp/reg.json; echo rc=$?; python3 -c \"import json;d=json.load(open('/tmp/reg.json'));print(d.get('dist-tags'),d.get('description'))\" 2>&1 | head -3",
    "export PATH=$HOME/.bun/bin:$PATH NODE_USE_ENV_PROXY=1; curl -sS -m 20 https://pantry.sh/ | grep -io 'curl[^<\"]*\\|bun add[^<\"]*\\|npm i[^<\"]*\\|install[^<\"]\\{0,80\\}' | sort -u | head -20; echo ---; curl -sS -m 20 https://registry.npmjs.org/pantry-cli -o /tmp/r2.json; python3 -c \"import json;d=json.load(open('/tmp/r2.json'));print(d.get('dist-tags'),d.get('description'))\" 2>&1|head -2; cat <host-path> | head -5",
    "cd <host-path> && grep -rn -i 'pantry' .github | head -10; echo ---; grep -n 'pantry' pantry.lock | head -5; echo ---; sed -n 1,30p pantry.lock | cut -c1-200; echo ---; cat /tmp/r2.json | head -c 300",
    "curl -sS -m 30 -L https://github.com/pantry-pm/pantry/releases/latest 2>&1 | grep -o 'releases/tag/[^\"]*' | head -3; curl -sS -m 20 https://api.github.com/repos/pantry-pm/pantry/releases/latest | python3 -c \"import json,sys;d=json.load(sys.stdin);print(d.get('tag_name'));[print(a['name'],a['browser_download_url']) for a in d.get('assets',[])]\" 2>&1 | head -30",
    "mkdir -p <host-path> && cd <host-path> && curl -fsSL -m 300 -O https://github.com/pantry-pm/pantry/releases/download/v0.11.92/pantry-linux-x64.zip && curl -fsSL -m 60 -O https://github.com/pantry-pm/pantry/releases/download/v0.11.92/release-manifest.json && ls -la && python3 -c \"import json;d=json.load(open('release-manifest.json'));print(json.dumps(d)[:600])\"; sha256sum pantry-linux-x64.zip; unzip -o -q pantry-linux-x64.zip -d bin && find bin -maxdepth 2 | head; ",
    "chmod +x <host-path> && export PATH=<host-path> NODE_USE_ENV_PROXY=1 && cd <host-path> && timeout 1200 pantry install > /tmp/pinstall.log 2>&1; echo rc=$?; tail -30 /tmp/pinstall.log | cut -c1-300",
    "cd <host-path> && find . -newer README.md -not -path '*/node_modules/*' -type f | head -30",
    "ls /tmp/ | head -30; find / -name bun.lock -path '*craft*' -not -path '*/proc/*' 2>/dev/null | grep -v '^<host-path>' | head -5; cd <host-path> && ls -la --time-style=full-iso bun.lock pantry.lock craft craft.toml 2>&1",
    "mkdir -p <host-path> && cd <host-path> && curl -fsSL -m 120 -o src.tgz https://codeload.github.com/home-lang/craft/tar.gz/b71d2e84a539e728a3ee9be6fe86a7f846f49802; echo rc=$?; ls -la; tar -tzf src.tgz | head -2; mkdir -p x && tar -xzf src.tgz -C x --strip-components=1 && cd <host-path> && diff -rq pristine/x workspace -x pantry -x node_modules 2>&1 | head -40",
    "cp <host-path> <host-path> && cd <host-path> && diff -rq pristine/x workspace -x pantry -x node_modules; export PATH=<host-path> NODE_USE_ENV_PROXY=1; cd <host-path> && (eval \"$(pantry env)\" 2>/dev/null; which zig; zig version 2>&1 | head -2); timeout 1500 bun run build:core > /tmp/build.log 2>&1; echo build=$?; tail -25 /tmp/build.log | cut -c1-300",
    "cp <host-path> <host-path>; export PATH=<host-path> NODE_USE_ENV_PROXY=1 CRAFT_ZIG=<host-path>; cd <host-path> && timeout 1500 bun run build:core > /tmp/build.log 2>&1; echo build=$?; tail -25 /tmp/build.log | cut -c1-300; cmp pantry.lock <host-path> && echo LOCK_SAME",
    "cd <host-path> && ls -la packages/zig/zig-out/bin/ 2>&1; ./packages/zig/zig-out/bin/craft --help 2>&1 | head -60; echo rc=$?; grep -rli 'mcp' packages/zig/src 2>/dev/null | head",
    "cd <host-path> && grep -n 'zig-out\\|CRAFT\\|build:core\\|output' /tmp/build.log | head; tail -40 /tmp/build.log | cut -c1-300; ls packages/zig | head -30; find / -name craft -type f -newer /tmp/build.log 2>/dev/null | head -3",
    "cd <host-path> && find . -path ./pantry -prune -o \\( -name 'zig-out' -o -name '.zig-cache' \\) -print 2>/dev/null | head; find / -xdev -type f -name craft -newer <host-path> 2>/dev/null | head -5; grep -n 'installArtifact\\|addExecutable' packages/zig/build.zig | head; grep -n 'build.*craft\\|name = \"craft\"\\|\"craft\"' packages/zig/build.zig | head",
    "cd <host-path> && sed -n 60,120p scripts/zig.ts; echo ---; cd packages/zig && timeout 1200 <host-path> build -Doptimize=ReleaseSafe -Dversion=$(python3 -c \"import json;print(json.load(open('../../package.json'))['version'])\") > /tmp/zigbuild.log 2>&1; echo zig=$?; tail -30 /tmp/zigbuild.log | cut -c1-300; ls zig-out/bin 2>&1",
    "cd <host-path> && cat build.zig.zon; echo ---; grep -rn 'zig-js' build.zig | head; ls <host-path> 2>&1; grep -n -i 'zig-js\\|Libraries' <host-path> <host-path> <host-path> -r 2>/dev/null | head -10",
    "cd <host-path> && sed -n 44,60p build.zig; grep -n 'zig_js' build.zig | head; echo ---; for u in https://github.com/home-lang/zig-js https://github.com/home-lang/Libraries; do curl -s -o /dev/null -w \"$u %{http_code}\\n\" -m 20 $u; done",
    "cd <host-path> && timeout 1200 <host-path> build -Doptimize=ReleaseSafe -Djs-runtime=false -Dversion=0.0.234 > /tmp/zigbuild2.log 2>&1; echo zig=$?; tail -8 /tmp/zigbuild2.log | cut -c1-300; ls zig-out/bin 2>&1",
    "export PATH=<host-path> NODE_USE_ENV_PROXY=1 CRAFT_ZIG=<host-path>; cd <host-path> && timeout 900 bun run build:core; echo \"rc=$?\"; cmp pantry.lock <host-path> && echo LOCK_SAME",
    "cd <host-path> && ./zig-out/bin/craft --help 2>&1 | head -60; echo rc=$?; ./zig-out/bin/craft --version 2>&1 | head -3; echo \"DISPLAY=$DISPLAY WAYLAND=$WAYLAND_DISPLAY\"; which Xvfb xvfb-run 2>&1",
    "cd <host-path> && sed -n 627,647p README.md; export DEBIAN_FRONTEND=noninteractive; sudo apt-get install -y -qq xvfb xauth > /tmp/apt3.log 2>&1; echo xvfb=$?; tail -2 /tmp/apt3.log; which Xvfb xvfb-run",
    "(nohup Xvfb :99 -screen 0 1280x800x24 > /tmp/xvfb.log 2>&1 &); sleep 2; cd <host-path> && export DISPLAY=:99 && timeout 25 ./zig-out/bin/craft --html \"<h1>Craft smoke</h1>\" --title \"Smoke\" --quit-on-close --log-level info > /tmp/craft-run.log 2>&1; echo rc=$?; tail -30 /tmp/craft-run.log | cut -c1-250",
    "sed -n 80,200p <host-path>",
    "grep -n \"timeout\\|def cli\\|def http\\|def main\\|--validate\\|probe.json\\|expected_text\\|'start'\" <host-path> | head -60",
    "sed -n 295,460p <host-path>",
    "cd <host-path> && grep -rn '\"--[a-z-]*\"' src/*.zig | grep -i 'exit\\|timeout\\|duration\\|auto\\|test\\|screenshot\\|headless\\|eval' | head -20; grep -rn 'getenv\\|environ' src/*.zig | grep -i 'CRAFT_' | head -20",
    "cd <host-path> && sed -n 590,615p src/cli.zig; grep -n 'eval' src/cli.zig | head -20",
    "cd <host-path> && timeout 20 ./zig-out/bin/craft --eval \"1+2\" ; echo rc=$?; grep -n 'js_runtime\\|js-runtime' src/*.zig | head -5; sed -n 745,755p src/cli.zig",
    "cd <host-path> && export DISPLAY=:99; timeout 40 ./zig-out/bin/craft --benchmark --html \"<h1>Craft smoke</h1>\" > /tmp/bench.log 2>&1; echo rc=$?; tail -5 /tmp/bench.log | cut -c1-200",
    "cd <host-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'\n{\"checks\":[\n {\"check\":\"install\",\"kind\":\"cli\",\"argv\":[\"<host-path>\",\"--version\"],\"cwd\":\"<host-path>\",\"env\":{}},\n {\"check\":\"start\",\"kind\":\"cli\",\"argv\":[\"<host-path>\",\"--benchmark\",\"--html\",\"<h1>Craft smoke</h1>\"],\"cwd\":\"<host-path>\",\"env\":{\"DISPLAY\":\":99\"}}\n]}\nEOF\npython3 -c \"import json;json.load(open('.coldpass/probe.json'));print('json ok')\"; <env-var>=<host-path> python3 -I <host-path> --validate; echo rc=$?; grep -n 'pantry\\|zig-out\\|zig-cache\\|node_modules' .gitignore | head",
    "cd <host-path> && cat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"blocked\",\n\"operation\":\"Build craft's native core (README 'Build from Source': pantry install, then build:core). Verified start of the native window binary under Xvfb with craft --benchmark --html (window created, prints 'ready', exit 0). The README's run command (craft http://localhost:3000) is a long-running GUI and cannot be a terminating probe.\",\n\"operation_scope\":\"Partial. The default build (bun run build:core) fails because the first-party sibling checkout ../../../../Libraries/zig-js (declared in packages/zig/build.zig.zon) is absent and is not public (github.com/home-lang/zig-js returns 404). Verified only with -Djs-runtime=false (opt-out documented in build.zig). Not verified: the JS runtime, --eval, and the TypeScript SDK path. Requires Xvfb/WebKitGTK for the start check.\",\n\"steps\":[\"apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev unzip xz-utils (then xvfb xauth; build-essential/libexpat failed on dpkg lock, not needed by the final path)\",\n\"curl -fsSL https://bun.sh/install | bash -s bun-v1.3.14 (bun 1.3.14 matches pantry.jsonc pin)\",\n\"Downloaded pantry-pm/pantry v0.11.92 linux-x64 zip from GitHub releases, verified sha256 61593ef8... against release-manifest.json, unzipped to <host-path>\",\n\"pantry install (in <host-path>) - installed bun.sh 1.3.14 and ziglang.org 0.17.0-dev.1963_e00c6c439 into ./pantry and 252 JS packages\",\n\"Restored pantry.lock from pinned commit tarball (pantry install rewrote it; verified byte-identical to b71d2e84 source afterwards)\",\n\"CRAFT_ZIG=<workspace>/pantry/ziglang.org/v0.17.0-dev.1963_e00c6c439/bin/zig bun run build:core - FAILED: failed to open ../../../../Libraries/zig-js: FileNotFound (configure step)\",\n\"cd packages/zig && zig build -Doptimize=ReleaseSafe -Djs-runtime=false -Dversion=0.0.234 - succeeded, produced packages/zig/zig-out/bin/craft\",\n\"craft --version -> 'craft version 0.0.234' ; craft --benchmark --html '<h1>Craft smoke</h1>' with DISPLAY=:99 (Xvfb) -> 'ready', exit 0\",\n\"Ran check.py --validate -> valid; probe.json written with install (craft --version) and start (craft --benchmark) checks\"],\n\"deviations\":[\"npm/bun 'pantry' package is an unrelated Postmedia library: 'pantry install' was not available from npm; used the real pantry-pm/pantry GitHub release instead (v0.11.92; CI pins v0.11.66 action).\",\n\"pantry install: 'Patch failed for ts-maps' warning; ts-maps patch is a pantry-side patch and did not block the install.\",\n\"pantry install and 'eval $(pantry env)' rewrote pantry.lock; restored from pinned tarball. bun.lock unchanged.\",\n\"bun run build:core failed on the missing sibling zig-js (see scope). Built instead with zig build -Djs-runtime=false, which build.zig documents as the opt-out; this is not the README's default build.\",\n\"The README run command (craft http://localhost:3000) and craft --html are interactive windows that never exit, so the probe uses --benchmark, which is a product flag (not in the README) that creates the window and exits.\",\n\"Earlier stuck step (npm run mcp:demo, src/contacts) does not exist in this repo (home-lang/craft at b71d2e84): no src/contacts, no mcp:demo script, and craft is not an MCP server. Not reproduced; not applicable here.\"],\n\"stuck_step\":\"bun run build:core (README 'Build from Source' > Build)\",\n\"main_blocker\":\"Default build requires sibling checkout ../../../../Libraries/zig-js (packages/zig/build.zig.zon, .zig_js path dependency), which is absent from the guest and not available publicly (github.com/home-lang/zig-js 404). This is a prerequisite (first-party dependency not in the repo and not documented in the README), not a source defect I can fix here.\",\n\"fault_owner\":\"prerequisite\",\n\"suggested_fix\":\"Provide the zig-js sibling checkout at the path declared in packages/zig/build.zig.zon (or publish zig-js and switch to a .url dependency), then rerun bun run build:core. Alternatively, add the sibling-checkout requirement and the -Djs-runtime=false opt-out to the README Build from Source section, or make zig_js a lazy dependency so the no-JS build works without it. No source was changed; no repo patch exported.\"}\nEOF\npython3 -c \"import json;d=json.load(open('.coldpass/report.json'));print(d['outcome'])\"; cd <host-path> && diff -rq pristine/x workspace -x pantry -x node_modules -x .coldpass -x packages 2>&1 | head; diff -rq pristine/x/packages workspace/packages -x zig-out -x .zig-cache -x node_modules 2>&1 | head -5; <env-var>=<host-path> python3 -I <host-path> --validate",
    "cd <host-path> && ls <host-path> 2>&1; (cd <host-path> && ls pristine 2>&1); ./packages/zig/zig-out/bin/craft --version 2>&1; grep -n '\"version\"' packages/zig/build.zig.zon 2>/dev/null | head -2; grep -rn \"pantry\" .github/workflows/*.yml 2>/dev/null | head -3; ls pantry 2>/dev/null | head; ls <host-path> 2>&1 | head -2; cmp <(tar -xzOf <host-path> --wildcards '*pantry.lock' 2>/dev/null) pantry.lock && echo LOCK_SAME",
    "cd <host-path> && rm -f .coldpass/report.json && cat > report.json <<'EOF'\n{\"outcome\":\"blocked\",\n\"operation\":\"README 'Build from Source' (pantry install, then bun run build:core), then a terminating start check of the built craft binary: craft --benchmark --html '<h1>Craft smoke</h1>' under Xvfb (DISPLAY=:99), which prints 'ready' and exits 0. craft --version prints 'craft version 0.0.234'.\",\n\"operation_scope\":\"Partial. The default build (bun run build:core) fails because the sibling checkout ../../../../Libraries/zig-js (declared as .zig_js path dependency in packages/zig/build.zig.zon) is absent in the VM. A build with -Djs-runtime=false succeeded and was used for the start check. Not verified: the JS runtime, craft --eval, the GUI run command from the README (craft http://localhost:3000), which never exits, and the TypeScript SDK path.\",\n\"steps\":[\"Installed bun 1.3.14 (pinned in the repo).\",\n\"Installed the pantry binary from the pantry-pm/pantry v0.11.92 GitHub release (the npm package named 'pantry' is an unrelated library). Verified its checksum against release-manifest.json.\",\n\"Ran pantry install in the workspace. It provisioned bun and ziglang.org 0.17.0-dev.1963_e00c6c439 under ./pantry.\",\n\"Restored pantry.lock from the pinned-commit tarball after pantry install and pantry env rewrote it. Verified byte-identical afterwards.\",\n\"CRAFT_ZIG=<workspace>/pantry/ziglang.org/v0.17.0-dev.1963_e00c6c439/bin/zig bun run build:core failed: error: failed to open '../../../../Libraries/zig-js': FileNotFound.\",\n\"cd packages/zig && zig build -Doptimize=ReleaseSafe -Djs-runtime=false succeeded and produced packages/zig/zig-out/bin/craft.\",\n\"craft --version and craft --benchmark --html '<h1>Craft smoke</h1>' (DISPLAY=:99) both succeeded; the benchmark run printed 'ready' and exited 0.\",\n\"Wrote .coldpass/probe.json with install and start checks. check.py --validate returned valid with no problems.\"],\n\"deviations\":[\"Used the pantry GitHub release binary instead of the npm package named 'pantry'.\",\n\"pantry install printed 'Patch failed for ts-maps'. It was a warning only; the install continued. Not investigated.\",\n\"pantry install and pantry env rewrote pantry.lock. Restored it from the pinned tarball. Source is otherwise unchanged; generated outputs (pantry/, node_modules/, zig-out/, .zig-cache/) are gitignored.\",\n\"Default bun run build:core failed on the missing zig-js sibling. Used zig build -Djs-runtime=false, the opt-out already present in build.zig. This is not the README's default build.\",\n\"The probe uses --benchmark, a craft flag not documented in the README, because the README run command opens a GUI window that never exits and the checker has no timeout.\",\n\"The earlier failure in the 'src/contacts' README (npm run mcp:demo, create_contact on a calendar-only server) does not apply to this repo. No src/contacts, no mcp:demo script, and craft is not an MCP server. Not reproduced.\"],\n\"stuck_step\":\"bun run build:core (README 'Build from Source')\",\n\"main_blocker\":\"The default build needs the first-party sibling checkout ../../../../Libraries/zig-js (packages/zig/build.zig.zon). It is absent in the VM, and github.com/home-lang/zig-js returned 404.\",\n\"fault_owner\":\"prerequisite\",\n\"suggested_fix\":\"Provide the zig-js checkout at the path declared in build.zig.zon, or switch to a published zig-js URL dependency. Alternatively, document the sibling requirement and the -Djs-runtime=false opt-out in the README Build from Source section, or make zig_js lazy so the no-JS build works without it. No source was changed.\"}\nEOF\npython3 -c \"import json;print(json.load(open('report.json'))['outcome'])\" && <env-var>=<host-path> python3 -I <host-path> --validate"
  ],
  "platform_conflicts": null,
  "claims_note": null,
  "maintained_note": null,
  "repo": "craft-native/craft",
  "service_tier": null,
  "maintained": null,
  "source_pin": null,
  "operation_scope": "partial checks",
  "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:01:51.973196+00:00",
  "kind": "repo",
  "resources": {
    "cpus": 2,
    "memory_mib": 2048,
    "disk_mib": 16384
  },
  "error_excerpt": "README smoke check did not pass",
  "pass": false,
  "evidence_version": null,
  "source_revision": null,
  "run_id": "craft-native--craft-claude-haiku-5-5-1792306236845809288",
  "last_release_at": null,
  "furthest_model": null,
  "model": "claude-haiku-5-5",
  "what_it_did": null,
  "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-readme",
  "tokens_in": 1587097,
  "tested_at": null,
  "test_version": "readme-abaaed6c5ddc0f8631cfa10d4c8c742b7bda7e8962f3be427f935e46fb8e20ec",
  "recovery": {
    "source": "legacy-oct16-18",
    "original_run_id": "craft-native--craft-claude-haiku-5-5-1792306236845809288",
    "historical": true,
    "ledger_sha256": "c5e6a833c182c1e2aecf69d0bd0020aec63c65d98f3e933e4b32232340312736"
  },
  "transcript_url": "/transcripts/craft-native--craft-claude-haiku-5-5-1792306236845809288.txt",
  "report_url": "/reports/craft-native--craft-claude-haiku-5-5-1792306236845809288.json"
}
