Grasp-SFT v2 joint pdnorm — endpoint, flow head on unseen seeds

Checkpoint grasp_sft_v2_joint_1gpu_pdnorm/step_003000 (per-dataset flow norm, mixed v2 corpus; launched 2026-08-18 11:02Z, run complete 00:1xZ 08-19, ~12.9 GPU-h) · euler-10, execute-horizon 30, seeds 0–99, 30 s episodes; sim leg wears the sim demos' row (frozen serving-row rule) · frozen decision grid: ≤10 broken-class band / 11–19 ambiguous band / ≥20 exonerates the mix · panel anchors, wear-corrected class: 27.40 re-worn disc-1000 / 25.89 released pre-SFT (measured 08-18, at the null) / 25.15 repo-midpoint null / 8.37 state-copy (real bar) · verdict: 1/100 ≤ 10 — CONVICT: the mix is the prime suspect (read taken 03:17:39Z 08-19; panel endpoint 29.18 native / 27.44 truth-fit)

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 pdnorm_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 29.18 → truth-fit 27.44 (seam +1.74); 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.

1/100
successes (≤3 cm, held)
9 / 44 / 11
anchors: base / probe / disc1000 baseline
38/100
moved the boat >0.5 cm
0.84 cm
mean progress toward disk
0
reset strikes

Against the anchors

Paired read: pdnorm_endpoint3000 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 baseline's 11/100 sits inside the pdnorm draft's own 11–19 ambiguous band, so the paired read rides alongside the frozen absolute bands — it is recorded, never gating.

-10
success-count delta, 1 vs 11 (CI95 [-16, -5], excludes 0)
p = 2.0e-03
McNemar exact, 0 vs 10 discordant seeds
-3.49 cm
mean progress delta (CI95 [-4.6808, -2.3506], excludes 0)
29%
per-seed progress win rate (0% ties)

Per-seed outcomes

Clips

fastest success — seed 29, final 3.9 cm, success at tick 247
nearest miss — seed 30, final 5.6 cm
miss #2 — seed 61, final 6.5 cm
miss #3 — seed 32, final 6.8 cm

Per-seed table

seedspawn cmmin cmfinal cm progress cmsuccess
010.510.525.50.0—
17.36.323.51.0—
210.210.011.00.2—
310.69.713.40.9—
410.310.312.20.0—
58.68.615.30.0—
610.19.610.10.5—
77.87.619.00.1—
87.17.020.10.1—
911.04.18.36.9—
1011.611.213.90.4—
119.47.37.32.1—
127.37.121.60.1—
138.68.612.00.0—
1410.69.59.91.1—
158.38.310.40.0—
169.76.410.53.3—
1711.48.48.53.0—
188.37.813.80.4—
197.47.219.30.2—
209.49.313.40.1—
219.48.412.51.0—
2210.610.615.90.0—
239.09.011.50.0—
249.79.720.70.0—
2511.611.614.20.0—
2610.510.410.40.1—
2710.510.527.70.0—
288.57.68.00.9—
299.53.93.95.5✓ @ 247
309.65.25.64.4—
3112.011.419.00.6—
329.06.76.82.4—
339.07.77.71.3—
348.07.17.30.9—
359.48.78.70.8—
369.87.98.31.8—
379.08.28.20.8—
3810.410.413.80.0—
399.27.512.81.7—
408.98.78.70.2—
419.39.310.40.0—
4210.110.112.30.0—
4311.67.710.63.8—
4410.510.310.40.2—
459.39.212.30.1—
4611.99.39.42.6—
478.78.711.70.0—
488.88.814.20.0—
498.88.18.40.7—
508.58.413.60.1—
5111.18.917.22.2—
529.29.011.40.1—
538.67.110.11.5—
549.29.213.70.0—
558.58.524.60.0—
5611.811.511.60.3—
579.89.711.30.0—
587.57.025.70.6—
598.07.713.40.3—
6011.49.513.11.9—
618.06.26.51.8—
628.48.410.20.0—
637.27.110.30.1—
6410.210.210.50.0—
659.46.67.42.9—
669.58.18.11.4—
6710.910.921.10.0—
687.87.412.50.4—
699.39.09.20.3—
708.38.29.00.0—
719.19.115.40.0—
7212.112.121.40.0—
7310.210.114.20.1—
7410.110.112.90.0—
7510.810.010.90.9—
767.97.622.50.3—
779.69.613.70.0—
787.47.427.90.1—
7912.012.015.00.0—
8011.87.27.24.6—
8110.69.113.01.4—
829.18.88.80.3—
8311.311.318.60.0—
848.08.012.50.0—
859.69.614.20.1—
8610.910.824.50.1—
878.28.017.60.1—
888.48.48.80.0—
898.27.810.30.5—
908.47.97.90.5—
917.47.19.80.3—
9211.310.510.50.9—
9310.38.58.51.8—
948.07.815.90.2—
957.67.18.90.5—
968.77.49.71.3—
979.94.611.85.3—
988.97.810.31.2—
999.19.120.60.0—

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