Skip to content

refactor: drop the rlinf compatibility surface - #2

Merged
anHappyDog merged 3 commits into
mainfrom
refactor/drop-rlinf-compat
Oct 9, 2026
Merged

anHappyDog merged 3 commits into
mainfrom
refactor/drop-rlinf-compat

Conversation

@hootandy321

Copy link
Copy Markdown
Collaborator

Follow-up to PR #1 (vvla -> embodiinfer rename). Removes the rlinf compatibility layer entirely: CLI aliases, the rlinf_deploy shim module, rlinf.* control-plane schemas, rlinf-named state/lock/cache paths, RLINF_DEPLOY_* environment variables, and x-rlinf-* header fallbacks. RLinf remains only as the upstream training-framework name in docs and the microduck asset inventory. Breaking in the same window as the vvla -> embodiinfer rename; existing boxes reinstall in that window anyway.

The project is pre-release and every existing box reinstalls in the same
window as the vvla -> embodiinfer rename, so the compatibility layer only
kept the rlinf lineage visible:

- drop the rlinf-* console-script aliases and the rlinf_deploy shim module
- rename the control-plane schemas from rlinf.{control,simulation,teleop}.*
  to embodirun.*.v1 and the device-io / observation / job thread names with
  them
- move state, lock, and cache paths to embodirun names and rename the
  RLINF_DEPLOY_* environment variables to EMBODIRUN_*
- drop the x-rlinf-* header fallbacks and the legacy repository alias table

RLinf stays referenced in the docs as the upstream training framework and in
the microduck asset inventory (that file name belongs to the upstream repo).

Breaking: existing boxes must reinstall and their control peers must move to
the renamed schemas in the same window as the vvla -> embodiinfer change.
The rename-tolerant checkout identity also kept mapping the internal
repository names; boxes reinstall in the same window, so drop those aliases
with the rest of the compatibility surface.
ZhouAo-ZA
ZhouAo-ZA previously approved these changes Oct 3, 2026
@anHappyDog

Copy link
Copy Markdown
Collaborator

Reviewed commit 3ad828d. I found no blocking functional regressions within the PR's stated breaking-change scope; removal of the legacy rlinf interfaces is intentional.

Two non-blocking items:

  1. [P3] Keep CLI entry-point checks independent. In tests/test_branding.py:27–28, pytest.importorskip("sglang.multimodal_gen") now sits inside a loop over all commands. When SGLang is unavailable, it skips the entire test, so the subsequent embodirun-go2-streamvln entry point is never checked. The previous parameterized test kept these checks independent. Please parameterize the commands again so only the SGLang case is skipped.

  2. [P3] Remove stale compatibility-alias wording. integrations/sglang_pi05/README.md:6 still says “name remains a compatibility alias,” although the historical entry point has been removed. Please remove that fragment and the dangling compatibility-alias comments in the SGLang Pi05 and XLeRobot owner pyproject.toml files.

Local validation used an isolated copy of the reviewed commit with Python 3.13 and the available dependencies: 1,015 tests passed and 40 were skipped. One additional integration test file (tests/test_embodiinfer_http_integration.py) was excluded because the pinned EmbodiInfer submodule was unavailable. Ruff lint and formatting checks passed. The installed core CLI commands and the Control, Simulation, and teleoperation module entry points also passed their --help checks.

anHappyDog
anHappyDog previously approved these changes Oct 8, 2026

@anHappyDog anHappyDog left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed commit 3ad828d. I found no blocking functional regressions within the PR's stated breaking-change scope; removal of the legacy rlinf interfaces is intentional. Two non-blocking follow-ups are noted inline.

Local validation used an isolated copy of the reviewed commit with Python 3.13 and the available dependencies: 1,015 tests passed and 40 were skipped. One additional integration test file (tests/test_embodiinfer_http_integration.py) was excluded because the pinned EmbodiInfer submodule was unavailable. Ruff lint and formatting checks passed. The installed core CLI commands and the Control, Simulation, and teleoperation module entry points also passed their --help checks.

Comment thread tests/test_branding.py Outdated
Comment thread integrations/sglang_pi05/README.md Outdated
@anHappyDog
anHappyDog dismissed their stale review October 8, 2026 17:16

Changing this review to feedback only; approval was not intended.

@anHappyDog anHappyDog left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review feedback for commit 3ad828d. The previous approval has been withdrawn; this review records feedback only.

I found no blocking functional regressions within the PR's stated breaking-change scope. The two P3 suggestions remain in the existing inline comments:

Local validation: 1,015 tests passed and 40 were skipped in an isolated checkout with Python 3.13 and the available dependencies. One additional integration test file was excluded because the pinned EmbodiInfer submodule was unavailable. Ruff lint and formatting checks, installed core CLI checks, and Control, Simulation, and teleoperation module entry-point checks passed.

@anHappyDog anHappyDog left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed both P3 review comments in commit b155081.

  • Parameterized the installed CLI checks. Missing SGLang now skips only its own case; the subsequent Go2 entry-point check runs and passes.
  • Removed the stale compatibility-alias wording from the SGLang Pi05 README and the dangling comments from both integration package manifests.

Validation in the frozen Python 3.12 environment: 26 passed, 1 skipped across tests/test_branding.py and tests/test_inference_providers.py. The single skip is the optional SGLang check. Repository-wide Ruff lint and formatting checks and git diff --check passed.

@anHappyDog
anHappyDog merged commit 7f31539 into main Oct 9, 2026
3 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.

4 participants