Skip to content

Propagate package paths to robot drivers - #27

Merged
temiroff merged 1 commit into
masterfrom
agent/propagate-driver-package-paths
Jul 29, 2026
Merged

Propagate package paths to robot drivers#27
temiroff merged 1 commit into
masterfrom
agent/propagate-driver-package-paths

Conversation

@temiroff

Copy link
Copy Markdown
Owner

What changed

  • build a managed-driver environment that includes the blacknode-robot package root
  • add every installed extension repository under BLACKNODE_PACKAGE_PATH to child PYTHONPATH
  • preserve an existing PYTHONPATH while de-duplicating resolved paths
  • add a real subprocess regression test for extension-module imports

Root cause

Workflow package nodes are loaded into the deployment process dynamically. RobotDriverLauncher then starts the physical driver as a separate Python process, which inherits environment variables but not the parent process's sys.path mutations. The Feetech driver could therefore start ROS but failed on its first canonical telemetry publish when importing blacknode_robot.devices; the Runtime watchdog correctly stopped the deployment after receiving no valid telemetry.

Impact

Managed robot drivers can import the stable contracts and helper modules provided by installed extension packages. Startup remains disarmed, torque release behavior is unchanged, and the required-telemetry watchdog remains enforced.

Validation

  • python -m pytest packages/blacknode-robot/tests -q with the package root on PYTHONPATH: 102 passed, 2 skipped
  • focused launcher tests: 4 passed
  • git diff --check

@temiroff
temiroff merged commit 58b8994 into master Jul 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant