Observed
Sets 21-27 baseline wave (99 boards, 2026-08-09/10, commit fa1e71f). 10 boards shipped with same-net duplicate/overlapping segments that route.py itself disclosed as stacked-copper:
| board |
count |
pocat_comms (set24) |
11, from the final GND reconciliation pass |
universal_badge_led (set21) |
10 on GND, both F.Cu and B.Cu |
cm4_edge_ai (set21) |
6 (1 GND, 5 +5V) |
granit_cm5 (set23) |
5 on +5VP/F.Cu |
peaksat_comms (set22) |
3 (GND B.Cu, GND F.Cu, /RF/uhf-frontend/5V_RX_U B.Cu) |
| +5 more |
|
The common origin the boards report is repeated reconciliation / rescue / plane-finalize passes across multiple route.py invocations laying copper over copper that is already there.
This is deliberate disclosure, not a bug — hence enhancement
CLAUDE.md documents the current contract: the writer drops exact via re-emissions before writing, and whatever still stacks is named in the summary rather than shipped silently. So the reporting is working as designed and KiCad's DRC will never flag same-net overlaps.
The gap is that nothing then removes it. The copper is redundant: no electrical effect, invisible to grading, but real material on the board and extra segments in every downstream file.
Requested
A trim pass over same-net overlapping segments before write — merge collinear overlaps, drop fully-contained duplicates. The router already detects them precisely enough to count and locate them per net and layer, so the detection half exists; only the removal is missing.
Worth confirming the trim is safe for the zone/fill model before enabling by default (a segment that looks redundant may be the only thing tying a pour region), so an opt-in flag first would be reasonable.
Impact
Route quality / manufacturing cleanliness. No correctness consequence observed in this wave.
Observed
Sets 21-27 baseline wave (99 boards, 2026-08-09/10, commit
fa1e71f). 10 boards shipped with same-net duplicate/overlapping segments thatroute.pyitself disclosed asstacked-copper:pocat_comms(set24)universal_badge_led(set21)cm4_edge_ai(set21)+5V)granit_cm5(set23)+5VP/F.Cupeaksat_comms(set22)/RF/uhf-frontend/5V_RX_UB.Cu)The common origin the boards report is repeated reconciliation / rescue / plane-finalize passes across multiple
route.pyinvocations laying copper over copper that is already there.This is deliberate disclosure, not a bug — hence
enhancementCLAUDE.mddocuments the current contract: the writer drops exact via re-emissions before writing, and whatever still stacks is named in the summary rather than shipped silently. So the reporting is working as designed and KiCad's DRC will never flag same-net overlaps.The gap is that nothing then removes it. The copper is redundant: no electrical effect, invisible to grading, but real material on the board and extra segments in every downstream file.
Requested
A trim pass over same-net overlapping segments before write — merge collinear overlaps, drop fully-contained duplicates. The router already detects them precisely enough to count and locate them per net and layer, so the detection half exists; only the removal is missing.
Worth confirming the trim is safe for the zone/fill model before enabling by default (a segment that looks redundant may be the only thing tying a pour region), so an opt-in flag first would be reasonable.
Impact
Route quality / manufacturing cleanliness. No correctness consequence observed in this wave.