33 read sites across 25 files used BOM-intolerant encoding='utf-8'. Windows tooling BOMs files it touches; json.load on a BOM'd file fails with 'Expecting value'. Reads now use utf-8-sig (writes unchanged). check-windows-footguns.py --all: 33 → 0.
33 read sites across 25 files used BOM-intolerant encoding='utf-8'. Windows tooling BOMs files it touches; json.load on a BOM'd file fails with 'Expecting value'. Reads now use utf-8-sig (writes unchanged). check-windows-footguns.py --all: 33 → 0.