[DO-NOT-MERGE][Task Clean-up] Dexterous: lumped validation branch (series reference) - #6324
[DO-NOT-MERGE][Task Clean-up] Dexterous: lumped validation branch (series reference)#6324hujc7 wants to merge 75 commits into
Conversation
23c2ef8 to
99025bd
Compare
507b309 to
43ede30
Compare
Greptile SummaryThis PR adds the dexterous task convergence work across direct and manager environments. The main changes are:
Confidence Score: 4/5The handover manager reset observation path needs a fix before merging.
source/isaaclab_tasks/isaaclab_tasks/core/handover/mdp/observations.py Important Files Changed
Reviews (1): Last reviewed commit: "Calibrate camera benchmark gates from fu..." | Re-trigger Greptile |
| episode_length_buf = getattr(env, "episode_length_buf", None) | ||
| if reset_actions is None or action_name not in reset_actions or episode_length_buf is None: | ||
| return raw_action | ||
| return torch.where((episode_length_buf == 0).unsqueeze(-1), reset_actions[action_name], raw_action) |
There was a problem hiding this comment.
When a manager handover env autoresets, reset_handover_state stores the terminal raw action and episode_length_buf stays 0 for the first observation of the new episode. This branch then reports the previous episode’s action for the newly reset state, while the Direct handover path reports the current step action, so RSL-RL can train on stale actions at episode boundaries.
Add a behavioral Metrics/success_rate signal (goal-reach streaks per episode) and threshold-independent episode orientation-error diagnostics to the Direct reorientation environments, with the shared helpers in isaaclab_tasks.core.utils and torch math tests. The task logic is torch-first per the mainline convention; success gates task health while reward stays diagnostic. Also fix hand resets that could initialize joints below their lower position limits.
Add the RSL-RL runner configuration for the Shadow handover Direct task and success-rate metrics on the torch-first path, fix handover construction on Newton (renamed distal joints), and land the camera Direct renderer presets with configuration validation. RSL-RL observations now read from the public environment-owned obs_buf on all Direct env bases (reset stores the buffer like step), replacing the adapter-side private hook.
The lower layer's registration revert merged forward and un-renamed the camera entry points here, where the camera modules do carry the renamed filenames. Pin the registration block back to the final state.
…eanup-dex-part11 # Conflicts: # source/isaaclab_tasks/isaaclab_tasks/core/reorient/config/shadow_hand/__init__.py
…isualizer teardown (#6411) ## Review Map - **Exact changes**: a stacked PR's page shows the cumulative diff of its dependency chain; the link pins the commit range that is the PR's own contribution. - Links pin specific SHAs and can go stale after a branch update — the table on #6324 is refreshed first. | PR | Status | Depends on | Exact changes | |---|---|---|---| | #6410 [Docs] Environment overview regen |  | — | — | | 📌 #6411 Part 1/8: Newton cloner/cubric/visualizer fixes (this PR) |  | — | — | | #6412 Part 2/8: OVPhysX articulation + manager runtime |  | — | — | | #6413 Part 3/8: Reorient Direct, torch |  | — | — | | #6414 Part 4/8: MARL-to-single-agent fix + handover/camera Direct |  | #6413 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6414/changes/6e8a63e4e028b2d43676ea30c446b9dc9068c7b5..5cb00e7cb5cc813b202521272e043007cd255194) | | #6418 Part 5/8: Reorient manager counterparts |  | #6413 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6418/changes/79f87501ac4c81de93a71dab00dc443da62113aa..e7c9a9a3fae3a7972b0c5165ae683abffb7d0e0f) | | #6421 Part 6/8: Handover + camera manager counterparts |  | #6413, #6414, #6418 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6421/changes/01c9f4d8c5c35a5688b2a5bb90209e16b8f81b99..835a5815ec49b11aada1d20a76c177054505e6e7) | | #6415 Part 7/8: Benchmark success-rate utilities + docs |  | #6413, #6414, #6418, #6421 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6415/changes/e1abb6b1790ccc57af42551eebccf743633f1f13..d6348539aa8032d9668c20a8fea462c5d88d3af9) | | #6582 Part 8/8: Warp variants → experimental (draft; merges last) |  | #6413 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6582/changes/21dbb1769c4e30c8e9e5b0f563c2dae24c230349..83e1587cadd9712a60615ed2a3cb2d177c2ac24d) | | #6324 [DO-NOT-MERGE] Lumped validation reference |  | ALL | — | ## Summary - Fixes Newton cloner label rows, the cubric IAdapter version audit (exact-match fallback to the CPU hierarchy path), and visualizer teardown. - Retains an in-tree `ignore_paths` workaround for custom-frequency USD traversal; it becomes redundant once the Newton pin advance (#6584) merges — this PR then only needs a rebase. ## Stacking - Independent; based on `develop`. ## Review history - Approved. The Newton pin + MuJoCo overrides were split out to #6584 via revert commits (2026-07-17) so this PR's CI runs against develop's pins.
Applies the P3-owned share of the lump review-response commits: - Default the dexterous tasks to newton_mjwarp (from 3f9ce324). - Drop solver defaults matching the backend + inline the scene preset via preset() instead of a wrapper class (from 29e189bf). - Simplify the Direct reorientation reward computation (from bfb73735). - Source the actuated-joint and fingertip body-name lists from the robot assets instead of the config module (from 34676102). Deferred to their owning layers: the core/utils relocation (S17) lands at the manager layer where reorient/mdp/events.py is introduced, and the handover default/preset changes land with the handover part.
P4-owned share of the lump review-response commits: - Default the handover task to newton_mjwarp and add the ovphysx object preset alias (from 3f9ce324, 29e189bf). - Source the handover joint/body name lists from the robot assets (from 34676102). S17 (core/utils relocation) defers to the manager layer where reorient/mdp/events.py is introduced.
Rebuilt from the reviewed lump so the manager counterparts land with the review rounds folded in: inline section values per file (drift guarded by the value-parity test incl. sim), identity from the common modules, the OpenAI variant in its own module, and no sim mixins. Lump review commits folded: 2c22af0, 792e400, 42675b6, 1f05f85, c6140f9, 173e9dc, 2727616, 1732493, 3659a33, ee272c9, cdaadac.
P5-owned share of the lump review-response commits: - Relocate the shared reset/rotation helpers into reorient/mdp/events.py and EpisodeErrorRecorder into reorient/mdp/rewards.py, removing the core/utils.py module (S17, from 428297c2). - Default the reorient manager cfgs to newton_mjwarp and source the hand name lists from the robot assets (from 3f9ce324, 34676102). - Repoint the Direct env to the relocated helpers.
Rebuilds P6 on the updated P4+P5, folding the P6-owned share: - Repoint handover to the relocated reorient.mdp helpers after the core/utils.py removal (S17 handover side, from 428297c2). - Inherits N2/preset/reward/names fixes via the rebuilt P4 and P5.
…6415-fold # Conflicts: # source/isaaclab_tasks/isaaclab_tasks/core/handover/handover_manager_env_cfg.py # source/isaaclab_tasks/isaaclab_tasks/core/handover/mdp/events.py # source/isaaclab_tasks/isaaclab_tasks/core/handover/mdp/rewards.py # source/isaaclab_tasks/isaaclab_tasks/core/reorient/config/allegro_hand/allegro_hand_manager_env_cfg.py # source/isaaclab_tasks/isaaclab_tasks/core/reorient/config/shadow_hand/shadow_hand_camera_manager_env_cfg.py # source/isaaclab_tasks/isaaclab_tasks/core/reorient/config/shadow_hand/shadow_hand_manager_env_cfg.py # source/isaaclab_tasks/isaaclab_tasks/core/reorient/config/shadow_hand/shadow_hand_openai_manager_env_cfg.py # source/isaaclab_tasks/isaaclab_tasks/core/reorient/mdp/events.py # source/isaaclab_tasks/isaaclab_tasks/core/reorient/mdp/rewards.py
Move the warp implementation of the Shadow reorientation and handover Direct environments (kernels, environments, kernel behavior tests) from the mainline task package to isaaclab_tasks_experimental, following the torch-first mainline convention. The variants register under -Direct-Warp-v0 IDs and reuse the stable configurations and agents. The Allegro warp variant keeps its existing legacy registration.
Mirror the mainline rename (reorient_reward) in the experimental warp package: the launcher is family-scoped, not paradigm-scoped, and the package already lives under direct/. Pure rename; no behavioral change.
Repoints the shadow-hand env.rst source links to the renamed _direct_ modules and lists ovphysx on the OpenAI-FF illustrated row (C1), completing the dexterous environment docs in the series.
The environment overview updates for the dexterous series belong in the dedicated docs PR (isaac-sim#6410), not the benchmark part. Reverts env.rst to the base version here.
Documents the dexterous reorientation and handover tasks' newton/ovphysx physics backends in the comprehensive table, and repoints the shadow-hand source links to the renamed _direct_ config modules. Stacked on Part 6 so every referenced task/module exists; inserted as the series' docs update.
44fbfa5 to
1c2e62f
Compare
The vision env renders through the Isaac RTX tiled camera, whose render products require the Fabric cloning path. The Newton backend disables Fabric cloning, so under Newton the rgb annotator has no render products at num_envs > 1 and the default RGB/depth/semantic render fails. Override the camera env's backend PresetCfgs to default to PhysX in __post_init__; Newton stays selectable via physics=newton_mjwarp.
…eorientation Direct tasks (#6413) ## Review Map - **Exact changes**: a stacked PR's page shows the cumulative diff of its dependency chain; the link pins the commit range that is the PR's own contribution. - Links pin specific SHAs and can go stale after a branch update — the table on #6324 is refreshed first. | PR | Status | Depends on | Exact changes | |---|---|---|---| | #6411 Part 1/9: Newton cloner/cubric/visualizer fixes |  | — | merged | | #6412 Part 2/9: OVPhysX articulation + manager runtime |  | — | merged | | 📌 #6413 Part 3/9: Reorient Direct, torch (this PR) |  | — | [changes](https://github.com/isaac-sim/IsaacLab/pull/6413/changes/f4895f0f9ee..d29afc75e71) | | #6414 Part 4/9: MARL-to-single-agent fix + handover/camera Direct |  | #6413 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6414/changes/d29afc75e71..b10a84948f8) | | #6418 Part 5/9: Reorient manager counterparts |  | #6413 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6418/changes/d29afc75e71..707d37f8f99) | | #6421 Part 6/9: Handover + camera manager counterparts |  | #6413, #6414, #6418 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6421/changes/707d37f8f99..b50ac8906fc) | | #6410 Part 7/9: Environment overview docs |  | #6421 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6410/changes/b50ac8906fc..af259c0778d) | | #6415 Part 8/9: Benchmark success-rate utilities |  | #6421 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6415/changes/b50ac8906fc..c7f2f019d8b) | | #6582 Part 9/9: Warp variants → experimental (draft; merges last) |  | #6413 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6582/changes/d29afc75e71..167c28578b3) | | #6324 [DO-NOT-MERGE] Lumped validation reference |  | ALL | — | ## Summary - Adds a behavioral `Metrics/success_rate` signal (goal-reach streaks per episode) and threshold-independent episode orientation-error diagnostics to the Direct reorientation environments; success gates task health, reward stays diagnostic. - Task logic is **torch-first** per the mainline convention (plain torch buffers; `.torch` accessors only at the core-lib boundary). This supersedes the earlier warp-first revision of this PR; the warp implementation moved to `isaaclab_tasks_experimental` (#6582). - Lands shared helpers in `isaaclab_tasks.core.utils` (`EpisodeErrorRecorder`, `sample_joint_positions_within_limits`) with torch math tests; fixes hand resets below lower joint limits. ## Stacking - First stack PR; based on `develop`. ## Validation - Kit-free torch math + utils tests green; Direct state training on Newton: success rate 0.85–1.00, reward ≈3600–3900 at 2000 iterations, frame-verified policy video. Full integrated evidence: #6324. ## Review history - The earlier warp-era review rounds on this PR are superseded by the torch restack (2026-07-16); the warp implementation and its review-polished kernels live on in #6582.
… and enable handover Direct RSL-RL (#6414) ## Review Map - **Exact changes**: a stacked PR's page shows the cumulative diff of its dependency chain; the link pins the commit range that is the PR's own contribution. This PR (#6414) is now rebased directly onto `develop`, so its own **Files changed** tab is its contribution. - Links pin specific SHAs and can go stale after a branch update — the table on #6324 is refreshed first. | PR | Status | Depends on | Exact changes | |---|---|---|---| | #6411 Part 1/9: Newton cloner/cubric/visualizer fixes |  | — | merged | | #6412 Part 2/9: OVPhysX articulation + manager runtime |  | — | merged | | #6413 Part 3/9: Reorient Direct, torch |  | — | merged | | 📌 #6414 Part 4/9: MARL-to-single-agent fix + handover/camera Direct (this PR) |  | — (on develop) | Files changed tab | | #6418 Part 5/9: Reorient manager counterparts |  | #6413 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6418/changes/d29afc75e71..707d37f8f99) | | #6421 Part 6/9: Handover + camera manager counterparts |  | #6414, #6418 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6421/changes/707d37f8f99..b50ac8906fc) | | #6410 Part 7/9: Environment overview docs |  | #6421 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6410/changes/b50ac8906fc..af259c0778d) | | #6415 Part 8/9: Benchmark success-rate utilities |  | #6421 | [changes](https://github.com/isaac-sim/IsaacLab/pull/6415/changes/b50ac8906fc..c7f2f019d8b) | | #6582 Part 9/9: Warp variants → experimental (draft; merges last) |  | — | [changes](https://github.com/isaac-sim/IsaacLab/pull/6582/changes/d29afc75e71..167c28578b3) | | #6324 [DO-NOT-MERGE] Lumped validation reference |  | ALL | — | ## Summary Converts the two-hand Shadow Hand **handover** task from multi-agent (MARL) to **single-agent** (enabling RSL-RL training), fixes the underlying MARL→single-agent observation bridge, and consolidates the shared Shadow Hand definitions into the asset. - **MARL → single-agent bridge (general, broader than this task).** Single-agent RL libraries train `DirectMARLEnv` tasks via `multi_agent_to_single_agent`; the bridge dropped the latest observations from the public buffer. Fixed generally — RSL-RL observations read from the env-owned `obs_buf`, stored by `reset` like `step` on all env bases (`DirectRLEnv`, `DirectMARLEnv`, the experimental warp base). Every MARL task + single-agent runner benefits; handover is the first consumer. - **Handover Direct → single-agent + RSL-RL.** Single-agent conversion, RSL-RL runner config, shared identity in `handover_common`, success-rate reward metrics, and a fix for its Newton construction failure (see below). - **Shadow Hand Newton robot → the asset.** Moved the Newton (MJWarp) robot cfg into `isaaclab_assets` as `SHADOW_HAND_NEWTON_CFG` (beside `SHADOW_HAND_CFG`); reorient and handover consume it as **siblings** (neither imports the other). Reorient uses the default gains; handover overrides only the finger stiffness/damping to `20/2` for its catch. - **Shadow camera cleanup.** Renamed the camera Direct modules to `shadow_hand_direct_camera_env[_cfg]`; moved cube-keypoint math to the shared, unit-tested `reorient/mdp/observations.py` (replacing the per-env `compute_keypoints` shim); and added OVPhysX physics presets to the handover and camera Direct environments. The camera env config is otherwise unchanged from develop. ### Behavior changes **Reorient-on-Newton is unchanged.** The Newton hand definition moves **verbatim** into `SHADOW_HAND_NEWTON_CFG` — same joint expressions, effort limits, gains, friction and armature — so its config diff vs `develop` is purely the move, and the Direct env config has no diff at all. Handover changes in three ways: - Its **default physics backend moves from PhysX to Newton** (MJWarp), matching the reorientation tasks. Pass `physics=physx` for the previous backend. - Its `distal_passive` actuator group is **removed**. It targeted `robot0_(FF|MF|RF|LF)J0` — joints that **do not exist** on the Newton asset (its fingers are numbered `J1`–`J4`/`J5`), so constructing the environment raised `No joints found for actuator group`. The `fingers` group already drives those joints, and the comment justifying the group (USD-baked `stiffness=286/damping=57`) does not apply to this asset, which authors no drive stiffness at all. - Two orientation fixes: the goal orientation was initialized to a 180-degree rotation instead of identity, and the Newton root rotation replaced the asset's baked rotation instead of composing with it, leaving both palms rotated 90 degrees. Two pre-existing discrepancies were found while verifying against the asset and are left for a follow-up, since each is a behavior change needing its own validation: the config sets `armature=2e-3` where the asset authors `0.0002`, and the per-finger `J1`/`J2` pair is coupled by a fixed tendon that the MJWarp solver currently skips — the actuator gains are what hold that pair together today, which is why the `J4` knuckle-abduction joints cannot simply be added to the driven set. ## Notes - Rebased onto **latest develop**; clean 3-commit history: `Add single-agent flattening for MARL Direct environments` / `Convert Shadow Hand handover to single-agent Direct with RSL-RL` / `Clean up Shadow reorient/camera tasks and consolidate the Newton hand`. ## Validation - Kit-free suite green: handover, keypoint math, the MARL adapter, and new checks pinning the RSL-RL wrapper observation contract (verified to fail against the previous implementation). - Camera Direct reaches training takeoff under `rsl_rl` (frame-verified videos); its env config now matches develop's established vision env. - **Reorient-on-Newton vs `develop`** (`rsl_rl`, 2048 envs, 1500 iterations, 4 runs per config): this branch spans 524–664 reward, `develop` spans 654–822 — overlapping distributions whose per-config spreads (140–168) exceed the gap between them. The move is additionally verified at the config level: the Newton robot configuration is character-for-character identical to `develop`'s. - **Handover-on-Newton** trains end-to-end on this branch (reward 1314), which the `develop` config cannot do at all — it fails during construction. Full evidence: #6324.
Review Map
Summary
Metrics/success_rate), and PhysX/Newton/OVPhysX presets for the assigned dexterous tasks (Allegro + Shadow reorientation, OpenAI FF/LSTM, camera, handover).Direct vs manager training reference (qualifying campaign, seed 42)
Cell format:
reward|eplen|success_rate|{trained}iter(finalTrain/mean_reward,Train/mean_episode_length,Metrics/success_rate).Iteration budgets: 500 (Allegro), 3000 (all other rows). Every cell's source run consumed its full budget — verified cell-by-cell against the runs' event files (all three metrics of each cell match one run's final-iteration scalars). Cells read reward | episode length | success rate | iterations actually trained.
¹ Post-fix handover-Newton rows (Part 4's Newton fixes), full-budget qualifying runs on the warp-first environment code.
² Same success-rate definition as the other reorientation rows. Camera learning takes off late (reward ~400 plateau until a sharp transition; PhysX evidence crosses reward 1000 near iter ~1000, Newton near iter ~2300 — see ³); these rows' policies remained pre-takeoff at the recorded budget, so success at the 0.1 rad tolerance reads 0.00 and reward is the tracked pre-takeoff signal. The criterion itself is unchanged and proven reachable.
³ Full-budget qualifying run on the current branch head (seed 42, rgb_depth preset, Newton renderer, 1225 envs, rl_games workflow with its asymmetric actor-critic recipe): crossed reward 1000 at iter ~2300, tail-50 reward 1307, success rate 0.83 with ≥0.3 sustained for 43 consecutive iterations. Note the workflow difference: the other camera cells (and the rest of the table) are rsl_rl runs; the camera task has so far reached takeoff only under the rl_games recipe (also PhysX evidence: reward 1018, success 0.91 by iter ~1025), while the rsl_rl camera recipe remains pre-takeoff at full budget — a training-recipe sensitivity to be reconciled, not a physics/backend gap. Superseded on the torch tree: the torch-rework rsl_rl camera run reaches takeoff (reward > 1000, sr peak 1.0) by ~1500 iterations — the rsl_rl/rl_games recipe sensitivity no longer reproduces after the rework.
⁴ OVPhysX rows validated 2026-07-21/22 (same protocol: seed 42, 8192 envs, rsl_rl, full budget; env pins
ovphysx==0.4.13+omniverseclient 2.72.1— the paired versions published on pypi.nvidia.com). First OVPhysX validation of these tasks.⁵ The OpenAI variants' stock stepping (
dt=1/60, decimation 3) is unstable on the OVPhysX runtime: grasp contact is lost and the cube free-falls from reset (~9-step episodes from iteration 0), while Kit-PhysX trains the identical config. Probes isolate the physics step size as the sole trigger; every other ovphysx-enabled task in the tree steps at 1/120 or finer. These cells run atdt=1/120, decimation 2 (the state rows' stepping). Success rate is the cross-backend comparison metric for these rows: the finer stepping triples the per-episode step count, so cumulative reward and episode length are not comparable to the dt=1/60 reference cells.Reward scales differ per family; the Direct-vs-manager pair per row is the comparison that matters.
Torch re-validation (post-rework). Verified runs on the torch tree; the table below remains the warp-era campaign record.
Phase-2 requirement fulfillment
🟢 Met 🟡 Partial / queued 🔴 Gap ⚪ Not applicable
118 N/A cells are excluded. Success-related acceptance criteria (P2-C3–C7 and dependent P2-D1–D2) are deferred pending definition; no provisional threshold is treated as a requirement. Reward and episode length remain diagnostic only. Previously validated evidence is retained wherever the code path is unchanged by this diff (the OVPhysX path always used the production assets); only artifacts tied to the removed asset are queued for re-run. Sim-to-sim and sim-to-real are later waves and excluded. Current PR head:
5d7ddbbee82.Allegro cube reorientation — 🟢 49 · 🟡 15 · 88%
Isaac-Reorient-Cube-Allegro-DirectIsaac-Reorient-Cube-AllegroIsaac-Reorient-Cube-Allegro-PlayP2-S1· Assigned registration accounted forP2-S2· Manager-based training environmentP2-S3· Direct/Manager contracts comparableP2-S4· Rendering identified by Camera nameP2-S5· Play/Eval implementation consolidatedP2-B1· New asset evaluated; fallback justifiedP2-B2· PhysX / Newton / OV presets resolveP2-B3· PhysX constructs and trainsP2-B3· Newton constructs and trainsP2-B3· OVPhysX constructs and trainsP2-B4· Supported renderer matrix worksP2-B5· Camera framing and ground are usableP2-C1· RSL-RL configuration providedP2-C2· Success rate logged efficientlyP2-C3· Success criterion defined and configuredP2-C4· Success met within iteration/time budgetP2-C5· Multi-seed sanity checkP2-C6· Policy replay meets success criterionP2-C7· Two-reviewer behavior validationP2-C8· Reward and episode length tracked (non-gating)P2-Q1· Task-code hygieneP2-Q2· Independent package dependenciesP2-Q3· Variants and selections documentedP2-Q4· Open-issue auditP2-Q5· Automated contract checksP2-D1· Current-asset qualifying checkpointP2-D2· Replay/video and publication artifactsP2-D3· Runtime performance recordedP2-D4· Dashboard metrics recordedP2-D5· Recurring benchmark schema compatibleShadow state cube reorientation — 🟢 36 · 🟡 14 · 86%
Isaac-Reorient-Cube-Shadow-DirectIsaac-Reorient-Cube-ShadowP2-S1· Assigned registration accounted forP2-S2· Manager-based training environmentP2-S3· Direct/Manager contracts comparableP2-S4· Rendering identified by Camera nameP2-S5· Play/Eval implementation consolidatedP2-B1· New asset evaluated; fallback justifiedP2-B2· PhysX / Newton / OV presets resolveP2-B3· PhysX constructs and trainsP2-B3· Newton constructs and trainsP2-B3· OVPhysX constructs and trainsP2-B4· Supported renderer matrix worksP2-B5· Camera framing and ground are usableP2-C1· RSL-RL configuration providedP2-C2· Success rate logged efficientlyP2-C3· Success criterion defined and configuredP2-C4· Success met within iteration/time budgetP2-C5· Multi-seed sanity checkP2-C6· Policy replay meets success criterionP2-C7· Two-reviewer behavior validationP2-C8· Reward and episode length tracked (non-gating)P2-Q1· Task-code hygieneP2-Q2· Independent package dependenciesP2-Q3· Variants and selections documentedP2-Q4· Open-issue auditP2-Q5· Automated contract checksP2-D1· Current-asset qualifying checkpointP2-D2· Replay/video and publication artifactsP2-D3· Runtime performance recordedP2-D4· Dashboard metrics recordedP2-D5· Recurring benchmark schema compatibleShadow OpenAI FF cube reorientation — 🟢 36 · 🟡 14 · 86%
Isaac-Reorient-Cube-Shadow-OpenAI-FF-DirectIsaac-Reorient-Cube-Shadow-OpenAI-FFP2-S1· Assigned registration accounted forP2-S2· Manager-based training environmentP2-S3· Direct/Manager contracts comparableP2-S4· Rendering identified by Camera nameP2-S5· Play/Eval implementation consolidatedP2-B1· New asset evaluated; fallback justifiedP2-B2· PhysX / Newton / OV presets resolveP2-B3· PhysX constructs and trainsP2-B3· Newton constructs and trainsP2-B3· OVPhysX constructs and trainsP2-B4· Supported renderer matrix worksP2-B5· Camera framing and ground are usableP2-C1· RSL-RL configuration providedP2-C2· Success rate logged efficientlyP2-C3· Success criterion defined and configuredP2-C4· Success met within iteration/time budgetP2-C5· Multi-seed sanity checkP2-C6· Policy replay meets success criterionP2-C7· Two-reviewer behavior validationP2-C8· Reward and episode length tracked (non-gating)P2-Q1· Task-code hygieneP2-Q2· Independent package dependenciesP2-Q3· Variants and selections documentedP2-Q4· Open-issue auditP2-Q5· Automated contract checksP2-D1· Current-asset qualifying checkpointP2-D2· Replay/video and publication artifactsP2-D3· Runtime performance recordedP2-D4· Dashboard metrics recordedP2-D5· Recurring benchmark schema compatibleShadow OpenAI LSTM cube reorientation — 🟢 36 · 🟡 14 · 86%
Isaac-Reorient-Cube-Shadow-OpenAI-LSTM-DirectIsaac-Reorient-Cube-Shadow-OpenAI-LSTMP2-S1· Assigned registration accounted forP2-S2· Manager-based training environmentP2-S3· Direct/Manager contracts comparableP2-S4· Rendering identified by Camera nameP2-S5· Play/Eval implementation consolidatedP2-B1· New asset evaluated; fallback justifiedP2-B2· PhysX / Newton / OV presets resolveP2-B3· PhysX constructs and trainsP2-B3· Newton constructs and trainsP2-B3· OVPhysX constructs and trainsP2-B4· Supported renderer matrix worksP2-B5· Camera framing and ground are usableP2-C1· RSL-RL configuration providedP2-C2· Success rate logged efficientlyP2-C3· Success criterion defined and configuredP2-C4· Success met within iteration/time budgetP2-C5· Multi-seed sanity checkP2-C6· Policy replay meets success criterionP2-C7· Two-reviewer behavior validationP2-C8· Reward and episode length tracked (non-gating)P2-Q1· Task-code hygieneP2-Q2· Independent package dependenciesP2-Q3· Variants and selections documentedP2-Q4· Open-issue auditP2-Q5· Automated contract checksP2-D1· Current-asset qualifying checkpointP2-D2· Replay/video and publication artifactsP2-D3· Runtime performance recordedP2-D4· Dashboard metrics recordedP2-D5· Recurring benchmark schema compatibleShadow Camera cube reorientation — 🟢 100 · 🟡 28 · 89%
Isaac-Reorient-Cube-Shadow-Camera-DirectIsaac-Reorient-Cube-Shadow-CameraIsaac-Reorient-Cube-Shadow-Camera-Direct-PlayIsaac-Reorient-Cube-Shadow-Camera-PlayIsaac-Reorient-Cube-Shadow-Camera-Benchmark-DirectIsaac-Reorient-Cube-Shadow-Camera-BenchmarkP2-S1· Assigned registration accounted forP2-S2· Manager-based training environmentP2-S3· Direct/Manager contracts comparableP2-S4· Rendering identified by Camera nameP2-S5· Play/Eval implementation consolidatedP2-B1· New asset evaluated; fallback justifiedP2-B2· PhysX / Newton / OV presets resolveP2-B3· PhysX constructs and trainsP2-B3· Newton constructs and trainsP2-B3· OVPhysX constructs and trainsP2-B4· Supported renderer matrix worksP2-B5· Camera framing and ground are usableP2-C1· RSL-RL configuration providedP2-C2· Success rate logged efficientlyP2-C3· Success criterion defined and configuredP2-C4· Success met within iteration/time budgetP2-C5· Multi-seed sanity checkP2-C6· Policy replay meets success criterionP2-C7· Two-reviewer behavior validationP2-C8· Reward and episode length tracked (non-gating)P2-Q1· Task-code hygieneP2-Q2· Independent package dependenciesP2-Q3· Variants and selections documentedP2-Q4· Open-issue auditP2-Q5· Automated contract checksP2-D1· Current-asset qualifying checkpointP2-D2· Replay/video and publication artifactsP2-D3· Runtime performance recordedP2-D4· Dashboard metrics recordedP2-D5· Recurring benchmark schema compatibleShadow handover — 🟢 34 · 🟡 16 · 84%
Isaac-Shadow-Handover-DirectIsaac-Shadow-HandoverP2-S1· Assigned registration accounted forP2-S2· Manager-based training environmentP2-S3· Direct/Manager contracts comparableP2-S4· Rendering identified by Camera nameP2-S5· Play/Eval implementation consolidatedP2-B1· New asset evaluated; fallback justifiedP2-B2· PhysX / Newton / OV presets resolveP2-B3· PhysX constructs and trainsP2-B3· Newton constructs and trainsP2-B3· OVPhysX constructs and trainsP2-B4· Supported renderer matrix worksP2-B5· Camera framing and ground are usableP2-C1· RSL-RL configuration providedP2-C2· Success rate logged efficientlyP2-C3· Success criterion defined and configuredP2-C4· Success met within iteration/time budgetP2-C5· Multi-seed sanity checkP2-C6· Policy replay meets success criterionP2-C7· Two-reviewer behavior validationP2-C8· Reward and episode length tracked (non-gating)P2-Q1· Task-code hygieneP2-Q2· Independent package dependenciesP2-Q3· Variants and selections documentedP2-Q4· Open-issue auditP2-Q5· Automated contract checksP2-D1· Current-asset qualifying checkpointP2-D2· Replay/video and publication artifactsP2-D3· Runtime performance recordedP2-D4· Dashboard metrics recordedP2-D5· Recurring benchmark schema compatible