generate_icons.py --check was RED on 23 targets — committed files diverged from icon-master.svg output (large stale binaries: logo.png 1.3MB→60KB, icon.icns 1.5MB→94KB). Regenerated via the single-master pipeline; --check now passes. Also gates the icons-freshness-check CI lane that ci.yaml calls.