Grasp-SFT demos+one-rig — endpoint, flow head on unseen seeds

Checkpoint grasp_sft_v2_joint_1gpu_pdnorm_onerig/step_003000 (demos + so101_pick_place_v2 ×4 ONLY — clean dropped, ~6% rig share; per-dataset flow norm; launched 18:47Z 08-19, train complete 08:2xZ 08-20, ~13.4 GPU-h) · euler-10, execute-horizon 30, seeds 0–99, 30 s episodes; sim leg wears the sim demos' row + stand-ins substrate pin (frozen serving rules) · frozen decision grid: ≤10 interference-reproduced / 11–19 ambiguous / ≥20 the mix grasps · verdict: 28/100 ≥ 20 — MIX-EXONERATED (read 10:5xZ 08-20); paired +17 vs the 11/100 control (CI95 [8, 26], McNemar p = 0.0009), +27 vs the convicted cell's 1/100 (CI95 [19, 36], p = 1.5e-8) · panel endpoint 28.81 native / 27.26 truth-fit vs 27.40 re-worn disc-1000 / 27.14 released / 25.15 null / 8.37 state-copy

Panel anchor ladder

Wear-corrected class (wear audit 08-18) — the endpoint reads against this class, never the raw 58.14. The endpoint session re-runs pdnorm_panel_ladder_chart.py --endpoint <row> on GO, so the embedded sidecar onerig_panel_ladder.b64 carries the stamped magenta rung.

pdnorm panel anchor ladder

Estimator seam (pdnorm_endpoint_truthfit_rewear.py, output-side re-expression): endpoint native 28.81 → truth-fit 27.26 (seam +1.55); truth-fit ladder: disc-1000 27.40 / released 27.14 / repo-midpoint null 25.15. The native row stays the headline (a served rig wears recorded tables); the truth-fit row reads the ladder like for like.

28/100
successes (≤3 cm, held)
9 / 11 / 1 / 44
anchors: base / control / convicted mix / probe
72/100
moved the boat >0.5 cm
2.81 cm
mean progress toward disk
0
reset strikes

Against the anchors

Paired read: onerig3000 vs disc1000_demosonly

recorded non-gating read (rides alongside the frozen absolute bands) · pre-reg posts/2026-08-xx-prereg-grasp-sft-v2-joint-pdnorm.md · paired on the 100 shared unseen seeds · reset strikes 0/0. The demosonly control's 11/100 sits inside this pre-reg's own 11–19 ambiguous band, so the paired read rides alongside the frozen absolute bands — it is recorded, never gating.

+17
success-count delta, 28 vs 11 (CI95 [8, 26], excludes 0)
p = 9.1e-04
McNemar exact, 21 vs 4 discordant seeds
-0.27 cm
mean progress delta (CI95 [-1.3224, 0.7643], spans 0)
46%
per-seed progress win rate (0% ties)

Per-seed outcomes

Clips

fastest success — seed 85, final 3.6 cm, success at tick 236
2nd fastest success — seed 88, final 4.0 cm, success at tick 248
median success — seed 80, final 4.0 cm, success at tick 396
nearest miss — seed 61, final 4.4 cm

Per-seed table

seedspawn cmmin cmfinal cmprogress cmsuccess
010.54.04.06.6✓ @ 639
17.37.112.50.2—
210.210.217.80.0—
310.610.010.00.6—
410.310.313.70.0—
58.63.93.94.7✓ @ 275
610.19.79.70.4—
77.86.119.21.7—
87.16.211.30.9—
911.06.07.15.0—
1011.610.110.41.5—
119.44.26.55.1—
127.34.04.03.3✓ @ 298
138.66.38.22.3—
1410.68.012.32.5—
158.37.07.01.3—
169.73.83.85.9✓ @ 251
1711.47.610.03.8—
188.37.920.20.4—
197.44.69.02.7—
209.49.414.50.0—
219.44.04.05.4✓ @ 377
2210.64.04.06.6✓ @ 501
239.08.414.00.6—
249.74.04.05.7✓ @ 483
2511.67.213.34.4—
2610.53.93.96.6✓ @ 453
2710.56.215.44.3—
288.56.416.52.1—
299.53.83.85.7✓ @ 303
309.69.619.10.0—
3112.03.14.98.9—
329.07.77.71.3—
339.07.27.71.8—
348.08.014.20.0—
359.49.415.00.0—
369.82.313.87.5—
379.08.813.60.2—
3810.49.513.50.9—
399.23.43.45.8✓ @ 364
408.97.39.21.6—
419.38.412.50.9—
4210.110.111.60.0—
4311.69.213.22.4—
4410.510.518.00.0—
459.37.39.31.9—
4611.910.111.81.9—
478.78.79.20.0—
488.84.04.04.9✓ @ 414
498.88.89.40.0—
508.54.04.04.5✓ @ 461
5111.19.911.11.2—
529.23.83.85.4✓ @ 544
538.67.98.50.7—
549.24.610.04.6—
558.58.115.10.3—
5611.811.818.20.0—
579.89.720.50.0—
587.57.518.30.0—
598.06.011.22.0—
6011.44.04.07.4✓ @ 326
618.03.04.45.0—
628.46.410.02.0—
637.27.216.30.0—
6410.210.219.40.0—
659.48.98.90.5—
669.58.912.20.6—
6710.93.53.57.4✓ @ 334
687.84.04.03.8✓ @ 413
699.39.317.30.0—
708.37.57.60.7—
719.13.211.75.9—
7212.15.911.16.2—
7310.210.221.60.0—
7410.12.13.98.0✓ @ 424
7510.83.93.96.9✓ @ 753
767.95.58.62.4—
779.67.58.72.2—
787.44.04.03.4✓ @ 600
7912.08.98.93.1—
8011.84.04.07.8✓ @ 396
8110.610.512.00.1—
829.18.513.20.6—
8311.34.04.07.3✓ @ 444
848.06.26.41.9—
859.63.63.66.1✓ @ 236
8610.94.04.07.0✓ @ 425
878.27.511.70.7—
888.44.04.04.4✓ @ 248
898.27.814.90.5—
908.42.72.75.8✓ @ 333
917.46.56.90.9—
9211.35.78.25.6—
9310.39.816.20.4—
948.07.911.10.1—
957.67.17.50.5—
968.74.04.04.7✓ @ 389
979.94.04.05.9✓ @ 310
988.98.714.20.2—
999.13.73.75.4✓ @ 340

Regenerate: fontaine/scripts/grasp_sft_joint_unseen_report.py from the banked flow_unseen.json only.