Skip to content

Refresh documentation and move Ray tooling to contrib - #7134

Open
kellyguo11 wants to merge 5 commits into
isaac-sim:developfrom
kellyguo11:doc-cleanup-0816
Open

Refresh documentation and move Ray tooling to contrib#7134
kellyguo11 wants to merge 5 commits into
isaac-sim:developfrom
kellyguo11:doc-cleanup-0816

Conversation

@kellyguo11

Copy link
Copy Markdown
Contributor

Summary

  • remove the outdated reference architecture page and its dedicated diagrams
  • refresh migration, release, licensing, bibliography, changelog, contribution, and navigation documentation
  • move the community Ray job dispatch and tuning workflow into isaaclab_contrib, add a ray optional dependency group, and update commands and package data

Why

The documentation inventory identified stale or duplicated pages, and the Ray tooling was not regularly tested or maintained as a core script workflow. This keeps current guidance discoverable while clearly classifying Ray as contributed and experimental.

Validation

  • uv lock --check
  • uv run --extra ray --extra test pytest source/isaaclab/test/cli/test_uv_run_pyproject.py -q (11 passed)
  • Ruff lint and format checks for touched Python files
  • Ray Tune, Kubernetes launcher, and MLflow converter --help smoke checks
  • uv run isaaclab -f (all hooks passed except pre-existing invalid changelog fragments unrelated to this PR)
  • focused Sphinx parse for experimental features; the full site build exceeded the five-minute local timeout

@github-actions github-actions Bot added documentation Improvements or additions to documentation isaac-lab Related to Isaac Lab team infrastructure labels Aug 17, 2026
@kellyguo11
kellyguo11 marked this pull request as ready for review August 19, 2026 03:08
@kellyguo11
kellyguo11 requested a review from a team August 19, 2026 03:08
@greptile-apps

greptile-apps Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR refreshes and reorganizes documentation while moving the experimental Ray dispatch and tuning tools into isaaclab_contrib.

  • Removes the obsolete reference-architecture page and associated diagrams.
  • Updates migration, release, licensing, contribution, installation, and navigation documentation.
  • Packages the Ray modules and Kubernetes templates under isaaclab_contrib and adds a root ray extra.
  • The new extra is missing MLflow, leaving the remote tuner and log converter unusable in the documented environment.

Confidence Score: 4/5

The PR should not merge until the documented Ray environment installs MLflow for the remote tuning and conversion commands.

The newly introduced Ray extra does not provide a package directly imported on two supported execution paths, causing immediate module-import failures.

Files Needing Attention: pyproject.toml and the MLflow-dependent modules under source/isaaclab_contrib/isaaclab_contrib/rl/ray

Important Files Changed

Filename Overview
pyproject.toml Adds the centralized Ray extra but omits the directly required MLflow dependency.
source/isaaclab_contrib/isaaclab_contrib/rl/ray/tuner.py Moves remote tuning into contrib; its remote path directly imports the undeclared MLflow package.
source/isaaclab_contrib/isaaclab_contrib/rl/ray/mlflow_to_local_tensorboard.py Moves the converter into contrib while retaining unconditional MLflow imports that the new extra does not satisfy.
source/isaaclab_contrib/pyproject.toml Includes the moved Ray package and its Kubernetes template resources in distribution package data.
docs/source/experimental-features/ray.rst Reclassifies and updates the Ray workflow as experimental contributed tooling, including new module-based commands.
uv.lock Refreshes dependency resolution for the new extra but contains no resolved MLflow package.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  User["uv run --extra ray"] --> Extra["Root ray extra"]
  Extra --> Contrib["isaaclab_contrib.rl.ray"]
  Contrib --> Submit["Job dispatch"]
  Contrib --> Tune["Remote tuning"]
  Contrib --> Convert["MLflow to TensorBoard"]
  Tune --> MLflow["MLflow tracking"]
  Convert --> MLflow
Loading

Reviews (1): Last reviewed commit: "Merge remote-tracking branch 'upstream/d..." | Re-trigger Greptile

Comment thread pyproject.toml
Comment on lines +181 to +188
ray = [
"ray[default,tune]>=2.47.0",
"optuna>=3.0.0,<5",
"sqlalchemy<2.1",
"kubernetes",
"jinja2",
"pyyaml",
]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Ray extra omits MLflow

When a user installs the documented ray extra and starts remote tuning with an MLflow URI or invokes the MLflow-to-TensorBoard converter, these workflows import the undeclared mlflow package and terminate with ModuleNotFoundError.

@isaaclab-review-bot isaaclab-review-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Isaac Lab Review Bot

The Ray workflow is cleanly reorganized under isaaclab_contrib.rl.ray, but two release/compatibility details need correction: the isaaclab changelog fragment attributes a root-project extra to the wrong package, and the previously documented script entry points are removed without a deprecation window.

  • Design and architecture: Moving the experimental Ray tooling into isaaclab_contrib and replacing local sys.path manipulation with package imports is coherent. The optional dependency group, package data, documentation navigation, and module layout align with that contributed-workflow classification.
  • API: The new ray extra is consistent across project metadata, lock data, tests, and documentation. However, removing every scripts/reinforcement_learning/ray/*.py entry point immediately breaks existing automation using those documented paths and conflicts with the repository requirement for prior deprecation; temporary forwarding wrappers should preserve those paths for a release.
  • Implementation: The moved modules, package initializers, imports, python -m commands, Dockerfile, and Jinja package data are integrated consistently. The source/isaaclab change is test-only while its patch fragment claims that package added the root-level dependency group, causing an inaccurate package release note and version bump; use a .skip fragment there and record the user-visible Ray workflow change with the owning contributed workflow metadata.

Minor fixes needed. Posted 2 actionable findings inline.

Automated review; human maintainers own approval decisions.

@@ -0,0 +1,3 @@
Added

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Suggestion · Implementation — Changelog fragment misattributes root-level extra

The only source/isaaclab/ change is test/cli/test_uv_run_pyproject.py, and the ray extra is defined in the repository-root pyproject.toml, not in the isaaclab package. This patch-tier fragment therefore bumps isaaclab and publishes a note claiming that package added a dependency group it does not own. Per the changelog rules, use a .skip fragment for this test-only touch and keep the extra documented in the isaaclab_contrib fragment.

Changed
^^^^^^^

* Moved the contributed Ray job-dispatch and tuning workflow from

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Suggestion · Api — Documented Ray script paths removed outright

Every scripts/reinforcement_learning/ray/*.py entry point is relocated with no forwarding stub, so existing scripts and automation invoking the previously documented paths fail immediately. The changelog does give migration guidance, but the repository rule also asks for a prior deprecation step. Consider leaving thin wrappers at the old paths for one release that print a deprecation notice and delegate to isaaclab_contrib.rl.ray.*.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation infrastructure isaac-lab Related to Isaac Lab team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant