MolmoAct2 SO-101 rig fine-tune — anchor rungs (rig_ft_r1, pre-reg PASS)
run rig_ft_r1 (fontaine_so101_rig_ae_r1) — AE-only fine-tune of allenai/MolmoAct2-SO100_101 on the 2 SO-101 rig repos
trainer: their train_lerobot.py (branch fontaine-so101-rig), 2000 steps, global batch 64, AE lr 5e-5, --ft_vlm=false --ft_embedding=none (577M trainable / 5.5B)
data: mcobzarenco/so101_pick_place_clean (7 ep) + _v2 (50 ep), LeRobot v3.0 end-to-end, rig-only q01/q99 norm stats
launched 2026-08-10 17:48:18Z, rc=0 20:27:44Z, ~2.7 GPU-h (gate 12); pre-reg posts/2026-08-10-prereg-molmoact2-rig-finetune.md (+ Amendment 1)
reads: 240 evenly strided rig frames, matched 30-step / 1.0 s window, identical rows every rung (frozen preflight instrument)
CAVEAT (pre-registered): train-frame sanity reads, contaminated by construction — the real eval is on-rig rollouts (runbook sections 3-4)
Rung curve — matched-window MAE vs fine-tune step

Rung summary
| checkpoint | matched-window MAE | motion corr (min … max) | max |step-0 offset| |
|---|
| zero-shot | 28.9454 | +0.124 … +0.447 | 79.00 |
| step 500 | 6.7561 | +0.619 … +0.851 | 1.71 |
| step 1000 | 4.6600 | +0.785 … +0.923 | 1.21 |
| step 1500 | 3.5871 | +0.864 … +0.957 | 1.06 |
| step 2000 | 3.2301 | +0.885 … +0.965 | 0.63 |
MAE by chunk timestep (log scale) — every rung + anchors

Per-joint motion correlation across rungs (zero line marked; at zero-shot joint 1 sat at +0.22 with a +79-unit step-0 offset — the posture-collapse finding of pre-reg Amendment 1)

Final rung (step 2000) per joint
| joint | motion corr | step-0 offset | step-0 err std | rig q01–q99 span |
|---|
| 0 — shoulder_pan | +0.8853 | +0.043 | 1.91 | 90.0 |
| 1 — shoulder_lift | +0.9649 | +0.633 | 2.85 | 152.3 |
| 2 — elbow_flex | +0.9567 | +0.145 | 2.65 | 140.0 |
| 3 — wrist_flex | +0.9494 | +0.274 | 3.34 | 189.0 |
| 4 — wrist_roll | +0.9465 | +0.536 | 4.34 | 280.3 |
| 5 — gripper | +0.8971 | +0.054 | 2.11 | 36.9 |
Sample trajectories — 8 of 240 anchor frames, evenly strided. Legend below applies to every panel.








