KiCad - the KiCad Bridge
Public Made by Adomby adom
Drive your own KiCad from an AI, in the background: open every editor, read the whole board as data (the EDA Bridge Standard board model), stack-up, part heights, netlists, place, route, pour, DRC and exports.
kicad_remove_route ignores dryRun:true and removes the copper live
What I ran (bridge 1.0.58, KiCad 10.0.5, Windows): kicad_remove_route with filePath, expectedRevision, "dryRun": true and itemIds listing four track segments.
Expected: a preview (what would be removed, the DRC result), mutated: false, the board unchanged, like kicad_silk_text_batch and kicad_move_footprint do with dryRun.
Got (verbatim, trimmed): {"_hint": "Copper removed live. Use KiCad Undo to restore it, or inspect routing_state and route again.", "mutated": true, "removedIds": ["dfe57541-...", "f2f382a9-...", "983d9894-...", "80affb01-..."], "revision": "6067e077...", "success": true, "undoSteps": 1, "verified": true}. The four segments were gone from the live board.
Impact: a caller that dry-runs first (as the other mutating verbs teach) deletes copper without meaning to. Here the removal happened to be the intended change, so I kept it (one native undo step would have restored it). Suggest: honour dryRun (return the items that would go and a DRC preview, no mutation), or refuse unknown/unsupported keys with an error so the caller knows.