Enactic OpenArm
SkillDev toolsUse when packaging, running, validating, or troubleshooting Enactic OpenArm workloads in MuJoCo or NVIDIA Isaac Sim/Isaac Lab through the NPA workbench.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Enactic OpenArm skill
What this skill tells your AI
The instructions your AI receives, as published by nebius/nebius-physical-ai in skills/tools/openarm/SKILL.md and read by ahel’s review.
Use the native npa workbench openarm surface and the
workflows/testing/openarm-simulators.yaml reference workflow. Do not route
OpenArm to the generic Isaac Lab or RoboCasa tools: the OpenArm tool owns the
upstream source pins, robot assets, task IDs, artifact schemas, and dual-simulator
qualification contract.
Legal and runtime boundary
- Pin
enactic/openarm_mujocorelease 2.2.0 to commita8c979629f2591ad035d99d338ce114969e6cddc. - Pin the untagged
enactic/openarm_isaac_labrepository to commitbad82e23716e6941c2de78ccb978f57c78b37734. - Both simulator repositories and their included model assets are Apache-2.0. Do not copy hardware/CAD payload from the separate OpenArm repository.
- The public image may bake OpenArm and MuJoCo OSS bytes. It must never bake
Isaac Sim, Isaac Lab, Omniverse Kit, acceptance, credentials, caches, or data.
Load and follow
skills/atomic/third-party-eula-preflight/SKILL.mdandskills/atomic/solution-licensing/SKILL.mdbefore building or executing. - Invoke Isaac only through
${ISAAC_LAB_PYTHON:-/isaac-sim/python.sh}. Never run this shim from a DockerfileRUNinstruction. - Classify the CUDA base and CUDA/cuDNN Python runtime libraries as conditional NVIDIA redistributable components, not OSS. Retain their notices, remove separately installed SDK headers/static archives, and review their exact built-image files and SBOM before publication.
Supported workloads
MuJoCo uses the real upstream openarm_demo_xml, JointResolver, and
mujoco.mj_step. A successful run uploads result.json and
mujoco_trajectory.npz; --render adds a simulator-rendered MP4.
Isaac rollout imports openarm.tasks, creates the requested upstream OpenArm
Gymnasium task, and performs real vectorized steps. Isaac training calls the
pinned upstream RSL-RL script and fails closed unless a model_*.pt checkpoint
exists. Isaac-Reach-OpenArm-v0 is the default qualification task. Treat lift,
drawer, bimanual, imitation, teleoperation, and sim-to-real as unqualified until
each has exact-image live evidence; upstream itself says the latter three are
under development.
The reference workflow must end with workbench.openarm.qualify. That stage
downloads the common run root, validates all three terminal results, rejects
unsafe/missing/empty artifacts, hashes the MuJoCo trace/video, Isaac rollout
trace, and every upstream checkpoint, then emits
npa.openarm.qualification.v1. A successful simulator process without this
artifact-level gate is not complete workflow evidence.
Use an L40S or RTX PRO 6000 for Isaac execution. H100, H200, B200, and B300 are not valid render-capable qualification targets.
Direct service deployment must mount an operator-owned PVC for
/opt/isaac-cache; never reintroduce an emptyDir fallback for the proprietary
runtime. Service deletion retains that claim.
Ordered gate
- Run
npa workbench health preflight, including--checks nebiusbefore provisioning and S3 before submission. - Build only a clean, commit-locked
dev-<full-sha>image. - Run the packaging, license, full-filesystem/layer, secret, and SBOM scans.
- Push the dev tag, resolve its digest, and prove anonymous pullability.
- Run the MuJoCo golden eval and the complete reference workflow against that exact digest. Inspect the uploaded result, NPZ, and training checkpoint.
- Record accepted evidence without concrete infrastructure identifiers, then promote the already validated digest. Never rebuild a release tag.
Accepted release
Release 2.2.0-isaac0.1.0-rtfetch is bound to development revision
01fbf3a554cb7b15066283fd171c5b81f6207eda and OCI digest
sha256:c30da0d55de0b1b0528b1481a318bf43ad9d95c7128ae44b5d434203e7d1543a.
Those exact bytes passed the ordered gate above and the complete four-stage
workflow on RTX PRO 6000. The accepted scope is the 500-step rendered MuJoCo
rollout, the 64-environment × 100-step upstream reach rollout, and one upstream
RSL-RL training iteration with checkpoint plus independent artifact
qualification. Do not extend that evidence to other tasks, policy convergence,
physical hardware, L40S, or non-RT GPUs.
Tests
npa/.venv/bin/python -m pytest npa/tests/workbench/test_openarm.py -q
npa/.venv/bin/python -m pytest npa/tests/docker/test_packaging_contract.py -q
npa/.venv/bin/python -m pytest npa/tests/smoke/test_golden_eval_manifest.py -q
Signals
- GitHub stars
- 29
- Forks
- 16
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
openarm- Source
- github.com/nebius/nebius-physical-ai