master
John Lauer Preserve BQ independent routing, narration and native copper-retention evidence a4b7711 1mo ago
"""Isolated comparison with the impossible all-object same-net rule disabled.
Original source and original-rule reports are preserved.
"""
import json,xml.etree.ElementTree as ET
from geometry import ROOT
changes=[]
for src,out in [('bq25792-hand-routed-reference.brd','bq25792-reference-rule-check.brd'),('bq25792-astra-candidate.brd','bq25792-candidate-rule-check.brd'),('bq25792-astra-unrouted.brd','bq25792-unrouted-rule-check.brd')]:
 t=ET.parse(ROOT/src);r=t.find("drawing/board/designrules/rules/rule[@name='Same-net track spacing']")
 assert r is not None and r.get('onescope')=='all' and r.get('otherscope')=='all' and r.get('samesignal')=='yes'
 changes.append({'source':src,'output':out,'before':dict(r.attrib),'change':{'enabled':'no'}});r.set('enabled','no');t.write(ROOT/out,encoding='utf-8',xml_declaration=True)
(ROOT/'rule-diagnostic-manifest.json').write_text(json.dumps(changes,indent=2))