app
KiCad - the KiCad Bridge
Public Made by Adomby adom
Reference implementation of the KiCad bridge: multi-instance Python server, forward path via kicad-cli, reverse path via in-process plugin. Most complex of the three bundled bridges.
← Commit history
Routing evidence from winvm (Codex, 0.9.340 one-net acceptance) ported from the PR 82 branch
1 file changed
+749
demo/routing/evidence/winvm-2026-09-07.jsonadded+749@@ -0,0 +1,749 @@+{+ "date": "2026-09-07",+ "host": "winvm",+ "abVersion": "2.1.68",+ "kicadVersion": "10.0.6",+ "bridgeVersion": "0.9.340",+ "releaseSha256": "84c6b60b8cc484c502e2cc78274c9016957f0aeb9f5a34ec82b83b89f7dce68f",+ "scope": "One-net live IPC acceptance on disposable six-net fixture, not whole-board routing or electrical sign-off",+ "checks": {+ "dryRun": true,+ "staleRevisionRejected": true,+ "wrongNetRejected": true,+ "liveCommit": true,+ "nativeUndo": true,+ "nativeRedo": true,+ "removeRoute": true,+ "returnedToUnrouted": true+ },+ "records": [+ {+ "verb": "kicad_routing_state",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb"+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "boardPath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb",+ "revision": "d04187168f99a61592bba5f5bd17a4eaf3ab1a2e05670f068e1870789760c54f",+ "source": "live-editor",+ "netsRemaining": [+ "NET_1",+ "NET_2",+ "NET_3",+ "NET_4",+ "NET_5",+ "NET_6"+ ],+ "segmentCount": 0,+ "viaCount": 0+ }+ },+ {+ "verb": "kicad_route_net",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb",+ "expectedRevision": "d04187168f99a61592bba5f5bd17a4eaf3ab1a2e05670f068e1870789760c54f",+ "net": "NET_1",+ "width": 0.25,+ "points": [+ "J1.1",+ [+ 112,+ 85+ ],+ [+ 138,+ 85+ ],+ "J2.1"+ ],+ "dryRun": true+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "revision": "d04187168f99a61592bba5f5bd17a4eaf3ab1a2e05670f068e1870789760c54f",+ "dryRun": true,+ "drc": {+ "clean": false,+ "errors": 0,+ "projectRulesCopied": [],+ "source": "live-editor-snapshot",+ "unconnected": 6,+ "unconnectedItems": [+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 6 [NET_6] of J1",+ "pos": {+ "x": 105.0,+ "y": 110.0+ },+ "uuid": "3d334398-b224-4f80-b176-09d31bce8458"+ },+ {+ "description": "PTH pad 1 [NET_6] of J3",+ "pos": {+ "x": 125.0,+ "y": 116.0+ },+ "uuid": "e6ff0f60-ddff-4083-9082-849ebf06f759"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ },+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 1 [NET_6] of J3",+ "pos": {+ "x": 125.0,+ "y": 116.0+ },+ "uuid": "e6ff0f60-ddff-4083-9082-849ebf06f759"+ },+ {+ "description": "PTH pad 6 [NET_6] of J2",+ "pos": {+ "x": 145.0,+ "y": 110.0+ },+ "uuid": "522a7227-4339-48c3-b477-dc9f2bd2d1a1"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ },+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 2 [NET_2] of J1",+ "pos": {+ "x": 105.0,+ "y": 90.0+ },+ "uuid": "e7dd8e25-b62f-44df-aaf8-2aedee11818a"+ },+ {+ "description": "PTH pad 2 [NET_2] of J2",+ "pos": {+ "x": 145.0,+ "y": 90.0+ },+ "uuid": "1907c87e-19d3-4e00-b9d2-cd8b568cec43"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ },+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 3 [NET_3] of J1",+ "pos": {+ "x": 105.0,+ "y": 95.0+ },+ "uuid": "8504368c-eb14-4118-962a-346d30cf1ba2"+ },+ {+ "description": "PTH pad 3 [NET_3] of J2",+ "pos": {+ "x": 145.0,+ "y": 95.0+ },+ "uuid": "bdc606a6-5234-4d68-9b97-af444f1f0616"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ },+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 4 [NET_4] of J1",+ "pos": {+ "x": 105.0,+ "y": 100.0+ },+ "uuid": "cf8bf00a-91a0-43db-bd10-2186c3479dce"+ },+ {+ "description": "PTH pad 4 [NET_4] of J2",+ "pos": {+ "x": 145.0,+ "y": 100.0+ },+ "uuid": "c588684d-e2e9-455a-8b41-7f9a6c0a4a66"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ },+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 5 [NET_5] of J1",+ "pos": {+ "x": 105.0,+ "y": 105.0+ },+ "uuid": "3b59115d-c3e1-4cb8-bbca-93967a13150d"+ },+ {+ "description": "PTH pad 5 [NET_5] of J2",+ "pos": {+ "x": 145.0,+ "y": 105.0+ },+ "uuid": "e38c53dc-7dd6-4461-a573-266d7c76033f"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ }+ ],+ "violations": [+ {+ "description": "The current configuration does not include the footprint library 'RoutingFixture'",+ "items": [+ {+ "description": "Footprint J3",+ "pos": {+ "x": 125.0,+ "y": 116.0+ },+ "uuid": "1835b937-b88a-47d8-8f8b-34ab9b51ec3b"+ }+ ],+ "severity": "warning",+ "type": "lib_footprint_issues"+ },+ {+ "description": "The current configuration does not include the footprint library 'RoutingFixture'",+ "items": [+ {+ "description": "Footprint J1",+ "pos": {+ "x": 105.0,+ "y": 85.0+ },+ "uuid": "237d23c0-9604-4f92-ae39-b797e8c7a3a0"+ }+ ],+ "severity": "warning",+ "type": "lib_footprint_issues"+ },+ {+ "description": "The current configuration does not include the footprint library 'RoutingFixture'",+ "items": [+ {+ "description": "Footprint J2",+ "pos": {+ "x": 145.0,+ "y": 85.0+ },+ "uuid": "c6a7f067-f59d-410c-aac9-86933040c91b"+ }+ ],+ "severity": "warning",+ "type": "lib_footprint_issues"+ }+ ],+ "warnings": 3+ },+ "segmentCount": 3,+ "viaCount": 0+ }+ },+ {+ "verb": "kicad_route_net",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb",+ "expectedRevision": "wrong-revision",+ "net": "NET_1",+ "width": 0.25,+ "points": [+ "J1.1",+ [+ 112,+ 85+ ],+ [+ 138,+ 85+ ],+ "J2.1"+ ]+ },+ "response": {+ "success": false,+ "status": "error",+ "error": "expectedRevision must match the current live board",+ "errorCode": "stale_board",+ "bridgeVersion": "0.9.340",+ "mutated": false+ }+ },+ {+ "verb": "kicad_route_net",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb",+ "expectedRevision": "d04187168f99a61592bba5f5bd17a4eaf3ab1a2e05670f068e1870789760c54f",+ "net": "NET_2",+ "width": 0.25,+ "points": [+ "J1.1",+ [+ 112,+ 85+ ],+ [+ 138,+ 85+ ],+ "J2.1"+ ],+ "dryRun": true+ },+ "response": {+ "success": false,+ "status": "error",+ "error": "Pad J1.1 is not on NET_2",+ "errorCode": "net_mismatch",+ "bridgeVersion": "0.9.340"+ }+ },+ {+ "verb": "kicad_route_net",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb",+ "expectedRevision": "d04187168f99a61592bba5f5bd17a4eaf3ab1a2e05670f068e1870789760c54f",+ "net": "NET_1",+ "width": 0.25,+ "points": [+ "J1.1",+ [+ 112,+ 85+ ],+ [+ 138,+ 85+ ],+ "J2.1"+ ]+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "revision": "5d6e32e2b17cf9bad0c180370d3bf9e1984e0f1a615ac949af335e8d160ace39",+ "mutated": true,+ "itemIds": [+ "cbdb2efa-0490-4d42-8c3b-f3e250953ed5",+ "db30ecbb-8f85-4098-b92c-a77d40e4f597",+ "0e891439-017e-4553-9a10-619187179101"+ ],+ "undoSteps": 1,+ "source": "live-editor",+ "drc": {+ "clean": false,+ "errors": 0,+ "projectRulesCopied": [],+ "source": "live-editor-snapshot",+ "unconnected": 6,+ "unconnectedItems": [+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 6 [NET_6] of J1",+ "pos": {+ "x": 105.0,+ "y": 110.0+ },+ "uuid": "3d334398-b224-4f80-b176-09d31bce8458"+ },+ {+ "description": "PTH pad 1 [NET_6] of J3",+ "pos": {+ "x": 125.0,+ "y": 116.0+ },+ "uuid": "e6ff0f60-ddff-4083-9082-849ebf06f759"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ },+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 1 [NET_6] of J3",+ "pos": {+ "x": 125.0,+ "y": 116.0+ },+ "uuid": "e6ff0f60-ddff-4083-9082-849ebf06f759"+ },+ {+ "description": "PTH pad 6 [NET_6] of J2",+ "pos": {+ "x": 145.0,+ "y": 110.0+ },+ "uuid": "522a7227-4339-48c3-b477-dc9f2bd2d1a1"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ },+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 2 [NET_2] of J1",+ "pos": {+ "x": 105.0,+ "y": 90.0+ },+ "uuid": "e7dd8e25-b62f-44df-aaf8-2aedee11818a"+ },+ {+ "description": "PTH pad 2 [NET_2] of J2",+ "pos": {+ "x": 145.0,+ "y": 90.0+ },+ "uuid": "1907c87e-19d3-4e00-b9d2-cd8b568cec43"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ },+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 3 [NET_3] of J1",+ "pos": {+ "x": 105.0,+ "y": 95.0+ },+ "uuid": "8504368c-eb14-4118-962a-346d30cf1ba2"+ },+ {+ "description": "PTH pad 3 [NET_3] of J2",+ "pos": {+ "x": 145.0,+ "y": 95.0+ },+ "uuid": "bdc606a6-5234-4d68-9b97-af444f1f0616"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ },+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 4 [NET_4] of J1",+ "pos": {+ "x": 105.0,+ "y": 100.0+ },+ "uuid": "cf8bf00a-91a0-43db-bd10-2186c3479dce"+ },+ {+ "description": "PTH pad 4 [NET_4] of J2",+ "pos": {+ "x": 145.0,+ "y": 100.0+ },+ "uuid": "c588684d-e2e9-455a-8b41-7f9a6c0a4a66"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ },+ {+ "description": "Missing connection between items",+ "items": [+ {+ "description": "PTH pad 5 [NET_5] of J1",+ "pos": {+ "x": 105.0,+ "y": 105.0+ },+ "uuid": "3b59115d-c3e1-4cb8-bbca-93967a13150d"+ },+ {+ "description": "PTH pad 5 [NET_5] of J2",+ "pos": {+ "x": 145.0,+ "y": 105.0+ },+ "uuid": "e38c53dc-7dd6-4461-a573-266d7c76033f"+ }+ ],+ "severity": "error",+ "type": "unconnected_items"+ }+ ],+ "violations": [+ {+ "description": "The current configuration does not include the footprint library 'RoutingFixture'",+ "items": [+ {+ "description": "Footprint J3",+ "pos": {+ "x": 125.0,+ "y": 116.0+ },+ "uuid": "1835b937-b88a-47d8-8f8b-34ab9b51ec3b"+ }+ ],+ "severity": "warning",+ "type": "lib_footprint_issues"+ },+ {+ "description": "The current configuration does not include the footprint library 'RoutingFixture'",+ "items": [+ {+ "description": "Footprint J1",+ "pos": {+ "x": 105.0,+ "y": 85.0+ },+ "uuid": "237d23c0-9604-4f92-ae39-b797e8c7a3a0"+ }+ ],+ "severity": "warning",+ "type": "lib_footprint_issues"+ },+ {+ "description": "The current configuration does not include the footprint library 'RoutingFixture'",+ "items": [+ {+ "description": "Footprint J2",+ "pos": {+ "x": 145.0,+ "y": 85.0+ },+ "uuid": "c6a7f067-f59d-410c-aac9-86933040c91b"+ }+ ],+ "severity": "warning",+ "type": "lib_footprint_issues"+ }+ ],+ "warnings": 3+ },+ "segmentCount": 3,+ "viaCount": 0+ }+ },+ {+ "verb": "kicad_routing_state",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb"+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "boardPath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb",+ "revision": "5d6e32e2b17cf9bad0c180370d3bf9e1984e0f1a615ac949af335e8d160ace39",+ "source": "live-editor",+ "netsRemaining": [+ "NET_2",+ "NET_3",+ "NET_4",+ "NET_5",+ "NET_6"+ ],+ "segmentCount": 3,+ "viaCount": 0+ }+ },+ {+ "verb": "kicad_routing_validate",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb"+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "revision": "5d6e32e2b17cf9bad0c180370d3bf9e1984e0f1a615ac949af335e8d160ace39",+ "errors": 0,+ "warnings": 3,+ "unconnected": 6,+ "stale": false,+ "source": "live-editor-snapshot"+ }+ },+ {+ "verb": "kicad_send_key",+ "args": {+ "hwnd": 591366,+ "key": "ctrl+z"+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "data": {+ "cmdId": 20444,+ "foreground": false,+ "hwnd": 591366,+ "menuItem": "Undo",+ "method": "menu-command",+ "title": "*release-check-20260907 \u2014 PCB Editor"+ }+ }+ },+ {+ "verb": "kicad_routing_state",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb"+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "boardPath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb",+ "revision": "d04187168f99a61592bba5f5bd17a4eaf3ab1a2e05670f068e1870789760c54f",+ "source": "live-editor",+ "netsRemaining": [+ "NET_1",+ "NET_2",+ "NET_3",+ "NET_4",+ "NET_5",+ "NET_6"+ ],+ "segmentCount": 0,+ "viaCount": 0+ }+ },+ {+ "verb": "kicad_send_key",+ "args": {+ "hwnd": 591366,+ "key": "ctrl+y"+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "data": {+ "cmdId": 20445,+ "foreground": false,+ "hwnd": 591366,+ "menuItem": "Redo",+ "method": "menu-command",+ "title": "*release-check-20260907 \u2014 PCB Editor"+ }+ }+ },+ {+ "verb": "kicad_routing_state",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb"+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "boardPath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb",+ "revision": "5d6e32e2b17cf9bad0c180370d3bf9e1984e0f1a615ac949af335e8d160ace39",+ "source": "live-editor",+ "netsRemaining": [+ "NET_2",+ "NET_3",+ "NET_4",+ "NET_5",+ "NET_6"+ ],+ "segmentCount": 3,+ "viaCount": 0+ }+ },+ {+ "verb": "kicad_remove_route",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb",+ "expectedRevision": "5d6e32e2b17cf9bad0c180370d3bf9e1984e0f1a615ac949af335e8d160ace39",+ "itemIds": [+ "cbdb2efa-0490-4d42-8c3b-f3e250953ed5",+ "db30ecbb-8f85-4098-b92c-a77d40e4f597",+ "0e891439-017e-4553-9a10-619187179101"+ ]+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "revision": "d04187168f99a61592bba5f5bd17a4eaf3ab1a2e05670f068e1870789760c54f",+ "mutated": true,+ "removedIds": [+ "cbdb2efa-0490-4d42-8c3b-f3e250953ed5",+ "db30ecbb-8f85-4098-b92c-a77d40e4f597",+ "0e891439-017e-4553-9a10-619187179101"+ ],+ "verified": true,+ "undoSteps": 1+ }+ },+ {+ "verb": "kicad_routing_state",+ "args": {+ "filePath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb"+ },+ "response": {+ "success": true,+ "status": "ok",+ "error": "",+ "bridgeVersion": "0.9.340",+ "boardPath": "C:/Users/azureuser/Documents/adom-kicad-verbtest/live/release-check-20260907.kicad_pcb",+ "revision": "d04187168f99a61592bba5f5bd17a4eaf3ab1a2e05670f068e1870789760c54f",+ "source": "live-editor",+ "netsRemaining": [+ "NET_1",+ "NET_2",+ "NET_3",+ "NET_4",+ "NET_5",+ "NET_6"+ ],+ "segmentCount": 0,+ "viaCount": 0+ }+ }+ ]+}