{
  "checker": {
    "details": {
      "argv": [
        "/usr/bin/npm",
        "run",
        "build"
      ],
      "kind": "cli",
      "needs_browser": false,
      "needs_credentials": false,
      "returncode": 0,
      "scope": "product operation",
      "stderr": "[plugin vite:reporter] \n(!) /workspace/web_client/src/services/supabase_service.js is dynamically imported by /workspace/web_client/src/services/router_service.js but also statically imported by /workspace/web_client/src/components/eshop/db_orders.js, /workspace/web_client/src/components/forms/db_forms.js, /workspace/web_client/src/components/forms/order_delivery_status.js, /workspace/web_client/src/components/forms/waitlist_commands.js, /workspace/web_client/src/components/occasion/db_occasions.js, /workspace/web_client/src/components/users/user_header.js, /workspace/web_client/src/main.js, /workspace/web_client/src/services/auth_service.js, /workspace/web_client/src/services/google_auth_service.js, /workspace/web_client/src/services/rights_service.js, dynamic import will not move module into another chunk.\n\n[plugin vite:reporter] \n(!) /workspace/web_client/src/services/rights_service.js is dynamically imported by /workspace/web_client/src/services/router_service.js but also statically imported by /workspace/web_client/src/components/forms/form_page.js, /workspace/web_client/src/components/users/login_modal.js, /workspace/web_client/src/components/users/user_header.js, /workspace/\n[excerpt truncated]",
      "stdout": "\n> festapp-web-client@0.20.1 build\n> vite build\n\nvite v7.3.6 building client environment for production...\ntransforming...\n\u2713 271 modules transformed.\nrendering chunks...\ncomputing gzip size...\ndist/index.html                                  12.31 kB \u2502 gzip:   4.04 kB\ndist/web-assets/FuturaPTBook-CllV_rS_.ttf        94.82 kB\ndist/web-assets/FuturaPTMedium-Blo3J6Ks.ttf      98.14 kB\n[excerpt truncated]",
      "working": true
    },
    "status": "PASS"
  },
  "deviations": [
    "Guest default Node is v18.19.1 (apt nodejs); `npm ci` warned EBADENGINE (needs ^20.19 || >=22.12) and `npm run build` failed with 'crypto.hash is not a function' under Vite 7 on Node 18. Fix: installed Node 22.23.3 via `npm install --prefix /opt/node22 node@22` and ran with PATH=/opt/node22/node_modules/.bin first. No repository source was modified.",
    "README 'Testing' suite (npm test / ./automation/test_all.sh) intentionally not run per smoke-task instructions."
  ],
  "main_blocker": null,
  "operation": "Web client production build: `npm run build` (vite build) in web_client/, which emits dist/ with index.html and web-assets.",
  "operation_scope": "Covers install + production bundle build of the standalone web client only. Not exercised: `npm run dev` server, Flutter app, database/SQL tests, Edge Functions, browser/CDP flows, and the full test suite (`./automation/test_all.sh`, `npm test`), which were intentionally not run per smoke-task scope. The Flutter app and the README-documented Supabase <email> were not contacted.",
  "outcome": "working",
  "steps": [
    "README.md '## Development' > 'Running the Web Client': cd web_client && npm install (executed as `npm ci` against package-lock.json, 128 packages, 0 vulnerabilities)",
    "README.md '## Development' > 'Running the Web Client': npm run build (vite build) \u2014 passed, rc=0, built in ~3s, dist/ produced",
    "Re-ran `npm run build` in a clean env (env -i) with PATH pointing to Node 22 \u2014 rc=0"
  ],
  "stuck_step": null,
  "suggested_fix": "Install Node >= 20.19 (or 22.12+) in the guest or document the engine requirement in web_client/README.md; the README's Setup step does not mention the Node version."
}
