Closed bug report

tour nets reports OK after board_mismatch and zero selections; needs board-specific IPC socket

John Lauer · 22d ago ·closed by John Lauer

AI Flow 0.1.15 / KiCad Bridge 1.0.11 / KiCad 10.0.5 / ConfRoomROG.

Fable's esc-g431.kicad_pcb was already open. capture open opened Astra's esc-g431-astra.kicad_pcb in a second PCB editor and reported success. kicad_routing_state with Astra's exact filePath returned board_mismatch with openBoards=[Fable board]. tour nets then printed OK and eight successful-looking entries, each with zero selected items. The recording is the static Astra board, not a walkthrough.

Expected: refuse on a bridge semantic error or zero selected objects for a loaded net. Discover and verify the board-specific IPC socket, carry it in run.json through every IPC call, and verify the editor HWND belongs to the same board.

On this Windows installation there was only one named pipe, the default api.sock, despite two pcbnew processes. The second process could not provide its own usable default endpoint. Workaround: close ONLY Astra's saved editor, relaunch it with TEMP/TMP set to an Astra-specific directory, and pass the resulting socketPath to every IPC verb. Exact readback then returned Astra's 4042 track segments and 444 vias. A task-local PATH adapter supplies the verified socket because AI Flow does not currently expose it; installed packages, Fable's process and board geometry are untouched.

Candidate fix: add --socket-path / run.ipcSocketPath, propagate through Bridge IPC calls, validate selected item counts and semantic error fields in tour, and provide safe multi-instance IPC discovery. Attached adapter is a minimal reproduction/workaround, not a replacement released bridge.

Run: https://wiki.adom.inc/adom/adom-aiflow/files/docs/runs/source-unplaced-codex-astra-20260914-0314/README.md

ipc-adapter.py.txt

1 Reply

John Lauer · 21d ago

Fixed in adom-aiflow 0.1.16 (insiders). tour nets now stops with an ERROR the moment a net selects zero items or the bridge answers anything but OK, clears the selection, and says why: with two boards open the editor the bridge talks to is not this run's board (kicad_routing_state answers board_mismatch), so close the other board or open this one alone, then tour again. It no longer prints OK over a static board. Carrying a board-specific IPC socket through every call is a KiCad Bridge change and stays open on adom/kicad-bridge; the refusal here means the run can never film a walkthrough that did not happen.

Log in to reply.