You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fbuild-deploy: enumerate supported deploy protocols per board; fail fast on unsupported #692
Today's fbuild deploy stack accepts a deploy method (esptool, pyocd, 1200bps, future dfu-util, etc.) and tries it; if the board doesn't support that method, the failure surfaces as a 30-180s timeout or a backend-specific error that doesn't say "this board doesn't do OTA." For a user who picks the wrong upload_protocol, the experience is "it hangs."
This issue asks for explicit per-board enumeration of supported deploy methods and a fail-fast guard up front.
LPC845-BRK supports CMSIS-DAP/pyocd only — no OTA, no esptool.
Teensy supports HID bootloader only — no OTA.
STM32 with USART boot ROM: DFU + USART, no native OTA.
RP2040: BOOTSEL → MSC drag-drop, OR picotool DFU, no OTA.
A bash autoresearch lpc845brk --use-ota attempt today hangs trying esptool or just silently doesn't work depending on which path is taken. The user expectation is "fail fast with a clear message."
Proposed shape
PlatformIO board JSON already has upload.protocol + upload.protocols (array). fbuild reads it. Add a pre-deploy filter:
Error: deploy method 'ota' is not supported on board 'lpc845brk'.
Supported: cmsis-dap, mbed.
Use `bash autoresearch lpc845brk` (default: cmsis-dap) instead of
`--use-ota`.
Acceptance criteria
validate_deploy_method runs in the top-level orchestrator before any backend is selected.
Error carries board, requested, supported so the user gets all three in one read.
CI test that picks an unsupported method per board family and asserts the right error.
Default --use-XXXX flag → board's first supported protocol when no flag is passed.
Activity
docs(agents): agents/docs/ MVP + root CLAUDE.md routing table (#695) (#…
feat(deploy): per-board deploy method validation + fail-fast (#692) (#…