{
  "scratch_runs": [
    {
      "run": "ppo_v1_seed42",
      "label": "v1 reward",
      "iterations": 85,
      "env_steps": 696320,
      "final_mean_return": 3.9674580070127172,
      "rolling_success": 0.0,
      "diagnosis": "# ppo_v1_seed42 \u2014 stopped at iteration 85 (696,320 env steps)\n\nReward `teacher-v1` (SuperDex YAM task v2 shaping), teacher DR scale 0.1, 256 envs.\nRolling training success 0/512; mean return rose from \u22121.8 to 4.0 and plateaued.\n\nDeterministic rollout of `model_50.pt` (16 envs, 200 ticks):\nTCP settled 5.7 cm from the grasp point \u2014 3.8 cm off the bottle axis and 4.3 cm below it (beside the bottle);\nmean raw gripper action +1.8 (beyond the +1 clip, fully open), no bilateral contact in any env.\n\nCause: the closing bonus only paid within ~2.5 cm while premature closure was penalized everywhere else,\nthe reach term rewarded descending beside the bottle, and unbounded raw gripper means saturated open, removing exploration.\nRevision `teacher-v2`: above-then-descend reach target, centring term, closing/contact reward \u00d75/\u00d73, premature-closure penalty only\nbeyond 5 cm, raw-action bound penalty. Reward ordering check (8 envs): scripted pick 200.0, hover open at grasp 13.7, beside bottle 1.2.\n"
    },
    {
      "run": "ppo_v2_seed42",
      "label": "v2 (staged reach)",
      "iterations": 179,
      "env_steps": 1466368,
      "final_mean_return": 92.90148635306485,
      "rolling_success": 0.0,
      "diagnosis": "# ppo_v2_seed42 \u2014 stopped at iteration ~180 (\u22481.47 M env steps)\n\nReward `teacher-v2`, teacher DR scale 0.1, 256 envs, from random weights. Mean training return rose from 0.2 to 92.7 and plateaued;\nrolling strict success 0/512 (4 bottles dropped after lifting during the whole run).\n\nDeterministic rollout of `model_150.pt` (16 envs, 200 ticks): bilateral grasp in 16/16 envs from tick ~40, but the z action stayed at \u22121\n(pressing down) and no bottle was lifted (max clearance 0 cm). Local optimum: steady contact/closing reward while pressing down.\nReward ordering was already correct (scripted pick 200 vs scripted grasp-and-press 36.7), so the obstacle was exploration of lifting.\n\nRevision `teacher-v3` (continues from this run's final weights): contact pays mostly once the bottle is above 1 cm, lift-progress reward\n(20 \u00d7 clearance gain per tick while grasped), push-down penalty while grasped below 10 cm. Ordering: scripted pick 197.4, grasp-and-press 17.7.\n"
    },
    {
      "run": "ppo_v3_seed42",
      "label": "v3 (+lift progress)",
      "iterations": 171,
      "env_steps": 1400832,
      "final_mean_return": 161.46283699773988,
      "rolling_success": 0.0,
      "diagnosis": "# ppo_v3_seed42 \u2014 continued from ppo_v2_seed42 (iteration 179); stopped after 173 more iterations (\u22481.42 M env steps)\n\nReward `teacher-v3`. Mean training return rose from ~30 to ~162 and plateaued; lifts began (\u2248110 bottles lifted then dropped) but\nrolling strict success stayed 0/512. Forced-lift probe on `model_200.pt`: the learned grasp is centred within 4 mm at the planned height\nand lifts every bottle past 10 cm with bilateral contact when z = +1 is commanded, so physics and grasp quality were not the obstacle.\n\nDeterministic rollout of `model_300.pt`: bilateral grasp and lift in 16/16 envs, then hover at 4.4\u20135.7 cm clearance with z \u2248 0;\nno tick above 10 cm. Scripted pick vs scripted hover-at-5 cm returned 197 vs 151 under v3 \u2014 too small a margin, and success terminated the\nepisode, cutting off further reward. Revision `teacher-v4`: lift reward \u00d71.5, lift progress \u00d72 below 13 cm, holding reward 1.0 per tick\nwhen grasped, stable and \u226510 cm, and episodes no longer end at success (hold keeps paying).\n"
    },
    {
      "run": "ppo_v4_seed42",
      "label": "v4 (+holding)",
      "iterations": 35,
      "env_steps": 286720,
      "final_mean_return": 273.24994949375764,
      "rolling_success": 0.0,
      "diagnosis": "# ppo_v4_seed42 \u2014 continued from ppo_v3_seed42; stopped after 35 iterations (286,720 env steps)\n\nReward `teacher-v4`, episodes continue after success. Return rose quickly (106 \u2192 273). Deterministic `model_200.pt` (rsl iteration count)\nlifted all 16 bottles within ~3.5 s but settled at 10.0\u201310.2 cm clearance, exactly the success threshold; small dips reset the strict\n2 s hold timer (max 0.2 s). Cause: step holding reward at 10 cm and lift reward saturating at 12 cm gave no margin above the threshold.\nRevision `teacher-v5`: lift saturates at 15 cm, holding reward ramps from 9 to 13 cm. Scripted pick-and-hold return under v5: 515.6 (8/8 success).\n"
    },
    {
      "run": "ppo_v5_seed42",
      "label": "v5 (13 cm ramp)",
      "iterations": 39,
      "env_steps": 319488,
      "final_mean_return": 236.8794150191983,
      "rolling_success": 0.0,
      "diagnosis": ""
    },
    {
      "run": "ppo_v5b_seed42",
      "label": "v5 + eval gate",
      "iterations": 60,
      "env_steps": 491520,
      "final_mean_return": 266.6500886208306,
      "rolling_success": 0.0,
      "diagnosis": "# ppo_v5b_seed42 \u2014 continued from ppo_v5_seed42 (v5 reward, eval-gated curriculum); stopped after ~90 iterations\n\nDeterministic validations (64 envs, scale 0.1): model_50 0/64 and model_75 0/64 strict successes; all 64 lifted but held at\n10.1\u201310.2 cm max clearance. Per-tick v5 reward for the scripted hold rose from 1.76 at 9.9 cm to 2.87 at 13.4 cm, so the reward favoured\nhigher holds. Forced-lift probe from the policy's hover state: z = +1 with the policy's own gripper output dropped the bottles within 0.5 s\n(its gripper command drifted from \u22120.84 toward \u22120.6 as the state left the training distribution); z = +1 with gripper \u22121 lifted all 16\nbottles to 29 cm. Cause: partial gripper closure. Revision: teacher uses a binary gripper (action < 0 fully closed), same reward.\n"
    },
    {
      "run": "ppo_v6_seed42",
      "label": "v5 + binary gripper",
      "iterations": 46,
      "env_steps": 376832,
      "final_mean_return": 9.124751282066558,
      "rolling_success": 0.0,
      "diagnosis": "# ppo_v6_seed42 \u2014 continued from ppo_v5b_seed42 with a binary gripper; stopped after ~45 iterations\n\nSwitching the gripper to binary (action < 0 fully closed) removed the partial-closure slip, but the inherited policy's gripper command\ncrossed zero during approach, so it closed early and never grasped (deterministic validation 0/64 \"never bilaterally grasped\" at\nmodel_100 and model_125; training return fell from ~12 to ~9). PPO did not re-discover grasp timing in 45 iterations.\nDecision: stop reward iteration from scratch-trained weights and bootstrap the teacher from demonstrations of the privileged scripted\nexpert (binary gripper commands, orientation locked), then fine-tune with PPO under the evaluation-gated curriculum.\n"
    }
  ],
  "finetune": {
    "runs": [
      "ppo_bcft_v1_seed42",
      "ppo_bcft_v2_seed42",
      "ppo_bcft_v3_seed42"
    ],
    "iterations": 384,
    "env_steps": 3145728,
    "wall_h": 2.360550410217709,
    "env_steps_per_s": 370.17355340136254,
    "final_scale": 0.6,
    "curriculum": [
      {
        "iteration": 9,
        "env_steps": 73728,
        "from_scale": 0.1,
        "to_scale": 0.2,
        "rolling_train_success": 0.3108108108108108,
        "gate_source": "eval",
        "gate_success": 1.0,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "iteration": 26,
        "env_steps": 212992,
        "from_scale": 0.2,
        "to_scale": 0.3,
        "rolling_train_success": 0.71484375,
        "gate_source": "eval",
        "gate_success": 0.984375,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "iteration": 68,
        "env_steps": 557056,
        "from_scale": 0.3,
        "to_scale": 0.4,
        "rolling_train_success": 0.654296875,
        "gate_source": "eval",
        "gate_success": 0.984375,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "iteration": 88,
        "env_steps": 720896,
        "from_scale": 0.4,
        "to_scale": 0.5,
        "rolling_train_success": 0.619140625,
        "gate_source": "eval",
        "gate_success": 0.875,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "iteration": 14,
        "env_steps": 1753088,
        "from_scale": 0.5,
        "to_scale": 0.6,
        "rolling_train_success": 0.5121412803532008,
        "gate_source": "eval",
        "gate_success": 0.65625,
        "gate_threshold": 0.61875,
        "run": "ppo_bcft_v2_seed42"
      }
    ],
    "evaluations": [
      {
        "checkpoint": "model_0.pt",
        "time": "2026-09-14T15:46:38",
        "train_iteration": 2,
        "env_steps": 16384,
        "scale": 0.1,
        "successes": 64,
        "episodes": 64,
        "success_rate": 1.0,
        "wilson95": [
          0.9433739770288436,
          1.0
        ],
        "outcomes": {
          "success": 64
        },
        "mean_success_time_s": 15.0,
        "mean_max_clearance_m": 0.17874095082473798,
        "wall_s": 114.2052857875824,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_20.pt",
        "time": "2026-09-14T15:53:17",
        "train_iteration": 21,
        "env_steps": 172032,
        "scale": 0.2,
        "successes": 63,
        "episodes": 64,
        "success_rate": 0.984375,
        "wilson95": [
          0.9166570109970937,
          0.9972365292495987
        ],
        "outcomes": {
          "success": 63,
          "tipped": 1
        },
        "mean_success_time_s": 7.275396825396825,
        "mean_max_clearance_m": 0.19166620759541733,
        "wall_s": 67.89562845230103,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_40.pt",
        "time": "2026-09-14T16:00:40",
        "train_iteration": 41,
        "env_steps": 335872,
        "scale": 0.3,
        "successes": 43,
        "episodes": 64,
        "success_rate": 0.671875,
        "wilson95": [
          0.5499887622745426,
          0.7742960423291223
        ],
        "outcomes": {
          "success": 43,
          "tipped": 20,
          "lifted, hold < 2 s": 1
        },
        "mean_success_time_s": 6.674418604651163,
        "mean_max_clearance_m": 0.17067802542878632,
        "wall_s": 94.32646083831787,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_60.pt",
        "time": "2026-09-14T16:07:54",
        "train_iteration": 61,
        "env_steps": 499712,
        "scale": 0.3,
        "successes": 63,
        "episodes": 64,
        "success_rate": 0.984375,
        "wilson95": [
          0.9166570109970937,
          0.9972365292495987
        ],
        "outcomes": {
          "success": 63,
          "tipped": 1
        },
        "mean_success_time_s": 8.544444444444444,
        "mean_max_clearance_m": 0.22436812541345735,
        "wall_s": 104.36438250541687,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_80.pt",
        "time": "2026-09-14T16:15:32",
        "train_iteration": 81,
        "env_steps": 663552,
        "scale": 0.4,
        "successes": 56,
        "episodes": 64,
        "success_rate": 0.875,
        "wilson95": [
          0.7722521366978408,
          0.935278346073792
        ],
        "outcomes": {
          "success": 56,
          "tipped": 8
        },
        "mean_success_time_s": 10.025892857142857,
        "mean_max_clearance_m": 0.2806576739856918,
        "wall_s": 107.22329092025757,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_100.pt",
        "time": "2026-09-14T16:23:10",
        "train_iteration": 101,
        "env_steps": 827392,
        "scale": 0.5,
        "successes": 40,
        "episodes": 64,
        "success_rate": 0.625,
        "wilson95": [
          0.5025015331382643,
          0.7333419611189467
        ],
        "outcomes": {
          "grasped, not lifted 10 cm": 4,
          "never bilaterally grasped": 4,
          "tipped": 15,
          "success": 40,
          "lifted, hold < 2 s": 1
        },
        "mean_success_time_s": 10.135,
        "mean_max_clearance_m": 0.22046703783492544,
        "wall_s": 106.50338673591614,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_120.pt",
        "time": "2026-09-14T16:30:52",
        "train_iteration": 121,
        "env_steps": 991232,
        "scale": 0.5,
        "successes": 41,
        "episodes": 64,
        "success_rate": 0.640625,
        "wilson95": [
          0.5182062363615083,
          0.7471176946778539
        ],
        "outcomes": {
          "never bilaterally grasped": 7,
          "tipped": 15,
          "success": 41,
          "lifted, hold < 2 s": 1
        },
        "mean_success_time_s": 12.178048780487806,
        "mean_max_clearance_m": 0.2587752761473676,
        "wall_s": 111.46099877357483,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_140.pt",
        "time": "2026-09-14T16:38:36",
        "train_iteration": 141,
        "env_steps": 1155072,
        "scale": 0.5,
        "successes": 40,
        "episodes": 64,
        "success_rate": 0.625,
        "wilson95": [
          0.5025015331382643,
          0.7333419611189467
        ],
        "outcomes": {
          "never bilaterally grasped": 8,
          "tipped": 12,
          "grasped, not lifted 10 cm": 1,
          "success": 40,
          "bottle fell off table": 2,
          "lifted, hold < 2 s": 1
        },
        "mean_success_time_s": 11.95375,
        "mean_max_clearance_m": 0.257419812106411,
        "wall_s": 112.25753283500671,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_160.pt",
        "time": "2026-09-14T16:46:42",
        "train_iteration": 161,
        "env_steps": 1318912,
        "scale": 0.5,
        "successes": 42,
        "episodes": 64,
        "success_rate": 0.65625,
        "wilson95": [
          0.5340341181762039,
          0.7607702496453097
        ],
        "outcomes": {
          "never bilaterally grasped": 7,
          "tipped": 13,
          "grasped, not lifted 10 cm": 1,
          "success": 42,
          "bottle fell off table": 1
        },
        "mean_success_time_s": 11.991666666666667,
        "mean_max_clearance_m": 0.24698794775636962,
        "wall_s": 113.26983380317688,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_180.pt",
        "time": "2026-09-14T16:54:27",
        "train_iteration": 181,
        "env_steps": 1482752,
        "scale": 0.5,
        "successes": 45,
        "episodes": 64,
        "success_rate": 0.703125,
        "wilson95": [
          0.5822956740587202,
          0.8009500041092475
        ],
        "outcomes": {
          "never bilaterally grasped": 12,
          "success": 45,
          "tipped": 7
        },
        "mean_success_time_s": 13.526666666666669,
        "mean_max_clearance_m": 0.24569223983685765,
        "wall_s": 112.00367641448975,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_200.pt",
        "time": "2026-09-14T17:04:03",
        "train_iteration": 201,
        "env_steps": 1646592,
        "scale": 0.5,
        "successes": 41,
        "episodes": 64,
        "success_rate": 0.640625,
        "wilson95": [
          0.5182062363615083,
          0.7471176946778539
        ],
        "outcomes": {
          "never bilaterally grasped": 10,
          "tipped": 12,
          "success": 41,
          "grasped, not lifted 10 cm": 1
        },
        "mean_success_time_s": 13.270731707317076,
        "mean_max_clearance_m": 0.21785921538407857,
        "wall_s": 80.1859040260315,
        "run": "ppo_bcft_v1_seed42"
      },
      {
        "checkpoint": "model_200.pt",
        "time": "2026-09-14T17:14:17",
        "train_iteration": 2,
        "env_steps": 1654784,
        "expert_success_rate": 0.6875,
        "scale": 0.5,
        "successes": 42,
        "episodes": 64,
        "success_rate": 0.65625,
        "wilson95": [
          0.5340341181762039,
          0.7607702496453097
        ],
        "outcomes": {
          "never bilaterally grasped": 14,
          "success": 42,
          "tipped": 7,
          "grasped, not lifted 10 cm": 1
        },
        "mean_success_time_s": 12.798809523809524,
        "mean_max_clearance_m": 0.20659930218108757,
        "wall_s": 101.21954250335693,
        "run": "ppo_bcft_v2_seed42"
      },
      {
        "checkpoint": "model_220.pt",
        "time": "2026-09-14T17:21:20",
        "train_iteration": 21,
        "env_steps": 1810432,
        "expert_success_rate": 0.765625,
        "scale": 0.6,
        "successes": 29,
        "episodes": 64,
        "success_rate": 0.453125,
        "wilson95": [
          0.33729251486034373,
          0.5742661747932022
        ],
        "outcomes": {
          "tipped": 22,
          "success": 29,
          "never bilaterally grasped": 11,
          "bottle fell off table": 2
        },
        "mean_success_time_s": 11.600000000000001,
        "mean_max_clearance_m": 0.1900709842912418,
        "wall_s": 97.96734046936035,
        "run": "ppo_bcft_v2_seed42"
      },
      {
        "checkpoint": "model_240.pt",
        "time": "2026-09-14T17:26:11",
        "train_iteration": 41,
        "env_steps": 1974272,
        "expert_success_rate": 0.765625,
        "scale": 0.6,
        "successes": 37,
        "episodes": 64,
        "success_rate": 0.578125,
        "wilson95": [
          0.4560981205252726,
          0.6913040633854843
        ],
        "outcomes": {
          "success": 37,
          "tipped": 13,
          "never bilaterally grasped": 13,
          "bottle fell off table": 1
        },
        "mean_success_time_s": 13.07027027027027,
        "mean_max_clearance_m": 0.21324434621336444,
        "wall_s": 104.91823244094849,
        "run": "ppo_bcft_v2_seed42"
      },
      {
        "checkpoint": "model_260.pt",
        "time": "2026-09-14T17:33:09",
        "train_iteration": 61,
        "env_steps": 2138112,
        "expert_success_rate": 0.765625,
        "scale": 0.6,
        "successes": 39,
        "episodes": 64,
        "success_rate": 0.609375,
        "wilson95": [
          0.48691694294402404,
          0.7194461145310356
        ],
        "outcomes": {
          "success": 39,
          "never bilaterally grasped": 14,
          "tipped": 8,
          "lifted, hold < 2 s": 2,
          "bottle fell off table": 1
        },
        "mean_success_time_s": 13.287179487179486,
        "mean_max_clearance_m": 0.18597358407304673,
        "wall_s": 110.08315300941467,
        "run": "ppo_bcft_v2_seed42"
      },
      {
        "checkpoint": "model_280.pt",
        "time": "2026-09-14T17:40:22",
        "train_iteration": 82,
        "env_steps": 2310144,
        "expert_success_rate": 0.765625,
        "scale": 0.6,
        "successes": 32,
        "episodes": 64,
        "success_rate": 0.5,
        "wilson95": [
          0.3810188849321495,
          0.6189811150678505
        ],
        "outcomes": {
          "success": 32,
          "never bilaterally grasped": 13,
          "tipped": 15,
          "lifted, hold < 2 s": 4
        },
        "mean_success_time_s": 14.012500000000001,
        "mean_max_clearance_m": 0.17269302054570196,
        "wall_s": 106.47536444664001,
        "run": "ppo_bcft_v2_seed42"
      },
      {
        "checkpoint": "model_300.pt",
        "time": "2026-09-14T17:47:16",
        "train_iteration": 101,
        "env_steps": 2465792,
        "expert_success_rate": 0.765625,
        "scale": 0.6,
        "successes": 34,
        "episodes": 64,
        "success_rate": 0.53125,
        "wilson95": [
          0.41071875000475133,
          0.6482421235595515
        ],
        "outcomes": {
          "success": 34,
          "never bilaterally grasped": 13,
          "tipped": 16,
          "lifted, hold < 2 s": 1
        },
        "mean_success_time_s": 13.563235294117646,
        "mean_max_clearance_m": 0.14194377083966914,
        "wall_s": 107.60963320732117,
        "run": "ppo_bcft_v2_seed42"
      },
      {
        "checkpoint": "model_320.pt",
        "time": "2026-09-14T17:58:02",
        "train_iteration": 3,
        "env_steps": 2646016,
        "expert_success_rate": 0.765625,
        "scale": 0.6,
        "successes": 33,
        "episodes": 64,
        "success_rate": 0.515625,
        "wilson95": [
          0.39581392243999036,
          0.633666514342161
        ],
        "outcomes": {
          "success": 33,
          "never bilaterally grasped": 13,
          "tipped": 17,
          "grasped, not lifted 10 cm": 1
        },
        "mean_success_time_s": 13.730303030303032,
        "mean_max_clearance_m": 0.12847808981494185,
        "wall_s": 111.21949648857117,
        "run": "ppo_bcft_v3_seed42"
      },
      {
        "checkpoint": "model_340.pt",
        "time": "2026-09-14T18:03:16",
        "train_iteration": 23,
        "env_steps": 2809856,
        "expert_success_rate": 0.765625,
        "scale": 0.6,
        "successes": 36,
        "episodes": 64,
        "success_rate": 0.5625,
        "wilson95": [
          0.44085991778287875,
          0.6770618293457267
        ],
        "outcomes": {
          "success": 36,
          "never bilaterally grasped": 13,
          "tipped": 15
        },
        "mean_success_time_s": 14.006944444444446,
        "mean_max_clearance_m": 0.11065422248289897,
        "wall_s": 106.08174443244934,
        "run": "ppo_bcft_v3_seed42"
      },
      {
        "checkpoint": "model_360.pt",
        "time": "2026-09-14T18:10:10",
        "train_iteration": 43,
        "env_steps": 2973696,
        "expert_success_rate": 0.765625,
        "scale": 0.6,
        "successes": 35,
        "episodes": 64,
        "success_rate": 0.546875,
        "wilson95": [
          0.4257338252067978,
          0.6627074851396563
        ],
        "outcomes": {
          "success": 35,
          "never bilaterally grasped": 13,
          "tipped": 15,
          "grasped, not lifted 10 cm": 1
        },
        "mean_success_time_s": 14.10857142857143,
        "mean_max_clearance_m": 0.09927149712368363,
        "wall_s": 106.58264827728271,
        "run": "ppo_bcft_v3_seed42"
      },
      {
        "checkpoint": "model_380.pt",
        "time": "2026-09-14T18:18:08",
        "train_iteration": 63,
        "env_steps": 3137536,
        "expert_success_rate": 0.765625,
        "scale": 0.6,
        "successes": 34,
        "episodes": 64,
        "success_rate": 0.53125,
        "wilson95": [
          0.41071875000475133,
          0.6482421235595515
        ],
        "outcomes": {
          "success": 34,
          "never bilaterally grasped": 14,
          "tipped": 16
        },
        "mean_success_time_s": 13.59558823529412,
        "mean_max_clearance_m": 0.1002891529971037,
        "wall_s": 98.59294533729553,
        "run": "ppo_bcft_v3_seed42"
      }
    ]
  },
  "bootstrap": {
    "demos": {
      "samples": 276480,
      "scales": [
        0.1,
        0.3,
        0.6
      ],
      "envs": 256,
      "ticks": 360,
      "noise_fraction": 0.3,
      "noise_std": 0.3,
      "episodes": 1538,
      "success_rate_by_scale_complete_episodes": {
        "0.1": 0.9883268482490273,
        "0.3": 0.9688715953307393,
        "0.6": 0.69921875
      },
      "note": "truncated tail episodes (<= 60 ticks) are excluded from the success rate"
    },
    "bc": {
      "data": "~/rl_training/results/superdex_gs_teacher/bootstrap/expert_demos_v2.npz",
      "samples": 276480,
      "epochs": 40,
      "final": {
        "epoch": 39,
        "action_mse": 0.0041181797575619485,
        "value_loss": 0.4525958988401625
      },
      "wall_s": 6.498204469680786,
      "init_std": 0.3
    },
    "bc_eval": {
      "checkpoint": "~/rl_training/results/superdex_gs_teacher/bootstrap/bc_v2.pt",
      "seed": 7001,
      "envs": 64,
      "policy": "deterministic mean action",
      "success": "clearance >= 10 cm, both pads >= 0.05 N, stable, held 2 s",
      "results": [
        {
          "scale": 0.1,
          "successes": 6,
          "episodes": 64,
          "success_rate": 0.09375,
          "wilson95": [
            0.04367765783128785,
            0.1898309858327767
          ],
          "outcomes": {
            "lifted, hold < 2 s": 41,
            "tipped": 14,
            "grasped, not lifted 10 cm": 3,
            "success": 6
          },
          "mean_success_time_s": 13.558333333333335,
          "mean_max_clearance_m": 0.13122321379727642,
          "wall_s": 72.33692765235901
        },
        {
          "scale": 0.3,
          "successes": 18,
          "episodes": 64,
          "success_rate": 0.28125,
          "wilson95": [
            0.18593226105484584,
            0.40134162399503504
          ],
          "outcomes": {
            "success": 18,
            "tipped": 17,
            "lifted, hold < 2 s": 17,
            "grasped, not lifted 10 cm": 11,
            "never bilaterally grasped": 1
          },
          "mean_success_time_s": 13.608333333333334,
          "mean_max_clearance_m": 0.12698986696043096,
          "wall_s": 66.69063687324524
        },
        {
          "scale": 0.6,
          "successes": 11,
          "episodes": 64,
          "success_rate": 0.171875,
          "wilson95": [
            0.09877641267316228,
            0.2821344149016591
          ],
          "outcomes": {
            "grasped, not lifted 10 cm": 9,
            "tipped": 16,
            "success": 11,
            "never bilaterally grasped": 20,
            "lifted, hold < 2 s": 8
          },
          "mean_success_time_s": 13.713636363636363,
          "mean_max_clearance_m": 0.07287902800361844,
          "wall_s": 60.59083962440491
        },
        {
          "scale": 1.0,
          "successes": 4,
          "episodes": 64,
          "success_rate": 0.0625,
          "wilson95": [
            0.024570803674792932,
            0.14997696642496885
          ],
          "outcomes": {
            "grasped, not lifted 10 cm": 9,
            "never bilaterally grasped": 28,
            "lifted, hold < 2 s": 8,
            "tipped": 14,
            "success": 4,
            "bottle fell off table": 1
          },
          "mean_success_time_s": 11.125,
          "mean_max_clearance_m": 0.05264164735661361,
          "wall_s": 54.47286033630371
        }
      ]
    },
    "first_bc_attempt_eval": {
      "checkpoint": "~/rl_training/results/superdex_gs_teacher/bootstrap/bc_v1.pt",
      "seed": 7001,
      "envs": 64,
      "policy": "deterministic mean action",
      "success": "clearance >= 10 cm, both pads >= 0.05 N, stable, held 2 s",
      "results": [
        {
          "scale": 0.1,
          "successes": 0,
          "episodes": 64,
          "success_rate": 0.0,
          "wilson95": [
            0.0,
            0.056626022971156334
          ],
          "outcomes": {
            "grasped, not lifted 10 cm": 64
          },
          "mean_success_time_s": null,
          "mean_max_clearance_m": 0.0,
          "wall_s": 52.64370059967041
        },
        {
          "scale": 0.3,
          "successes": 0,
          "episodes": 64,
          "success_rate": 0.0,
          "wilson95": [
            0.0,
            0.056626022971156334
          ],
          "outcomes": {
            "grasped, not lifted 10 cm": 62,
            "never bilaterally grasped": 2
          },
          "mean_success_time_s": null,
          "mean_max_clearance_m": 1.4697198793227687e-05,
          "wall_s": 52.96018028259277
        },
        {
          "scale": 0.6,
          "successes": 4,
          "episodes": 64,
          "success_rate": 0.0625,
          "wilson95": [
            0.024570803674792932,
            0.14997696642496885
          ],
          "outcomes": {
            "success": 4,
            "grasped, not lifted 10 cm": 36,
            "never bilaterally grasped": 22,
            "tipped": 2
          },
          "mean_success_time_s": 10.0,
          "mean_max_clearance_m": 0.015154448135912955,
          "wall_s": 44.12145209312439
        },
        {
          "scale": 1.0,
          "successes": 4,
          "episodes": 64,
          "success_rate": 0.0625,
          "wilson95": [
            0.024570803674792932,
            0.14997696642496885
          ],
          "outcomes": {
            "grasped, not lifted 10 cm": 27,
            "never bilaterally grasped": 28,
            "success": 4,
            "tipped": 3,
            "lifted, hold < 2 s": 2
          },
          "mean_success_time_s": 10.0,
          "mean_max_clearance_m": 0.014155591042143898,
          "wall_s": 38.58988857269287
        }
      ]
    }
  },
  "final_eval": {
    "RL teacher": {
      "checkpoint": "~/rl_training/results/superdex_gs_teacher/teacher_selected.pt",
      "seed": 9001,
      "envs": 128,
      "policy": "deterministic mean action",
      "success": "clearance >= 10 cm, both pads >= 0.05 N, stable, held 2 s",
      "results": [
        {
          "scale": 0.1,
          "successes": 128,
          "episodes": 128,
          "success_rate": 1.0,
          "wilson95": [
            0.9708620041018918,
            0.9999999999999998
          ],
          "outcomes": {
            "success": 128
          },
          "mean_success_time_s": 11.124609375,
          "mean_max_clearance_m": 0.278449016836381,
          "wall_s": 93.93165755271912
        },
        {
          "scale": 0.3,
          "successes": 125,
          "episodes": 128,
          "success_rate": 0.9765625,
          "wilson95": [
            0.933355119099728,
            0.9919977285598879
          ],
          "outcomes": {
            "success": 125,
            "tipped": 3
          },
          "mean_success_time_s": 12.8356,
          "mean_max_clearance_m": 0.25598358410372657,
          "wall_s": 93.69374895095825
        },
        {
          "scale": 0.5,
          "successes": 92,
          "episodes": 128,
          "success_rate": 0.71875,
          "wilson95": [
            0.6353641980095492,
            0.7893879287850285
          ],
          "outcomes": {
            "lifted, hold < 2 s": 4,
            "success": 92,
            "never bilaterally grasped": 13,
            "tipped": 19
          },
          "mean_success_time_s": 12.96576086956522,
          "mean_max_clearance_m": 0.21973540427871377,
          "wall_s": 95.77897882461548
        },
        {
          "scale": 0.7,
          "successes": 61,
          "episodes": 128,
          "success_rate": 0.4765625,
          "wilson95": [
            0.39198722934264507,
            0.5625036142150788
          ],
          "outcomes": {
            "never bilaterally grasped": 44,
            "success": 61,
            "tipped": 21,
            "lifted, hold < 2 s": 2
          },
          "mean_success_time_s": 13.33360655737705,
          "mean_max_clearance_m": 0.13637544041707964,
          "wall_s": 97.54110789299011
        },
        {
          "scale": 1.0,
          "successes": 41,
          "episodes": 128,
          "success_rate": 0.3203125,
          "wilson95": [
            0.24572896282451617,
            0.4053675044513664
          ],
          "outcomes": {
            "never bilaterally grasped": 68,
            "success": 41,
            "tipped": 17,
            "lifted, hold < 2 s": 2
          },
          "mean_success_time_s": 13.006097560975611,
          "mean_max_clearance_m": 0.09127805445332401,
          "wall_s": 91.08999633789062
        }
      ]
    },
    "behaviour-cloned start": {
      "checkpoint": "~/rl_training/results/superdex_gs_teacher/bootstrap/bc_v2.pt",
      "seed": 9001,
      "envs": 128,
      "policy": "deterministic mean action",
      "success": "clearance >= 10 cm, both pads >= 0.05 N, stable, held 2 s",
      "results": [
        {
          "scale": 0.1,
          "successes": 11,
          "episodes": 128,
          "success_rate": 0.0859375,
          "wilson95": [
            0.048662628996882715,
            0.14734227385623802
          ],
          "outcomes": {
            "lifted, hold < 2 s": 91,
            "success": 11,
            "tipped": 23,
            "grasped, not lifted 10 cm": 3
          },
          "mean_success_time_s": 12.363636363636365,
          "mean_max_clearance_m": 0.13304345263131104,
          "wall_s": 103.51364660263062
        },
        {
          "scale": 0.3,
          "successes": 28,
          "episodes": 128,
          "success_rate": 0.21875,
          "wilson95": [
            0.1559042491230976,
            0.2979858735695881
          ],
          "outcomes": {
            "success": 28,
            "lifted, hold < 2 s": 30,
            "grasped, not lifted 10 cm": 22,
            "never bilaterally grasped": 1,
            "tipped": 47
          },
          "mean_success_time_s": 12.623214285714287,
          "mean_max_clearance_m": 0.1252047050228401,
          "wall_s": 98.48135566711426
        },
        {
          "scale": 0.5,
          "successes": 36,
          "episodes": 128,
          "success_rate": 0.28125,
          "wilson95": [
            0.2106120712149715,
            0.36463580199045076
          ],
          "outcomes": {
            "success": 36,
            "tipped": 31,
            "never bilaterally grasped": 26,
            "lifted, hold < 2 s": 17,
            "grasped, not lifted 10 cm": 18
          },
          "mean_success_time_s": 12.620833333333334,
          "mean_max_clearance_m": 0.10036707528726349,
          "wall_s": 91.20229196548462
        },
        {
          "scale": 0.7,
          "successes": 13,
          "episodes": 128,
          "success_rate": 0.1015625,
          "wilson95": [
            0.060318074551540965,
            0.16602626592976388
          ],
          "outcomes": {
            "grasped, not lifted 10 cm": 22,
            "tipped": 35,
            "success": 13,
            "never bilaterally grasped": 47,
            "lifted, hold < 2 s": 11
          },
          "mean_success_time_s": 14.242307692307694,
          "mean_max_clearance_m": 0.060374359150612414,
          "wall_s": 85.4582211971283
        },
        {
          "scale": 1.0,
          "successes": 13,
          "episodes": 128,
          "success_rate": 0.1015625,
          "wilson95": [
            0.060318074551540965,
            0.16602626592976388
          ],
          "outcomes": {
            "never bilaterally grasped": 71,
            "grasped, not lifted 10 cm": 13,
            "tipped": 22,
            "success": 13,
            "lifted, hold < 2 s": 9
          },
          "mean_success_time_s": 14.169230769230769,
          "mean_max_clearance_m": 0.040018911780400394,
          "wall_s": 75.5895504951477
        }
      ]
    },
    "Markov scripted expert": {
      "checkpoint": "markov-expert",
      "seed": 9001,
      "envs": 128,
      "policy": "privileged Markov scripted expert (baseline)",
      "success": "clearance >= 10 cm, both pads >= 0.05 N, stable, held 2 s",
      "results": [
        {
          "scale": 0.1,
          "successes": 128,
          "episodes": 128,
          "success_rate": 1.0,
          "wilson95": [
            0.9708620041018918,
            0.9999999999999998
          ],
          "outcomes": {
            "success": 128
          },
          "mean_success_time_s": 15.0,
          "mean_max_clearance_m": 0.14581359343122574,
          "wall_s": 81.22050595283508
        },
        {
          "scale": 0.3,
          "successes": 121,
          "episodes": 128,
          "success_rate": 0.9453125,
          "wilson95": [
            0.8914138332864409,
            0.9732601391168066
          ],
          "outcomes": {
            "success": 121,
            "never bilaterally grasped": 1,
            "lifted, hold < 2 s": 3,
            "grasped, not lifted 10 cm": 2,
            "tipped": 1
          },
          "mean_success_time_s": 15.0,
          "mean_max_clearance_m": 0.1439498950078063,
          "wall_s": 87.61836671829224
        },
        {
          "scale": 0.5,
          "successes": 101,
          "episodes": 128,
          "success_rate": 0.7890625,
          "wilson95": [
            0.7104917146716522,
            0.8507878814497541
          ],
          "outcomes": {
            "success": 101,
            "never bilaterally grasped": 19,
            "lifted, hold < 2 s": 7,
            "tipped": 1
          },
          "mean_success_time_s": 15.0,
          "mean_max_clearance_m": 0.1241549715959067,
          "wall_s": 90.72860980033875
        },
        {
          "scale": 0.7,
          "successes": 75,
          "episodes": 128,
          "success_rate": 0.5859375,
          "wilson95": [
            0.4993170001197534,
            0.6675499068352593
          ],
          "outcomes": {
            "success": 75,
            "never bilaterally grasped": 42,
            "lifted, hold < 2 s": 6,
            "tipped": 3,
            "grasped, not lifted 10 cm": 2
          },
          "mean_success_time_s": 15.0,
          "mean_max_clearance_m": 0.09344249601997286,
          "wall_s": 87.19900488853455
        },
        {
          "scale": 1.0,
          "successes": 52,
          "episodes": 128,
          "success_rate": 0.40625,
          "wilson95": [
            0.325101621414767,
            0.49286175281612826
          ],
          "outcomes": {
            "never bilaterally grasped": 66,
            "success": 52,
            "tipped": 2,
            "lifted, hold < 2 s": 7,
            "grasped, not lifted 10 cm": 1
          },
          "mean_success_time_s": 15.0,
          "mean_max_clearance_m": 0.0665811819710164,
          "wall_s": 83.29557299613953
        }
      ]
    }
  },
  "selection": {
    "rule": "highest mean strict success over validation scales 0.3, 0.6, 1.0 (seed 5001, 64 envs each)",
    "candidates": [
      {
        "candidate": "ppo_bcft_v1_seed42_model_180",
        "checkpoint": "~/rl_training/results/superdex_gs_teacher/ppo_bcft_v1_seed42/logs/model_180.pt",
        "mean_success": 0.625,
        "results": [
          [
            0.3,
            63
          ],
          [
            0.6,
            38
          ],
          [
            1.0,
            19
          ]
        ]
      },
      {
        "candidate": "ppo_bcft_v2_seed42_model_260",
        "checkpoint": "~/rl_training/results/superdex_gs_teacher/ppo_bcft_v2_seed42/logs/model_260.pt",
        "mean_success": 0.640625,
        "results": [
          [
            0.3,
            64
          ],
          [
            0.6,
            41
          ],
          [
            1.0,
            18
          ]
        ]
      },
      {
        "candidate": "ppo_bcft_v3_seed42_model_380",
        "checkpoint": "~/rl_training/results/superdex_gs_teacher/ppo_bcft_v3_seed42/logs/model_380.pt",
        "mean_success": 0.5833333333333334,
        "results": [
          [
            0.3,
            63
          ],
          [
            0.6,
            34
          ],
          [
            1.0,
            15
          ]
        ]
      }
    ],
    "selected": {
      "candidate": "ppo_bcft_v2_seed42_model_260",
      "checkpoint": "~/rl_training/results/superdex_gs_teacher/ppo_bcft_v2_seed42/logs/model_260.pt",
      "mean_success": 0.640625,
      "results": [
        [
          0.3,
          64
        ],
        [
          0.6,
          41
        ],
        [
          1.0,
          18
        ]
      ]
    }
  }
}
