The venv is a per-machine artifact and stays out of git; the bats auto-create it on first run but only installed bleak - pyserial (required by UART OTA) was missing on a fresh machine. Both bats now install from requirements-ble.txt (bleak==3.0.2, pyserial==3.5).