Pyro / protocol-subprocess smoke (Flex external 10.0.0-alpha.0)
Validation checklist for Pyro5 IPC on KansasFLEX after installing external v10.0.0-alpha.0 (same product line as former internal ot3@4.0.0-alpha.N; hardware + protocol subprocess flags default on). Prefer full robot reboot for recovery. Nameserver/hardware-api grouped restart later Closed RQA-5789 / RQA-5790 on v10.0.0-alpha.3 (oe-core#373 PartOf=). Narrative: docs/pyro-testing.md. Parent bug epic: RQA-5831.
v10.0.0-alpha.010.0.0-alpha.0Harness commands
uv run flex-test inspect uv run flex-test probe --no-picture ALLOW_MUTATIONS=true uv run flex-test put 10.0.0-alpha.0 --channel external ssh -i ~/.ssh/robot_key -o IdentitiesOnly=yes root@$ROBOT_HOST
Tests
| ID | Plan |
|---|---|
| A1 Systemd pyro stack active pass |
Nameserver must precede hardware-api and robot-server for IPC.
|
| A2 OT3API registered on nameserver pass |
Hardware entrypoint notifies ready only after OT3API is listed.
|
| A3 Health OK with HW proxy path pass |
robot-server identify_hardware_process depends on NS + OT3API.
|
| A4 Nameserver restart recovery skipped |
Historical; producers should re-register or fail clearly.
|
| A5 Hardware-api restart reattach skipped |
Historical; robot-server must refresh OT3API proxy after HW daemon URI changes.
|
| B1 Instruments and subsystems via HTTP pass |
Lower-line IPC must serve robot-server instrument inventory.
|
| B2 Module nested proxies skipped |
Nested module proxies when hardware is attached.
|
| B3 Door open/close via HTTP pass |
Door watcher / HW door events must surface through robot-server.
|
| C1 Create run registers ot-protocol pass |
Run lifetime should own a protocol subprocess + NS name.
|
| C2 Protocol analysis completes pass |
Analysis path uses simulating / subprocess machinery.
|
| C3a Idle run actions contract pass |
Actions must cross robot-server to ot-protocol Pyro boundary.
|
| C3b Live tip smoke play skipped |
Play must execute motion commands across the protocol subprocess boundary.
|
| C6 Uncurrent tears down process blocked |
Protocol process lifetime should match run record create to uncurrent.
|
| D1 Door enum via HTTP pass |
DoorState must serialize through robot-server product path.
|
| D7 Subsystems status healthy pass |
Regression check for subsystem serialization issues.
|