Drift discriminator — step 1000, flow head on unseen seeds
Checkpoint grasp_sft_v2_demosonly_1gpu_disc/step_001000 — the first non-drifting v2-corpus checkpoint (verdict HEALTHY 00:42Z 08-18; demos-only corpus, 1×H100, honest recomputed stats) · euler-10, execute-horizon 30, seeds 0–99, 30 s episodes, default worn-row lookup (no rig key ⇒ merged demos-native table) · fills the demosonly-v2 grasp cell of the isolation grid; baseline arm of the --per-dataset-flow-norm pre-reg
11/100
successes (≤3 cm, held)
9 / 44 / 5
anchors: base / probe / v1-endpoint
64/100
moved the boat >0.5 cm
2.04 cm
mean progress toward disk
0
reset strikes
Against the anchors
Paired read: probe_joint_corrected_2000 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.
+33
success-count delta, 44 vs 11 (CI95 [22, 44], excludes 0)
p = 1.0e-07
McNemar exact, 37 vs 4 discordant seeds
+3.57 cm
mean progress delta (CI95 [2.6593, 4.4646], excludes 0)
80%
per-seed progress win rate (0% ties)
Per-seed outcomes
Clips
fastest success — seed 48, final 3.8 cm, success at tick 852nd fastest success — seed 29, final 3.3 cm, success at tick 138median success — seed 17, final 3.8 cm, success at tick 380nearest miss — seed 74, final 1.2 cm
Per-seed table
seed
spawn cm
min cm
final cm
progress cm
success
0
10.5
3.7
3.7
6.8
✓ @ 311
1
7.3
6.4
7.3
0.9
—
2
10.2
10.2
10.2
0.0
—
3
10.6
10.6
16.4
0.0
—
4
10.3
6.2
9.0
4.0
—
5
8.6
6.2
7.2
2.4
—
6
10.1
10.0
10.0
0.1
—
7
7.8
6.4
11.9
1.4
—
8
7.1
5.1
7.7
2.1
—
9
11.0
11.0
11.0
0.0
—
10
11.6
10.7
10.9
0.8
—
11
9.4
9.4
9.5
0.0
—
12
7.3
6.4
14.3
0.9
—
13
8.6
8.6
16.0
0.0
—
14
10.6
7.5
7.6
3.1
—
15
8.3
7.0
7.2
1.2
—
16
9.7
8.9
8.9
0.8
—
17
11.4
3.8
3.8
7.6
✓ @ 380
18
8.3
2.8
3.8
5.5
✓ @ 586
19
7.4
4.0
4.0
3.4
✓ @ 495
20
9.4
9.4
10.0
0.0
—
21
9.4
5.1
7.7
4.3
—
22
10.6
10.6
11.1
0.0
—
23
9.0
5.5
14.4
3.6
—
24
9.7
9.7
10.5
0.0
—
25
11.6
6.9
7.2
4.6
—
26
10.5
10.5
10.7
0.0
—
27
10.5
10.2
14.5
0.3
—
28
8.5
8.0
8.6
0.5
—
29
9.5
3.3
3.3
6.1
✓ @ 138
30
9.6
9.5
10.2
0.1
—
31
12.0
12.0
13.0
0.0
—
32
9.0
5.0
6.5
4.0
—
33
9.0
6.5
10.8
2.5
—
34
8.0
7.0
11.4
1.0
—
35
9.4
0.8
4.3
8.6
—
36
9.8
8.6
10.6
1.2
—
37
9.0
9.0
10.8
0.0
—
38
10.4
10.3
13.1
0.1
—
39
9.2
9.2
9.2
0.0
—
40
8.9
7.1
7.8
1.8
—
41
9.3
7.7
12.7
1.6
—
42
10.1
10.1
10.8
0.0
—
43
11.6
11.6
12.1
0.0
—
44
10.5
6.3
8.9
4.2
—
45
9.3
6.1
6.3
3.2
—
46
11.9
10.6
10.6
1.4
—
47
8.7
6.3
9.3
2.3
—
48
8.8
3.8
3.8
5.0
✓ @ 85
49
8.8
8.8
12.0
0.0
—
50
8.5
8.4
8.4
0.1
—
51
11.1
8.6
16.7
2.5
—
52
9.2
9.2
9.4
0.0
—
53
8.6
6.8
7.3
1.8
—
54
9.2
3.8
3.8
5.4
✓ @ 699
55
8.5
6.9
17.1
1.5
—
56
11.8
11.8
13.5
0.0
—
57
9.8
8.0
8.5
1.8
—
58
7.5
7.0
11.2
0.6
—
59
8.0
6.4
8.5
1.6
—
60
11.4
3.9
3.9
7.4
✓ @ 199
61
8.0
2.0
2.3
6.1
—
62
8.4
5.6
5.9
2.8
—
63
7.2
7.2
10.0
0.0
—
64
10.2
10.2
17.5
0.0
—
65
9.4
7.7
7.7
1.7
—
66
9.5
6.3
11.3
3.1
—
67
10.9
9.9
10.0
1.1
—
68
7.8
5.3
7.6
2.5
—
69
9.3
9.3
9.4
0.0
—
70
8.3
7.0
11.6
1.2
—
71
9.1
9.1
9.1
0.0
—
72
12.1
12.1
14.8
0.0
—
73
10.2
10.0
11.1
0.2
—
74
10.1
1.0
1.2
9.1
—
75
10.8
10.8
14.2
0.1
—
76
7.9
6.1
9.2
1.8
—
77
9.6
9.6
11.2
0.0
—
78
7.4
7.4
8.1
0.0
—
79
12.0
8.9
14.1
3.1
—
80
11.8
11.3
11.3
0.5
—
81
10.6
10.6
20.4
0.0
—
82
9.1
9.1
14.4
0.0
—
83
11.3
11.3
12.4
0.0
—
84
8.0
7.8
8.5
0.2
—
85
9.6
3.9
3.9
5.7
✓ @ 236
86
10.9
4.9
8.4
6.0
—
87
8.2
5.6
7.8
2.6
—
88
8.4
6.5
11.0
1.9
—
89
8.2
5.8
10.4
2.5
—
90
8.4
6.0
10.7
2.5
—
91
7.4
7.4
7.8
0.0
—
92
11.3
5.8
8.1
5.5
—
93
10.3
5.6
7.2
4.7
—
94
8.0
7.1
10.1
0.9
—
95
7.6
4.1
6.4
3.5
—
96
8.7
4.0
4.0
4.8
✓ @ 618
97
9.9
7.0
11.0
2.9
—
98
8.9
7.1
10.0
1.9
—
99
9.1
4.0
4.0
5.1
✓ @ 748
Regenerate: fontaine/scripts/grasp_sft_joint_unseen_report.py
from the banked flow_unseen.json only.