The flasher's versions become feed-driven (/releases on the firmware
proxy Worker): config.json's observer entries turn into github release
defs with no embedded filenames, so update-firmware.py would find zero
matches and exit nonzero — remove the call before the config conversion
lands. Changelog notes now ride the release body via a non-fatal
'gh release edit --notes-file firmware-notes.html' in the publish step.
MUST land before the flasher config.json conversion, or the next build
goes red at Update Flasher Config.
Workflow-only commit: pushing this triggers no build.