Prime Robot Tools 0.1.0 is tested against pybricksdev==2.3.2 (release commit 65210a2).
The service uses these upstream library interfaces rather than parsing CLI output:
pybricksdev.ble.find_device()to discover a hub advertising the Pybricks BLE service.pybricksdev.connections.pybricks.PybricksHubBLEfor the persistent Windows BLE connection.PybricksHub.stdout_observableandstatus_observablefor program output and execution state.compile_multi_file()for MPY compilation.download_user_program(),start_user_program(), andstop_user_program()for the program lifecycle.
Two private compatibility seams are intentionally isolated:
pybricks_adapter.pyreads_capability_flagsand_max_user_program_sizebecausepybricksdev 2.3.2does not publicly expose the negotiated MPY ABI or maximum program size.compiler.pyreplaces pybricksdev's private_run_mpy_toolcallback with an in-process call to the same vendored mpy-tool. The upstream implementation startssys.executable -m ..., which cannot work after the service is frozen becausesys.executablepoints to the service EXE.
The runtime build executes a frozen compile self-test so this packaging-specific failure cannot silently reach a release.
Hardware validation is still required on the target Windows laptop and SPIKE Prime hub. Mock tests prove ordering and protocol behavior but cannot prove Windows BLE driver behavior.