The glob arm-none-eabi-size* matched share/man/.../arm-none-eabi-size.1 before the bin/ binary, so the size step crashed and reported 'unavailable'. Match */bin/arm-none-eabi-size exactly, and degrade gracefully if the size binary is unusable.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
New fw_size_report.py reads the firmware ELF's .free_flash section (exact flash-left) plus flash/RAM usage and the DFU file size. The size, build status, and API-change sections are consolidated into one self-updating PR comment + job summary.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a pull_request workflow that builds the minimal f7 (clean) firmware, publishes it as a downloadable artifact, and reports public-API (api_symbols.csv) changes to the PR via the job summary and a PR comment.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>