[
  {
    "verb": "kicad_ipc_api",
    "args": {
      "enable": true
    },
    "response": {
      "_hint": "IPC API server is enabled. Pass enable:true|false to change it (KiCad must then be restarted).",
      "_timeoutHint": "ab waits up to 130s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure \u2014 the work usually keeps running on the bridge. Poll `kicad_status` until it reports done.",
      "bridgeVersion": "0.9.342",
      "changed": false,
      "durationMs": 36,
      "enabled": true,
      "error": "",
      "file": "C:/Users/azureuser/AppData/Roaming/kicad/10.0/kicad_common.json",
      "kicadSettingsVersion": "10.0",
      "kicadVersionUsed": "10.0",
      "needsRestart": false,
      "output": "",
      "schemaVersion": 1,
      "status": "ok",
      "statusVerb": "kicad_status",
      "success": true,
      "timeoutSeconds": 130
    }
  },
  {
    "verb": "kicad_open_board",
    "args": {
      "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb"
    },
    "response": {
      "_autoDialogs": {
        "count": 1,
        "dialogs": [
          {
            "action": "left-running",
            "benign": true,
            "body": "Loading C:\\Users\\azureuser\\Documents\\adom-kicad-verbtest\\rp2040-breakout.kicad_sch...  Elapsed time:  0:00:00",
            "progress": true,
            "title": "Load Schematic"
          }
        ],
        "hadError": false
      },
      "_foregroundHint": "Window opened in the BACKGROUND - the user's foreground was not touched. To show it to the user: re-call with foreground:true AND foregroundReason:'<why the user needs to see this>'. The bridge captions the reason via an ab toast for 3 seconds, then brings the window forward. Foreground without a reason is refused.",
      "_hint": "WARNING: KiCad may show modal dialogs (save prompts, file warnings, format errors) that block further commands. ALWAYS check kicad_window_info for hasModalDialogs after this command. If true, use kicad_screenshot_all to capture ALL windows including dialogs, pull_file to get screenshots to Docker, then read the dialog screenshot to decide how to handle it (force close, dismiss, retry).",
      "_timeoutHint": "ab waits up to 130s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure \u2014 the work usually keeps running on the bridge. Poll `kicad_status` until it reports done.",
      "_userFocusRestored": false,
      "_windowLabeledFor": "KiCad release verification",
      "bridgeVersion": "0.9.342",
      "durationMs": 363,
      "error": "",
      "kicadVersionUsed": "10.0",
      "openedInBackground": true,
      "output": "Launched PCB board editor with release-check-20260907.kicad_pcb",
      "progress": {
        "confidence": "typical",
        "elapsedSec": 0.1,
        "estimatedSec": 0.1,
        "etaSec": 0.0,
        "measured": {
          "phase": "kicad.show_2d_board",
          "seconds": 0.05,
          "startKind": "warm"
        },
        "percent": 100,
        "phase": "kicad.show_2d_board",
        "startKind": "warm",
        "stepLabel": "done"
      },
      "schemaVersion": 1,
      "status": "ok",
      "statusVerb": "kicad_status",
      "success": true,
      "timeoutSeconds": 130,
      "windowEtiquette": "background"
    }
  },
  {
    "verb": "kicad_open_schematic",
    "args": {
      "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/rp2040-breakout.kicad_sch"
    },
    "response": {
      "_autoDialogs": {
        "count": 3,
        "dialogs": [
          {
            "action": "clicked-button",
            "benign": true,
            "body": "Could not use OpenGL, falling back to software rendering  OpenGL 2.1 or higher is required!",
            "screenshot": "C:/Users/AZUREU~1/AppData/Local/Temp/adom-bridge-shots/window-462402-1788805380409.png",
            "title": "Information"
          },
          {
            "action": "clicked-button",
            "benign": true,
            "body": "Could not use OpenGL, falling back to software rendering  OpenGL 2.1 or higher is required!",
            "screenshot": "C:/Users/AZUREU~1/AppData/Local/Temp/adom-bridge-shots/window-199070-1788805381711.png",
            "title": "Information"
          },
          {
            "action": "clicked-button",
            "benign": true,
            "body": "Could not use OpenGL, falling back to software rendering  OpenGL 2.1 or higher is required!",
            "screenshot": "C:/Users/AZUREU~1/AppData/Local/Temp/adom-bridge-shots/window-5309734-1788805382229.png",
            "title": "Information"
          }
        ],
        "hadError": false
      },
      "_foregroundHint": "Window opened in the BACKGROUND - the user's foreground was not touched. To show it to the user: re-call with foreground:true AND foregroundReason:'<why the user needs to see this>'. The bridge captions the reason via an ab toast for 3 seconds, then brings the window forward. Foreground without a reason is refused.",
      "_hint": "WARNING: KiCad may show modal dialogs (save prompts, file warnings, format errors) that block further commands. ALWAYS check kicad_window_info for hasModalDialogs after this command. If true, use kicad_screenshot_all to capture ALL windows including dialogs, pull_file to get screenshots to Docker, then read the dialog screenshot to decide how to handle it (force close, dismiss, retry).",
      "_timeoutHint": "ab waits up to 130s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure \u2014 the work usually keeps running on the bridge. Poll `kicad_status` until it reports done.",
      "_userFocusRestored": false,
      "_windowLabeledFor": "KiCad release verification",
      "bridgeVersion": "0.9.342",
      "durationMs": 2778,
      "error": "",
      "kicadVersionUsed": "10.0",
      "openedInBackground": true,
      "output": "Launched schematic editor with rp2040-breakout.kicad_sch",
      "progress": {
        "confidence": "typical",
        "elapsedSec": 0.0,
        "estimatedSec": 0.0,
        "etaSec": 0.0,
        "measured": {
          "phase": "kicad.show_schematic",
          "seconds": 0.04,
          "startKind": "warm"
        },
        "percent": 100,
        "phase": "kicad.show_schematic",
        "startKind": "warm",
        "stepLabel": "done"
      },
      "schemaVersion": 1,
      "status": "ok",
      "statusVerb": "kicad_status",
      "success": true,
      "timeoutSeconds": 130,
      "windowEtiquette": "background"
    }
  },
  {
    "verb": "desktop_list_windows",
    "args": {},
    "response": {
      "durationMs": 25,
      "error": "",
      "output": "{\"data\":{\"_hint\":null,\"degraded\":false,\"windows\":[{\"className\":\"wxWindowNR\",\"enabled\":true,\"hung\":false,\"hwnd\":462302,\"image\":\"pcbnew.exe\",\"kind\":\"normal\",\"maximized\":false,\"minimized\":false,\"owner\":0,\"pid\":6244,\"rect\":{\"bottom\":720,\"height\":720,\"left\":0,\"right\":1280,\"top\":0,\"width\":1280},\"title\":\"[no footprint loaded] \u2014 Footprint Editor\",\"z\":0},{\"className\":\"wxWindowNR\",\"enabled\":true,\"hung\":false,\"hwnd\":4261200,\"image\":\"pcbnew.exe\",\"kind\":\"normal\",\"maximized\":true,\"minimized\":false,\"owner\":0,\"pid\":6244,\"rect\":{\"bottom\":1240,\"height\":1248,\"left\":-8,\"right\":2056,\"top\":-8,\"width\":2064},\"title\":\"rp2040-breakout \u2014 PCB Editor\",\"z\":1},{\"className\":\"wxWindowNR\",\"enabled\":true,\"hung\":false,\"hwnd\":1117528,\"image\":\"eeschema.exe\",\"kind\":\"normal\",\"maximized\":true,\"minimized\":false,\"owner\":0,\"pid\":5220,\"rect\":{\"bottom\":1240,\"height\":1248,\"left\":-8,\"right\":2056,\"top\":-8,\"width\":2064},\"title\":\"rp2040-breakout \u2014 Schematic Editor\",\"z\":2},{\"className\":\"Tauri Window\",\"enabled\":true,\"hung\":false,\"hwnd\":1639704,\"image\":\"hydrogen.exe\",\"kind\":\"normal\",\"maximized\":false,\"minimized\":false,\"owner\":0,\"pid\":9332,\"rect\":{\"bottom\":1210,\"height\":1179,\"left\":51,\"right\":2013,\"top\":31,\"width\":1962},\"title\":\"Hydrogen  v1.0.202 \u00b7 release \u00b7 Sep 5 7:55 AM \u00b7 signed \u00b7 AB 2.1.68\",\"z\":3},{\"className\":\"Chrome_WidgetWin_1\",\"enabled\":true,\"hung\":false,\"hwnd\":15664808,\"image\":\"chrome.exe\",\"kind\":\"normal\",\"maximized\":false,\"minimized\":false,\"owner\":0,\"pid\":15140,\"rect\":{\"bottom\":1222,\"height\":1212,\"left\":10,\"right\":2038,\"top\":10,\"width\":2028},\"title\":\"Pup - Puppeteer Bridge - Adom Wiki - Google Chrome for Testing\",\"z\":4}]},\"message\":\"Found 5 visible windows\"}",
      "schemaVersion": 1,
      "status": "ok",
      "success": true,
      "timeoutSeconds": 10
    }
  },
  {
    "verb": "kicad_errors",
    "args": {},
    "response": {
      "_autoDialogs": {
        "count": 4,
        "dialogs": [
          {
            "action": "clicked-button",
            "benign": true,
            "body": "Could not use OpenGL, falling back to software rendering  OpenGL 2.1 or higher is required!",
            "screenshot": "C:/Users/AZUREU~1/AppData/Local/Temp/adom-bridge-shots/window-788492-1788805387223.png",
            "title": "Information"
          },
          {
            "action": "clicked-button",
            "benign": true,
            "body": "Could not use OpenGL, falling back to software rendering  OpenGL 2.1 or higher is required!",
            "screenshot": "C:/Users/AZUREU~1/AppData/Local/Temp/adom-bridge-shots/window-462442-1788805387754.png",
            "title": "Information"
          },
          {
            "action": "clicked-button",
            "benign": false,
            "body": "Schematic  'C:\\Users\\azureuser\\Documents\\adom-kicad-verbtest\\rp2040-breakout.kicad_sch' is already  open by 'azureuser' at 'winvm'.  Interleaved saves may produce very unexpected results.",
            "screenshot": "C:/Users/AZUREU~1/AppData/Local/Temp/adom-bridge-shots/window-527978-1788805388553.png",
            "title": "File Open Warning"
          },
          {
            "action": "clicked-button",
            "benign": false,
            "body": "PCB 'release-check-20260907.kicad_pcb' is already open by 'azureuser' at 'winvm'.  Interleaved saves may produce very unexpected results.",
            "screenshot": "C:/Users/AZUREU~1/AppData/Local/Temp/adom-bridge-shots/window-200808-1788805389604.png",
            "title": "File Open Warning"
          }
        ],
        "hadError": true
      },
      "_dialogHint": "\u26a0 KiCad popped 4 dialog(s) during this verb (non-benign: \"File Open Warning\", \"File Open Warning\"). Each was screenshotted (see _autoDialogs[].screenshot + .body) and auto-expired so you're unblocked. If your verb 'failed'/'did not open', this dialog is almost certainly why \u2014 read the body and act on it.",
      "_hint": "KiCad has NO log file and in GUI mode its errors go to DIALOGS, not stderr \u2014 so this is where a GUI failure reason lives. Read-only: nothing is clicked or raised. THREE channels, use all three: (1) this verb; (2) kicad_log_tail for what bypasses wxLog \u2014 crashes, asserts, stdio; (3) kicad_screenshot_all when the first two say nothing and the result is still wrong \u2014 the pixels have no preconditions and remain the floor under any automation loop. Dismiss with kicad_dismiss_dialogs (which DOES foreground, so caption first).",
      "_timeoutHint": "ab waits up to 130s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure \u2014 the work usually keeps running on the bridge. Poll `kicad_status` until it reports done.",
      "bridgeVersion": "0.9.342",
      "count": 0,
      "dialogs": [],
      "durationMs": 4389,
      "error": "",
      "kicadVersionUsed": "10.0",
      "output": "",
      "schemaVersion": 1,
      "status": "ok",
      "statusVerb": "kicad_status",
      "success": true,
      "timeoutSeconds": 130,
      "windowSource": "ad:desktop_list_windows"
    }
  },
  {
    "verb": "kicad_status",
    "args": {},
    "response": {
      "_hint": "If alive=0 but you expect a running KiCad, the adom_bridge.py plugin isn't deployed at its USER_SITE location. Call kicad_install_plugin to force a fresh deploy (auto-install runs once per bridge boot; the explicit verb bypasses the cache). Otherwise the file is stale \u2014 pass pruneStale:true to clean those up. v1.7.6+ supports multiple instances per exe (one row per PID).",
      "_timeoutHint": "ab waits up to 130s for this verb before the request times out. If it's a long operation (cloud open / download / export), DON'T treat a timeout as failure \u2014 the work usually keeps running on the bridge. Poll `kicad_status` until it reports done.",
      "bridgeVersion": "0.9.342",
      "durationMs": 61,
      "error": "",
      "kicadVersionUsed": "10.0",
      "output": "",
      "plugins": [
        {
          "alive": true,
          "discoveryFile": "C:/Users/AZUREU~1/AppData/Local/Temp/adom-kicad-bridge-pcbnew-3204.json",
          "endpoint": "http://127.0.0.1:8872/rpc",
          "exeName": "pcbnew",
          "pid": 3204,
          "port": 8872,
          "requestCount": 0,
          "startedAt": "2026-09-07T18:22:58.887000Z",
          "uptimeMs": 12837,
          "version": "0.9.2"
        },
        {
          "alive": true,
          "discoveryFile": "C:/Users/AZUREU~1/AppData/Local/Temp/adom-kicad-bridge-pcbnew-6244.json",
          "endpoint": "http://127.0.0.1:8871/rpc",
          "exeName": "pcbnew",
          "pid": 6244,
          "port": 8871,
          "requestCount": 2,
          "startedAt": "2026-09-07T18:22:33.650000Z",
          "uptimeMs": 38080,
          "version": "0.9.2"
        }
      ],
      "schemaVersion": 1,
      "status": "ok",
      "statusVerb": "kicad_status",
      "success": true,
      "summary": {
        "alive": 2,
        "total": 2
      },
      "timeoutSeconds": 130
    }
  }
]