Repository navigation
Conversation
74ec597 to
26a38b5
Compare
26a38b5 to
d7affe2
Compare
d7affe2 to
77fa4af
Compare
Review reportUpdated: 2026-10-21. Direct predecessor: #4737.
What changes and why the diff is largeMigrate coordinator/task/teleoperation wire ports to generated messages, keeping existing numerical control and IK values behind explicit adapters. Hosted, keyboard and WebXR producers are updated with their consumers; WebXR adds schema-based browser CDR command encoding. Review mapSuggested entry points: dimos/control/coordinator.py, dimos/control/tasks/pose_target_ik.py, dimos/teleop/hosted/arm_command.py, dimos/teleop/webxr/module.py, dimos/teleop/webxr/web/static/command_codec.mjs. Complete file mapImplementation (20)
Build and dependency metadata (2)
Tests (13)
Documentation and replay inputs (1)
Review focus and scope reductions
ValidationFresh checks on Reproduction commands, not executed here unless stated aboveRun from this PR's own checkout root after installing its documented test dependencies. These are selected review entry points, not a claim of full-stack coverage. uv run pytest dimos/control/test_coordinator_routing.py dimos/control/test_joint_commands.py dimos/control/test_per_robot_joint_states.py
uv run pytest dimos/teleop/hosted/test_arm_command.py dimos/teleop/hosted/test_go2_command.py dimos/teleop/keyboard/test_keyboard_teleop_module.py dimos/teleop/webxr/test_module.py dimos/teleop/webxr/test_blueprints.pyRemaining workInternal legacy value adapters remain because their consumers still use those models. Standalone installed-layer, physical browser/headset and hardware behavior are unverified. Full stack type/graph migration remains WIP. |
77fa4af to
0a72a63
Compare
What this adds
Migrate control, manipulation and teleop ports to generated CDR messages. Keep task behavior and driver conversions, and update WebXR, keyboard and hosted command paths.
Base: #4737. Existing transport specs and coordinator backend selection replace the old
CdrTransportcalls.Validation and limits
Fresh cleanup checks: 239 control and teleop tests passed, including JavaScript encoder/Python interoperability and both backend payload cases. The single-process LCM test uses memq and closes its owned transports. Repository hooks passed.
WIP: standalone installed-layer, physical browser/headset and hardware behavior are unverified. Drivers were mocked; multicast networking was not certified.
Review report: file map, scope and verification