{
  "bundle": "mjlab-gs-tubesort-act-v1",
  "source_checkpoint": "/home/sudhir/mjlab_gs/logs/act/tubesort_h16_seed1/step_018000.pt",
  "source_checkpoint_sha256": "9c4b6f3dc6109fd0ec484bd9f028b3acdfdf8c6247fc72e4043fe50c24ced6a9",
  "step": 18000,
  "architecture": "ACT_resnet18_256_3enc_2dec_CVAE32",
  "prefix": 20,
  "transition_prefix": 5,
  "history_frames": 16,
  "horizon": 20,
  "evaluation": {
    "success_rate": 0.07,
    "successes": 7,
    "trials": 100,
    "wilson95": [
      0.034318824364064096,
      0.13749671006529757
    ],
    "mean_sorted_fraction": 0.21071428820490837,
    "mean_seconds": 124.0685,
    "total_misplaced": 0,
    "total_outside": 11,
    "red_to_right": 0,
    "blue_to_left": 0,
    "validity_failures": 26,
    "by_tube_count": {
      "4": {
        "trials": 8,
        "success_rate": 0.0,
        "mean_sorted_fraction": 0.21875
      },
      "5": {
        "trials": 16,
        "success_rate": 0.0,
        "mean_sorted_fraction": 0.16250000335276127
      },
      "6": {
        "trials": 19,
        "success_rate": 0.21052631578947367,
        "mean_sorted_fraction": 0.31578947446848216
      },
      "7": {
        "trials": 15,
        "success_rate": 0.06666666666666667,
        "mean_sorted_fraction": 0.23809524476528168
      },
      "8": {
        "trials": 14,
        "success_rate": 0.07142857142857142,
        "mean_sorted_fraction": 0.16071428571428573
      },
      "9": {
        "trials": 17,
        "success_rate": 0.058823529411764705,
        "mean_sorted_fraction": 0.1764705917414497
      },
      "10": {
        "trials": 11,
        "success_rate": 0.0,
        "mean_sorted_fraction": 0.17272727462378415
      }
    },
    "policy": "logs/act/tubesort_h16_seed1/step_018000.pt",
    "checkpoint_sha256": "9c4b6f3dc6109fd0ec484bd9f028b3acdfdf8c6247fc72e4043fe50c24ced6a9",
    "prefix": 20,
    "transition_prefix": 5,
    "episodes": 100,
    "randomize": true,
    "dr_scale": null,
    "seed": 12345,
    "simulator_contract": {
      "version": "mjlab-gs-cartesian-v4",
      "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",
      "controller_details": {
        "ik_max_dq_rad": 0.025,
        "ik_delta_clip": "uniform direction-preserving",
        "joint_target_period_s": 0.001,
        "ik_damping": 0.005,
        "ik_orientation_weight": 0.2
      }
    },
    "task_spec": {
      "version": "tube-sort-v1",
      "task_id": "Mjlab-GS-TubeSort-UR5",
      "success_definition": "every active tube settled inside its target basket, with the Phase 1 physical-validity gates",
      "sort_rule": {
        "red": "left",
        "blue": "right"
      },
      "colour_target_index": [
        0,
        2
      ],
      "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
        },
        "critic": {
          "terms": {
            "state": {
              "func": "mjlab_gs.tasks.tubesort.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
        }
      },
      "goal_observation_dim": 0,
      "critic_dim": 124,
      "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
        ]
      },
      "layout": {
        "centre": {
          "name": "centre",
          "centre": [
            0.0,
            -0.14
          ],
          "interior": [
            0.115,
            0.05
          ],
          "wall_height": 0.035,
          "wall_thickness": 0.006,
          "floor_thickness": 0.003,
          "rgba": [
            0.62,
            0.6,
            0.56,
            1.0
          ]
        },
        "left": {
          "name": "left",
          "centre": [
            -0.21,
            -0.14
          ],
          "interior": [
            0.065,
            0.052
          ],
          "wall_height": 0.06,
          "wall_thickness": 0.006,
          "floor_thickness": 0.003,
          "rgba": [
            0.62,
            0.6,
            0.56,
            1.0
          ]
        },
        "right": {
          "name": "right",
          "centre": [
            0.21,
            -0.14
          ],
          "interior": [
            0.065,
            0.052
          ],
          "wall_height": 0.06,
          "wall_thickness": 0.006,
          "floor_thickness": 0.003,
          "rgba": [
            0.62,
            0.6,
            0.56,
            1.0
          ]
        },
        "tube": {
          "radius": 0.0125,
          "half_length": 0.035,
          "mass": 0.03,
          "friction": [
            0.7,
            0.005,
            0.0001
          ],
          "red_rgba": [
            0.8,
            0.12,
            0.12,
            1.0
          ],
          "blue_rgba": [
            0.12,
            0.25,
            0.85,
            1.0
          ]
        },
        "drop_margin_m": 0.035,
        "release_drop_m": 0.02
      },
      "randomization": {
        "enabled": true,
        "nominal_fraction": 0.0,
        "tube_count": [
          4,
          10
        ],
        "tube_colour_shade": [
          0.85,
          1.15
        ],
        "tube_radius_scale": [
          0.94,
          1.06
        ],
        "tube_length_scale": [
          0.92,
          1.08
        ],
        "tube_mass_scale": [
          0.7,
          1.4
        ],
        "basket_xy_m": 0.02,
        "basket_yaw_deg": 8.0,
        "table_xy_m": 0.03,
        "table_yaw_deg": 3.0,
        "robot_xy_m": 0.01,
        "robot_yaw_deg": 1.5,
        "initial_joint_deg": [
          6.0,
          4.0,
          5.0,
          6.0,
          5.0,
          12.0
        ],
        "initial_gripper_open_min": 0.85,
        "camera_xyz_m": 0.004,
        "camera_rotation_deg": 2.0,
        "camera_focal_fraction": 0.02,
        "camera_principal_px": [
          6.4,
          4.0
        ],
        "friction_scale": [
          0.7,
          1.3
        ],
        "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": {
        "settle_speed": 0.05,
        "contact_force_n": 0.05,
        "contact_grace_s": 0.2,
        "max_penetration_m": 0.003,
        "hard_penetration_m": 0.02,
        "max_joint_speed": 1.57,
        "terminate_on_success": false,
        "capture_metrics": true
      },
      "episode_length_s": 180.0,
      "scale_rewards_by_dt": true,
      "rewards": {
        "sorted": {
          "func": "mjlab_gs.tasks.tubesort.config.sorted_progress",
          "params": {},
          "weight": 1.0
        }
      },
      "commands": {}
    }
  },
  "roundtrip_exact": true,
  "compared_actions": 120,
  "verified_executed_prefixes": [
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5
  ],
  "sample_source": "/home/sudhir/mjlab_gs/datasets/tubesort_v1/000000.npz",
  "sample_sha256": "42d3314fb15f6dcb655e1f2e8cfd6587350c777a813aa5aa6e2992bf21a1d10b",
  "software": {
    "torch": "2.8.0+cu128",
    "torchvision": "0.23.0+cu128",
    "numpy": "2.4.6"
  },
  "hardware_validated": false,
  "files": {
    "README.md": "fe961ea2cfb491e1c9be26a81d380816931b49e19731d2cf31c1bab19e8dd0c1",
    "act.py": "e011f7f5465e720b5be9cabf42058f58c4314351be6f15ad5bf927580a7d9efe",
    "control_contract.json": "9d9ca59b7509ed649d6b6552071baf9dd0b4ad054df7f8b151a12b2935058791",
    "example.py": "0e0433dfb8bc724ddc846f291453f8aeaf3bbde8c95711a00f1bb3159ac03f21",
    "example_actions.npy": "83ccfc4ad5224ff6cc379b844a636b57389af6a19a18ed7f8f1a9e86c54df666",
    "example_observations.npz": "30fd0e5dde06a8f48ad4a0d57c5bf7a726540c5af6d4a17b37c8bf5677f4830f",
    "policy.pt": "27a0b9a2762646dbce8907acc69baeb5b676cbcac44c58aa0fc6b12a891544f2",
    "provenance/config.json": "c5a3e446e23b08acb41722ebc51c632b4e8b250786b7c626f4850c9dd563a486",
    "provenance/dataset_manifest.json": "7c6d20dacb9a3aceacdc56cf431aeb559ce292386396fdaccfe30814f26210b2",
    "provenance/evaluation_results.json": "0242fcc32ca3f8e5d24c0dd481bc22058a6aef47addccf4738274cf32408e2ef",
    "provenance/evaluation_summary.json": "0b30bb201bb5684e7f20dc2a62f51c874a27a02a4574b36e6238904bd5d6ab8b",
    "provenance/metrics.jsonl": "d12643ee16d4ba773eda442b2fd5b01e53614f25092218181f5ba371cdf2af93",
    "provenance/rollout_videos/episode_002_world0.mp4": "ce3f2f519ce338fe358b928f7097a8d78feb10a973712c38683fd52724337654",
    "provenance/rollout_videos/episode_004_world1.mp4": "d367efd7a824964891d1fba3297bbc183be5ff72d35b331f41bda9342c6be7e7",
    "provenance/rollout_videos/episode_005_world2.mp4": "2bb84cc50621837b8883f1add4297e142b8e10c409e14e61b858b1578b365b3e",
    "provenance/rollout_videos/episode_006_world3.mp4": "026436ae2af5870292cd4a35d69b1c61a9ceda94e43251a76779232f62cdf081",
    "provenance/stage1_validation.json": "2c500f49d24a953af1e4123fbb9207f67897c07533fbd0903f0dc9370fa2c099",
    "runtime.py": "1d46196bc273613b252f014794c348ad181540033e1042cf389b87c2324974db"
  }
}