Skip to content

fix(genesis): consume device-plane DR lifecycle - #2523

Merged
TATP-233 merged 28 commits into
mainfrom
dev/issue-2520-genesis-dr-lifecycle
Oct 26, 2026
Merged

TATP-233 merged 28 commits into
mainfrom
dev/issue-2520-genesis-dr-lifecycle

Conversation

@TATP-233

@TATP-233 TATP-233 commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Goal

UniLab integration for #2520: consume the unified, device-resident Genesis runtime DR contract and remove the stale owner/docs claim that Genesis tensor reset cannot randomize PD gains.

Closes #2520.

Changes

  • Negotiate Genesis interval capabilities on the backend-bound tensor device plane; lift wrench payloads/body IDs onto that device before creating interval ops.
  • Declare the packed reset device before Manager event construction so cold binds negotiate the eventual commit plane.
  • Align the SAC Genesis G1 walk owner with PPO/MuJoCo: pd_gains is enabled through the device-plane packed reset kp/kd lane.
  • Record the public contract in ADR-0021 and refresh owner docs, DR status docs, bilingual generated support data, and the shared changelog.

Validation

  • uv run --no-sync pytest -q tests/base/test_genesis_backend.py tests/envs/mdp/test_events.py tests/base/test_reset_state.py tests/envs/locomotion/g1/test_g1_owner_contract.py tests/config/test_g1_motion_tracking_owners.py tests/envs/test_env_configs.py tests/scripts/test_check_docs.py tests/scripts/test_support_matrix.py — 146 passed.
  • uv run --no-sync pytest -q -m slow tests/envs/locomotion/g1/test_g1_owner_contract.py::test_g1_walk_flat_genesis_owner_real_runtime_smoke — 2 passed on RTX 4090 / Genesis 1.3.3.
  • uv run --no-sync ruff format --check ., uv run --no-sync ruff check ., test ruff gate, uv run --no-sync mypy src/unilab, and uv run --no-sync pyright — passed.
  • UNILAB_DOCS_SKIP_AUTODOC=1 ... sphinx-build -b html -n ... — build succeeded with the nine pre-existing excluded-toctree warnings.
  • make test-all was attempted. Check/type gates passed; the non-slow coverage suite reached 2824 passed / 38 skipped / 1 xfailed but stopped at the pre-existing Motrix failure in test_fused_tensor_root_reset_reads_back_world_angular_velocity[motrix]. Re-running that focused test and stashing this branch both reproduce the identical failure on main, so it is unrelated to this change.
  • make test-benchmark-smoke — 35/35 module imports and 36/36 script imports passed.

Dependency status

The public dependency releases are now available and both default and ROCm profiles resolve them from PyPI:

  • unisim-core==2.2.0
  • optional uniray[warp]==0.1.0 through the ray extra

The former sibling-checkout ray-local path source is removed. Both lockfiles are regenerated and validate with locked dry-runs.

Final validation

uv lock --check
PASS

uv sync --locked --dry-run --extra ray
PASS

ROCm uv lock --check
PASS

ROCm uv sync --locked --dry-run --extra ray
PASS

uv run pytest -q tests/scripts/test_rocm_dependency_profile.py tests/scripts/test_check_docs.py
PASS: 24 passed

uv sync --locked --extra ray --extra mujoco
PASS

uv run --no-sync pytest -q tests/envs/mdp/test_ray_observation.py tests/envs/test_manager_based_rl_env.py -k ray
PASS: 23 passed, 112 deselected
```text
CUDA_VISIBLE_DEVICES= uv run --no-sync pytest -q tests/base/test_genesis_backend.py
PASS: 26 passed

make check
PASS

make test-all
PASS
2828 passed, 61 skipped, 374 deselected, 18 warnings
benchmark import smoke: 35/35 module mode, 36/36 script mode


TATP-233 and others added 15 commits October 26, 2026 17:54
feat: integrate public rich ray perception queries
feat(genesis): support ROCm collector runtime
feat: compose parkour ray patterns downstream
feat: consume dynamic ray frames and geometry
…ic-dr

feat(genesis): enable FlashMimic G1 DR subset
chore(genesis): remove ROCm investigation scaffolding
@TATP-233
TATP-233 merged commit ce1a329 into main Oct 26, 2026
12 checks passed
@TATP-233
TATP-233 deleted the dev/issue-2520-genesis-dr-lifecycle branch October 26, 2026 13:00
@TATP-233

Copy link
Copy Markdown
Collaborator Author

Current head 5d4633c3 now resolves only published dependencies: unisim-core==2.2.0 and optional uniray[warp]==0.1.0. The sibling ray-local path source is removed from both CUDA and ROCm profiles.

Validation at this head:

  • default and ROCm uv lock --check: PASS
  • default and ROCm uv sync --locked --dry-run --extra ray: PASS
  • public-package ray focused tests: 23 passed
  • CPU Genesis fake suite: 26 passed
  • make check: PASS
  • make test-all: PASS — 2828 passed, 61 skipped, 374 deselected; benchmark smoke 35/35 module and 36/36 script
  • remote CI: all checks PASS

The only remaining merge blocker shown by GitHub is review approval.

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.

Roadmap: unify Genesis DR lifecycle and remove legacy host runtime path

1 participant