{
  "visual_policy/validation.json": {
    "status": "passed",
    "training": false,
    "batch_max_action_difference": 6.121397018432617e-05,
    "dimensions": {
      "actor": [
        2,
        16
      ],
      "goal": [
        2,
        3
      ],
      "critic": [
        2,
        62
      ],
      "camera": [
        2,
        3,
        200,
        320
      ]
    },
    "actor_profile": {
      "name": "act-style-single-action-v1",
      "backbone": "resnet18",
      "transformer_dim": 256,
      "attention_heads": 8,
      "encoder_layers": 3,
      "decoder_layers": 2,
      "feedforward_dim": 1024,
      "dropout": 0.0,
      "batch_norm": "frozen statistics",
      "pretrained_weights": false,
      "history_frames": 1,
      "action_queries": 1,
      "ppo_head_hidden_dims": [
        256
      ]
    },
    "actor_parameters": 15847630,
    "distribution_and_backward": true,
    "batch_and_train_eval_consistency": true,
    "scripted_export_equivalence": true,
    "bc_same_feature_architecture": true,
    "teacher_mlp_unchanged": true,
    "contract": {
      "version": "mjlab-gs-cartesian-v3",
      "observation_mode": "visual",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 16,
      "goal_dim": 3,
      "goal_frame": "robot/base",
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": [
        200,
        320,
        3
      ],
      "rgb_dtype": "uint8",
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "task_spec": {
      "version": "bottle-lift-v5",
      "visual_actor_profile": {
        "name": "act-style-single-action-v1",
        "backbone": "resnet18",
        "transformer_dim": 256,
        "attention_heads": 8,
        "encoder_layers": 3,
        "decoder_layers": 2,
        "feedforward_dim": 1024,
        "dropout": 0.0,
        "batch_norm": "frozen statistics",
        "pretrained_weights": false,
        "history_frames": 1,
        "action_queries": 1,
        "ppo_head_hidden_dims": [
          256
        ]
      },
      "task_id": "Mjlab-GS-Bottle-UR5",
      "observation_mode": "visual",
      "observations": {
        "actor": {
          "terms": {
            "state": {
              "func": "mjlab_gs.tasks.mdp.state",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        },
        "goal": {
          "terms": {
            "position": {
              "func": "mjlab_gs.tasks.mdp.goal",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        },
        "critic": {
          "terms": {
            "state": {
              "func": "mjlab_gs.tasks.mdp.critic",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        },
        "camera": {
          "terms": {
            "rgb": {
              "func": "mjlab_gs.tasks.mdp.camera",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        }
      },
      "critic_dim": 62,
      "randomization": {
        "enabled": false,
        "nominal_fraction": 0.1,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.3,
        "table_yaw_deg": 30.0,
        "robot_xy_m": 0.2,
        "robot_yaw_deg": 30.0,
        "initial_joint_deg": [
          45.0,
          20.0,
          30.0,
          45.0,
          30.0,
          90.0
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0.01,
        "camera_rotation_deg": 5.0,
        "camera_focal_fraction": 0.02,
        "camera_principal_px": [
          6.4,
          4.0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          0.7,
          1.3
        ],
        "material_gain": [
          0.8,
          1.2
        ],
        "exposure_gain": [
          0.85,
          1.15
        ],
        "white_balance": [
          0.95,
          1.05
        ],
        "image_noise_std_255": 2.0
      },
      "curriculum": {
        "enabled": false,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1.0
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": false,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_profile": "mjlab-lift-cube-8ee51fbc",
      "goal": {
        "nominal_joint_pos": [
          -3.522548046633501,
          -1.1518142048840005,
          0.9810469344913387,
          -1.4231175467061197,
          -1.5491226335784967,
          -0.36253961360662956
        ],
        "half_width_m": [
          0.05,
          0.05,
          0.03
        ],
        "joint_spread_deg": [
          5.0,
          5.0,
          5.0,
          5.0,
          5.0,
          5.0
        ],
        "candidates": 16
      },
      "goal_frame": "robot/base; nominal TCP FK + bounded reachable joint proposals",
      "goal_observation_dim": 3,
      "rewards": {
        "lift": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "reaching_std": 0.2,
            "bringing_std": 0.3,
            "asset_cfg": {
              "name": "robot",
              "joint_names": null,
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": [
                "tcp"
              ],
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": 1.0
        },
        "lift_precise": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "std": 0.05
          },
          "weight": 1.0
        },
        "action_rate_l2": {
          "func": "mjlab.envs.mdp.rewards.action_rate_l2",
          "params": {},
          "weight": -0.01
        },
        "joint_pos_limits": {
          "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
          "params": {
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -10.0
        },
        "joint_vel_hinge": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
          "params": {
            "max_vel": 0.5,
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -0.01
        }
      },
      "commands": {
        "lift_height": {
          "resampling_time_range": [
            1000000000.0,
            1000000000.0
          ],
          "debug_vis": true,
          "entity_name": "bottle",
          "success_threshold": 0.05,
          "difficulty": "fixed",
          "target_position_range": {
            "x": [
              0.3,
              0.5
            ],
            "y": [
              -0.2,
              0.2
            ],
            "z": [
              0.2,
              0.4
            ]
          },
          "object_pose_range": null,
          "viz": {
            "target_color": [
              1.0,
              0.5,
              0.0,
              0.3
            ]
          }
        }
      },
      "reward_curriculum": {
        "joint_vel_hinge_weight": {
          "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
          "params": {
            "reward_name": "joint_vel_hinge",
            "stages": [
              {
                "step": 0,
                "weight": -0.01
              },
              {
                "step": 12000,
                "weight": -0.1
              },
              {
                "step": 24000,
                "weight": -1.0
              }
            ]
          }
        }
      }
    }
  },
  "visual_policy/code_manifest.json": {
    "configs/curriculum.json": "3dd85098ee5738642594e169181163a40cdb271a0fb8b6bb7c815d8bcf2688d5",
    "configs/eval_full.json": "53332c40ee11d0810a49506f2bf84685be4219b5c11c4f690014d56b24cc0733",
    "configs/nominal.json": "8f7a60b91404bf02c04373977ce1afc46d5b359bf618d48c211ec8c1be03a440",
    "configs/teacher.json": "06b56c8c586160872996f92950f0c09c855a476f0804d882a29d032a793bd48d",
    "pyproject.toml": "e7dbe4c5b89e34d464213be1bf9f9d1a6bb136b5988c7c991415945163e1e803",
    "src/mjlab_gs/__init__.py": "92f13d2cccf479d8f54b471075eaa2ee2f9e62e50155f240e5407175970e1c93",
    "src/mjlab_gs/cli.py": "c4fb64d16ab4e1d5536c910ae44c186bf150390fafc5153f976c8d01e1a650d6",
    "src/mjlab_gs/configuration.py": "6594f8e3e228717268a72ddb8760c4f565e3b64e9c4f2ad482da37de5826ffc9",
    "src/mjlab_gs/contracts.py": "40efaa92dfd0e7ff99f4900b76aa9f2f5db3a3bc64863a53edcb2cc69d7230e4",
    "src/mjlab_gs/evaluation.py": "ffe5ca09b0ee198ba8018edb1d58915eae32cbb0c8862ac9e0339dc57718e193",
    "src/mjlab_gs/metrics.py": "3929299576a6bf539209b476d659be41b42bccb48fea93b3effcb73a0ff7091e",
    "src/mjlab_gs/models/__init__.py": "921578700cb216b30b3c03df4ad85f8ef7f3695b7f3803ef6751140bfc361712",
    "src/mjlab_gs/models/visual.py": "5089356b71e6486c3a520992ef34f06e40cb61fed23fa062bb940c9cbf0c33cc",
    "src/mjlab_gs/paths.py": "0beebd6af53d7b06b21bf27a7d436a8968160b570f5ab8c2545cfc9cffc03cd1",
    "src/mjlab_gs/rendering/__init__.py": "6bafc0eb96a687dfc15f0e52d301c1ea8c8f3c3507e3c55ddeee48273f064940",
    "src/mjlab_gs/rendering/compat.py": "6d1605e810a9335af581be77ecb5cd6ead10356d4d73863dbbf42bd87d73ee3b",
    "src/mjlab_gs/rendering/fields.py": "75d7200a5ca783781517f59e359d0790c4a6d34d5c3ab1ee3f449941a82fd7d5",
    "src/mjlab_gs/rendering/intrinsics.py": "e34ca0bc3849c27e28b656c8541836920d4eef92e20558b9bf86c3c9ffe1a9d0",
    "src/mjlab_gs/rendering/sensor.py": "3b34aeaca7052ab7226aee48bfcbdcdf68765e20c4861d66a5a079609325ae15",
    "src/mjlab_gs/runner.py": "c7edc94d2cfc1cabc5977931e416a05ba187068a308c5e4848ae52e888430d73",
    "src/mjlab_gs/tasks/__init__.py": "9879873904c98cb543734a9325a2f2a739034ce7f1ca1dbf3048d29ce6228571",
    "src/mjlab_gs/tasks/actions.py": "5af870285b21316ea4d11e00f20c60b0e176515acb0781c5b1920320af8bd047",
    "src/mjlab_gs/tasks/commands.py": "1f71f009157ec8f5f5f068f249c9f1054805ed89b1ce86f3744ba47bcd68eed6",
    "src/mjlab_gs/tasks/config.py": "c8bae9b7a35c344b736c86413745dcd8c4adfaf031986f0c55b56e7ae7c449c7",
    "src/mjlab_gs/tasks/goal_sampling.py": "ddfeae38bb2c5b7ca99e52eefa92d359f43ae3694ecd47cd7041eefc68f392c8",
    "src/mjlab_gs/tasks/mdp.py": "d9030bd1985eabeb856d9838650bf5e5f31cb067bdab2c60e25c4926bcaddeeb",
    "src/mjlab_gs/tasks/objective.py": "8eabf1fb210c8f8ca8c3db7bff2d7b5bb0eb0a604c944312869fe3486ccc9cb0",
    "src/mjlab_gs/tasks/randomization.py": "462df664f2165ae10c2d27f92b341e6a57cc597deb86d564bab563b64822fd8a",
    "src/mjlab_gs/tasks/scene.py": "2c0076bd4f19bbe83ef993c14e8dfa3bc1ede946d7b81878c9ccacfbf63bc671",
    "src/mjlab_gs/tasks/settings.py": "1a4bef5a28d7f5f38b66f62bc2e4a329fc1f28b25d30adbfa07522c54138db61",
    "src/mjlab_gs/tasks/state_config.py": "7663bea2e9dc32aed4ff077b73373b38af9d34599cbdea5c9245c05785ccb9a4",
    "src/mjlab_gs/workflows.py": "95d01dae0ee808d1715c753d973034843e8b06e70e752e853416179536fb5824"
  },
  "teacher/validation.json": {
    "status": "passed",
    "training": false,
    "tasks": {
      "Mjlab-GS-Bottle-UR5": {
        "dimensions": {
          "actor": [
            4,
            16
          ],
          "goal": [
            4,
            3
          ],
          "critic": [
            4,
            62
          ],
          "camera": [
            4,
            3,
            128,
            128
          ]
        },
        "goal_samples": 32,
        "goal_cpu_fk_max_error_m": 1.8772603117833686e-07,
        "nominal_fallback_fraction": 0.0,
        "nominal_tcp_base": [
          0.6560320258140564,
          -0.13862912356853485,
          0.265982061624527
        ],
        "goal_independent_of_unreachable_bottle_and_start_joints": true,
        "partial_reset_isolation": true,
        "episode_fixed_and_autoreset_goals": true,
        "untrained_network_inference": true,
        "network_hidden_dims": [
          128,
          128
        ],
        "bc_goal_recording": true,
        "contract": {
          "version": "mjlab-gs-cartesian-v3",
          "observation_mode": "visual",
          "controller": "gpu-differential-ik",
          "arm_bias_compensation": true,
          "state_dim": 16,
          "goal_dim": 3,
          "goal_frame": "robot/base",
          "action_dim": 7,
          "action_frame": "robot/base",
          "translation_m_per_step": 0.005,
          "rotation_rad_per_step": 0.017453292519943295,
          "gripper": "-1 closed; +1 open",
          "physics_dt": 0.001,
          "control_dt": 0.05,
          "rgb_shape": [
            128,
            128,
            3
          ],
          "rgb_dtype": "uint8",
          "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
          "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
        },
        "task_spec": {
          "version": "bottle-lift-v4",
          "task_id": "Mjlab-GS-Bottle-UR5",
          "observation_mode": "visual",
          "observations": {
            "actor": {
              "terms": {
                "state": {
                  "func": "mjlab_gs.tasks.mdp.state",
                  "params": {},
                  "noise": null,
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                }
              },
              "concatenate_terms": true,
              "concatenate_dim": -1,
              "enable_corruption": false,
              "history_length": null,
              "flatten_history_dim": true,
              "nan_policy": "disabled",
              "nan_check_per_term": true
            },
            "goal": {
              "terms": {
                "position": {
                  "func": "mjlab_gs.tasks.mdp.goal",
                  "params": {},
                  "noise": null,
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                }
              },
              "concatenate_terms": true,
              "concatenate_dim": -1,
              "enable_corruption": false,
              "history_length": null,
              "flatten_history_dim": true,
              "nan_policy": "disabled",
              "nan_check_per_term": true
            },
            "critic": {
              "terms": {
                "state": {
                  "func": "mjlab_gs.tasks.mdp.critic",
                  "params": {},
                  "noise": null,
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                }
              },
              "concatenate_terms": true,
              "concatenate_dim": -1,
              "enable_corruption": false,
              "history_length": null,
              "flatten_history_dim": true,
              "nan_policy": "disabled",
              "nan_check_per_term": true
            },
            "camera": {
              "terms": {
                "rgb": {
                  "func": "mjlab_gs.tasks.mdp.camera",
                  "params": {},
                  "noise": null,
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                }
              },
              "concatenate_terms": true,
              "concatenate_dim": -1,
              "enable_corruption": false,
              "history_length": null,
              "flatten_history_dim": true,
              "nan_policy": "disabled",
              "nan_check_per_term": true
            }
          },
          "critic_dim": 62,
          "randomization": {
            "enabled": false,
            "nominal_fraction": 0,
            "bottle_edge_margin_m": 0.05,
            "bottle_yaw_deg": 180.0,
            "table_xy_m": 0.3,
            "table_yaw_deg": 30.0,
            "robot_xy_m": 0.2,
            "robot_yaw_deg": 30.0,
            "initial_joint_deg": [
              45.0,
              20.0,
              30.0,
              45.0,
              30.0,
              90.0
            ],
            "initial_gripper_open_min": 0.85,
            "camera_xyz_m": 0.01,
            "camera_rotation_deg": 5.0,
            "camera_focal_fraction": 0.02,
            "camera_principal_px": [
              6.4,
              4.0
            ],
            "friction_scale": [
              0.7,
              1.3
            ],
            "bottle_mass_scale": [
              0.8,
              1.2
            ],
            "joint_damping_scale": [
              0.8,
              1.2
            ],
            "light_gain": [
              0.7,
              1.3
            ],
            "material_gain": [
              0.8,
              1.2
            ],
            "exposure_gain": [
              0.85,
              1.15
            ],
            "white_balance": [
              0.95,
              1.05
            ],
            "image_noise_std_255": 2.0
          },
          "curriculum": {
            "enabled": false,
            "boundaries": [
              0,
              20000,
              50000,
              100000,
              200000
            ],
            "scales": [
              0.05,
              0.15,
              0.35,
              0.65,
              1.0
            ],
            "evaluation_scale": 1
          },
          "objective": {
            "lift_height_m": 0.1,
            "high_lift_height_m": 0.15,
            "hold_s": 2.0,
            "contact_force_n": 0.05,
            "max_hold_linear_speed": 0.15,
            "max_hold_angular_speed": 1.0,
            "max_penetration_m": 0.003,
            "hard_penetration_m": 0.02,
            "max_joint_speed": 1.57,
            "terminate_on_success": false,
            "contact_grace_s": 0.2,
            "capture_metrics": true
          },
          "episode_length_s": 15.0,
          "scale_rewards_by_dt": true,
          "reward_profile": "mjlab-lift-cube-8ee51fbc",
          "goal": {
            "nominal_joint_pos": [
              -3.522548046633501,
              -1.1518142048840005,
              0.9810469344913387,
              -1.4231175467061197,
              -1.5491226335784967,
              -0.36253961360662956
            ],
            "half_width_m": [
              0.05,
              0.05,
              0.03
            ],
            "joint_spread_deg": [
              5.0,
              5.0,
              5.0,
              5.0,
              5.0,
              5.0
            ],
            "candidates": 16
          },
          "goal_frame": "robot/base; nominal TCP FK + bounded reachable joint proposals",
          "goal_observation_dim": 3,
          "rewards": {
            "lift": {
              "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
              "params": {
                "command_name": "lift_height",
                "object_name": "bottle",
                "reaching_std": 0.2,
                "bringing_std": 0.3,
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": null,
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": [
                    "tcp"
                  ],
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "weight": 1.0
            },
            "lift_precise": {
              "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
              "params": {
                "command_name": "lift_height",
                "object_name": "bottle",
                "std": 0.05
              },
              "weight": 1.0
            },
            "action_rate_l2": {
              "func": "mjlab.envs.mdp.rewards.action_rate_l2",
              "params": {},
              "weight": -0.01
            },
            "joint_pos_limits": {
              "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
              "params": {
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": [
                    ".*"
                  ],
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": null,
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "weight": -10.0
            },
            "joint_vel_hinge": {
              "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
              "params": {
                "max_vel": 0.5,
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": [
                    ".*"
                  ],
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": null,
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "weight": -0.01
            }
          },
          "commands": {
            "lift_height": {
              "resampling_time_range": [
                1000000000.0,
                1000000000.0
              ],
              "debug_vis": true,
              "entity_name": "bottle",
              "success_threshold": 0.05,
              "difficulty": "fixed",
              "target_position_range": {
                "x": [
                  0.3,
                  0.5
                ],
                "y": [
                  -0.2,
                  0.2
                ],
                "z": [
                  0.2,
                  0.4
                ]
              },
              "object_pose_range": null,
              "viz": {
                "target_color": [
                  1.0,
                  0.5,
                  0.0,
                  0.3
                ]
              }
            }
          },
          "reward_curriculum": {
            "joint_vel_hinge_weight": {
              "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
              "params": {
                "reward_name": "joint_vel_hinge",
                "stages": [
                  {
                    "step": 0,
                    "weight": -0.01
                  },
                  {
                    "step": 12000,
                    "weight": -0.1
                  },
                  {
                    "step": 24000,
                    "weight": -1.0
                  }
                ]
              }
            }
          }
        }
      },
      "Mjlab-GS-Bottle-UR5-State": {
        "dimensions": {
          "actor": [
            4,
            37
          ],
          "critic": [
            4,
            37
          ]
        },
        "camera_initialization_forbidden_and_visual_dr_absent": true,
        "goal_samples": 32,
        "goal_cpu_fk_max_error_m": 1.8652877176172922e-07,
        "nominal_fallback_fraction": 0.0,
        "nominal_tcp_base": [
          0.6560320258140564,
          -0.13862912356853485,
          0.265982061624527
        ],
        "goal_independent_of_unreachable_bottle_and_start_joints": true,
        "partial_reset_isolation": true,
        "episode_fixed_and_autoreset_goals": true,
        "untrained_network_inference": true,
        "network_hidden_dims": [
          256,
          128,
          64
        ],
        "contract": {
          "version": "mjlab-gs-cartesian-v3",
          "observation_mode": "state",
          "controller": "gpu-differential-ik",
          "arm_bias_compensation": true,
          "state_dim": 37,
          "goal_dim": 0,
          "goal_frame": "object-to-goal in robot/base; embedded in state",
          "action_dim": 7,
          "action_frame": "robot/base",
          "translation_m_per_step": 0.005,
          "rotation_rad_per_step": 0.017453292519943295,
          "gripper": "-1 closed; +1 open",
          "physics_dt": 0.001,
          "control_dt": 0.05,
          "rgb_shape": null,
          "rgb_dtype": null,
          "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
          "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
        },
        "task_spec": {
          "version": "bottle-lift-v4",
          "task_id": "Mjlab-GS-Bottle-UR5-State",
          "observation_mode": "state",
          "observations": {
            "actor": {
              "terms": {
                "joint_pos": {
                  "func": "mjlab.envs.mdp.observations.joint_pos_rel",
                  "params": {},
                  "noise": {
                    "operation": "add",
                    "_tensor_cache": {},
                    "n_min": -0.01,
                    "n_max": 0.01
                  },
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                },
                "joint_vel": {
                  "func": "mjlab.envs.mdp.observations.joint_vel_rel",
                  "params": {},
                  "noise": {
                    "operation": "add",
                    "_tensor_cache": {},
                    "n_min": -0.05,
                    "n_max": 0.05
                  },
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                },
                "ee_to_cube": {
                  "func": "mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance",
                  "params": {
                    "object_name": "bottle",
                    "asset_cfg": {
                      "name": "robot",
                      "joint_names": null,
                      "joint_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "body_names": null,
                      "body_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "geom_names": null,
                      "geom_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "site_names": [
                        "tcp"
                      ],
                      "site_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "actuator_names": null,
                      "actuator_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "tendon_names": null,
                      "tendon_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "camera_names": null,
                      "camera_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "light_names": null,
                      "light_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "material_names": null,
                      "material_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "texture_names": null,
                      "texture_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "pair_names": null,
                      "pair_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "preserve_order": false
                    }
                  },
                  "noise": {
                    "operation": "add",
                    "_tensor_cache": {},
                    "n_min": -0.002,
                    "n_max": 0.002
                  },
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                },
                "cube_to_goal": {
                  "func": "mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance",
                  "params": {
                    "object_name": "bottle",
                    "command_name": "lift_height"
                  },
                  "noise": {
                    "operation": "add",
                    "_tensor_cache": {},
                    "n_min": -0.002,
                    "n_max": 0.002
                  },
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                },
                "actions": {
                  "func": "mjlab.envs.mdp.observations.last_action",
                  "params": {},
                  "noise": null,
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                }
              },
              "concatenate_terms": true,
              "concatenate_dim": -1,
              "enable_corruption": true,
              "history_length": null,
              "flatten_history_dim": true,
              "nan_policy": "disabled",
              "nan_check_per_term": true
            },
            "critic": {
              "terms": {
                "joint_pos": {
                  "func": "mjlab.envs.mdp.observations.joint_pos_rel",
                  "params": {},
                  "noise": {
                    "operation": "add",
                    "_tensor_cache": {},
                    "n_min": -0.01,
                    "n_max": 0.01
                  },
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                },
                "joint_vel": {
                  "func": "mjlab.envs.mdp.observations.joint_vel_rel",
                  "params": {},
                  "noise": {
                    "operation": "add",
                    "_tensor_cache": {},
                    "n_min": -0.05,
                    "n_max": 0.05
                  },
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                },
                "ee_to_cube": {
                  "func": "mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance",
                  "params": {
                    "object_name": "bottle",
                    "asset_cfg": {
                      "name": "robot",
                      "joint_names": null,
                      "joint_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "body_names": null,
                      "body_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "geom_names": null,
                      "geom_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "site_names": [
                        "tcp"
                      ],
                      "site_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "actuator_names": null,
                      "actuator_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "tendon_names": null,
                      "tendon_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "camera_names": null,
                      "camera_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "light_names": null,
                      "light_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "material_names": null,
                      "material_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "texture_names": null,
                      "texture_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "pair_names": null,
                      "pair_ids": {
                        "slice": [
                          null,
                          null,
                          null
                        ]
                      },
                      "preserve_order": false
                    }
                  },
                  "noise": {
                    "operation": "add",
                    "_tensor_cache": {},
                    "n_min": -0.002,
                    "n_max": 0.002
                  },
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                },
                "cube_to_goal": {
                  "func": "mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance",
                  "params": {
                    "object_name": "bottle",
                    "command_name": "lift_height"
                  },
                  "noise": {
                    "operation": "add",
                    "_tensor_cache": {},
                    "n_min": -0.002,
                    "n_max": 0.002
                  },
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                },
                "actions": {
                  "func": "mjlab.envs.mdp.observations.last_action",
                  "params": {},
                  "noise": null,
                  "clip": null,
                  "scale": null,
                  "delay_min_lag": 0,
                  "delay_max_lag": 0,
                  "delay_per_env": true,
                  "delay_hold_prob": 0.0,
                  "delay_update_period": 0,
                  "delay_per_env_phase": true,
                  "history_length": 0,
                  "flatten_history_dim": true
                }
              },
              "concatenate_terms": true,
              "concatenate_dim": -1,
              "enable_corruption": false,
              "history_length": null,
              "flatten_history_dim": true,
              "nan_policy": "disabled",
              "nan_check_per_term": true
            }
          },
          "critic_dim": 37,
          "randomization": {
            "enabled": false,
            "nominal_fraction": 0,
            "bottle_edge_margin_m": 0.05,
            "bottle_yaw_deg": 180.0,
            "table_xy_m": 0.15,
            "table_yaw_deg": 15,
            "robot_xy_m": 0.1,
            "robot_yaw_deg": 15,
            "initial_joint_deg": [
              15,
              10,
              10,
              15,
              15,
              30
            ],
            "initial_gripper_open_min": 0.85,
            "camera_xyz_m": 0,
            "camera_rotation_deg": 0,
            "camera_focal_fraction": 0,
            "camera_principal_px": [
              0,
              0
            ],
            "friction_scale": [
              0.7,
              1.3
            ],
            "bottle_mass_scale": [
              0.8,
              1.2
            ],
            "joint_damping_scale": [
              0.8,
              1.2
            ],
            "light_gain": [
              1,
              1
            ],
            "material_gain": [
              1,
              1
            ],
            "exposure_gain": [
              1,
              1
            ],
            "white_balance": [
              1,
              1
            ],
            "image_noise_std_255": 0
          },
          "curriculum": {
            "enabled": false,
            "boundaries": [
              0,
              20000,
              50000,
              100000,
              200000
            ],
            "scales": [
              0.05,
              0.15,
              0.35,
              0.65,
              1.0
            ],
            "evaluation_scale": 1
          },
          "objective": {
            "lift_height_m": 0.1,
            "high_lift_height_m": 0.15,
            "hold_s": 2.0,
            "contact_force_n": 0.05,
            "max_hold_linear_speed": 0.15,
            "max_hold_angular_speed": 1.0,
            "max_penetration_m": 0.003,
            "hard_penetration_m": 0.02,
            "max_joint_speed": 1.57,
            "terminate_on_success": false,
            "contact_grace_s": 0.2,
            "capture_metrics": true
          },
          "episode_length_s": 15.0,
          "scale_rewards_by_dt": true,
          "reward_profile": "mjlab-lift-cube-8ee51fbc",
          "goal": {
            "nominal_joint_pos": [
              -3.522548046633501,
              -1.1518142048840005,
              0.9810469344913387,
              -1.4231175467061197,
              -1.5491226335784967,
              -0.36253961360662956
            ],
            "half_width_m": [
              0.05,
              0.05,
              0.03
            ],
            "joint_spread_deg": [
              5.0,
              5.0,
              5.0,
              5.0,
              5.0,
              5.0
            ],
            "candidates": 16
          },
          "goal_frame": "robot/base; nominal TCP FK + bounded reachable joint proposals",
          "goal_observation_dim": 0,
          "rewards": {
            "lift": {
              "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
              "params": {
                "command_name": "lift_height",
                "object_name": "bottle",
                "reaching_std": 0.2,
                "bringing_std": 0.3,
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": null,
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": [
                    "tcp"
                  ],
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "weight": 1.0
            },
            "lift_precise": {
              "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
              "params": {
                "command_name": "lift_height",
                "object_name": "bottle",
                "std": 0.05
              },
              "weight": 1.0
            },
            "action_rate_l2": {
              "func": "mjlab.envs.mdp.rewards.action_rate_l2",
              "params": {},
              "weight": -0.01
            },
            "joint_pos_limits": {
              "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
              "params": {
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": [
                    ".*"
                  ],
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": null,
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "weight": -10.0
            },
            "joint_vel_hinge": {
              "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
              "params": {
                "max_vel": 0.5,
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": [
                    ".*"
                  ],
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": null,
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "weight": -0.01
            }
          },
          "commands": {
            "lift_height": {
              "resampling_time_range": [
                1000000000.0,
                1000000000.0
              ],
              "debug_vis": true,
              "entity_name": "bottle",
              "success_threshold": 0.05,
              "difficulty": "fixed",
              "target_position_range": {
                "x": [
                  0.3,
                  0.5
                ],
                "y": [
                  -0.2,
                  0.2
                ],
                "z": [
                  0.2,
                  0.4
                ]
              },
              "object_pose_range": null,
              "viz": {
                "target_color": [
                  1.0,
                  0.5,
                  0.0,
                  0.3
                ]
              }
            }
          },
          "reward_curriculum": {
            "joint_vel_hinge_weight": {
              "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
              "params": {
                "reward_name": "joint_vel_hinge",
                "stages": [
                  {
                    "step": 0,
                    "weight": -0.01
                  },
                  {
                    "step": 12000,
                    "weight": -0.1
                  },
                  {
                    "step": 24000,
                    "weight": -1.0
                  }
                ]
              }
            }
          }
        }
      }
    }
  },
  "teacher/evaluation_nominal.json": {
    "requested_episodes": 2,
    "completed_episodes": 2,
    "unfinished_episodes": 0,
    "complete": true,
    "success_rate": 0.0,
    "completed_only": {
      "episodes": 2,
      "successes": 0.0,
      "success_rate": 0.0,
      "high_success_rate": 0.0,
      "lift_rates": {
        "0.02": 0.0,
        "0.05": 0.0,
        "0.1": 0.0,
        "0.15": 0.0
      },
      "mean_peak_lift_m": 0.0004999637603759766,
      "drop_rate": 0.0,
      "invalid_episode_rate": 0.0
    },
    "matrix": [
      {
        "dr_scale": 0.0,
        "bottle_x_bin": 2,
        "bottle_y_bin": 0,
        "episodes": 2,
        "successes": 0.0,
        "success_rate": 0.0,
        "high_success_rate": 0.0,
        "lift_rates": {
          "0.02": 0.0,
          "0.05": 0.0,
          "0.1": 0.0,
          "0.15": 0.0
        },
        "mean_peak_lift_m": 0.0004999637603759766,
        "drop_rate": 0.0,
        "invalid_episode_rate": 0.0
      }
    ],
    "episodes": [
      {
        "success": 0.0,
        "high_success": 0.0,
        "max_clearance": 0.0004999637603759766,
        "best_hold_s": 0.0,
        "best_high_hold_s": 0.0,
        "ever_lifted": 0.0,
        "ever_dropped": 0.0,
        "ever_bad_contact": 0.0,
        "max_penetration": 0.0005142095615155995,
        "max_joint_speed": 2.2704807633999735e-05,
        "max_force_ratio": 0.26514291763305664,
        "nonfinite": 0.0,
        "elapsed_s": 15.000000953674316,
        "initial_layout_footprint_overlap": 0.0,
        "return_": 13.89688777923584,
        "dr_scale": 0.0,
        "bilateral_fraction": 0.0,
        "world": 0,
        "bottle_local_xy": [
          0.18000000715255737,
          -0.12999999523162842
        ],
        "terminated": false,
        "timeout": true,
        "bottle_x_bin": 2,
        "bottle_y_bin": 0,
        "invalid": false
      },
      {
        "success": 0.0,
        "high_success": 0.0,
        "max_clearance": 0.0004999637603759766,
        "best_hold_s": 0.0,
        "best_high_hold_s": 0.0,
        "ever_lifted": 0.0,
        "ever_dropped": 0.0,
        "ever_bad_contact": 0.0,
        "max_penetration": 0.0005142095615155995,
        "max_joint_speed": 2.2704807633999735e-05,
        "max_force_ratio": 0.26514291763305664,
        "nonfinite": 0.0,
        "elapsed_s": 15.000000953674316,
        "initial_layout_footprint_overlap": 0.0,
        "return_": 13.89688777923584,
        "dr_scale": 0.0,
        "bilateral_fraction": 0.0,
        "world": 1,
        "bottle_local_xy": [
          0.18000000715255737,
          -0.12999999523162842
        ],
        "terminated": false,
        "timeout": true,
        "bottle_x_bin": 2,
        "bottle_y_bin": 0,
        "invalid": false
      }
    ],
    "command": "evaluate",
    "vector_steps": 300,
    "seconds": 21.058113920502365,
    "policy": "supplied callable (CLI without checkpoint uses zero Cartesian action/open gripper)",
    "num_envs": 2,
    "contract": {
      "version": "mjlab-gs-cartesian-v3",
      "observation_mode": "state",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 37,
      "goal_dim": 0,
      "goal_frame": "object-to-goal in robot/base; embedded in state",
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": null,
      "rgb_dtype": null,
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "task_spec": {
      "version": "bottle-lift-v4",
      "task_id": "Mjlab-GS-Bottle-UR5-State",
      "observation_mode": "state",
      "observations": {
        "actor": {
          "terms": {
            "joint_pos": {
              "func": "mjlab.envs.mdp.observations.joint_pos_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.01,
                "n_max": 0.01
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "joint_vel": {
              "func": "mjlab.envs.mdp.observations.joint_vel_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.05,
                "n_max": 0.05
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "ee_to_cube": {
              "func": "mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance",
              "params": {
                "object_name": "bottle",
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": null,
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": [
                    "tcp"
                  ],
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "cube_to_goal": {
              "func": "mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance",
              "params": {
                "object_name": "bottle",
                "command_name": "lift_height"
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "actions": {
              "func": "mjlab.envs.mdp.observations.last_action",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        },
        "critic": {
          "terms": {
            "joint_pos": {
              "func": "mjlab.envs.mdp.observations.joint_pos_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.01,
                "n_max": 0.01
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "joint_vel": {
              "func": "mjlab.envs.mdp.observations.joint_vel_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.05,
                "n_max": 0.05
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "ee_to_cube": {
              "func": "mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance",
              "params": {
                "object_name": "bottle",
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": null,
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": [
                    "tcp"
                  ],
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "cube_to_goal": {
              "func": "mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance",
              "params": {
                "object_name": "bottle",
                "command_name": "lift_height"
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "actions": {
              "func": "mjlab.envs.mdp.observations.last_action",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        }
      },
      "critic_dim": 37,
      "randomization": {
        "enabled": false,
        "nominal_fraction": 0.1,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.15,
        "table_yaw_deg": 15,
        "robot_xy_m": 0.1,
        "robot_yaw_deg": 15,
        "initial_joint_deg": [
          15,
          10,
          10,
          15,
          15,
          30
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0,
        "camera_rotation_deg": 0,
        "camera_focal_fraction": 0,
        "camera_principal_px": [
          0,
          0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          1,
          1
        ],
        "material_gain": [
          1,
          1
        ],
        "exposure_gain": [
          1,
          1
        ],
        "white_balance": [
          1,
          1
        ],
        "image_noise_std_255": 0
      },
      "curriculum": {
        "enabled": false,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1.0
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": false,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_profile": "mjlab-lift-cube-8ee51fbc",
      "goal": {
        "nominal_joint_pos": [
          -3.522548046633501,
          -1.1518142048840005,
          0.9810469344913387,
          -1.4231175467061197,
          -1.5491226335784967,
          -0.36253961360662956
        ],
        "half_width_m": [
          0.05,
          0.05,
          0.03
        ],
        "joint_spread_deg": [
          5.0,
          5.0,
          5.0,
          5.0,
          5.0,
          5.0
        ],
        "candidates": 16
      },
      "goal_frame": "robot/base; nominal TCP FK + bounded reachable joint proposals",
      "goal_observation_dim": 0,
      "rewards": {
        "lift": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "reaching_std": 0.2,
            "bringing_std": 0.3,
            "asset_cfg": {
              "name": "robot",
              "joint_names": null,
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": [
                "tcp"
              ],
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": 1.0
        },
        "lift_precise": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "std": 0.05
          },
          "weight": 1.0
        },
        "action_rate_l2": {
          "func": "mjlab.envs.mdp.rewards.action_rate_l2",
          "params": {},
          "weight": -0.01
        },
        "joint_pos_limits": {
          "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
          "params": {
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -10.0
        },
        "joint_vel_hinge": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
          "params": {
            "max_vel": 0.5,
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -0.01
        }
      },
      "commands": {
        "lift_height": {
          "resampling_time_range": [
            1000000000.0,
            1000000000.0
          ],
          "debug_vis": true,
          "entity_name": "bottle",
          "success_threshold": 0.05,
          "difficulty": "fixed",
          "target_position_range": {
            "x": [
              0.3,
              0.5
            ],
            "y": [
              -0.2,
              0.2
            ],
            "z": [
              0.2,
              0.4
            ]
          },
          "object_pose_range": null,
          "viz": {
            "target_color": [
              1.0,
              0.5,
              0.0,
              0.3
            ]
          }
        }
      },
      "reward_curriculum": {
        "joint_vel_hinge_weight": {
          "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
          "params": {
            "reward_name": "joint_vel_hinge",
            "stages": [
              {
                "step": 0,
                "weight": -0.01
              },
              {
                "step": 12000,
                "weight": -0.1
              },
              {
                "step": 24000,
                "weight": -1.0
              }
            ]
          }
        }
      }
    },
    "note": "Fixed per-world episode quotas; no IK, reachability, visibility or collision-start rejection. No training.",
    "nvml_sampled_process_peak_GiB": 0.462890625
  },
  "teacher/code_manifest.json": {
    "configs/curriculum.json": "3dd85098ee5738642594e169181163a40cdb271a0fb8b6bb7c815d8bcf2688d5",
    "configs/eval_full.json": "53332c40ee11d0810a49506f2bf84685be4219b5c11c4f690014d56b24cc0733",
    "configs/nominal.json": "8f7a60b91404bf02c04373977ce1afc46d5b359bf618d48c211ec8c1be03a440",
    "configs/teacher.json": "06b56c8c586160872996f92950f0c09c855a476f0804d882a29d032a793bd48d",
    "src/mjlab_gs/__init__.py": "92f13d2cccf479d8f54b471075eaa2ee2f9e62e50155f240e5407175970e1c93",
    "src/mjlab_gs/cli.py": "086fa3f203e7ac4a4134b05e6bd54687a5388126314b105aa7b4ff269e409940",
    "src/mjlab_gs/configuration.py": "54c663248e9b1931768f51fc57e32606487ee4e814fb6bf50064b3e07180d892",
    "src/mjlab_gs/contracts.py": "40efaa92dfd0e7ff99f4900b76aa9f2f5db3a3bc64863a53edcb2cc69d7230e4",
    "src/mjlab_gs/evaluation.py": "ffe5ca09b0ee198ba8018edb1d58915eae32cbb0c8862ac9e0339dc57718e193",
    "src/mjlab_gs/metrics.py": "3929299576a6bf539209b476d659be41b42bccb48fea93b3effcb73a0ff7091e",
    "src/mjlab_gs/paths.py": "0beebd6af53d7b06b21bf27a7d436a8968160b570f5ab8c2545cfc9cffc03cd1",
    "src/mjlab_gs/rendering/__init__.py": "6bafc0eb96a687dfc15f0e52d301c1ea8c8f3c3507e3c55ddeee48273f064940",
    "src/mjlab_gs/rendering/compat.py": "6d1605e810a9335af581be77ecb5cd6ead10356d4d73863dbbf42bd87d73ee3b",
    "src/mjlab_gs/rendering/fields.py": "75d7200a5ca783781517f59e359d0790c4a6d34d5c3ab1ee3f449941a82fd7d5",
    "src/mjlab_gs/rendering/intrinsics.py": "e34ca0bc3849c27e28b656c8541836920d4eef92e20558b9bf86c3c9ffe1a9d0",
    "src/mjlab_gs/rendering/sensor.py": "3b34aeaca7052ab7226aee48bfcbdcdf68765e20c4861d66a5a079609325ae15",
    "src/mjlab_gs/runner.py": "c7edc94d2cfc1cabc5977931e416a05ba187068a308c5e4848ae52e888430d73",
    "src/mjlab_gs/tasks/__init__.py": "9879873904c98cb543734a9325a2f2a739034ce7f1ca1dbf3048d29ce6228571",
    "src/mjlab_gs/tasks/actions.py": "5af870285b21316ea4d11e00f20c60b0e176515acb0781c5b1920320af8bd047",
    "src/mjlab_gs/tasks/commands.py": "1f71f009157ec8f5f5f068f249c9f1054805ed89b1ce86f3744ba47bcd68eed6",
    "src/mjlab_gs/tasks/config.py": "e84744728cf068baf1862fcdfb00589b5c7b88ce493120fbf48872e3cdc0a473",
    "src/mjlab_gs/tasks/goal_sampling.py": "ddfeae38bb2c5b7ca99e52eefa92d359f43ae3694ecd47cd7041eefc68f392c8",
    "src/mjlab_gs/tasks/mdp.py": "d9030bd1985eabeb856d9838650bf5e5f31cb067bdab2c60e25c4926bcaddeeb",
    "src/mjlab_gs/tasks/objective.py": "8eabf1fb210c8f8ca8c3db7bff2d7b5bb0eb0a604c944312869fe3486ccc9cb0",
    "src/mjlab_gs/tasks/randomization.py": "462df664f2165ae10c2d27f92b341e6a57cc597deb86d564bab563b64822fd8a",
    "src/mjlab_gs/tasks/scene.py": "2c0076bd4f19bbe83ef993c14e8dfa3bc1ede946d7b81878c9ccacfbf63bc671",
    "src/mjlab_gs/tasks/settings.py": "1a4bef5a28d7f5f38b66f62bc2e4a329fc1f28b25d30adbfa07522c54138db61",
    "src/mjlab_gs/tasks/state_config.py": "7663bea2e9dc32aed4ff077b73373b38af9d34599cbdea5c9245c05785ccb9a4",
    "src/mjlab_gs/workflows.py": "540a428f4a66bb45ca62ca20c8468abef3dc3b48f2efd7fdba42d78673697947"
  },
  "teacher/benchmark_visual64.json": {
    "command": "benchmark",
    "ik_cuda_graph": true,
    "num_envs": 64,
    "steps": 40,
    "seconds": 4.309895968995988,
    "env_fps": 593.9818544150069,
    "peak_torch_GiB": 0.3518862724304199,
    "torch_reserved_GiB": 0.404296875,
    "mean_return": 1.8473496437072754,
    "completed_episodes": 0,
    "finite": true,
    "contract": {
      "version": "mjlab-gs-cartesian-v3",
      "observation_mode": "visual",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 16,
      "goal_dim": 3,
      "goal_frame": "robot/base",
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": [
        128,
        128,
        3
      ],
      "rgb_dtype": "uint8",
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "task_spec": {
      "version": "bottle-lift-v4",
      "task_id": "Mjlab-GS-Bottle-UR5",
      "observation_mode": "visual",
      "observations": {
        "actor": {
          "terms": {
            "state": {
              "func": "mjlab_gs.tasks.mdp.state",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        },
        "goal": {
          "terms": {
            "position": {
              "func": "mjlab_gs.tasks.mdp.goal",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        },
        "critic": {
          "terms": {
            "state": {
              "func": "mjlab_gs.tasks.mdp.critic",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        },
        "camera": {
          "terms": {
            "rgb": {
              "func": "mjlab_gs.tasks.mdp.camera",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        }
      },
      "critic_dim": 62,
      "randomization": {
        "enabled": true,
        "nominal_fraction": 0.1,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.15,
        "table_yaw_deg": 15,
        "robot_xy_m": 0.1,
        "robot_yaw_deg": 15,
        "initial_joint_deg": [
          15,
          10,
          10,
          15,
          15,
          30
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0,
        "camera_rotation_deg": 0,
        "camera_focal_fraction": 0,
        "camera_principal_px": [
          0,
          0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          1,
          1
        ],
        "material_gain": [
          1,
          1
        ],
        "exposure_gain": [
          1,
          1
        ],
        "white_balance": [
          1,
          1
        ],
        "image_noise_std_255": 0
      },
      "curriculum": {
        "enabled": true,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1.0
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": false,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_profile": "mjlab-lift-cube-8ee51fbc",
      "goal": {
        "nominal_joint_pos": [
          -3.522548046633501,
          -1.1518142048840005,
          0.9810469344913387,
          -1.4231175467061197,
          -1.5491226335784967,
          -0.36253961360662956
        ],
        "half_width_m": [
          0.05,
          0.05,
          0.03
        ],
        "joint_spread_deg": [
          5.0,
          5.0,
          5.0,
          5.0,
          5.0,
          5.0
        ],
        "candidates": 16
      },
      "goal_frame": "robot/base; nominal TCP FK + bounded reachable joint proposals",
      "goal_observation_dim": 3,
      "rewards": {
        "lift": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "reaching_std": 0.2,
            "bringing_std": 0.3,
            "asset_cfg": {
              "name": "robot",
              "joint_names": null,
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": [
                "tcp"
              ],
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": 1.0
        },
        "lift_precise": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "std": 0.05
          },
          "weight": 1.0
        },
        "action_rate_l2": {
          "func": "mjlab.envs.mdp.rewards.action_rate_l2",
          "params": {},
          "weight": -0.01
        },
        "joint_pos_limits": {
          "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
          "params": {
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -10.0
        },
        "joint_vel_hinge": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
          "params": {
            "max_vel": 0.5,
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -0.01
        }
      },
      "commands": {
        "lift_height": {
          "resampling_time_range": [
            1000000000.0,
            1000000000.0
          ],
          "debug_vis": true,
          "entity_name": "bottle",
          "success_threshold": 0.05,
          "difficulty": "fixed",
          "target_position_range": {
            "x": [
              0.3,
              0.5
            ],
            "y": [
              -0.2,
              0.2
            ],
            "z": [
              0.2,
              0.4
            ]
          },
          "object_pose_range": null,
          "viz": {
            "target_color": [
              1.0,
              0.5,
              0.0,
              0.3
            ]
          }
        }
      },
      "reward_curriculum": {
        "joint_vel_hinge_weight": {
          "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
          "params": {
            "reward_name": "joint_vel_hinge",
            "stages": [
              {
                "step": 0,
                "weight": -0.01
              },
              {
                "step": 12000,
                "weight": -0.1
              },
              {
                "step": 24000,
                "weight": -1.0
              }
            ]
          }
        }
      }
    },
    "nvml_sampled_process_peak_GiB": 1.697265625
  },
  "teacher/benchmark_state64.json": {
    "command": "benchmark",
    "ik_cuda_graph": true,
    "num_envs": 64,
    "steps": 40,
    "seconds": 2.8960814075544477,
    "env_fps": 883.9530523286476,
    "peak_torch_GiB": 0.016141891479492188,
    "torch_reserved_GiB": 0.048828125,
    "mean_return": 1.847733497619629,
    "completed_episodes": 0,
    "finite": true,
    "contract": {
      "version": "mjlab-gs-cartesian-v3",
      "observation_mode": "state",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 37,
      "goal_dim": 0,
      "goal_frame": "object-to-goal in robot/base; embedded in state",
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": null,
      "rgb_dtype": null,
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "task_spec": {
      "version": "bottle-lift-v4",
      "task_id": "Mjlab-GS-Bottle-UR5-State",
      "observation_mode": "state",
      "observations": {
        "actor": {
          "terms": {
            "joint_pos": {
              "func": "mjlab.envs.mdp.observations.joint_pos_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.01,
                "n_max": 0.01
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "joint_vel": {
              "func": "mjlab.envs.mdp.observations.joint_vel_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.05,
                "n_max": 0.05
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "ee_to_cube": {
              "func": "mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance",
              "params": {
                "object_name": "bottle",
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": null,
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": [
                    "tcp"
                  ],
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "cube_to_goal": {
              "func": "mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance",
              "params": {
                "object_name": "bottle",
                "command_name": "lift_height"
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "actions": {
              "func": "mjlab.envs.mdp.observations.last_action",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        },
        "critic": {
          "terms": {
            "joint_pos": {
              "func": "mjlab.envs.mdp.observations.joint_pos_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.01,
                "n_max": 0.01
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "joint_vel": {
              "func": "mjlab.envs.mdp.observations.joint_vel_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.05,
                "n_max": 0.05
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "ee_to_cube": {
              "func": "mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance",
              "params": {
                "object_name": "bottle",
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": null,
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": [
                    "tcp"
                  ],
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "cube_to_goal": {
              "func": "mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance",
              "params": {
                "object_name": "bottle",
                "command_name": "lift_height"
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "actions": {
              "func": "mjlab.envs.mdp.observations.last_action",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        }
      },
      "critic_dim": 37,
      "randomization": {
        "enabled": true,
        "nominal_fraction": 0.1,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.15,
        "table_yaw_deg": 15,
        "robot_xy_m": 0.1,
        "robot_yaw_deg": 15,
        "initial_joint_deg": [
          15,
          10,
          10,
          15,
          15,
          30
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0,
        "camera_rotation_deg": 0,
        "camera_focal_fraction": 0,
        "camera_principal_px": [
          0,
          0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          1,
          1
        ],
        "material_gain": [
          1,
          1
        ],
        "exposure_gain": [
          1,
          1
        ],
        "white_balance": [
          1,
          1
        ],
        "image_noise_std_255": 0
      },
      "curriculum": {
        "enabled": true,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1.0
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": false,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_profile": "mjlab-lift-cube-8ee51fbc",
      "goal": {
        "nominal_joint_pos": [
          -3.522548046633501,
          -1.1518142048840005,
          0.9810469344913387,
          -1.4231175467061197,
          -1.5491226335784967,
          -0.36253961360662956
        ],
        "half_width_m": [
          0.05,
          0.05,
          0.03
        ],
        "joint_spread_deg": [
          5.0,
          5.0,
          5.0,
          5.0,
          5.0,
          5.0
        ],
        "candidates": 16
      },
      "goal_frame": "robot/base; nominal TCP FK + bounded reachable joint proposals",
      "goal_observation_dim": 0,
      "rewards": {
        "lift": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "reaching_std": 0.2,
            "bringing_std": 0.3,
            "asset_cfg": {
              "name": "robot",
              "joint_names": null,
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": [
                "tcp"
              ],
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": 1.0
        },
        "lift_precise": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "std": 0.05
          },
          "weight": 1.0
        },
        "action_rate_l2": {
          "func": "mjlab.envs.mdp.rewards.action_rate_l2",
          "params": {},
          "weight": -0.01
        },
        "joint_pos_limits": {
          "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
          "params": {
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -10.0
        },
        "joint_vel_hinge": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
          "params": {
            "max_vel": 0.5,
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -0.01
        }
      },
      "commands": {
        "lift_height": {
          "resampling_time_range": [
            1000000000.0,
            1000000000.0
          ],
          "debug_vis": true,
          "entity_name": "bottle",
          "success_threshold": 0.05,
          "difficulty": "fixed",
          "target_position_range": {
            "x": [
              0.3,
              0.5
            ],
            "y": [
              -0.2,
              0.2
            ],
            "z": [
              0.2,
              0.4
            ]
          },
          "object_pose_range": null,
          "viz": {
            "target_color": [
              1.0,
              0.5,
              0.0,
              0.3
            ]
          }
        }
      },
      "reward_curriculum": {
        "joint_vel_hinge_weight": {
          "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
          "params": {
            "reward_name": "joint_vel_hinge",
            "stages": [
              {
                "step": 0,
                "weight": -0.01
              },
              {
                "step": 12000,
                "weight": -0.1
              },
              {
                "step": 24000,
                "weight": -1.0
              }
            ]
          }
        }
      }
    },
    "nvml_sampled_process_peak_GiB": 0.525390625
  },
  "teacher/benchmark_state256.json": {
    "command": "benchmark",
    "ik_cuda_graph": true,
    "num_envs": 256,
    "steps": 40,
    "seconds": 3.173557946458459,
    "env_fps": 3226.6623684711217,
    "peak_torch_GiB": 0.016741275787353516,
    "torch_reserved_GiB": 0.048828125,
    "mean_return": 1.839266300201416,
    "completed_episodes": 0,
    "finite": true,
    "contract": {
      "version": "mjlab-gs-cartesian-v3",
      "observation_mode": "state",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 37,
      "goal_dim": 0,
      "goal_frame": "object-to-goal in robot/base; embedded in state",
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": null,
      "rgb_dtype": null,
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "task_spec": {
      "version": "bottle-lift-v4",
      "task_id": "Mjlab-GS-Bottle-UR5-State",
      "observation_mode": "state",
      "observations": {
        "actor": {
          "terms": {
            "joint_pos": {
              "func": "mjlab.envs.mdp.observations.joint_pos_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.01,
                "n_max": 0.01
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "joint_vel": {
              "func": "mjlab.envs.mdp.observations.joint_vel_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.05,
                "n_max": 0.05
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "ee_to_cube": {
              "func": "mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance",
              "params": {
                "object_name": "bottle",
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": null,
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": [
                    "tcp"
                  ],
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "cube_to_goal": {
              "func": "mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance",
              "params": {
                "object_name": "bottle",
                "command_name": "lift_height"
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "actions": {
              "func": "mjlab.envs.mdp.observations.last_action",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        },
        "critic": {
          "terms": {
            "joint_pos": {
              "func": "mjlab.envs.mdp.observations.joint_pos_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.01,
                "n_max": 0.01
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "joint_vel": {
              "func": "mjlab.envs.mdp.observations.joint_vel_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.05,
                "n_max": 0.05
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "ee_to_cube": {
              "func": "mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance",
              "params": {
                "object_name": "bottle",
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": null,
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": [
                    "tcp"
                  ],
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "cube_to_goal": {
              "func": "mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance",
              "params": {
                "object_name": "bottle",
                "command_name": "lift_height"
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "actions": {
              "func": "mjlab.envs.mdp.observations.last_action",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        }
      },
      "critic_dim": 37,
      "randomization": {
        "enabled": true,
        "nominal_fraction": 0.1,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.15,
        "table_yaw_deg": 15,
        "robot_xy_m": 0.1,
        "robot_yaw_deg": 15,
        "initial_joint_deg": [
          15,
          10,
          10,
          15,
          15,
          30
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0,
        "camera_rotation_deg": 0,
        "camera_focal_fraction": 0,
        "camera_principal_px": [
          0,
          0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          1,
          1
        ],
        "material_gain": [
          1,
          1
        ],
        "exposure_gain": [
          1,
          1
        ],
        "white_balance": [
          1,
          1
        ],
        "image_noise_std_255": 0
      },
      "curriculum": {
        "enabled": true,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1.0
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": false,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_profile": "mjlab-lift-cube-8ee51fbc",
      "goal": {
        "nominal_joint_pos": [
          -3.522548046633501,
          -1.1518142048840005,
          0.9810469344913387,
          -1.4231175467061197,
          -1.5491226335784967,
          -0.36253961360662956
        ],
        "half_width_m": [
          0.05,
          0.05,
          0.03
        ],
        "joint_spread_deg": [
          5.0,
          5.0,
          5.0,
          5.0,
          5.0,
          5.0
        ],
        "candidates": 16
      },
      "goal_frame": "robot/base; nominal TCP FK + bounded reachable joint proposals",
      "goal_observation_dim": 0,
      "rewards": {
        "lift": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "reaching_std": 0.2,
            "bringing_std": 0.3,
            "asset_cfg": {
              "name": "robot",
              "joint_names": null,
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": [
                "tcp"
              ],
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": 1.0
        },
        "lift_precise": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "std": 0.05
          },
          "weight": 1.0
        },
        "action_rate_l2": {
          "func": "mjlab.envs.mdp.rewards.action_rate_l2",
          "params": {},
          "weight": -0.01
        },
        "joint_pos_limits": {
          "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
          "params": {
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -10.0
        },
        "joint_vel_hinge": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
          "params": {
            "max_vel": 0.5,
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -0.01
        }
      },
      "commands": {
        "lift_height": {
          "resampling_time_range": [
            1000000000.0,
            1000000000.0
          ],
          "debug_vis": true,
          "entity_name": "bottle",
          "success_threshold": 0.05,
          "difficulty": "fixed",
          "target_position_range": {
            "x": [
              0.3,
              0.5
            ],
            "y": [
              -0.2,
              0.2
            ],
            "z": [
              0.2,
              0.4
            ]
          },
          "object_pose_range": null,
          "viz": {
            "target_color": [
              1.0,
              0.5,
              0.0,
              0.3
            ]
          }
        }
      },
      "reward_curriculum": {
        "joint_vel_hinge_weight": {
          "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
          "params": {
            "reward_name": "joint_vel_hinge",
            "stages": [
              {
                "step": 0,
                "weight": -0.01
              },
              {
                "step": 12000,
                "weight": -0.1
              },
              {
                "step": 24000,
                "weight": -1.0
              }
            ]
          }
        }
      }
    },
    "nvml_sampled_process_peak_GiB": 0.712890625
  },
  "teacher/benchmark_state1024.json": {
    "command": "benchmark",
    "ik_cuda_graph": true,
    "num_envs": 1024,
    "steps": 40,
    "seconds": 3.7679724348708987,
    "env_fps": 10870.567847294617,
    "peak_torch_GiB": 0.019226551055908203,
    "torch_reserved_GiB": 0.05078125,
    "mean_return": 1.8354439735412598,
    "completed_episodes": 0,
    "finite": true,
    "contract": {
      "version": "mjlab-gs-cartesian-v3",
      "observation_mode": "state",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 37,
      "goal_dim": 0,
      "goal_frame": "object-to-goal in robot/base; embedded in state",
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": null,
      "rgb_dtype": null,
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "task_spec": {
      "version": "bottle-lift-v4",
      "task_id": "Mjlab-GS-Bottle-UR5-State",
      "observation_mode": "state",
      "observations": {
        "actor": {
          "terms": {
            "joint_pos": {
              "func": "mjlab.envs.mdp.observations.joint_pos_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.01,
                "n_max": 0.01
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "joint_vel": {
              "func": "mjlab.envs.mdp.observations.joint_vel_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.05,
                "n_max": 0.05
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "ee_to_cube": {
              "func": "mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance",
              "params": {
                "object_name": "bottle",
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": null,
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": [
                    "tcp"
                  ],
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "cube_to_goal": {
              "func": "mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance",
              "params": {
                "object_name": "bottle",
                "command_name": "lift_height"
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "actions": {
              "func": "mjlab.envs.mdp.observations.last_action",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        },
        "critic": {
          "terms": {
            "joint_pos": {
              "func": "mjlab.envs.mdp.observations.joint_pos_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.01,
                "n_max": 0.01
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "joint_vel": {
              "func": "mjlab.envs.mdp.observations.joint_vel_rel",
              "params": {},
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.05,
                "n_max": 0.05
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "ee_to_cube": {
              "func": "mjlab.tasks.manipulation.mdp.observations.ee_to_object_distance",
              "params": {
                "object_name": "bottle",
                "asset_cfg": {
                  "name": "robot",
                  "joint_names": null,
                  "joint_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "body_names": null,
                  "body_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "geom_names": null,
                  "geom_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "site_names": [
                    "tcp"
                  ],
                  "site_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "actuator_names": null,
                  "actuator_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "tendon_names": null,
                  "tendon_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "camera_names": null,
                  "camera_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "light_names": null,
                  "light_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "material_names": null,
                  "material_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "texture_names": null,
                  "texture_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "pair_names": null,
                  "pair_ids": {
                    "slice": [
                      null,
                      null,
                      null
                    ]
                  },
                  "preserve_order": false
                }
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "cube_to_goal": {
              "func": "mjlab.tasks.manipulation.mdp.observations.object_to_goal_distance",
              "params": {
                "object_name": "bottle",
                "command_name": "lift_height"
              },
              "noise": {
                "operation": "add",
                "_tensor_cache": {},
                "n_min": -0.002,
                "n_max": 0.002
              },
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            },
            "actions": {
              "func": "mjlab.envs.mdp.observations.last_action",
              "params": {},
              "noise": null,
              "clip": null,
              "scale": null,
              "delay_min_lag": 0,
              "delay_max_lag": 0,
              "delay_per_env": true,
              "delay_hold_prob": 0.0,
              "delay_update_period": 0,
              "delay_per_env_phase": true,
              "history_length": 0,
              "flatten_history_dim": true
            }
          },
          "concatenate_terms": true,
          "concatenate_dim": -1,
          "enable_corruption": false,
          "history_length": null,
          "flatten_history_dim": true,
          "nan_policy": "disabled",
          "nan_check_per_term": true
        }
      },
      "critic_dim": 37,
      "randomization": {
        "enabled": true,
        "nominal_fraction": 0.1,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.15,
        "table_yaw_deg": 15,
        "robot_xy_m": 0.1,
        "robot_yaw_deg": 15,
        "initial_joint_deg": [
          15,
          10,
          10,
          15,
          15,
          30
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0,
        "camera_rotation_deg": 0,
        "camera_focal_fraction": 0,
        "camera_principal_px": [
          0,
          0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          1,
          1
        ],
        "material_gain": [
          1,
          1
        ],
        "exposure_gain": [
          1,
          1
        ],
        "white_balance": [
          1,
          1
        ],
        "image_noise_std_255": 0
      },
      "curriculum": {
        "enabled": true,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1.0
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": false,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_profile": "mjlab-lift-cube-8ee51fbc",
      "goal": {
        "nominal_joint_pos": [
          -3.522548046633501,
          -1.1518142048840005,
          0.9810469344913387,
          -1.4231175467061197,
          -1.5491226335784967,
          -0.36253961360662956
        ],
        "half_width_m": [
          0.05,
          0.05,
          0.03
        ],
        "joint_spread_deg": [
          5.0,
          5.0,
          5.0,
          5.0,
          5.0,
          5.0
        ],
        "candidates": 16
      },
      "goal_frame": "robot/base; nominal TCP FK + bounded reachable joint proposals",
      "goal_observation_dim": 0,
      "rewards": {
        "lift": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "reaching_std": 0.2,
            "bringing_std": 0.3,
            "asset_cfg": {
              "name": "robot",
              "joint_names": null,
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": [
                "tcp"
              ],
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": 1.0
        },
        "lift_precise": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "std": 0.05
          },
          "weight": 1.0
        },
        "action_rate_l2": {
          "func": "mjlab.envs.mdp.rewards.action_rate_l2",
          "params": {},
          "weight": -0.01
        },
        "joint_pos_limits": {
          "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
          "params": {
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -10.0
        },
        "joint_vel_hinge": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
          "params": {
            "max_vel": 0.5,
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -0.01
        }
      },
      "commands": {
        "lift_height": {
          "resampling_time_range": [
            1000000000.0,
            1000000000.0
          ],
          "debug_vis": true,
          "entity_name": "bottle",
          "success_threshold": 0.05,
          "difficulty": "fixed",
          "target_position_range": {
            "x": [
              0.3,
              0.5
            ],
            "y": [
              -0.2,
              0.2
            ],
            "z": [
              0.2,
              0.4
            ]
          },
          "object_pose_range": null,
          "viz": {
            "target_color": [
              1.0,
              0.5,
              0.0,
              0.3
            ]
          }
        }
      },
      "reward_curriculum": {
        "joint_vel_hinge_weight": {
          "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
          "params": {
            "reward_name": "joint_vel_hinge",
            "stages": [
              {
                "step": 0,
                "weight": -0.01
              },
              {
                "step": 12000,
                "weight": -0.1
              },
              {
                "step": 24000,
                "weight": -1.0
              }
            ]
          }
        }
      }
    },
    "nvml_sampled_process_peak_GiB": 1.58984375
  },
  "browser_state/result.json": {
    "status": "passed",
    "play_pause_step_reset_clicked": true,
    "page_errors": [],
    "images": [
      {
        "alt": "",
        "w": 170,
        "h": 150
      },
      {
        "alt": "",
        "w": 170,
        "h": 150
      }
    ],
    "camera_feed_label_present": false,
    "canvas_count": 2,
    "goal_debug_control_present": true,
    "state_task": true
  },
  "model_check.json": {
    "status": "passed",
    "nq": 19,
    "nv": 18,
    "nu": 7,
    "ngeom": 172,
    "nmesh": 128,
    "max_geom_world_position_error_m": 0,
    "source_contacts": 0,
    "composed_contacts": 0,
    "mass_matrix_matches": true,
    "collision_properties_match": true,
    "actuator_gains_match": true
  },
  "validation/result.json": {
    "dimensions": {
      "actor": [
        2,
        16
      ],
      "critic": [
        2,
        22
      ],
      "camera": [
        2,
        3,
        200,
        320
      ]
    },
    "initial_qpos_matches_reference": true,
    "reference_scope": "Six poses with nominal calibration/materials. Original seed-7 images use unsupported legacy domain randomization and are regenerated under the nominal model.",
    "visual_parity": [
      {
        "snapshot": "0_0",
        "mae_255": 1.2323385416666666
      },
      {
        "snapshot": "0_1",
        "mae_255": 1.2236822916666668
      },
      {
        "snapshot": "0_2",
        "mae_255": 1.2289739583333332
      },
      {
        "snapshot": "7_0",
        "mae_255": 1.4982135416666666
      },
      {
        "snapshot": "7_1",
        "mae_255": 1.5079635416666666
      },
      {
        "snapshot": "7_2",
        "mae_255": 1.489796875
      }
    ],
    "partial_reset_isolation": true,
    "gpu_actions_steps_finite": true,
    "manual_terminal_observations": true,
    "training_auto_reset": true,
    "status": "passed"
  },
  "browser/result.json": {
    "status": "passed",
    "play_pause_step_reset_clicked": true,
    "page_errors": [],
    "images": [
      {
        "alt": "",
        "w": 170,
        "h": 150
      },
      {
        "alt": "",
        "w": 170,
        "h": 150
      },
      {
        "alt": "",
        "w": 320,
        "h": 200
      },
      {
        "alt": "",
        "w": 320,
        "h": 200
      }
    ],
    "camera_feed_label_present": true,
    "canvas_count": 2,
    "goal_debug_control_present": true,
    "state_task": false
  },
  "workflows.json": {
    "bottle_reset_randomization": true,
    "ppo": {
      "optimizer_updates": 1,
      "rollout_steps": 4,
      "worlds": 8,
      "weights_changed": true,
      "checkpoint_reload_exact": true
    },
    "recording": {
      "path": "/home/sudhir/mjlab_gs/logs/workflow_smoke/transitions.npz",
      "transitions": 32
    },
    "bc": {
      "updates": 3,
      "loss": 0.06141366809606552,
      "checkpoint": "/home/sudhir/mjlab_gs/logs/workflow_smoke/bc.pt",
      "checkpoint_evaluation_finite": true
    },
    "status": "passed",
    "standard_mjlab_train_cli": {
      "status": "passed",
      "worlds": 2,
      "iterations": 1,
      "steps_per_world": 2
    }
  },
  "standalone.json": {
    "status": "passed",
    "method": "strace -f -e trace=file, construction/reset/action/RGB",
    "old_workspace_file_accesses": 0,
    "mjlab_path": "/home/sudhir/mjlab_gs/mjlab/src/mjlab/__init__.py",
    "task_path": "/home/sudhir/mjlab_gs/src/mjlab_gs/__init__.py"
  },
  "rewards/validation.json": {
    "status": "passed",
    "training": false,
    "full_dr_goal_and_partial_reset": true,
    "episode_fixed_goal_steps": 20,
    "dimensions": {
      "actor": [
        4,
        16
      ],
      "critic": [
        4,
        62
      ],
      "camera": [
        4,
        3,
        128,
        128
      ]
    },
    "velocity_curriculum": [
      {
        "vector_step": 0,
        "weight": -0.01
      },
      {
        "vector_step": 11999,
        "weight": -0.01
      },
      {
        "vector_step": 12000,
        "weight": -0.1
      },
      {
        "vector_step": 23999,
        "weight": -0.1
      },
      {
        "vector_step": 24000,
        "weight": -1.0
      }
    ],
    "task_spec_stable_across_curriculum": true,
    "autoreset_goal_and_success_metrics": true,
    "reward_terms": [
      "lift",
      "lift_precise",
      "action_rate_l2",
      "joint_pos_limits",
      "joint_vel_hinge"
    ],
    "task_spec": {
      "version": "bottle-lift-v3",
      "critic_dim": 62,
      "randomization": {
        "enabled": false,
        "nominal_fraction": 0,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.3,
        "table_yaw_deg": 30.0,
        "robot_xy_m": 0.2,
        "robot_yaw_deg": 30.0,
        "initial_joint_deg": [
          45.0,
          20.0,
          30.0,
          45.0,
          30.0,
          90.0
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0.01,
        "camera_rotation_deg": 5.0,
        "camera_focal_fraction": 0.02,
        "camera_principal_px": [
          6.4,
          4.0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          0.7,
          1.3
        ],
        "material_gain": [
          0.8,
          1.2
        ],
        "exposure_gain": [
          0.85,
          1.15
        ],
        "white_balance": [
          0.95,
          1.05
        ],
        "image_noise_std_255": 2.0
      },
      "curriculum": {
        "enabled": false,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": false,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_profile": "mjlab-lift-cube-8ee51fbc",
      "goal": "episode initial bottle root + world-Z high_lift_height_m",
      "rewards": {
        "lift": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "reaching_std": 0.2,
            "bringing_std": 0.3,
            "asset_cfg": {
              "name": "robot",
              "joint_names": null,
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": [
                "tcp"
              ],
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": 1.0
        },
        "lift_precise": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "std": 0.05
          },
          "weight": 1.0
        },
        "action_rate_l2": {
          "func": "mjlab.envs.mdp.rewards.action_rate_l2",
          "params": {},
          "weight": -0.01
        },
        "joint_pos_limits": {
          "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
          "params": {
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -10.0
        },
        "joint_vel_hinge": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
          "params": {
            "max_vel": 0.5,
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -0.01
        }
      },
      "commands": {
        "lift_height": {
          "resampling_time_range": [
            1000000000.0,
            1000000000.0
          ],
          "debug_vis": true,
          "entity_name": "bottle",
          "success_threshold": 0.05,
          "difficulty": "fixed",
          "target_position_range": {
            "x": [
              0.3,
              0.5
            ],
            "y": [
              -0.2,
              0.2
            ],
            "z": [
              0.2,
              0.4
            ]
          },
          "object_pose_range": null,
          "viz": {
            "target_color": [
              1.0,
              0.5,
              0.0,
              0.3
            ]
          }
        }
      },
      "reward_curriculum": {
        "joint_vel_hinge_weight": {
          "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
          "params": {
            "reward_name": "joint_vel_hinge",
            "stages": [
              {
                "step": 0,
                "weight": -0.01
              },
              {
                "step": 12000,
                "weight": -0.1
              },
              {
                "step": 24000,
                "weight": -1.0
              }
            ]
          }
        }
      }
    }
  },
  "rewards/code_manifest.json": {
    "configs/curriculum.json": "1a573f631bf1701b7bb773689330df2bd6cfd85ba5588554aa38ee748f015213",
    "configs/eval_full.json": "53332c40ee11d0810a49506f2bf84685be4219b5c11c4f690014d56b24cc0733",
    "configs/nominal.json": "8f7a60b91404bf02c04373977ce1afc46d5b359bf618d48c211ec8c1be03a440",
    "src/mjlab_gs/__init__.py": "92f13d2cccf479d8f54b471075eaa2ee2f9e62e50155f240e5407175970e1c93",
    "src/mjlab_gs/cli.py": "2f34dbc71e328786a1de61eb41fa4e610bb39dbe3ce2ae350e0cb2f7209653c8",
    "src/mjlab_gs/configuration.py": "1198ec535d197a93a835a10b99f8b4b7e1e5b85aaec7235d6babd1eddf964e00",
    "src/mjlab_gs/contracts.py": "c9fd5b8dfcd437e1820e25e04852a371815838ec18332e53f31e8de48cb9a726",
    "src/mjlab_gs/evaluation.py": "ffe5ca09b0ee198ba8018edb1d58915eae32cbb0c8862ac9e0339dc57718e193",
    "src/mjlab_gs/metrics.py": "3929299576a6bf539209b476d659be41b42bccb48fea93b3effcb73a0ff7091e",
    "src/mjlab_gs/paths.py": "0beebd6af53d7b06b21bf27a7d436a8968160b570f5ab8c2545cfc9cffc03cd1",
    "src/mjlab_gs/rendering/__init__.py": "6bafc0eb96a687dfc15f0e52d301c1ea8c8f3c3507e3c55ddeee48273f064940",
    "src/mjlab_gs/rendering/compat.py": "6d1605e810a9335af581be77ecb5cd6ead10356d4d73863dbbf42bd87d73ee3b",
    "src/mjlab_gs/rendering/fields.py": "75d7200a5ca783781517f59e359d0790c4a6d34d5c3ab1ee3f449941a82fd7d5",
    "src/mjlab_gs/rendering/intrinsics.py": "e34ca0bc3849c27e28b656c8541836920d4eef92e20558b9bf86c3c9ffe1a9d0",
    "src/mjlab_gs/rendering/sensor.py": "3b34aeaca7052ab7226aee48bfcbdcdf68765e20c4861d66a5a079609325ae15",
    "src/mjlab_gs/runner.py": "c7edc94d2cfc1cabc5977931e416a05ba187068a308c5e4848ae52e888430d73",
    "src/mjlab_gs/tasks/__init__.py": "a527ce3b5d0cba63b99a86c8393c76f717f91b3d33eb476c027b256da07b9ec0",
    "src/mjlab_gs/tasks/actions.py": "5af870285b21316ea4d11e00f20c60b0e176515acb0781c5b1920320af8bd047",
    "src/mjlab_gs/tasks/commands.py": "ee491b2ee229f2706776f2ab234ce0d597e6b9bbd60e3f7906df1e98142c2712",
    "src/mjlab_gs/tasks/config.py": "9bafdaa2cc6a7f637a9a237389ca5e9ab237fb8014902118b35d8472a0bedb44",
    "src/mjlab_gs/tasks/mdp.py": "964fd5d46014c353161142d96e1f8046fe6b24031a5ad337d135e6a1003bf2d4",
    "src/mjlab_gs/tasks/objective.py": "8eabf1fb210c8f8ca8c3db7bff2d7b5bb0eb0a604c944312869fe3486ccc9cb0",
    "src/mjlab_gs/tasks/randomization.py": "7633282c8569ffc4b4aca731b75eb116b30dbd18df14bb37ee0c133d904e1e2d",
    "src/mjlab_gs/tasks/scene.py": "2c0076bd4f19bbe83ef993c14e8dfa3bc1ede946d7b81878c9ccacfbf63bc671",
    "src/mjlab_gs/tasks/settings.py": "cf39e0699b0cef68e33e0f51e573cf6d95d78341ce1c1b86be5e44627c425149",
    "src/mjlab_gs/workflows.py": "924860ee59b60bb8024fbbea4445a27addc043412d15e28a03a5737e65e421ab"
  },
  "rewards/benchmark_nominal64_128.json": {
    "command": "benchmark",
    "ik_cuda_graph": true,
    "num_envs": 64,
    "steps": 40,
    "seconds": 3.3949820613488555,
    "env_fps": 754.0540579418821,
    "peak_torch_GiB": 0.5997929573059082,
    "torch_reserved_GiB": 0.65625,
    "mean_return": 1.8781671524047852,
    "completed_episodes": 0,
    "finite": true,
    "contract": {
      "version": "mjlab-gs-cartesian-v2",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 16,
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": [
        128,
        128,
        3
      ],
      "rgb_dtype": "uint8",
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "task_spec": {
      "version": "bottle-lift-v3",
      "critic_dim": 62,
      "randomization": {
        "enabled": false,
        "nominal_fraction": 0.1,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.3,
        "table_yaw_deg": 30.0,
        "robot_xy_m": 0.2,
        "robot_yaw_deg": 30.0,
        "initial_joint_deg": [
          45.0,
          20.0,
          30.0,
          45.0,
          30.0,
          90.0
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0.01,
        "camera_rotation_deg": 5.0,
        "camera_focal_fraction": 0.02,
        "camera_principal_px": [
          6.4,
          4.0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          0.7,
          1.3
        ],
        "material_gain": [
          0.8,
          1.2
        ],
        "exposure_gain": [
          0.85,
          1.15
        ],
        "white_balance": [
          0.95,
          1.05
        ],
        "image_noise_std_255": 2.0
      },
      "curriculum": {
        "enabled": false,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 0
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": false,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_profile": "mjlab-lift-cube-8ee51fbc",
      "goal": "episode initial bottle root + world-Z high_lift_height_m",
      "rewards": {
        "lift": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "reaching_std": 0.2,
            "bringing_std": 0.3,
            "asset_cfg": {
              "name": "robot",
              "joint_names": null,
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": [
                "tcp"
              ],
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": 1.0
        },
        "lift_precise": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "std": 0.05
          },
          "weight": 1.0
        },
        "action_rate_l2": {
          "func": "mjlab.envs.mdp.rewards.action_rate_l2",
          "params": {},
          "weight": -0.01
        },
        "joint_pos_limits": {
          "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
          "params": {
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -10.0
        },
        "joint_vel_hinge": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
          "params": {
            "max_vel": 0.5,
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -0.01
        }
      },
      "commands": {
        "lift_height": {
          "resampling_time_range": [
            1000000000.0,
            1000000000.0
          ],
          "debug_vis": true,
          "entity_name": "bottle",
          "success_threshold": 0.05,
          "difficulty": "fixed",
          "target_position_range": {
            "x": [
              0.3,
              0.5
            ],
            "y": [
              -0.2,
              0.2
            ],
            "z": [
              0.2,
              0.4
            ]
          },
          "object_pose_range": null,
          "viz": {
            "target_color": [
              1.0,
              0.5,
              0.0,
              0.3
            ]
          }
        }
      },
      "reward_curriculum": {
        "joint_vel_hinge_weight": {
          "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
          "params": {
            "reward_name": "joint_vel_hinge",
            "stages": [
              {
                "step": 0,
                "weight": -0.01
              },
              {
                "step": 12000,
                "weight": -0.1
              },
              {
                "step": 24000,
                "weight": -1.0
              }
            ]
          }
        }
      }
    },
    "nvml_sampled_process_peak_GiB": 1.94921875
  },
  "rewards/benchmark_full64_128.json": {
    "command": "benchmark",
    "ik_cuda_graph": true,
    "num_envs": 64,
    "steps": 40,
    "seconds": 4.483768871054053,
    "env_fps": 570.9482521560461,
    "peak_torch_GiB": 0.35186338424682617,
    "torch_reserved_GiB": 0.408203125,
    "mean_return": 0.11068929731845856,
    "completed_episodes": 0,
    "finite": true,
    "contract": {
      "version": "mjlab-gs-cartesian-v2",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 16,
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": [
        128,
        128,
        3
      ],
      "rgb_dtype": "uint8",
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "task_spec": {
      "version": "bottle-lift-v3",
      "critic_dim": 62,
      "randomization": {
        "enabled": true,
        "nominal_fraction": 0,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.3,
        "table_yaw_deg": 30.0,
        "robot_xy_m": 0.2,
        "robot_yaw_deg": 30.0,
        "initial_joint_deg": [
          45.0,
          20.0,
          30.0,
          45.0,
          30.0,
          90.0
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0.01,
        "camera_rotation_deg": 5.0,
        "camera_focal_fraction": 0.02,
        "camera_principal_px": [
          6.4,
          4.0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          0.7,
          1.3
        ],
        "material_gain": [
          0.8,
          1.2
        ],
        "exposure_gain": [
          0.85,
          1.15
        ],
        "white_balance": [
          0.95,
          1.05
        ],
        "image_noise_std_255": 2.0
      },
      "curriculum": {
        "enabled": false,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": false,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_profile": "mjlab-lift-cube-8ee51fbc",
      "goal": "episode initial bottle root + world-Z high_lift_height_m",
      "rewards": {
        "lift": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.staged_position_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "reaching_std": 0.2,
            "bringing_std": 0.3,
            "asset_cfg": {
              "name": "robot",
              "joint_names": null,
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": [
                "tcp"
              ],
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": 1.0
        },
        "lift_precise": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.bring_object_reward",
          "params": {
            "command_name": "lift_height",
            "object_name": "bottle",
            "std": 0.05
          },
          "weight": 1.0
        },
        "action_rate_l2": {
          "func": "mjlab.envs.mdp.rewards.action_rate_l2",
          "params": {},
          "weight": -0.01
        },
        "joint_pos_limits": {
          "func": "mjlab.envs.mdp.rewards.joint_pos_limits",
          "params": {
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -10.0
        },
        "joint_vel_hinge": {
          "func": "mjlab.tasks.manipulation.mdp.rewards.joint_velocity_hinge_penalty",
          "params": {
            "max_vel": 0.5,
            "asset_cfg": {
              "name": "robot",
              "joint_names": [
                ".*"
              ],
              "joint_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "body_names": null,
              "body_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "geom_names": null,
              "geom_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "site_names": null,
              "site_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "actuator_names": null,
              "actuator_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "tendon_names": null,
              "tendon_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "camera_names": null,
              "camera_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "light_names": null,
              "light_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "material_names": null,
              "material_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "texture_names": null,
              "texture_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "pair_names": null,
              "pair_ids": {
                "slice": [
                  null,
                  null,
                  null
                ]
              },
              "preserve_order": false
            }
          },
          "weight": -0.01
        }
      },
      "commands": {
        "lift_height": {
          "resampling_time_range": [
            1000000000.0,
            1000000000.0
          ],
          "debug_vis": true,
          "entity_name": "bottle",
          "success_threshold": 0.05,
          "difficulty": "fixed",
          "target_position_range": {
            "x": [
              0.3,
              0.5
            ],
            "y": [
              -0.2,
              0.2
            ],
            "z": [
              0.2,
              0.4
            ]
          },
          "object_pose_range": null,
          "viz": {
            "target_color": [
              1.0,
              0.5,
              0.0,
              0.3
            ]
          }
        }
      },
      "reward_curriculum": {
        "joint_vel_hinge_weight": {
          "func": "mjlab.envs.mdp.curriculums.reward_curriculum",
          "params": {
            "reward_name": "joint_vel_hinge",
            "stages": [
              {
                "step": 0,
                "weight": -0.01
              },
              {
                "step": 12000,
                "weight": -0.1
              },
              {
                "step": 24000,
                "weight": -1.0
              }
            ]
          }
        }
      }
    },
    "nvml_sampled_process_peak_GiB": 1.701171875
  },
  "domain/validation.json": {
    "dimensions": {
      "actor": [
        4,
        16
      ],
      "critic": [
        4,
        59
      ],
      "camera": [
        4,
        3,
        100,
        160
      ]
    },
    "seed_reproducibility": {
      "passed": true,
      "qpos_atol": 2e-07,
      "model_atol": 2e-07
    },
    "partial_reset_model_and_state_isolation": true,
    "static_geom_pose_persists_during_step": true,
    "full_table_samples": {
      "n": 48,
      "min_xy": [
        -0.31270456314086914,
        -0.17717041075229645
      ],
      "max_xy": [
        0.31146013736724854,
        0.15240001678466797
      ],
      "ik_rejection": false
    },
    "curriculum_reset_only": true,
    "curriculum_boundaries": [
      {
        "step": 0,
        "before": 0.05,
        "at": 0.05
      },
      {
        "step": 20000,
        "before": 0.05,
        "at": 0.15
      },
      {
        "step": 50000,
        "before": 0.15,
        "at": 0.35
      },
      {
        "step": 100000,
        "before": 0.35,
        "at": 0.65
      },
      {
        "step": 200000,
        "before": 0.65,
        "at": 1.0
      }
    ],
    "captured_metrics_max_error": 4.291534423828125e-06,
    "autoreset_metrics_logged": true,
    "randomized_visual_parity": [
      {
        "seed": 5,
        "world": 0,
        "mae_255": 2.474375,
        "max_geom_position_error_m": 3.160837431792629e-07
      },
      {
        "seed": 5,
        "world": 1,
        "mae_255": 2.1717916666666666,
        "max_geom_position_error_m": 3.0669386474890814e-07
      },
      {
        "seed": 8,
        "world": 0,
        "mae_255": 1.8231666666666666,
        "max_geom_position_error_m": 3.398548809041557e-07
      },
      {
        "seed": 8,
        "world": 1,
        "mae_255": 2.5593125,
        "max_geom_position_error_m": 3.346054944231014e-07
      }
    ],
    "task_spec": {
      "version": "bottle-lift-v2",
      "critic_dim": 59,
      "randomization": {
        "enabled": true,
        "nominal_fraction": 0,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.04,
        "table_yaw_deg": 8,
        "robot_xy_m": 0.035,
        "robot_yaw_deg": 8,
        "initial_joint_deg": [
          0,
          0,
          0,
          0,
          0,
          0
        ],
        "initial_gripper_open_min": 1,
        "camera_xyz_m": 0.01,
        "camera_rotation_deg": 5.0,
        "camera_focal_fraction": 0.02,
        "camera_principal_px": [
          6.4,
          4.0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          0.7,
          1.3
        ],
        "material_gain": [
          0.8,
          1.2
        ],
        "exposure_gain": [
          1,
          1
        ],
        "white_balance": [
          1,
          1
        ],
        "image_noise_std_255": 0
      },
      "curriculum": {
        "enabled": false,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "success_bonus": 200.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": true,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_weights": {
        "reach": 1.0,
        "grasp": 2.0,
        "lift": 5.0,
        "hold": 2.0,
        "success": 1.0,
        "action_cost": -0.001,
        "action_rate": -0.01,
        "collision": -2.0,
        "penetration": -0.5,
        "joint_speed": -0.1
      }
    },
    "status": "passed"
  },
  "domain/evaluation_matrix.json": {
    "checkpoint": null,
    "runs": [
      {
        "requested_episodes": 8,
        "completed_episodes": 8,
        "unfinished_episodes": 0,
        "complete": true,
        "success_rate": 0.0,
        "completed_only": {
          "episodes": 8,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        "matrix": [
          {
            "dr_scale": 0.0,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "episodes": 8,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004999637603759766,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          }
        ],
        "episodes": [
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005142095615155995,
            "max_joint_speed": 2.2704807633999735e-05,
            "max_force_ratio": 0.26514291763305664,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": 1.7213621139526367,
            "dr_scale": 0.0,
            "bilateral_fraction": 0.0,
            "world": 0,
            "bottle_local_xy": [
              0.18000000715255737,
              -0.12999999523162842
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005142095615155995,
            "max_joint_speed": 2.2704807633999735e-05,
            "max_force_ratio": 0.26514291763305664,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": 1.7213621139526367,
            "dr_scale": 0.0,
            "bilateral_fraction": 0.0,
            "world": 1,
            "bottle_local_xy": [
              0.18000000715255737,
              -0.12999999523162842
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005142095615155995,
            "max_joint_speed": 2.2704807633999735e-05,
            "max_force_ratio": 0.26514291763305664,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": 1.7213621139526367,
            "dr_scale": 0.0,
            "bilateral_fraction": 0.0,
            "world": 2,
            "bottle_local_xy": [
              0.18000000715255737,
              -0.12999999523162842
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005142095033079386,
            "max_joint_speed": 2.2704811271978542e-05,
            "max_force_ratio": 0.26514291763305664,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": 1.713063359260559,
            "dr_scale": 0.0,
            "bilateral_fraction": 0.0,
            "world": 3,
            "bottle_local_xy": [
              0.18000000715255737,
              -0.12999999523162842
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005142095615155995,
            "max_joint_speed": 2.2704807633999735e-05,
            "max_force_ratio": 0.26514291763305664,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": 1.7213621139526367,
            "dr_scale": 0.0,
            "bilateral_fraction": 0.0,
            "world": 4,
            "bottle_local_xy": [
              0.18000000715255737,
              -0.12999999523162842
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005142095615155995,
            "max_joint_speed": 2.2704807633999735e-05,
            "max_force_ratio": 0.26514291763305664,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": 1.7213621139526367,
            "dr_scale": 0.0,
            "bilateral_fraction": 0.0,
            "world": 5,
            "bottle_local_xy": [
              0.18000000715255737,
              -0.12999999523162842
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005142095615155995,
            "max_joint_speed": 2.2704807633999735e-05,
            "max_force_ratio": 0.26514291763305664,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": 1.7213621139526367,
            "dr_scale": 0.0,
            "bilateral_fraction": 0.0,
            "world": 6,
            "bottle_local_xy": [
              0.18000000715255737,
              -0.12999999523162842
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005142095615155995,
            "max_joint_speed": 2.2704807633999735e-05,
            "max_force_ratio": 0.26514291763305664,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": 1.7213621139526367,
            "dr_scale": 0.0,
            "bilateral_fraction": 0.0,
            "world": 7,
            "bottle_local_xy": [
              0.18000000715255737,
              -0.12999999523162842
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          }
        ],
        "command": "evaluate",
        "vector_steps": 300,
        "seconds": 22.274387139827013,
        "policy": "supplied callable (CLI without checkpoint uses zero Cartesian action/open gripper)",
        "num_envs": 8,
        "contract": {
          "version": "mjlab-gs-cartesian-v2",
          "controller": "gpu-differential-ik",
          "arm_bias_compensation": true,
          "state_dim": 16,
          "action_dim": 7,
          "action_frame": "robot/base",
          "translation_m_per_step": 0.005,
          "rotation_rad_per_step": 0.017453292519943295,
          "gripper": "-1 closed; +1 open",
          "physics_dt": 0.001,
          "control_dt": 0.05,
          "rgb_shape": [
            128,
            128,
            3
          ],
          "rgb_dtype": "uint8",
          "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
          "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
        },
        "task_spec": {
          "version": "bottle-lift-v2",
          "critic_dim": 59,
          "randomization": {
            "enabled": true,
            "nominal_fraction": 0,
            "bottle_edge_margin_m": 0.05,
            "bottle_yaw_deg": 180.0,
            "table_xy_m": 0.3,
            "table_yaw_deg": 30.0,
            "robot_xy_m": 0.2,
            "robot_yaw_deg": 30.0,
            "initial_joint_deg": [
              45.0,
              20.0,
              30.0,
              45.0,
              30.0,
              90.0
            ],
            "initial_gripper_open_min": 0.85,
            "camera_xyz_m": 0.01,
            "camera_rotation_deg": 5.0,
            "camera_focal_fraction": 0.02,
            "camera_principal_px": [
              6.4,
              4.0
            ],
            "friction_scale": [
              0.7,
              1.3
            ],
            "bottle_mass_scale": [
              0.8,
              1.2
            ],
            "joint_damping_scale": [
              0.8,
              1.2
            ],
            "light_gain": [
              0.7,
              1.3
            ],
            "material_gain": [
              0.8,
              1.2
            ],
            "exposure_gain": [
              0.85,
              1.15
            ],
            "white_balance": [
              0.95,
              1.05
            ],
            "image_noise_std_255": 2.0
          },
          "curriculum": {
            "enabled": false,
            "boundaries": [
              0,
              20000,
              50000,
              100000,
              200000
            ],
            "scales": [
              0.05,
              0.15,
              0.35,
              0.65,
              1.0
            ],
            "evaluation_scale": 0.0
          },
          "objective": {
            "lift_height_m": 0.1,
            "high_lift_height_m": 0.15,
            "hold_s": 2.0,
            "success_bonus": 200.0,
            "contact_force_n": 0.05,
            "max_hold_linear_speed": 0.15,
            "max_hold_angular_speed": 1.0,
            "max_penetration_m": 0.003,
            "hard_penetration_m": 0.02,
            "max_joint_speed": 1.57,
            "terminate_on_success": false,
            "contact_grace_s": 0.2,
            "capture_metrics": true
          },
          "episode_length_s": 15.0,
          "scale_rewards_by_dt": true,
          "reward_weights": {
            "reach": 1.0,
            "grasp": 2.0,
            "lift": 5.0,
            "hold": 2.0,
            "success": 1.0,
            "action_cost": -0.001,
            "action_rate": -0.01,
            "collision": -2.0,
            "penetration": -0.5,
            "joint_speed": -0.1
          }
        },
        "note": "Fixed per-world episode quotas; no IK, reachability, visibility or collision-start rejection. No training.",
        "scale": 0.0
      },
      {
        "requested_episodes": 8,
        "completed_episodes": 8,
        "unfinished_episodes": 0,
        "complete": true,
        "success_rate": 0.0,
        "completed_only": {
          "episodes": 8,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004991665482521057,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        "matrix": [
          {
            "dr_scale": 0.35,
            "bottle_x_bin": 1,
            "bottle_y_bin": 0,
            "episodes": 1,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004999637603759766,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          },
          {
            "dr_scale": 0.35,
            "bottle_x_bin": 1,
            "bottle_y_bin": 1,
            "episodes": 3,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004978378613789877,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          },
          {
            "dr_scale": 0.35,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "episodes": 2,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004999637603759766,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          },
          {
            "dr_scale": 0.35,
            "bottle_x_bin": 2,
            "bottle_y_bin": 1,
            "episodes": 2,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004999637603759766,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          }
        ],
        "episodes": [
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005180239677429199,
            "max_joint_speed": 8.867308497428894e-05,
            "max_force_ratio": 0.23841862380504608,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6187487840652466,
            "dr_scale": 0.3499999940395355,
            "bilateral_fraction": 0.0,
            "world": 0,
            "bottle_local_xy": [
              0.18537986278533936,
              -0.13115090131759644
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005024770507588983,
            "max_joint_speed": 0.00039011536864563823,
            "max_force_ratio": 0.24576133489608765,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6669952869415283,
            "dr_scale": 0.3499999940395355,
            "bilateral_fraction": 0.0,
            "world": 1,
            "bottle_local_xy": [
              0.050125837326049805,
              -0.04375714808702469
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 1,
            "bottle_y_bin": 1,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005072951316833496,
            "max_joint_speed": 0.0004616707155946642,
            "max_force_ratio": 0.23683257400989532,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.49508553743362427,
            "dr_scale": 0.3499999940395355,
            "bilateral_fraction": 0.0,
            "world": 2,
            "bottle_local_xy": [
              0.1638522893190384,
              -0.05509619414806366
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 1,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004935860633850098,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005075983353890479,
            "max_joint_speed": 0.00038733461406081915,
            "max_force_ratio": 0.2604116201400757,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6654881238937378,
            "dr_scale": 0.3499999940395355,
            "bilateral_fraction": 0.0,
            "world": 3,
            "bottle_local_xy": [
              0.05340832471847534,
              -0.03309773653745651
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 1,
            "bottle_y_bin": 1,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005139230634085834,
            "max_joint_speed": 0.0001638679823372513,
            "max_force_ratio": 0.29887571930885315,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": 1.7682780027389526,
            "dr_scale": 0.3499999940395355,
            "bilateral_fraction": 0.0,
            "world": 4,
            "bottle_local_xy": [
              0.09082472324371338,
              -0.0694805234670639
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 1,
            "bottle_y_bin": 1,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005133152008056641,
            "max_joint_speed": 0.00029072168399579823,
            "max_force_ratio": 0.24073171615600586,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.30300605297088623,
            "dr_scale": 0.3499999940395355,
            "bilateral_fraction": 0.0,
            "world": 5,
            "bottle_local_xy": [
              0.11728758364915848,
              -0.11857560276985168
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 1,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005075930966995656,
            "max_joint_speed": 0.0004315423429943621,
            "max_force_ratio": 0.26798099279403687,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.26462969183921814,
            "dr_scale": 0.3499999940395355,
            "bilateral_fraction": 0.0,
            "world": 6,
            "bottle_local_xy": [
              0.21181678771972656,
              -0.08584725111722946
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0004923688829876482,
            "max_joint_speed": 6.970160484343069e-06,
            "max_force_ratio": 0.24733565747737885,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6420369148254395,
            "dr_scale": 0.3499999940395355,
            "bilateral_fraction": 0.0,
            "world": 7,
            "bottle_local_xy": [
              0.1682068556547165,
              -0.05937803536653519
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 1,
            "invalid": false
          }
        ],
        "command": "evaluate",
        "vector_steps": 300,
        "seconds": 21.297347568906844,
        "policy": "supplied callable (CLI without checkpoint uses zero Cartesian action/open gripper)",
        "num_envs": 8,
        "contract": {
          "version": "mjlab-gs-cartesian-v2",
          "controller": "gpu-differential-ik",
          "arm_bias_compensation": true,
          "state_dim": 16,
          "action_dim": 7,
          "action_frame": "robot/base",
          "translation_m_per_step": 0.005,
          "rotation_rad_per_step": 0.017453292519943295,
          "gripper": "-1 closed; +1 open",
          "physics_dt": 0.001,
          "control_dt": 0.05,
          "rgb_shape": [
            128,
            128,
            3
          ],
          "rgb_dtype": "uint8",
          "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
          "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
        },
        "task_spec": {
          "version": "bottle-lift-v2",
          "critic_dim": 59,
          "randomization": {
            "enabled": true,
            "nominal_fraction": 0,
            "bottle_edge_margin_m": 0.05,
            "bottle_yaw_deg": 180.0,
            "table_xy_m": 0.3,
            "table_yaw_deg": 30.0,
            "robot_xy_m": 0.2,
            "robot_yaw_deg": 30.0,
            "initial_joint_deg": [
              45.0,
              20.0,
              30.0,
              45.0,
              30.0,
              90.0
            ],
            "initial_gripper_open_min": 0.85,
            "camera_xyz_m": 0.01,
            "camera_rotation_deg": 5.0,
            "camera_focal_fraction": 0.02,
            "camera_principal_px": [
              6.4,
              4.0
            ],
            "friction_scale": [
              0.7,
              1.3
            ],
            "bottle_mass_scale": [
              0.8,
              1.2
            ],
            "joint_damping_scale": [
              0.8,
              1.2
            ],
            "light_gain": [
              0.7,
              1.3
            ],
            "material_gain": [
              0.8,
              1.2
            ],
            "exposure_gain": [
              0.85,
              1.15
            ],
            "white_balance": [
              0.95,
              1.05
            ],
            "image_noise_std_255": 2.0
          },
          "curriculum": {
            "enabled": false,
            "boundaries": [
              0,
              20000,
              50000,
              100000,
              200000
            ],
            "scales": [
              0.05,
              0.15,
              0.35,
              0.65,
              1.0
            ],
            "evaluation_scale": 0.35
          },
          "objective": {
            "lift_height_m": 0.1,
            "high_lift_height_m": 0.15,
            "hold_s": 2.0,
            "success_bonus": 200.0,
            "contact_force_n": 0.05,
            "max_hold_linear_speed": 0.15,
            "max_hold_angular_speed": 1.0,
            "max_penetration_m": 0.003,
            "hard_penetration_m": 0.02,
            "max_joint_speed": 1.57,
            "terminate_on_success": false,
            "contact_grace_s": 0.2,
            "capture_metrics": true
          },
          "episode_length_s": 15.0,
          "scale_rewards_by_dt": true,
          "reward_weights": {
            "reach": 1.0,
            "grasp": 2.0,
            "lift": 5.0,
            "hold": 2.0,
            "success": 1.0,
            "action_cost": -0.001,
            "action_rate": -0.01,
            "collision": -2.0,
            "penetration": -0.5,
            "joint_speed": -0.1
          }
        },
        "note": "Fixed per-world episode quotas; no IK, reachability, visibility or collision-start rejection. No training.",
        "scale": 0.35
      },
      {
        "requested_episodes": 8,
        "completed_episodes": 8,
        "unfinished_episodes": 0,
        "complete": true,
        "success_rate": 0.0,
        "completed_only": {
          "episodes": 8,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        "matrix": [
          {
            "dr_scale": 1.0,
            "bottle_x_bin": 0,
            "bottle_y_bin": 2,
            "episodes": 2,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004999637603759766,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          },
          {
            "dr_scale": 1.0,
            "bottle_x_bin": 1,
            "bottle_y_bin": 0,
            "episodes": 1,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004999637603759766,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          },
          {
            "dr_scale": 1.0,
            "bottle_x_bin": 1,
            "bottle_y_bin": 1,
            "episodes": 1,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004999637603759766,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          },
          {
            "dr_scale": 1.0,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "episodes": 1,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004999637603759766,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          },
          {
            "dr_scale": 1.0,
            "bottle_x_bin": 2,
            "bottle_y_bin": 1,
            "episodes": 2,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004999637603759766,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          },
          {
            "dr_scale": 1.0,
            "bottle_x_bin": 2,
            "bottle_y_bin": 2,
            "episodes": 1,
            "successes": 0.0,
            "success_rate": 0.0,
            "high_success_rate": 0.0,
            "lift_rates": {
              "0.02": 0.0,
              "0.05": 0.0,
              "0.1": 0.0,
              "0.15": 0.0
            },
            "mean_peak_lift_m": 0.0004999637603759766,
            "drop_rate": 0.0,
            "invalid_episode_rate": 0.0
          }
        ],
        "episodes": [
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005147754563950002,
            "max_joint_speed": 0.0004183557175565511,
            "max_force_ratio": 0.18161225318908691,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6637496948242188,
            "dr_scale": 1.0,
            "bilateral_fraction": 0.0,
            "world": 0,
            "bottle_local_xy": [
              0.19537103176116943,
              -0.13328827917575836
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005058646784164011,
            "max_joint_speed": 0.0011495955986902118,
            "max_force_ratio": 0.540898859500885,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6519539952278137,
            "dr_scale": 1.0,
            "bilateral_fraction": 0.0,
            "world": 1,
            "bottle_local_xy": [
              -0.19106906652450562,
              0.11640813946723938
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 0,
            "bottle_y_bin": 2,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.00047906552208587527,
            "max_joint_speed": 0.001451056101359427,
            "max_force_ratio": 0.5733535885810852,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6547005772590637,
            "dr_scale": 1.0,
            "bilateral_fraction": 0.0,
            "world": 2,
            "bottle_local_xy": [
              0.1338636726140976,
              0.08401086926460266
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 2,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0005054473876953125,
            "max_joint_speed": 0.00135295488871634,
            "max_force_ratio": 0.45295247435569763,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6558325886726379,
            "dr_scale": 1.0,
            "bilateral_fraction": 0.0,
            "world": 3,
            "bottle_local_xy": [
              -0.181690514087677,
              0.14686360955238342
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 0,
            "bottle_y_bin": 2,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0004972711903974414,
            "max_joint_speed": 0.0005718591273762286,
            "max_force_ratio": 0.3515872061252594,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.36562302708625793,
            "dr_scale": 1.0,
            "bilateral_fraction": 0.0,
            "world": 4,
            "bottle_local_xy": [
              -0.07478651404380798,
              0.04291278123855591
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 1,
            "bottle_y_bin": 1,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0004972664173692465,
            "max_joint_speed": 0.0010046787792816758,
            "max_force_ratio": 0.3890615403652191,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6763354539871216,
            "dr_scale": 1.0,
            "bilateral_fraction": 0.0,
            "world": 5,
            "bottle_local_xy": [
              0.0008216500282287598,
              -0.09735887497663498
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 1,
            "bottle_y_bin": 0,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.0004918575286865234,
            "max_joint_speed": 0.001314631663262844,
            "max_force_ratio": 0.5925610065460205,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6468645334243774,
            "dr_scale": 1.0,
            "bilateral_fraction": 0.0,
            "world": 6,
            "bottle_local_xy": [
              0.270905077457428,
              -0.0038492977619171143
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 1,
            "invalid": false
          },
          {
            "success": 0.0,
            "high_success": 0.0,
            "max_clearance": 0.0004999637603759766,
            "best_hold_s": 0.0,
            "best_high_hold_s": 0.0,
            "ever_lifted": 0.0,
            "ever_dropped": 0.0,
            "ever_bad_contact": 0.0,
            "max_penetration": 0.00047533708857372403,
            "max_joint_speed": 0.00015877385158091784,
            "max_force_ratio": 0.19829607009887695,
            "nonfinite": 0.0,
            "elapsed_s": 15.000000953674316,
            "initial_layout_footprint_overlap": 0.0,
            "return_": -0.6544318199157715,
            "dr_scale": 1.0,
            "bilateral_fraction": 0.0,
            "world": 7,
            "bottle_local_xy": [
              0.14630530774593353,
              0.07177704572677612
            ],
            "terminated": false,
            "timeout": true,
            "bottle_x_bin": 2,
            "bottle_y_bin": 1,
            "invalid": false
          }
        ],
        "command": "evaluate",
        "vector_steps": 300,
        "seconds": 21.295394052751362,
        "policy": "supplied callable (CLI without checkpoint uses zero Cartesian action/open gripper)",
        "num_envs": 8,
        "contract": {
          "version": "mjlab-gs-cartesian-v2",
          "controller": "gpu-differential-ik",
          "arm_bias_compensation": true,
          "state_dim": 16,
          "action_dim": 7,
          "action_frame": "robot/base",
          "translation_m_per_step": 0.005,
          "rotation_rad_per_step": 0.017453292519943295,
          "gripper": "-1 closed; +1 open",
          "physics_dt": 0.001,
          "control_dt": 0.05,
          "rgb_shape": [
            128,
            128,
            3
          ],
          "rgb_dtype": "uint8",
          "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
          "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
        },
        "task_spec": {
          "version": "bottle-lift-v2",
          "critic_dim": 59,
          "randomization": {
            "enabled": true,
            "nominal_fraction": 0,
            "bottle_edge_margin_m": 0.05,
            "bottle_yaw_deg": 180.0,
            "table_xy_m": 0.3,
            "table_yaw_deg": 30.0,
            "robot_xy_m": 0.2,
            "robot_yaw_deg": 30.0,
            "initial_joint_deg": [
              45.0,
              20.0,
              30.0,
              45.0,
              30.0,
              90.0
            ],
            "initial_gripper_open_min": 0.85,
            "camera_xyz_m": 0.01,
            "camera_rotation_deg": 5.0,
            "camera_focal_fraction": 0.02,
            "camera_principal_px": [
              6.4,
              4.0
            ],
            "friction_scale": [
              0.7,
              1.3
            ],
            "bottle_mass_scale": [
              0.8,
              1.2
            ],
            "joint_damping_scale": [
              0.8,
              1.2
            ],
            "light_gain": [
              0.7,
              1.3
            ],
            "material_gain": [
              0.8,
              1.2
            ],
            "exposure_gain": [
              0.85,
              1.15
            ],
            "white_balance": [
              0.95,
              1.05
            ],
            "image_noise_std_255": 2.0
          },
          "curriculum": {
            "enabled": false,
            "boundaries": [
              0,
              20000,
              50000,
              100000,
              200000
            ],
            "scales": [
              0.05,
              0.15,
              0.35,
              0.65,
              1.0
            ],
            "evaluation_scale": 1.0
          },
          "objective": {
            "lift_height_m": 0.1,
            "high_lift_height_m": 0.15,
            "hold_s": 2.0,
            "success_bonus": 200.0,
            "contact_force_n": 0.05,
            "max_hold_linear_speed": 0.15,
            "max_hold_angular_speed": 1.0,
            "max_penetration_m": 0.003,
            "hard_penetration_m": 0.02,
            "max_joint_speed": 1.57,
            "terminate_on_success": false,
            "contact_grace_s": 0.2,
            "capture_metrics": true
          },
          "episode_length_s": 15.0,
          "scale_rewards_by_dt": true,
          "reward_weights": {
            "reach": 1.0,
            "grasp": 2.0,
            "lift": 5.0,
            "hold": 2.0,
            "success": 1.0,
            "action_cost": -0.001,
            "action_rate": -0.01,
            "collision": -2.0,
            "penetration": -0.5,
            "joint_speed": -0.1
          }
        },
        "note": "Fixed per-world episode quotas; no IK, reachability, visibility or collision-start rejection. No training.",
        "scale": 1.0
      }
    ],
    "combined": {
      "requested_episodes": 24,
      "completed_episodes": 24,
      "unfinished_episodes": 0,
      "complete": true,
      "success_rate": 0.0,
      "completed_only": {
        "episodes": 24,
        "successes": 0.0,
        "success_rate": 0.0,
        "high_success_rate": 0.0,
        "lift_rates": {
          "0.02": 0.0,
          "0.05": 0.0,
          "0.1": 0.0,
          "0.15": 0.0
        },
        "mean_peak_lift_m": 0.0004996980230013529,
        "drop_rate": 0.0,
        "invalid_episode_rate": 0.0
      },
      "matrix": [
        {
          "dr_scale": 0.0,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "episodes": 8,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        {
          "dr_scale": 0.35,
          "bottle_x_bin": 1,
          "bottle_y_bin": 0,
          "episodes": 1,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        {
          "dr_scale": 0.35,
          "bottle_x_bin": 1,
          "bottle_y_bin": 1,
          "episodes": 3,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004978378613789877,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        {
          "dr_scale": 0.35,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "episodes": 2,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        {
          "dr_scale": 0.35,
          "bottle_x_bin": 2,
          "bottle_y_bin": 1,
          "episodes": 2,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        {
          "dr_scale": 1.0,
          "bottle_x_bin": 0,
          "bottle_y_bin": 2,
          "episodes": 2,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        {
          "dr_scale": 1.0,
          "bottle_x_bin": 1,
          "bottle_y_bin": 0,
          "episodes": 1,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        {
          "dr_scale": 1.0,
          "bottle_x_bin": 1,
          "bottle_y_bin": 1,
          "episodes": 1,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        {
          "dr_scale": 1.0,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "episodes": 1,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        {
          "dr_scale": 1.0,
          "bottle_x_bin": 2,
          "bottle_y_bin": 1,
          "episodes": 2,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        },
        {
          "dr_scale": 1.0,
          "bottle_x_bin": 2,
          "bottle_y_bin": 2,
          "episodes": 1,
          "successes": 0.0,
          "success_rate": 0.0,
          "high_success_rate": 0.0,
          "lift_rates": {
            "0.02": 0.0,
            "0.05": 0.0,
            "0.1": 0.0,
            "0.15": 0.0
          },
          "mean_peak_lift_m": 0.0004999637603759766,
          "drop_rate": 0.0,
          "invalid_episode_rate": 0.0
        }
      ],
      "episodes": [
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005142095615155995,
          "max_joint_speed": 2.2704807633999735e-05,
          "max_force_ratio": 0.26514291763305664,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": 1.7213621139526367,
          "dr_scale": 0.0,
          "bilateral_fraction": 0.0,
          "world": 0,
          "bottle_local_xy": [
            0.18000000715255737,
            -0.12999999523162842
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005142095615155995,
          "max_joint_speed": 2.2704807633999735e-05,
          "max_force_ratio": 0.26514291763305664,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": 1.7213621139526367,
          "dr_scale": 0.0,
          "bilateral_fraction": 0.0,
          "world": 1,
          "bottle_local_xy": [
            0.18000000715255737,
            -0.12999999523162842
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005142095615155995,
          "max_joint_speed": 2.2704807633999735e-05,
          "max_force_ratio": 0.26514291763305664,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": 1.7213621139526367,
          "dr_scale": 0.0,
          "bilateral_fraction": 0.0,
          "world": 2,
          "bottle_local_xy": [
            0.18000000715255737,
            -0.12999999523162842
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005142095033079386,
          "max_joint_speed": 2.2704811271978542e-05,
          "max_force_ratio": 0.26514291763305664,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": 1.713063359260559,
          "dr_scale": 0.0,
          "bilateral_fraction": 0.0,
          "world": 3,
          "bottle_local_xy": [
            0.18000000715255737,
            -0.12999999523162842
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005142095615155995,
          "max_joint_speed": 2.2704807633999735e-05,
          "max_force_ratio": 0.26514291763305664,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": 1.7213621139526367,
          "dr_scale": 0.0,
          "bilateral_fraction": 0.0,
          "world": 4,
          "bottle_local_xy": [
            0.18000000715255737,
            -0.12999999523162842
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005142095615155995,
          "max_joint_speed": 2.2704807633999735e-05,
          "max_force_ratio": 0.26514291763305664,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": 1.7213621139526367,
          "dr_scale": 0.0,
          "bilateral_fraction": 0.0,
          "world": 5,
          "bottle_local_xy": [
            0.18000000715255737,
            -0.12999999523162842
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005142095615155995,
          "max_joint_speed": 2.2704807633999735e-05,
          "max_force_ratio": 0.26514291763305664,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": 1.7213621139526367,
          "dr_scale": 0.0,
          "bilateral_fraction": 0.0,
          "world": 6,
          "bottle_local_xy": [
            0.18000000715255737,
            -0.12999999523162842
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005142095615155995,
          "max_joint_speed": 2.2704807633999735e-05,
          "max_force_ratio": 0.26514291763305664,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": 1.7213621139526367,
          "dr_scale": 0.0,
          "bilateral_fraction": 0.0,
          "world": 7,
          "bottle_local_xy": [
            0.18000000715255737,
            -0.12999999523162842
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005180239677429199,
          "max_joint_speed": 8.867308497428894e-05,
          "max_force_ratio": 0.23841862380504608,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6187487840652466,
          "dr_scale": 0.3499999940395355,
          "bilateral_fraction": 0.0,
          "world": 0,
          "bottle_local_xy": [
            0.18537986278533936,
            -0.13115090131759644
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005024770507588983,
          "max_joint_speed": 0.00039011536864563823,
          "max_force_ratio": 0.24576133489608765,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6669952869415283,
          "dr_scale": 0.3499999940395355,
          "bilateral_fraction": 0.0,
          "world": 1,
          "bottle_local_xy": [
            0.050125837326049805,
            -0.04375714808702469
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 1,
          "bottle_y_bin": 1,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005072951316833496,
          "max_joint_speed": 0.0004616707155946642,
          "max_force_ratio": 0.23683257400989532,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.49508553743362427,
          "dr_scale": 0.3499999940395355,
          "bilateral_fraction": 0.0,
          "world": 2,
          "bottle_local_xy": [
            0.1638522893190384,
            -0.05509619414806366
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 1,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004935860633850098,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005075983353890479,
          "max_joint_speed": 0.00038733461406081915,
          "max_force_ratio": 0.2604116201400757,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6654881238937378,
          "dr_scale": 0.3499999940395355,
          "bilateral_fraction": 0.0,
          "world": 3,
          "bottle_local_xy": [
            0.05340832471847534,
            -0.03309773653745651
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 1,
          "bottle_y_bin": 1,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005139230634085834,
          "max_joint_speed": 0.0001638679823372513,
          "max_force_ratio": 0.29887571930885315,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": 1.7682780027389526,
          "dr_scale": 0.3499999940395355,
          "bilateral_fraction": 0.0,
          "world": 4,
          "bottle_local_xy": [
            0.09082472324371338,
            -0.0694805234670639
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 1,
          "bottle_y_bin": 1,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005133152008056641,
          "max_joint_speed": 0.00029072168399579823,
          "max_force_ratio": 0.24073171615600586,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.30300605297088623,
          "dr_scale": 0.3499999940395355,
          "bilateral_fraction": 0.0,
          "world": 5,
          "bottle_local_xy": [
            0.11728758364915848,
            -0.11857560276985168
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 1,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005075930966995656,
          "max_joint_speed": 0.0004315423429943621,
          "max_force_ratio": 0.26798099279403687,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.26462969183921814,
          "dr_scale": 0.3499999940395355,
          "bilateral_fraction": 0.0,
          "world": 6,
          "bottle_local_xy": [
            0.21181678771972656,
            -0.08584725111722946
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0004923688829876482,
          "max_joint_speed": 6.970160484343069e-06,
          "max_force_ratio": 0.24733565747737885,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6420369148254395,
          "dr_scale": 0.3499999940395355,
          "bilateral_fraction": 0.0,
          "world": 7,
          "bottle_local_xy": [
            0.1682068556547165,
            -0.05937803536653519
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 1,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005147754563950002,
          "max_joint_speed": 0.0004183557175565511,
          "max_force_ratio": 0.18161225318908691,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6637496948242188,
          "dr_scale": 1.0,
          "bilateral_fraction": 0.0,
          "world": 0,
          "bottle_local_xy": [
            0.19537103176116943,
            -0.13328827917575836
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005058646784164011,
          "max_joint_speed": 0.0011495955986902118,
          "max_force_ratio": 0.540898859500885,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6519539952278137,
          "dr_scale": 1.0,
          "bilateral_fraction": 0.0,
          "world": 1,
          "bottle_local_xy": [
            -0.19106906652450562,
            0.11640813946723938
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 0,
          "bottle_y_bin": 2,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.00047906552208587527,
          "max_joint_speed": 0.001451056101359427,
          "max_force_ratio": 0.5733535885810852,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6547005772590637,
          "dr_scale": 1.0,
          "bilateral_fraction": 0.0,
          "world": 2,
          "bottle_local_xy": [
            0.1338636726140976,
            0.08401086926460266
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 2,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0005054473876953125,
          "max_joint_speed": 0.00135295488871634,
          "max_force_ratio": 0.45295247435569763,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6558325886726379,
          "dr_scale": 1.0,
          "bilateral_fraction": 0.0,
          "world": 3,
          "bottle_local_xy": [
            -0.181690514087677,
            0.14686360955238342
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 0,
          "bottle_y_bin": 2,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0004972711903974414,
          "max_joint_speed": 0.0005718591273762286,
          "max_force_ratio": 0.3515872061252594,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.36562302708625793,
          "dr_scale": 1.0,
          "bilateral_fraction": 0.0,
          "world": 4,
          "bottle_local_xy": [
            -0.07478651404380798,
            0.04291278123855591
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 1,
          "bottle_y_bin": 1,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0004972664173692465,
          "max_joint_speed": 0.0010046787792816758,
          "max_force_ratio": 0.3890615403652191,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6763354539871216,
          "dr_scale": 1.0,
          "bilateral_fraction": 0.0,
          "world": 5,
          "bottle_local_xy": [
            0.0008216500282287598,
            -0.09735887497663498
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 1,
          "bottle_y_bin": 0,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.0004918575286865234,
          "max_joint_speed": 0.001314631663262844,
          "max_force_ratio": 0.5925610065460205,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6468645334243774,
          "dr_scale": 1.0,
          "bilateral_fraction": 0.0,
          "world": 6,
          "bottle_local_xy": [
            0.270905077457428,
            -0.0038492977619171143
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 1,
          "invalid": false
        },
        {
          "success": 0.0,
          "high_success": 0.0,
          "max_clearance": 0.0004999637603759766,
          "best_hold_s": 0.0,
          "best_high_hold_s": 0.0,
          "ever_lifted": 0.0,
          "ever_dropped": 0.0,
          "ever_bad_contact": 0.0,
          "max_penetration": 0.00047533708857372403,
          "max_joint_speed": 0.00015877385158091784,
          "max_force_ratio": 0.19829607009887695,
          "nonfinite": 0.0,
          "elapsed_s": 15.000000953674316,
          "initial_layout_footprint_overlap": 0.0,
          "return_": -0.6544318199157715,
          "dr_scale": 1.0,
          "bilateral_fraction": 0.0,
          "world": 7,
          "bottle_local_xy": [
            0.14630530774593353,
            0.07177704572677612
          ],
          "terminated": false,
          "timeout": true,
          "bottle_x_bin": 2,
          "bottle_y_bin": 1,
          "invalid": false
        }
      ]
    }
  },
  "domain/hold.json": {
    "duration_s": 15,
    "peak_tcp_drift_m": 0.0,
    "ever_bad_contact": [
      0.0,
      0.0
    ],
    "max_penetration_m": 0.0005142095615155995,
    "max_arm_speed": 2.2704807633999735e-05,
    "max_force_ratio": 0.26514291763305664,
    "contract": {
      "version": "mjlab-gs-cartesian-v2",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 16,
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": [
        128,
        128,
        3
      ],
      "rgb_dtype": "uint8",
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "status": "passed"
  },
  "domain/code_manifest.json": {
    "configs/curriculum.json": "5f205cc996d79a1fd325386ddf0b457d250a36d922e47d1751cb22a39799f5d9",
    "configs/eval_full.json": "53332c40ee11d0810a49506f2bf84685be4219b5c11c4f690014d56b24cc0733",
    "configs/nominal.json": "8f7a60b91404bf02c04373977ce1afc46d5b359bf618d48c211ec8c1be03a440",
    "src/mjlab_gs/__init__.py": "92f13d2cccf479d8f54b471075eaa2ee2f9e62e50155f240e5407175970e1c93",
    "src/mjlab_gs/cli.py": "2f34dbc71e328786a1de61eb41fa4e610bb39dbe3ce2ae350e0cb2f7209653c8",
    "src/mjlab_gs/configuration.py": "850d837cffa3bbd04d55a88211b3a334687568694e8b2b0721624c407ca351b2",
    "src/mjlab_gs/contracts.py": "c9fd5b8dfcd437e1820e25e04852a371815838ec18332e53f31e8de48cb9a726",
    "src/mjlab_gs/evaluation.py": "ffe5ca09b0ee198ba8018edb1d58915eae32cbb0c8862ac9e0339dc57718e193",
    "src/mjlab_gs/metrics.py": "3929299576a6bf539209b476d659be41b42bccb48fea93b3effcb73a0ff7091e",
    "src/mjlab_gs/paths.py": "0beebd6af53d7b06b21bf27a7d436a8968160b570f5ab8c2545cfc9cffc03cd1",
    "src/mjlab_gs/rendering/__init__.py": "6bafc0eb96a687dfc15f0e52d301c1ea8c8f3c3507e3c55ddeee48273f064940",
    "src/mjlab_gs/rendering/compat.py": "6d1605e810a9335af581be77ecb5cd6ead10356d4d73863dbbf42bd87d73ee3b",
    "src/mjlab_gs/rendering/fields.py": "75d7200a5ca783781517f59e359d0790c4a6d34d5c3ab1ee3f449941a82fd7d5",
    "src/mjlab_gs/rendering/intrinsics.py": "e34ca0bc3849c27e28b656c8541836920d4eef92e20558b9bf86c3c9ffe1a9d0",
    "src/mjlab_gs/rendering/sensor.py": "3b34aeaca7052ab7226aee48bfcbdcdf68765e20c4861d66a5a079609325ae15",
    "src/mjlab_gs/runner.py": "c7edc94d2cfc1cabc5977931e416a05ba187068a308c5e4848ae52e888430d73",
    "src/mjlab_gs/tasks/__init__.py": "a527ce3b5d0cba63b99a86c8393c76f717f91b3d33eb476c027b256da07b9ec0",
    "src/mjlab_gs/tasks/actions.py": "5af870285b21316ea4d11e00f20c60b0e176515acb0781c5b1920320af8bd047",
    "src/mjlab_gs/tasks/config.py": "20b1ed02787401db71dc95ec728ca79c95dd8540d5951086082b2918d2cd1b6d",
    "src/mjlab_gs/tasks/mdp.py": "56547b8e7a7f801b95c6b055605b187797052128f1013022087b54084e23ca05",
    "src/mjlab_gs/tasks/objective.py": "bb06e4181698f6a37602ce5b563c2c6d5f8dabbfecbaaf8f21e3f97a7f457036",
    "src/mjlab_gs/tasks/randomization.py": "7633282c8569ffc4b4aca731b75eb116b30dbd18df14bb37ee0c133d904e1e2d",
    "src/mjlab_gs/tasks/scene.py": "2c0076bd4f19bbe83ef993c14e8dfa3bc1ede946d7b81878c9ccacfbf63bc671",
    "src/mjlab_gs/tasks/settings.py": "36ffc426d407cdb9f7f0696d85298bbf18f34ae44a57387a9a488df4806e5f14",
    "src/mjlab_gs/workflows.py": "924860ee59b60bb8024fbbea4445a27addc043412d15e28a03a5737e65e421ab"
  },
  "domain/benchmark_nominal64_128.json": {
    "command": "benchmark",
    "ik_cuda_graph": true,
    "num_envs": 64,
    "steps": 40,
    "seconds": 3.5049020210281014,
    "env_fps": 730.4055818510639,
    "peak_torch_GiB": 0.5997905731201172,
    "torch_reserved_GiB": 0.65625,
    "mean_return": 0.22985225915908813,
    "completed_episodes": 0,
    "finite": true,
    "contract": {
      "version": "mjlab-gs-cartesian-v2",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 16,
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": [
        128,
        128,
        3
      ],
      "rgb_dtype": "uint8",
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "task_spec": {
      "version": "bottle-lift-v2",
      "critic_dim": 59,
      "randomization": {
        "enabled": false,
        "nominal_fraction": 0.1,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.3,
        "table_yaw_deg": 30.0,
        "robot_xy_m": 0.2,
        "robot_yaw_deg": 30.0,
        "initial_joint_deg": [
          45.0,
          20.0,
          30.0,
          45.0,
          30.0,
          90.0
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0.01,
        "camera_rotation_deg": 5.0,
        "camera_focal_fraction": 0.02,
        "camera_principal_px": [
          6.4,
          4.0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          0.7,
          1.3
        ],
        "material_gain": [
          0.8,
          1.2
        ],
        "exposure_gain": [
          0.85,
          1.15
        ],
        "white_balance": [
          0.95,
          1.05
        ],
        "image_noise_std_255": 2.0
      },
      "curriculum": {
        "enabled": false,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1.0
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "success_bonus": 200.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": true,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_weights": {
        "reach": 1.0,
        "grasp": 2.0,
        "lift": 5.0,
        "hold": 2.0,
        "success": 1.0,
        "action_cost": -0.001,
        "action_rate": -0.01,
        "collision": -2.0,
        "penetration": -0.5,
        "joint_speed": -0.1
      }
    },
    "nvml_sampled_process_peak_GiB": 1.94921875
  },
  "domain/benchmark_full64_128.json": {
    "command": "benchmark",
    "ik_cuda_graph": true,
    "num_envs": 64,
    "steps": 40,
    "seconds": 4.735212678089738,
    "env_fps": 540.630415999128,
    "peak_torch_GiB": 0.35186100006103516,
    "torch_reserved_GiB": 0.423828125,
    "mean_return": -0.11242091655731201,
    "completed_episodes": 0,
    "finite": true,
    "contract": {
      "version": "mjlab-gs-cartesian-v2",
      "controller": "gpu-differential-ik",
      "arm_bias_compensation": true,
      "state_dim": 16,
      "action_dim": 7,
      "action_frame": "robot/base",
      "translation_m_per_step": 0.005,
      "rotation_rad_per_step": 0.017453292519943295,
      "gripper": "-1 closed; +1 open",
      "physics_dt": 0.001,
      "control_dt": 0.05,
      "rgb_shape": [
        128,
        128,
        3
      ],
      "rgb_dtype": "uint8",
      "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
      "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
    },
    "task_spec": {
      "version": "bottle-lift-v2",
      "critic_dim": 59,
      "randomization": {
        "enabled": true,
        "nominal_fraction": 0.1,
        "bottle_edge_margin_m": 0.05,
        "bottle_yaw_deg": 180.0,
        "table_xy_m": 0.3,
        "table_yaw_deg": 30.0,
        "robot_xy_m": 0.2,
        "robot_yaw_deg": 30.0,
        "initial_joint_deg": [
          45.0,
          20.0,
          30.0,
          45.0,
          30.0,
          90.0
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0.01,
        "camera_rotation_deg": 5.0,
        "camera_focal_fraction": 0.02,
        "camera_principal_px": [
          6.4,
          4.0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "bottle_mass_scale": [
          0.8,
          1.2
        ],
        "joint_damping_scale": [
          0.8,
          1.2
        ],
        "light_gain": [
          0.7,
          1.3
        ],
        "material_gain": [
          0.8,
          1.2
        ],
        "exposure_gain": [
          0.85,
          1.15
        ],
        "white_balance": [
          0.95,
          1.05
        ],
        "image_noise_std_255": 2.0
      },
      "curriculum": {
        "enabled": false,
        "boundaries": [
          0,
          20000,
          50000,
          100000,
          200000
        ],
        "scales": [
          0.05,
          0.15,
          0.35,
          0.65,
          1.0
        ],
        "evaluation_scale": 1.0
      },
      "objective": {
        "lift_height_m": 0.1,
        "high_lift_height_m": 0.15,
        "hold_s": 2.0,
        "success_bonus": 200.0,
        "contact_force_n": 0.05,
        "max_hold_linear_speed": 0.15,
        "max_hold_angular_speed": 1.0,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": true,
        "contact_grace_s": 0.2,
        "capture_metrics": true
      },
      "episode_length_s": 15.0,
      "scale_rewards_by_dt": true,
      "reward_weights": {
        "reach": 1.0,
        "grasp": 2.0,
        "lift": 5.0,
        "hold": 2.0,
        "success": 1.0,
        "action_cost": -0.001,
        "action_rate": -0.01,
        "collision": -2.0,
        "penetration": -0.5,
        "joint_speed": -0.1
      }
    },
    "nvml_sampled_process_peak_GiB": 1.716796875
  },
  "benchmarks": [
    {
      "command": "benchmark",
      "num_envs": 1024,
      "steps": 30,
      "seconds": 10.81022357661277,
      "env_fps": 2841.754361719286,
      "peak_torch_GiB": 2.0617456436157227,
      "torch_reserved_GiB": 2.744140625,
      "mean_return": 0.39660802483558655,
      "completed_episodes": 0,
      "finite": true,
      "contract": {
        "version": "mjlab-gs-cartesian-v1",
        "state_dim": 16,
        "action_dim": 7,
        "action_frame": "robot/base",
        "translation_m_per_step": 0.005,
        "rotation_rad_per_step": 0.017453292519943295,
        "gripper": "-1 closed; +1 open",
        "physics_dt": 0.001,
        "control_dt": 0.05,
        "rgb_shape": [
          128,
          128,
          3
        ],
        "rgb_dtype": "uint8",
        "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
        "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
      },
      "nvml_sampled_process_peak_GiB": 5.033203125,
      "ik_cuda_graph": true,
      "allocator": "expandable_segments:True",
      "gpu": "NVIDIA RTX A6000 48 GB",
      "run": "benchmark1024"
    },
    {
      "command": "benchmark",
      "num_envs": 64,
      "steps": 30,
      "seconds": 2.2027567317709327,
      "env_fps": 871.6350617875053,
      "peak_torch_GiB": 0.747258186340332,
      "torch_reserved_GiB": 0.810546875,
      "mean_return": 0.3966091275215149,
      "completed_episodes": 0,
      "finite": true,
      "contract": {
        "version": "mjlab-gs-cartesian-v1",
        "state_dim": 16,
        "action_dim": 7,
        "action_frame": "robot/base",
        "translation_m_per_step": 0.005,
        "rotation_rad_per_step": 0.017453292519943295,
        "gripper": "-1 closed; +1 open",
        "physics_dt": 0.001,
        "control_dt": 0.05,
        "rgb_shape": [
          128,
          128,
          3
        ],
        "rgb_dtype": "uint8",
        "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
        "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
      },
      "nvml_sampled_process_peak_GiB": 2.037109375,
      "ik_cuda_graph": true,
      "allocator": "expandable_segments:True",
      "gpu": "NVIDIA RTX A6000 48 GB",
      "run": "benchmark64"
    },
    {
      "command": "benchmark",
      "num_envs": 64,
      "steps": 30,
      "seconds": 3.077339210547507,
      "env_fps": 623.9156195128719,
      "peak_torch_GiB": 0.7402915954589844,
      "torch_reserved_GiB": 7.177734375,
      "mean_return": 0.3966081738471985,
      "completed_episodes": 0,
      "finite": true,
      "contract": {
        "version": "mjlab-gs-cartesian-v1",
        "state_dim": 16,
        "action_dim": 7,
        "action_frame": "robot/base",
        "translation_m_per_step": 0.005,
        "rotation_rad_per_step": 0.017453292519943295,
        "gripper": "-1 closed; +1 open",
        "physics_dt": 0.001,
        "control_dt": 0.05,
        "rgb_shape": [
          128,
          128,
          3
        ],
        "rgb_dtype": "uint8",
        "assets_manifest_sha256": "8eb22a0ebbc461bb728c2e2a0b601d6737a3fa3fd972dcbf2270d5cdabef9de0",
        "scene_sha256": "5be735fd530a190e8e287538ce232b101458b211d2990c03e6a1493d6a424dd7"
      },
      "nvml_sampled_process_peak_GiB": 8.384765625,
      "ik_cuda_graph": false,
      "allocator": "default",
      "gpu": "NVIDIA RTX A6000 48 GB",
      "run": "benchmark64_baseline"
    }
  ]
}
