Skip to content

Update to MADSci v0.8#29

Merged
RyanTheRobothead merged 10 commits into
mainfrom
v0.8
May 29, 2026
Merged

Update to MADSci v0.8#29
RyanTheRobothead merged 10 commits into
mainfrom
v0.8

Conversation

@RyanTheRobothead

Copy link
Copy Markdown
Member

Summary

Lifts the module from v0.6 to v0.8 for the RAPID 446 grimm rebuild.

  • pyproject.toml: pin madsci-{node-module,client,common}~=0.8.0; bump requires-python to >=3.10,<3.13.
  • src/pf400_rest_node.py: rename self.node_definition.{node_id,node_name}self.node_info.* at 4 sites in startup_handler() (3× created_by= for gripper / lid_slot / plate_lid templates, 1× f"{...node_name}.gripper" resource name).
  • Dockerfile rewritten on the v0.8 pattern:
    • Pin base to ghcr.io/ad-sdl/madsci:v0.8.0.
    • uv pip install --python ${MADSCI_VENV}/bin/python -e ./pf400_module so the editable install lands in the venv the runtime uses.
    • Fix broken CMD: scripts/pf400_rest_node.pysrc/pf400_rest_node.py (scripts/ never existed).
    • No dialout groups — pf400 is network-only (TCP to the robot's IP), no USB/serial.

Branched off the existing rapid_446_dev branch, so the diff against main includes that branch's MADSci 0.6 transition + rate-limit / replace_lid fixes from earlier in the cycle.

Test plan

Verified end-to-end on grimm with pf400_piper:

  • curl /statusready: true
  • curl /statepf400_status_code: READY with live joint angles [861.943, -1.451, 172.64, 175.601, 126.43, -644.028]
  • ULID 01K9ZGTECF75R64V6EDXBNVTTT preserved via .madsci/registry.json
  • gripper / lid_slot / plate_lid resource templates created in postgres

caseystone and others added 10 commits December 19, 2025 14:40
Lifts the module from v0.6 to v0.8 for the RAPID 446 grimm rebuild.

- pyproject.toml: pin madsci-{node-module,client,common}~=0.8.0;
  bump requires-python to >=3.10,<3.13.
- src/pf400_rest_node.py: rename self.node_definition.{node_id,node_name}
  -> self.node_info.* at 4 sites in startup_handler() (3x created_by=
  for gripper / lid_slot / plate_lid templates, 1x f"{...node_name}.gripper"
  resource name).
- Dockerfile rewritten on the v0.8 pattern:
  - Pin base to ghcr.io/ad-sdl/madsci:v0.8.0.
  - `uv pip install --python ${MADSCI_VENV}/bin/python -e ./pf400_module`
    so the editable install lands in the venv the runtime actually uses.
  - Fix broken CMD: scripts/pf400_rest_node.py -> src/pf400_rest_node.py
    (scripts/ never existed).
  - No dialout groups -- pf400 is network-only.

Verified end-to-end on grimm with pf400_piper:
  /status -> ready: true
  /state  -> pf400_status_code: READY, live joint angles
             [861.943, -1.451, 172.64, 175.601, 126.43, -644.028]
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Resolve conflicts to keep MADSci v0.8 compatibility while pulling in
main's refactored action API:
- Adopt main's _parse_location_representation flow and the new
  source/target_height_limit + source/target_press_depth params for
  transfer/pick_plate/place_plate/remove_lid/replace_lid
- Add move_to_location and move_neutral actions from main
- Replace get_current_ownership_info().node_id with self.node_info.node_id
  for MADSci v0.8
- Keep madsci-* deps pinned to ~=0.8.0
- Use main's chown + python -m invocation in Dockerfile
- Regenerate pdm.lock against the merged pyproject.toml

The v0.8 lid helpers (LidResult/LidSlotResult) are dropped in favor of
main's simpler has_lid attribute approach.
LidResult and LidSlotResult were only used by the v0.8 branch's
lid-handling code, which was superseded by main's has_lid-attribute
approach during the merge.
@RyanTheRobothead
RyanTheRobothead merged commit 6d81da2 into main May 29, 2026
2 checks 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.

2 participants