Skip to content

fix(ray): finish the uni_ray to uniray caster rename - #2601

Merged
TATP-233 merged 1 commit into
Motphys:mainfrom
hhhappyshow:fix/ray-caster-rename-followup
Nov 9, 2026
Merged

TATP-233 merged 1 commit into
Motphys:mainfrom
hhhappyshow:fix/ray-caster-rename-followup

Conversation

@hhhappyshow

Copy link
Copy Markdown
Contributor

Summary

uniray 0.1.1 renamed the plugin import namespace and UniSim factory identity from uni_ray to uniray; unisim-core 2.2+ only declares the uniray spec. Three leftovers still referenced the old spelling:

  1. RayPatternCfg.caster defaulted to the dead name — any task relying on the default failed caster construction against the pinned unisim-core.
  2. Tests gated on the old namespace — pytest.importorskip("uni_ray") skips the end-to-end MuJoCo ray test even when uniray 0.1.1 is installed; one test asserted the stale default.
  3. sim2sim contract compared caster verbatim — every checkpoint trained before the rename fails the strict env.observations DENYLIST comparison on play, although the rename changes no ray numerics and no policy I/O.

Fix: rename the default to uniray, update tests to the uniray namespace, and canonicalize caster identity values through a new CASTER_VALUE_ALIASES = {"uni_ray": "uniray"} on both sides of every contract comparison. Only the documented rename is exempt — switching to a different caster (e.g. fake) still fails closed.

Discovered by the downstream perceptive navigation port: trained checkpoints snapshot caster: uni_ray and could not play against the renamed conf without this normalization.

Linked Work

  • Issue: none (found through downstream integration testing)
  • Base branch: main

Validation

  • Focused tests passed on the final local head
  • make test-all: tracked with remote CI

Commands actually run:

uv run pytest tests/training/test_sim2sim_resolver.py tests/envs/mdp/test_ray_observation.py -q   # 79 passed
make check                                                                                          # ruff + mypy + pyright clean

Remote CI route:

  • Base main: will run on this PR's head.

Impact

  • Backend impact: mujoco (ray perception path only)
  • Platform impact: unknown
  • Training effect expected: no (identity rename follow-up; numerics unchanged)

Artifacts

  • W&B: none / benchmark result: none / video: none / checkpoint: none

Checklist

  • Added or updated tests where needed (alias passes; different-caster mismatch still rejected)
  • Updated docs if behavior or workflow changed (sim2sim docstring lists the canonicalization)
  • Linked the driving issue (none exists)
  • Noted any follow-up work explicitly (downstream perceptive port unblocked for playing pre-rename checkpoints)

Made with Cursor

uniray 0.1.1 renamed the plugin import namespace and UniSim factory
identity from ``uni_ray`` to ``uniray``; unisim-core 2.2+ only declares
the ``uniray`` spec. Three leftovers still referenced the old spelling:

- ``RayPatternCfg.caster`` defaulted to the dead name, so any task
  relying on the default failed caster construction against the pinned
  unisim-core.
- Two tests gated on the old import namespace skipped or asserted the
  stale default.
- The sim2sim contract compared ``caster`` verbatim, so every checkpoint
  trained before the rename failed the strict ``env.observations``
  DENYLIST comparison on play even though ray numerics and policy I/O
  are unchanged.

Rename the default, update the tests to the ``uniray`` namespace, and
canonicalize caster identity values through ``CASTER_VALUE_ALIASES`` on
both sides of every contract comparison. Only the documented rename is
exempt; switching to a different caster still fails closed.

Discovered by the downstream perceptive navigation port: the trained
navigation checkpoints snapshot ``caster: uni_ray`` and could not play
against the renamed conf without this normalization.

Commands: uv run pytest tests/training/test_sim2sim_resolver.py tests/envs/mdp/test_ray_observation.py -q (79 passed); make check
Co-authored-by: Cursor <cursoragent@cursor.com>
@hhhappyshow
hhhappyshow requested a review from TATP-233 as a code owner November 9, 2026 04:22
@TATP-233
TATP-233 merged commit 794c0bb into Motphys:main Nov 9, 2026
12 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