{
  "buildinfo": {
    "_hints": {
      "related": [
        "/health",
        "/workspace/health",
        "/ports"
      ],
      "usage": "Compare build_sha to `git rev-parse HEAD` of the commit you built. Equal = running code is the code you shipped. Unequal = STALE build; rebuild before testing behavior."
    },
    "build_dirty": "true",
    "build_epoch": "1791475493",
    "build_local": "Oct 8 11:04 AM",
    "build_sha": "003dd6124c1eb68f6f9dcb5ab23698cb7714455f",
    "build_stamp": "003dd6124c1eb68f6f9dcb5ab23698cb7714455f-dirty-1791475493",
    "dev": false,
    "install_path": "C:\\Users\\Water\\AppData\\Local\\Adom Hydrogen\\hydrogen.exe",
    "instance_id": "hd-50460-18dcf74d8bd7d988",
    "narrative": "Running exe IS build 003dd6124c1eb68f6f9dcb5ab23698cb7714455f-dirty (built Oct 8 11:04 AM). If this equals the SHA you pushed, your build shipped; if not, it's STALE, rebuild before trusting any behavior.",
    "ok": true,
    "pid": 50460
  },
  "context": "app",
  "device": {
    "arch": "AMD64",
    "arch_process": "AMD64",
    "computer_name": "H2O",
    "cpu": "Intel64 Family 6 Model 197 Stepping 2, GenuineIntel",
    "cpu_count": "16",
    "cpu_name": "Intel(R) Core(TM) Ultra 9 285H",
    "display_version": "25H2",
    "manufacturer": "ASUSTeK COMPUTER INC.",
    "model": "ROG Zephyrus G16 GU605CR_GU605CR",
    "os_arch": "64-bit",
    "ram_gb": 31.4,
    "system_type": "x64-based PC",
    "windows": "Microsoft Windows 11 Home",
    "windows_build": "26200",
    "windows_version": "10.0.26200",
    "wsl_distros": "NAME              STATE           VERSION\r\n* Ubuntu            Running         2\r\n  Adom-Workspace    Running         2\r\n  docker-desktop    Stopped         2",
    "wsl_version": "WSL version: 2.7.10.0\r\nKernel version: 6.18.33.2-2\r\nWSLg version: 1.0.73.2\r\nMSRDC version: 1.2.6676\r\nDirect3D version: 1.611.1-81528511\r\nDXCore version: 10.0.26100.1-240331-1435.ge-release\r\nWindows version: 10.0.26200.9457",
    "wslconfig": "[wsl2]\r\n# Cap VM memory so indexing spikes can't starve Windows (host has 31 GB)\r\nmemory=19GB\r\n# Generous swap absorbs rust-analyzer / cargo peak usage instead of hard-OOMing the VM\r\nswap=16GB\r\n# Return freed page-cache memory to Windows gradually\r\n\r\nnetworkingMode=mirrored\r\nguiApplications=false\r\n[experimental]\r\nautoMemoryReclaim=gradual\r\n"
  },
  "diagnostics": {
    "_hints": {
      "expected": "16/16 checks should pass for a healthy system",
      "if_failures": "Each check has a 'fix' field with remediation steps. Common: workspace (restart the WSL2 distro), claude-auth (re-authenticate)",
      "related": [
        "/diagnostics/<check-name>",
        "/container-status",
        "/claude/status",
        "/wsl/status"
      ]
    },
    "checks": [
      {
        "check": "wsl-plane",
        "duration_ms": 55,
        "message": "WSL management plane answering (fresh wsl.exe probe)",
        "ok": true
      },
      {
        "check": "workspace",
        "details": {
          "distro": "Adom-Workspace",
          "runtime": "wsl2"
        },
        "duration_ms": 0,
        "message": "Workspace runtime is the WSL2 Adom-Workspace distro",
        "ok": true
      },
      {
        "check": "api-key",
        "details": {
          "api_response": "{\"id\":\"677ef8ffb4a9e01751cafda1\",\"name\":\"AdityaAngajala\",\"avatar_hash\":\"3bbfb8369b610f2e47d04a6dc855d510\",\"avatar_url\":\"https://cdn.adom.inc/avatars/3bbfb8369b610f2e47d04a6dc855d510.png\",\"email\":\"adit",
          "key_preview": "a_9Vze...aSGW",
          "path": "/var/run/adom/api-key"
        },
        "duration_ms": 170,
        "message": "API key installed and valid (a_9Vze...aSGW)",
        "ok": true
      },
      {
        "check": "env-vars",
        "details": {
          "ADOM_CARBON_URL": "http://127.0.0.1:50062",
          "ADOM_DESKTOP_MODE": "local",
          "ADOM_HYDROGEN_URL": "http://127.0.0.1:50062",
          "VSCODE_PROXY_URI": "http://{{port}}.localhost:50062/"
        },
        "duration_ms": 15,
        "message": "All 4 required vars set",
        "ok": true
      },
      {
        "check": "adom-cli",
        "details": {
          "output": "/usr/local/bin/adom-cli\n{\n  \"carbon_url\": null,\n  \"hydrogen_url\": null,\n  \"api_token\": null\n}\ntoken_source: [redacted]:/var/run/adom/api-key\n"
        },
        "duration_ms": 21,
        "message": "adom-cli installed and configured",
        "ok": true
      },
      {
        "check": "adom-cli-api",
        "details": {
          "output": "Checking Carbon API at http://127.0.0.1:50062...\nCarbon API is up:\n{\n  \"browser_connected\": true,\n  \"carbon_reachable\": true,\n  \"ok\": true,\n  \"service\": \"hd-proxy\",\n  \"sse_connections\": 1,\n  \"window_mode\": \"webview\"\n}\n"
        },
        "duration_ms": 114,
        "message": "Carbon API reachable via adom-cli",
        "ok": true
      },
      {
        "check": "sse",
        "details": {
          "browser_connected": true,
          "sse_connections": 1,
          "window_mode": "webview"
        },
        "duration_ms": 2,
        "message": "1 SSE connection(s), browser_connected=true",
        "ok": true
      },
      {
        "check": "webview",
        "details": {
          "latency_ms": 1,
          "method": "read-only GET (no test tab)"
        },
        "duration_ms": 1,
        "message": "Workspace tab API reachable (1ms)",
        "ok": true
      },
      {
        "check": "code-server",
        "details": {
          "port": 7380,
          "status": 200
        },
        "duration_ms": 130,
        "message": "200 on :7380",
        "ok": true
      },
      {
        "check": "extensions",
        "details": {
          "count": 5,
          "extensions": [
            "Extensions installed on localhost:7380:",
            "adom.adom-theme",
            "adom.adom-vscode",
            "anthropic.claude-code",
            "openai.chatgpt"
          ]
        },
        "duration_ms": 206,
        "message": "adom.adom-vscode + anthropic.claude-code installed",
        "ok": true
      },
      {
        "check": "claude-installed",
        "details": {
          "path": "/home/adom/.local/bin/claude\n",
          "version": "2.1.296 (Claude Code)\n"
        },
        "duration_ms": 63,
        "message": "claude 2.1.296 (Claude Code)",
        "ok": true
      },
      {
        "check": "claude-auth",
        "details": {
          "has_tokens": true,
          "path": "/home/adom/.claude/.credentials.json"
        },
        "duration_ms": 7,
        "message": "Claude Code credentials file exists with tokens",
        "ok": true
      },
      {
        "check": "skills",
        "details": {
          "adompkg_module_count": 34,
          "adompkg_present": false,
          "skill_count": 331,
          "skill_md_exists": true
        },
        "duration_ms": 144,
        "message": "331 skills deployed (34 adompkg modules)",
        "ok": true
      },
      {
        "check": "relay",
        "details": {
          "connectedClients": 1,
          "httpPort": 8766,
          "status": "ok",
          "tokenWarning": "This relay accepts the well-known DEVELOPMENT token, which is published in the              adom-bridge docs. Anyone who knows this relay's URL can join it and drive every              desktop connected to it. Rotate: restart with `adom-bridge-cli serve --supervise --token              <secret>` (or set ADOM_AUTH_TOKEN) and update each desktop's server entry auth_token to match.",
          "usingDefaultToken": true,
          "wsPort": 8765
        },
        "duration_ms": 16,
        "message": "Relay healthy on :8766 inside container",
        "ok": true
      },
      {
        "check": "ports",
        "details": {
          "ports": [
            {
              "accessible": true,
              "name": "code-server",
              "port": 7380
            }
          ]
        },
        "duration_ms": 14,
        "message": "All 1 workspace ports accessible",
        "ok": true
      },
      {
        "check": "identity",
        "duration_ms": 9,
        "message": "Identity established via api-key + session (legacy adom-identity.json not used)",
        "ok": true
      },
      {
        "check": "adom-bridge",
        "details": {
          "ping_ok": true,
          "ping_roundtrip_ms": 4,
          "relay_health": {
            "connectedClients": 1,
            "httpPort": 8766,
            "status": "ok",
            "tokenWarning": "This relay accepts the well-known DEVELOPMENT token, which is published in the              adom-bridge docs. Anyone who knows this relay's URL can join it and drive every              desktop connected to it. Rotate: restart with `adom-bridge-cli serve --supervise --token              <secret>` (or set ADOM_AUTH_TOKEN) and update each desktop's server entry auth_token to match.",
            "usingDefaultToken": true,
            "wsPort": 8765
          },
          "relay_http_ok": true,
          "relay_uptime": null,
          "relay_version": null
        },
        "duration_ms": 41,
        "message": "Relay HTTP healthy (via code-server proxy)",
        "ok": true
      },
      {
        "check": "adom-bridge-direct",
        "details": {
          "discovered_via": "discovery-file",
          "health": {
            "instanceId": "ab-23660-08b51cc8dc5e4109",
            "ok": true,
            "pid": 23660,
            "service": "adom-bridge"
          },
          "port": 24680
        },
        "duration_ms": 2,
        "message": "ab direct API healthy on :24680 (found via discovery-file)",
        "ok": true
      }
    ],
    "duration_ms": 1023,
    "failed": 0,
    "ok": true,
    "passed": 18,
    "total": 18
  },
  "health": {
    "_hints": {
      "eval": "POST /eval with {\"js\":\"...\"} returns the JS result. Use for DOM queries. Never use /eval to click buttons, use /ai-cursor/click instead.",
      "next": "Check /workspace/health for the WSL editor, /container-status for workspace state, /claude/status for Claude auth, /diagnostics/all for full system health",
      "related": [
        "/workspace/health",
        "/buildinfo",
        "/ports",
        "/container-status",
        "/claude/status",
        "/diagnostics/all",
        "/wsl/status"
      ]
    },
    "build_dirty": "true",
    "build_epoch": "1791475493",
    "build_local": "Oct 8 11:04 AM",
    "build_sha": "003dd6124c1eb68f6f9dcb5ab23698cb7714455f",
    "narrative": "HD control API is up. Running exe is build 003dd6124c1eb68f6f9dcb5ab23698cb7714455f (built Oct 8 11:04 AM). Compare build_sha to `git rev-parse HEAD` to confirm it's the code you shipped.",
    "ok": true,
    "port": 50063,
    "service": "hydrogen-desktop-control"
  },
  "hydrogen_version": "1.0.579",
  "machine": "H2O",
  "reported_at": "2026-10-13T21:56:46Z",
  "setup_state": {
    "_hints": {
      "note": "Setup state: 'never-run' | 'in-progress' | 'complete' | 'error'. POST /setup/state to update. POST /setup/run-all to re-trigger full setup.",
      "related": [
        "/setup-status",
        "/setup/trigger",
        "/setup/run-all"
      ]
    },
    "ok": true,
    "state": "complete"
  },
  "wsl_status": {
    "_hints": {
      "note": "Lightweight WSL2 distro status (registered/running/host-reachable). For the deeper 'will the editor actually load' check (in-distro process + listener), use /workspace/health.",
      "related": [
        "/workspace/health",
        "/wsl/unregister",
        "/setup/run-all",
        "/setup/virgin-reset"
      ]
    },
    "code_server_port": 7380,
    "distro": "Adom-Workspace",
    "host_reachable": true,
    "ok": true,
    "registered": true,
    "running": true
  }
}