{
  "checker": {
    "details": {
      "argv": [
        "/opt/node22/bin/npm",
        "run",
        "build"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "(node:6944) [UNDICI-EHPA] Warning: EnvHttpProxyAgent is experimental, expect them to change at any time.\n(Use `node --trace-warnings ...` to show where the warning was created)\n(node:6956) [UNDICI-EHPA] Warning: EnvHttpProxyAgent is experimental, expect them to change at any time.\n(Use `node --trace-warnings ...` to show where the warning was created)\n(node:6968) [UNDICI-EHPA] Warning: EnvHttpProxyAgent is experimental, expect them to change at any time.\n(Use `node --trace-warnings ...` to show where the warning was created)\n(node:6975) [UNDICI-EHPA] Warning: EnvHttpProxyAgent is experimental, expect them to change at any time.\n(Use `node --trace-warnings ...` to show where the warning was created)\n(node:6982) [UNDICI-EHPA] Warning: EnvHttpProxyAgent is experimental, expect them to change at any time.\n(Use `node --trace-warnings ...` to show where the warning was created)\n(node:6994) [UNDICI-EHPA] Warning: EnvHttpProxyAgent is experimental, expect them to change at any time.\n(Use `node --trace-warnings ...` to show where the warning was created)\n[excerpt truncated]",
      "stdout": "kB\ndist/assets/bubble-DgewkF7R.js                                           3.73 kB \u2502 gzip:   1.14 kB\ndist/assets/button-B2gHlKzH.js                                           3.79 kB \u2502 gzip:   1.29 kB\ndist/assets/questionnaire-animated-DRJvrhkD.js                           3.80 kB \u2502 gzip:   1.00 kB\ndist/assets/turn-status-DaKQxyIX.js                                      3.89 kB \u2502 gzip:   1.63 kB\ndist/assets/react-dom-DWJ5yAmS.js                                        3.89 kB \u2502 gzip:   1.41 kB\ndist/assets/questionnaire-dialog-DbRJ8TZQ.js                             3.95 kB \u2502 gzip:   1.04 kB\ndist/assets/useRenderElement-4NbMQaS-.js                                 3.98 kB \u2502 gzip:   1.70 kB\ndist/assets/questionnaire-controlled-BuDNm_jK.js                         4.00 kB \u2502 gzip:   1.13 kB\ndist/assets/questionnaire-card-B6A1V-nI.js                               4.03 kB \u2502 gzip:   1.07 kB\ndist/assets/overview-B6N7NF3Z.js                                         4.03 kB \u2502 gzip:   1.47 kB\ndist/assets/composer-D_fhlx6S.js                                         4.03 kB \u2502 gzip:   1.79 kB\n[excerpt truncated]",
      "working": true
    },
    "status": "PASS"
  },
  "deviations": [
    "README 'Run' lists npm install; used npm ci (lockfile, as CI does).",
    "Guest apt Node v18 failed npm ci with 'npm ERR! code E500' from registry and EBADENGINE warnings for vite 8; installed Node 22 from nodejs.org instead and reran npm ci successfully.",
    "Probe uses absolute /opt/node22/bin/npm and sets PATH so the npm script can find node."
  ],
  "main_blocker": null,
  "operation": "npm run build (README 'Run' section): runs docs + registry generation, then vite build into dist/",
  "operation_scope": "Static build of the Solid Glass site. Does not start the dev server or exercise the browser; no credentials needed.",
  "outcome": "working",
  "steps": [
    "Read README.md 'Run' section and .github/workflows/checks.yml",
    "apt-get install nodejs npm (provided Node v18.19.1, too old)",
    "Installed Node v22.22.0 from nodejs.org tarball to /opt/node22 (matches CI node-version 22)",
    "export NODE_USE_ENV_PROXY=1; npm ci (rc=0)",
    "npm run build (rc=0): built in 4.00s"
  ],
  "stuck_step": null,
  "suggested_fix": null
}
