AsianPlayer's picture
|
download
raw
182 kB

K-v2 programme — CockpitWM-K improvement, pre-registered 2026-09-14 (protocol C23) — val n = 405 (selection), test n = 609 (one evaluation per run), paired per-clip bootstrap (10000)

Generated 20260914T234626Z by aide/eval/report_kv2_program.py from pred_{val,test}.npz / metrics_{val,test}.json / run json / aide/results/kv2/*.json only (locked protocol: driver first, grid floor, val HM top 40 (threshold 83.33 px, NEVER a ranking statistic), test HM top 60 (threshold 72.05 px), PCK @ 96 px; every run selected on val All-MPJPE of the EMA weights only, test evaluated once by the harness). Δ = paired per-clip difference (negative = better for errors, positive = better for PCK), CI = clip-bootstrap percentile interval. Verdict rule (as arch_attribution.md): BEATS / WORSE = Δ CI excl. 0 on ≥ ceil(2n/3) seeds (5 seeds: 4) with the same sign on every seed; NOT_WORSE = all CIs cover 0 and |Δ| < 0.25; else INCONCLUSIVE. Confirmatory cells need all 5 seeds; otherwise "pending".

0. Pre-registration (verbatim decisions row) and timestamp check

  • S0 UTC: 2026-09-14T22:51:07Z; earliest programme run t_start_utc: 2026-09-14T23:08:22Z (21 programme runs finished of 188 possible names); runs started at or before S0: none.

| 2026-09-14 | K-v2 programme — S0 pre-registration (CockpitWM-K improvement; new model file aide/models/cwm3d_v2.py, --model cwm3d_v2; approved plan <local-notes>/plans/elegant-dazzling-stallman.md Part A; row written at S0 UTC 2026-09-14T22:51:07Z BEFORE any K-v2 / MB-grid run; the same UTC is in aide/results/kv2/S0_UTC.txt and protocol C23). Honesty clause: the K-v2 design (hierarchical part trunk kept; joint tokens + 2 spatial blocks + attention pooling; lean shared read-out; onset-hazard head gating the anchor mixture) was motivated by the TEST diagnostics of arch_attribution.md §3.2 (K vs MotionBERT-kp: right hand +0.71, body +0.28, h=2–4 +0.2–0.3, HM h=3/4 +2.4/+2.0) → therefore ALL K-v2 configuration choices are fixed on VAL only, and MotionBERT-kp (MB) receives the same val selection budget (S3, 10 val points each). Locked protocol unchanged: val-only selection on All-MPJPE of the EMA weights; the official test split is evaluated exactly once per run by the existing harness (append-only results.csv); no flip TTA; ensembles only as separately labelled rows; Stage-A recipe verbatim (--lr 3e-4 --wd 0.05 --warmup 10 --epochs 200 --bs 32 --ema 0.999 --clip 1.0 --patience 40 --aug-window 1 --noise-px 2.0 --joint-drop 0.1 --translate 20 --scale 0.05 --flip-p 0; K loss defaults euc + 0.1 NLL + 0.05 bone + 0.01 jerk; tensor-output models add --loss euc); paired per-clip clip-bootstrap 10,000 resamples seed 0 (aide/eval/metrics.paired_diff); verdict rule of arch_attribution.md: BEATS / WORSE = Δ CI excl. 0 on ≥ ceil(2n/3) seeds (5 seeds: 4/5) with the same sign on every seed; NOT_WORSE = all CIs cover 0 and |Δ| < 0.25; else INCONCLUSIVE. Every decision below is computed mechanically by aide/eval/kv2_gate.py from pred_val.npz + harness.load_split("val") (+ metrics.hm_mask on val) and written as UTC-stamped json in aide/results/kv2/ (s1_decision.json, s1b_<cfg>_decision.json, s3_decision.json, pretrain_check_<cfg>.json); downstream runs may start only after the corresponding json exists. *S1 val screen (seed 42, n = 405)**: 9 configs vs the existing cwm3d_kp_s42_v2 (val All 55.367): cwm3d_v2_s42_v2 (full), cwm3d_v2_nospatial_s42_v2 (--no-v2-spatial), _khead (--no-lean-head, K's per-part read-out), _nohaz (--no-hazard), _hazaux (--haz-mod 0: hazard BCE on, gating off), _plain (--no-physics --w-nll 0), _q060 / _q090 (--haz-quantile 0.60 / 0.90), _lam03 (--haz-weight 0.3); statistic = paired per-clip Δ val All (config − K); SURVIVE iff mean Δ ≤ −0.30 px (≈ 1.4 val seed-sd); at most 2 survivors (ranked by mean Δ; candidates within 0.10 px of each other are ties → the one with FEWER components wins, components = enabled optional modules of {spatial blocks, lean head, hazard BCE, hazard gating, physics+NLL} — full / q060 / q090 / lam03 = 5, nospatial / khead / hazaux / plain = 4, nohaz = 3; remaining ties by name); HM guard (never a selection statistic): KILL iff Δ val HM (40 clips) mean > +3.0 px AND its CI excludes 0. The 40-clip val HM subset is never used for ranking (level CI width ≈ 37 px vs 8.3 for val All; seed sd 0.93 vs 0.21; val HM threshold 83.3 px ≠ test 72.05 px). Test numbers of S1 runs are produced once by the trainer as usual and are RECORDED, never used for any decision. S1b: each survivor at seed 123 vs cwm3d_kp_s123_v2; CONTINUE to seeds 456 / 789 / 1011 iff Δ val(123) < 0 AND the two-seed mean ≤ −0.25 px; otherwise stop and report "val-killed at seed 123". **S2 (5 seeds 42 / 123 / 456 / 789 / 1011), without and with BATON trunk-only init**: K-v2's tokenizer / trunk tensors differ from K's → own pretraining cwm3d_v2_batonpre_pretrain_s123 (pretrain_cwm3d_baton.py --model cwm3d_v2 --seed 123: same corpus sha256 465dac1cf0a8265a, bs 256, 6 epochs, held-out-route selection, --zeroshot 0 = no zero-shot test evaluation) UNLESS kv2_gate.py pretrain-check <cfg> (dry train_kp.load_init_ckpt(parts="trunk") of the survivor model on CPU against aide/results/runs/cwm3d_kp_batonpre_pretrain_s123/ckpt_best.pt) reports n_skipped_shape = 0 AND zero missing TRUNK_PREFIXES tensors, in which case K's checkpoint is reused; fine-tunes cwm3d_v2_<cfg>_batonpre_trunkp123_s<k>_v2 (--init-parts trunk); K's own +pre arm is completed to 5 seeds with cwm3d_kp_batonpre_trunkp123_s{789,1011}_v2 (recipe and init of the existing s42/123/456 runs verbatim). **S3 MB fairness arm**: (i) same-budget val grid at seed 42: motionbert_kp_{d192, L4, lr1e-4, lr1e-3, wd0.01, wd0.1, do0.1, d192_L4, d192_L4_do0.1}_s42_v2 (--model motionbert_kp[_d192][_L4] name-encoded width / depth, --lr, --wd, --dropout flags; --loss euc) + the existing default motionbert_kp_s42_v2 = 10 val points = S1's 10; **MB-best = argmin val All** (ties within 0.10 px → fewer parameters); if MB-best ≠ default it is run at the 5 seeds; (ii) MB-best + BATON trunk-only init at 5 seeds: motionbert_kp_batonpre_trunkp123_s{789,1011}_v2 are run UNCONDITIONALLY (completing the attribution table); if MB-best changes lr / wd / dropout only, the existing motionbert_kp_batonpre_pretrain_s123 checkpoint is reused (motionbert_kp_<cfg>_batonpre_trunkp123_s<k>_v2); if MB-best changes d or L, a new pretraining motionbert_kp_<tag>_batonpre_pretrain_s123 (same corpus / schedule) precedes 5 fine-tunes. **K-v2(best)** = the S2 survivor with the lowest mean VAL All over its finished seeds (ties 0.10 → fewer components); with one survivor it is that one. **PRIMARY (two co-primary endpoints, test All-MPJPE, 5 seeds, both sides in the same pretraining state, beats rule above)**: P1 = K-v2(best) − MB-best (no pretraining); P2 = K-v2(best)+pre − MB-best+pre. **ADOPTION**: A1 = K-v2(best) − cwm3d_kp_s<k>_v2 BEATS on All over 5 seeds → K-v2 becomes the main-table CockpitWM-K row (K's row itself unchanged), otherwise K-v2 is an ablation row; A2 = K-v2(best)+pre − K+pre (cwm3d_kp_batonpre_trunkp123_s<k>_v2) BEATS → the "+ BATON trunk" row. **SECONDARY (descriptive with CIs, never an adoption basis)**: d-n, HM, PCK@0.05, HM h=5, per-part, per-horizon, AUC of the hazard probability haz_P against HM membership. **Paper-wording consequence table** (mirrors the 2026-09-14 attribution row): P1 ∧ P2 BEATS → an architecture advantage under the keypoint formulation may be written FOR K-v2 (K's own attribution sentence unchanged); P1 BEATS ∧ ¬P2 → "advantage without pretraining that the BATON trunk equalises", attribution sentence kept; ¬P1 ∧ P2 → "advantage conditional on the pretrained trunk", attribution sentence kept; neither → wording unchanged verbatim, K-v2 = ablation family + gen_tables.py NEGATIVES entry; any WORSE is reported as is. **Multiplicity**: ≤ 9 (S1) + 18 (S2) + 2 (K+pre seeds) + 9 (S3 i) + 4 (MB-best seeds) + 7 (S3 ii) ≈ 49 new single test evaluations, each required by the protocol, none used for selection; confirmatory claims are exactly P1, P2, A1, A2. **Already published numbers untouched**; all results only in the new table aide/results/tables/kv2_program.md (+ .json) written by aide/eval/report_kv2_program.py (reads only pred_{val,test}.npz, metrics_{val,test}.json, run json; append-only; machine-readable line **ADOPTION A1: ADOPTED\|NOT ADOPTED**). **Execution**: aide/train/run_kv2_program.sh lanes A (S1 → gate s1), B (S3 i → gate s3 → MB-best seeds / +pre), C (motionbert_kp_batonpre_trunkp123_s{789,1011}_v2, cwm3d_kp_batonpre_trunkp123_s{789,1011}_v2), D (pretrain-check → v2 pretraining if needed → S1b → gate s1b → seeds ± pre); every launch passes the project gate (free VRAM ≥ need + 4 GB, MemAvailable ≥ 28 GB, `pgrep -fc "python.(train_cwm3|train_kp|pretrain)"< 4, OMP/MKL 4;setsid nohup bash; a run whose run json exists is never re-run; pids in aide/results/kv2/pids.txt); --no-lock --max-minutes 45, --notes "kv2_program;;cfg="; --refs zvshrink=zv_shrink_val,simlpe=simlpe_kp_s<k or 42>_v2,kp=cwm3d_kp_s_v2,mb=motionbert_kp_s_v2(+seedinit=_s_v2for +pre runs; refs are evaluation-only). Lanes A / D start only afteraide/models/cwm3d_v2.pyexists andpytest -q aide/tests/test_cwm3d_v2.pypasses. Honest expectation (recorded): HM likely improves, All likely still ties MB; every result enters the table regardless. | plan Part A §A.2–A.4;aide/eval/kv2_gate.py, aide/eval/report_kv2_program.py, aide/train/run_kv2_program.sh, aide/tests/test_kv2.py, aide/models/motionbert_kp.py::build(name variants),aide/docs/protocol.mdC23,aide/results/kv2/S0_UTC.txt; motivation aide/results/tables/arch_attribution.md§3.2 | Every K-v2 / MB-grid run json must havet_start_utclater than 2026-09-14T22:51:07Z (checked byreport_kv2_program.py` §0); gate json must predate the downstream launches; "S1 outcome" and final "K-v2 outcome" rows + C23 outcome follow; paper text changes only after the outcome, per the consequence table |

1. S1 val screen (seed 42; statistic = paired per-clip Δ val All vs cwm3d_kp_s42_v2; SURVIVE iff mean Δ ≤ −0.30 px; ≤ 2 survivors, ties 0.10 → fewer components; HM guard KILL iff Δ val HM > +3.0 with CI excl. 0 — the val HM column is SECONDARY)

  • Decision source: aide/results/kv2/s1_decision.json written 2026-09-14T23:45:48Z (complete = True). Rule: paired per-clip Δ val All (config − cwm3d_kp_s42_v2), n = 405, 10000 clip-bootstrap seed 0; SURVIVE iff mean Δ ≤ -0.3 px; ≤ 2 survivors ranked by mean Δ, ties within 0.1 px -> fewer components (full/q060/q090/lam03 = 5, nospatial/khead/hazaux/plain = 4, nohaz = 3); HM guard (never a ranking statistic): KILL iff Δ val HM (40 clips) mean > +3.0 AND CI excl. 0.
cfg run flags params best ep / epochs / stop / GPU min val All Δ val All [CI] Δ val HM [CI] (secondary) guard S1 status test All (recorded, not used)
K (baseline) cwm3d_kp_s42_v2 — 5771449 58 / 99 / early_stop(patience=40) / 0.6 55.367 0 0 — — 48.767
full cwm3d_v2_s42_v2 (full) 2736282 75 / 116 / early_stop(patience=40) / 2.25 55.170 -0.197 [-0.798,+0.387] +0.60 [-2.54,+3.45] ok KILL 48.696
nospatial cwm3d_v2_nospatial_s42_v2 --no-v2-spatial 2666906 87 / 128 / early_stop(patience=40) / 1.69 54.788 -0.579 [-1.275,+0.058] -0.64 [-4.19,+1.99] ok SURVIVE 48.267
khead cwm3d_v2_khead_s42_v2 --no-lean-head 5091964 52 / 93 / early_stop(patience=40) / 4.75 55.482 +0.115 [-0.442,+0.662] +1.06 [-1.16,+3.09] ok KILL 48.642
nohaz cwm3d_v2_nohaz_s42_v2 --no-hazard 2702199 106 / 147 / early_stop(patience=40) / 5.71 55.325 -0.042 [-0.873,+0.723] +2.94 [-0.38,+6.86] ok KILL 48.648
hazaux cwm3d_v2_hazaux_s42_v2 --haz-mod 0 2736267 87 / 128 / early_stop(patience=40) / 4.51 55.140 -0.227 [-0.888,+0.393] +2.41 [+0.04,+4.95] ok KILL 48.592
plain cwm3d_v2_plain_s42_v2 --no-physics --w-nll 0 2736282 65 / 106 / early_stop(patience=40) / 3.69 55.218 -0.149 [-0.722,+0.397] +1.73 [-0.72,+4.18] ok KILL 48.728
q060 cwm3d_v2_q060_s42_v2 --haz-quantile 0.60 2736282 76 / 117 / early_stop(patience=40) / 4.32 55.320 -0.047 [-0.674,+0.606] +3.26 [+0.21,+7.50] KILL KILL 48.704
q090 cwm3d_v2_q090_s42_v2 --haz-quantile 0.90 2736282 71 / 112 / early_stop(patience=40) / 4.19 55.128 -0.239 [-0.774,+0.291] +1.33 [-1.27,+4.02] ok KILL 48.380
lam03 cwm3d_v2_lam03_s42_v2 --haz-weight 0.3 2736282 87 / 128 / early_stop(patience=40) / 5.51 55.019 -0.348 [-1.018,+0.310] +1.92 [-0.73,+5.20] ok SURVIVE 48.512

S1 survivors (decision): nospatial, lam03.

1.1 S1b (survivors at seed 123 vs cwm3d_kp_s123_v2; CONTINUE iff Δ val(123) < 0 and 2-seed mean ≤ −0.25)

cfg seed-123 run val All Δ val All s42 [CI] Δ val All s123 [CI] 2-seed mean decision source
nospatial cwm3d_v2_nospatial_s123_v2 pending -0.579 [-1.275,+0.058] pending pending PENDING live
lam03 cwm3d_v2_lam03_s123_v2 pending -0.348 [-1.018,+0.310] pending pending PENDING live

S1b: continuing to 5 seeds: none yet.

2. S2 — 5 seeds (42 / 123 / 456 / 789 / 1011), TEST (one evaluation per run), K-v2 survivors without / with BATON trunk-only init

  • Pretraining cwm3d_v2_batonpre_pretrain_s123: not run / not finished; pretrain-check: —.

(no K-v2 config has reached S2 yet)

3. S3 — MotionBERT-kp fairness arm (same val budget: 9 new grid points + existing default = 10; MB-best = argmin val All, ties 0.10 → fewer params)

  • Decision source: aide/results/kv2/s3_decision.json written 2026-09-14T23:08:40Z (complete = False). Rule: MB-best = argmin val All over the 10 grid points (9 new + existing default); ties within 0.1 px -> fewer parameters.
cfg run model flags params best ep / epochs / stop / GPU min val All Δ val All vs default [CI] test All (recorded, not used) S3
default motionbert_kp_s42_v2 motionbert_kp (default) 813088 81 / 122 / early_stop(patience=40) / 4.6 55.550 +0.000 [+0.000,+0.000] 48.279 MB-best
d192 motionbert_kp_d192_s42_v2 motionbert_kp_d192 (default) — pending pending pending — PENDING
L4 motionbert_kp_L4_s42_v2 motionbert_kp_L4 (default) — pending pending pending — PENDING
lr1e-4 motionbert_kp_lr1e-4_s42_v2 motionbert_kp --lr 1e-4 — pending pending pending — PENDING
lr1e-3 motionbert_kp_lr1e-3_s42_v2 motionbert_kp --lr 1e-3 — pending pending pending — PENDING
wd0.01 motionbert_kp_wd0.01_s42_v2 motionbert_kp --wd 0.01 — pending pending pending — PENDING
wd0.1 motionbert_kp_wd0.1_s42_v2 motionbert_kp --wd 0.1 — pending pending pending — PENDING
do0.1 motionbert_kp_do0.1_s42_v2 motionbert_kp --dropout 0.1 — pending pending pending — PENDING
d192_L4 motionbert_kp_d192_L4_s42_v2 motionbert_kp_d192_L4 (default) — pending pending pending — PENDING
d192_L4_do0.1 motionbert_kp_d192_L4_do0.1_s42_v2 motionbert_kp_d192_L4 --dropout 0.1 — pending pending pending — PENDING

MB-best = default (provisional — S3 incomplete or no decision json; model motionbert_kp, flags []; changes d/L: False → existing motionbert_kp_batonpre_pretrain_s123 checkpoint reused).

3.1 MB-best and MB-best + BATON trunk-only init at 5 seeds; K + pre completion (test levels)

seed arm run params best ep / epochs / stop GPU min val All All [CI] d-n [CI] HM [CI] PCK@0.05 [CI] HM h=5 [CI]
42 MB-best motionbert_kp_s42_v2 813088 81 / 122 / early_stop(patience=40) 4.6 55.550 48.28 [44.53, 52.37] 2.192 [2.021, 2.377] 130.34 [108.20, 158.53] 87.17 [86.04, 88.28] 163.95 [119.85, 223.86]
42 MB-best + pre motionbert_kp_batonpre_trunkp123_s42_v2 813088 37 / 78 / early_stop(patience=40) 1.94 54.528 47.74 [44.07, 51.78] 2.167 [2.000, 2.350] 128.03 [105.81, 156.47] 87.46 [86.37, 88.54] 159.20 [115.09, 219.85]
42 K + pre cwm3d_kp_batonpre_trunkp123_s42_v2 5771449 31 / 72 / early_stop(patience=40) 0.48 55.003 47.98 [44.28, 52.04] 2.178 [2.010, 2.363] 128.43 [106.25, 157.11] 87.21 [86.10, 88.30] 159.35 [115.56, 219.46]
123 MB-best motionbert_kp_s123_v2 813088 58 / 99 / early_stop(patience=40) 4.36 55.627 48.38 [44.65, 52.46] 2.196 [2.027, 2.381] 129.16 [106.70, 157.58] 87.14 [86.02, 88.27] 162.59 [118.87, 222.08]
123 MB-best + pre motionbert_kp_batonpre_trunkp123_s123_v2 813088 38 / 79 / early_stop(patience=40) 2.16 54.720 47.53 [43.87, 51.55] 2.158 [1.992, 2.340] 126.11 [103.96, 154.69] 87.40 [86.32, 88.46] 156.47 [113.00, 215.99]
123 K + pre cwm3d_kp_batonpre_trunkp123_s123_v2 5771449 33 / 74 / early_stop(patience=40) 0.88 54.828 48.04 [44.33, 52.11] 2.181 [2.012, 2.365] 129.13 [106.80, 157.67] 87.20 [86.07, 88.32] 160.11 [116.11, 220.04]
456 MB-best motionbert_kp_s456_v2 813088 90 / 131 / early_stop(patience=40) 5.17 55.166 48.48 [44.74, 52.58] 2.201 [2.031, 2.387] 130.23 [107.78, 158.89] 87.14 [86.00, 88.25] 162.24 [116.93, 223.50]
456 MB-best + pre motionbert_kp_batonpre_trunkp123_s456_v2 813088 44 / 85 / early_stop(patience=40) 1.68 54.797 47.91 [44.22, 51.93] 2.175 [2.008, 2.357] 127.59 [105.28, 156.14] 87.39 [86.28, 88.47] 158.92 [114.76, 219.74]
456 K + pre cwm3d_kp_batonpre_trunkp123_s456_v2 5771449 36 / 77 / early_stop(patience=40) 0.91 54.670 48.01 [44.31, 52.12] 2.179 [2.011, 2.366] 128.51 [106.16, 157.20] 87.16 [86.02, 88.27] 159.02 [115.09, 219.40]
789 MB-best motionbert_kp_s789_v2 813088 77 / 118 / early_stop(patience=40) 6.14 55.134 48.46 [44.71, 52.57] 2.200 [2.030, 2.386] 130.66 [108.19, 159.30] 87.27 [86.16, 88.36] 163.04 [118.30, 223.77]
789 MB-best + pre motionbert_kp_batonpre_trunkp123_s789_v2 813088 37 / 78 / early_stop(patience=40) 3.45 54.882 47.55 [43.88, 51.56] 2.159 [1.992, 2.341] 127.71 [105.39, 156.61] 87.40 [86.30, 88.48] 159.11 [114.88, 219.30]
789 K + pre cwm3d_kp_batonpre_trunkp123_s789_v2 5771449 35 / 76 / early_stop(patience=40) 1.22 54.590 48.12 [44.44, 52.21] 2.184 [2.017, 2.370] 129.32 [107.17, 157.78] 87.06 [85.94, 88.18] 161.39 [117.32, 221.77]
1011 MB-best motionbert_kp_s1011_v2 813088 81 / 122 / early_stop(patience=40) 5.69 55.506 48.68 [44.92, 52.82] 2.210 [2.039, 2.398] 131.49 [108.92, 160.13] 86.97 [85.81, 88.12] 166.22 [121.36, 227.01]
1011 MB-best + pre motionbert_kp_batonpre_trunkp123_s1011_v2 813088 47 / 88 / early_stop(patience=40) 3.98 54.868 47.85 [44.16, 51.87] 2.172 [2.005, 2.355] 129.47 [107.17, 157.92] 87.40 [86.30, 88.49] 160.75 [116.16, 221.59]
1011 K + pre cwm3d_kp_batonpre_trunkp123_s1011_v2 5771449 34 / 75 / early_stop(patience=40) 1.14 54.609 48.11 [44.40, 52.21] 2.184 [2.016, 2.370] 128.73 [106.48, 157.39] 87.03 [85.91, 88.16] 159.72 [115.63, 220.35]

Δ = MB-best[default]+pre − MB-best[default], per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.74 47.53 47.91 47.55 47.85 48.28 48.38 48.48 48.46 48.68 -0.54 [-1.04,-0.05] -0.85 [-1.32,-0.37] -0.57 [-1.17,-0.00] -0.90 [-1.35,-0.46] -0.83 [-1.43,-0.26] -0.74 ± 0.17 BEATS
d-n 2.167 2.158 2.175 2.159 2.172 2.192 2.196 2.201 2.200 2.210 -0.024 [-0.047,-0.002] -0.039 [-0.060,-0.017] -0.026 [-0.053,-0.000] -0.041 [-0.061,-0.021] -0.038 [-0.065,-0.012] -0.034 ± 0.008 BEATS
HM-MPJPE 128.03 126.11 127.59 127.71 129.47 130.34 129.16 130.23 130.66 131.49 -2.31 [-4.57,-0.07] -3.06 [-5.14,-1.09] -2.64 [-4.65,-0.62] -2.95 [-4.97,-1.00] -2.02 [-4.53,+0.34] -2.60 ± 0.43 BEATS
PCK@0.05 87.46 87.40 87.39 87.40 87.40 87.17 87.14 87.14 87.27 86.97 +0.29 [+0.03,+0.56] +0.26 [-0.02,+0.54] +0.25 [-0.09,+0.60] +0.13 [-0.08,+0.34] +0.43 [+0.07,+0.82] +0.27 ± 0.11 INCONCLUSIVE
HM h=5 159.20 156.47 158.92 159.11 160.75 163.95 162.59 162.24 163.04 166.22 -4.75 [-8.82,-0.70] -6.12 [-10.44,-2.09] -3.32 [-7.53,+0.84] -3.94 [-7.78,-0.05] -5.47 [-10.09,-1.44] -4.72 ± 1.13 BEATS

Δ = K+pre − K, per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 48.04 48.01 48.12 48.11 48.77 48.66 48.46 48.54 48.57 -0.79 [-1.29,-0.30] -0.62 [-1.17,-0.11] -0.45 [-0.89,-0.02] -0.43 [-0.88,+0.03] -0.46 [-0.89,-0.02] -0.55 ± 0.15 BEATS
d-n 2.178 2.181 2.179 2.184 2.184 2.214 2.209 2.200 2.204 2.205 -0.036 [-0.059,-0.014] -0.028 [-0.053,-0.005] -0.021 [-0.041,-0.001] -0.019 [-0.040,+0.001] -0.021 [-0.041,-0.001] -0.025 ± 0.007 BEATS
HM-MPJPE 128.43 129.13 128.51 129.32 128.73 132.49 131.05 131.37 131.73 131.22 -4.06 [-6.57,-1.74] -1.92 [-4.14,+0.22] -2.86 [-5.09,-0.73] -2.41 [-4.43,-0.48] -2.49 [-4.79,-0.27] -2.75 ± 0.81 BEATS
PCK@0.05 87.21 87.20 87.16 87.06 87.03 87.00 86.99 87.13 87.00 87.00 +0.20 [-0.05,+0.45] +0.22 [-0.07,+0.52] +0.03 [-0.20,+0.26] +0.06 [-0.16,+0.28] +0.03 [-0.20,+0.26] +0.11 ± 0.09 NOT_WORSE
HM h=5 159.35 160.11 159.02 161.39 159.72 164.19 163.36 162.55 163.04 163.70 -4.85 [-8.95,-1.00] -3.25 [-6.97,+0.55] -3.53 [-7.22,+0.08] -1.65 [-5.11,+1.98] -3.98 [-8.22,+0.07] -3.45 ± 1.17 INCONCLUSIVE

Δ = K − MB-best[default], per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 48.77 48.66 48.46 48.54 48.57 48.28 48.38 48.48 48.46 48.68 +0.49 [-0.06,+1.05] +0.28 [-0.15,+0.75] -0.02 [-0.58,+0.49] +0.09 [-0.36,+0.53] -0.10 [-0.55,+0.32] +0.15 ± 0.24 INCONCLUSIVE
d-n 2.214 2.209 2.200 2.204 2.205 2.192 2.196 2.201 2.200 2.210 +0.022 [-0.003,+0.048] +0.013 [-0.007,+0.034] -0.001 [-0.026,+0.022] +0.004 [-0.016,+0.024] -0.005 [-0.025,+0.015] +0.007 ± 0.011 NOT_WORSE
HM-MPJPE 132.49 131.05 131.37 131.73 131.22 130.34 129.16 130.23 130.66 131.49 +2.15 [-0.84,+5.26] +1.89 [+0.02,+3.82] +1.14 [-1.06,+3.41] +1.07 [-1.32,+3.50] -0.27 [-2.17,+1.62] +1.19 ± 0.94 INCONCLUSIVE
PCK@0.05 87.00 86.99 87.13 87.00 87.00 87.17 87.14 87.14 87.27 86.97 -0.16 [-0.43,+0.11] -0.16 [-0.45,+0.11] -0.01 [-0.32,+0.33] -0.27 [-0.53,-0.02] +0.03 [-0.21,+0.29] -0.11 ± 0.12 INCONCLUSIVE
HM h=5 164.19 163.36 162.55 163.04 163.70 163.95 162.59 162.24 163.04 166.22 +0.24 [-5.20,+5.53] +0.77 [-2.56,+4.05] +0.30 [-4.32,+4.79] -0.00 [-4.68,+4.17] -2.51 [-6.02,+0.77] -0.24 ± 1.30 INCONCLUSIVE

Δ = K+pre − MB-best[default]+pre, per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 48.04 48.01 48.12 48.11 47.74 47.53 47.91 47.55 47.85 +0.24 [-0.19,+0.68] +0.51 [+0.05,+0.98] +0.10 [-0.38,+0.61] +0.56 [+0.09,+1.07] +0.27 [-0.31,+0.86] +0.33 ± 0.19 INCONCLUSIVE
d-n 2.178 2.181 2.179 2.184 2.184 2.167 2.158 2.175 2.159 2.172 +0.011 [-0.009,+0.031] +0.023 [+0.002,+0.045] +0.004 [-0.017,+0.028] +0.026 [+0.004,+0.048] +0.012 [-0.014,+0.039] +0.015 ± 0.009 INCONCLUSIVE
HM-MPJPE 128.43 129.13 128.51 129.32 128.73 128.03 126.11 127.59 127.71 129.47 +0.40 [-2.08,+2.97] +3.02 [+0.64,+5.72] +0.91 [-1.54,+3.59] +1.61 [-0.58,+3.89] -0.74 [-3.90,+2.55] +1.04 ± 1.40 INCONCLUSIVE
PCK@0.05 87.21 87.20 87.16 87.06 87.03 87.46 87.40 87.39 87.40 87.40 -0.25 [-0.49,-0.02] -0.20 [-0.47,+0.07] -0.23 [-0.53,+0.05] -0.34 [-0.63,-0.06] -0.37 [-0.71,-0.05] -0.28 ± 0.07 INCONCLUSIVE
HM h=5 159.35 160.11 159.02 161.39 159.72 159.20 156.47 158.92 159.11 160.75 +0.15 [-4.30,+4.39] +3.64 [-0.80,+8.36] +0.09 [-5.04,+4.98] +2.28 [-2.04,+6.39] -1.03 [-6.37,+3.96] +1.03 ± 1.89 INCONCLUSIVE

4. Primary endpoints and adoption (test All-MPJPE, 5 seeds, both sides in the same pretraining state; BEATS rule, 4/5)

  • K-v2(best) = pending (lowest mean VAL All over finished seeds among S1b-continued survivors; ties 0.10 → fewer components): no continued survivor with finished seeds.
endpoint n seeds Δ All per seed [CI] mean Δ ± sd verdict secondary (HM / PCK@0.05 / HM h=5 / d-n verdicts)
P1 0 pending (no K-v2(best) yet) — PENDING —
P2 0 pending (no K-v2(best) yet) — PENDING —
A1 0 pending (no K-v2(best) yet) — PENDING —
A2 0 pending (no K-v2(best) yet) — PENDING —

4.1 Paper-wording consequence table (pre-registered; the realised row is marked)

case wording consequence realised
P1 ∧ P2 an architecture advantage under the keypoint formulation may be written FOR K-v2 (K's own attribution sentence unchanged) pending
P1 ∧ ¬P2 "advantage without pretraining that the BATON trunk equalises"; attribution sentence kept pending
¬P1 ∧ P2 "advantage conditional on the pretrained trunk"; attribution sentence kept pending
neither wording unchanged verbatim; K-v2 = ablation family + gen_tables.py NEGATIVES entry; any WORSE reported as is pending

ADOPTION A1: NOT ADOPTED (pending — no K-v2(best) yet; NOT ADOPTED is the conservative default until 5 seeds are final) ADOPTION A2: NOT ADOPTED (pending — no K-v2(best) yet)

  • Consequence-table row: pending (P1 / P2 not final). Any WORSE verdict above is reported as is.

5. GPU minutes of the programme's new runs (from run json; the GPU was shared with a DMS feature-extraction job and other lanes, so minutes are wall-clock upper bounds)

run GPU min
cwm3d_kp_batonpre_trunkp123_s1011_v2 1.14
cwm3d_kp_batonpre_trunkp123_s789_v2 1.22
cwm3d_v2_hazaux_s42_v2 4.51
cwm3d_v2_khead_s42_v2 4.75
cwm3d_v2_lam03_s42_v2 5.51
cwm3d_v2_nohaz_s42_v2 5.71
cwm3d_v2_nospatial_s42_v2 1.69
cwm3d_v2_plain_s42_v2 3.69
cwm3d_v2_q060_s42_v2 4.32
cwm3d_v2_q090_s42_v2 4.19
cwm3d_v2_s42_v2 2.25
motionbert_kp_L4_s42_v2 4.71
motionbert_kp_batonpre_trunkp123_s1011_v2 3.98
motionbert_kp_batonpre_trunkp123_s789_v2 3.45
motionbert_kp_d192_L4_s42_v2 5.18
motionbert_kp_d192_s42_v2 6.14
motionbert_kp_do0.1_s42_v2 3.89
motionbert_kp_lr1e-3_s42_v2 2.75
motionbert_kp_lr1e-4_s42_v2 3.18
motionbert_kp_wd0.01_s42_v2 3.15
motionbert_kp_wd0.1_s42_v2 2.83
total (21 runs) 78.2

6. Provenance

  • Inputs: pred_val.npz / pred_test.npz / metrics_val.json / metrics_test.json / run_<name>_<utc>.json under /home/USER/cwm3/aide/results/runs; gate decisions /home/USER/cwm3/aide/results/kv2: s1_decision.json, s1_decision_20260914T234548Z.json, s3_decision.json, s3_decision_20260914T230840Z.json; pre-registration row from /home/USER/cwm3/docs/decisions.md (S0 UTC 2026-09-14T22:51:07Z).
  • Comparison runs cwm3d_kp_s<k>_v2, cwm3d_kp_batonpre_trunkp123_s{42,123,456}_v2, motionbert_kp_s<k>_v2, motionbert_kp_batonpre_trunkp123_s{42,123,456}_v2 are the EXISTING runs (never retrained); every programme run is a new run dir.
  • Selection: val All-MPJPE of the EMA weights inside the trainer; S1 / S1b / S3 decisions from pred_val.npz only (aide/eval/kv2_gate.py); one test evaluation per run by the harness; no test number was used for any decision.
  • Launcher aide/train/run_kv2_program.sh (gate: free VRAM ≥ need + 4 GB, MemAvailable ≥ 28 GB, < 4 trainers, OMP/MKL 4; finished runs skipped); pids aide/results/kv2/pids.txt.
  • Pending runs referenced above: 11.
  • Trainer code hashes (code_sha256 of each finished programme run's run json; distinct values = code changed between launches, e.g. the train_kp.py:630 guard fix of 2026-09-14T23:11:53Z, behaviour-neutral for dict-output models — see aide/results/kv2/NOTES.md): e313c0ff89746293 (10 runs: motionbert_kp_L4_s42_v2, motionbert_kp_batonpre_trunkp123_s1011_v2, motionbert_kp_batonpre_trunkp123_s789_v2, motionbert_kp_d192_L4_s42_v2, motionbert_kp_d192_s42_v2, motionbert_kp_do0.1_s42_v2, motionbert_kp_lr1e-3_s42_v2, motionbert_kp_lr1e-4_s42_v2, motionbert_kp_wd0.01_s42_v2, motionbert_kp_wd0.1_s42_v2); 8caba4a8efccd311 (8 runs: cwm3d_v2_hazaux_s42_v2, cwm3d_v2_khead_s42_v2, cwm3d_v2_lam03_s42_v2, cwm3d_v2_nohaz_s42_v2, cwm3d_v2_nospatial_s42_v2, cwm3d_v2_plain_s42_v2, cwm3d_v2_q060_s42_v2, cwm3d_v2_q090_s42_v2); 22306515fd4a42a0 (2 runs: cwm3d_kp_batonpre_trunkp123_s1011_v2, cwm3d_kp_batonpre_trunkp123_s789_v2); 652c4ba49ba937f2 (1 runs: cwm3d_v2_s42_v2).

K-v2 programme — CockpitWM-K improvement, pre-registered 2026-09-14 (protocol C23) — val n = 405 (selection), test n = 609 (one evaluation per run), paired per-clip bootstrap (10000)

Generated 20260914T234723Z by aide/eval/report_kv2_program.py from pred_{val,test}.npz / metrics_{val,test}.json / run json / aide/results/kv2/*.json only (locked protocol: driver first, grid floor, val HM top 40 (threshold 83.33 px, NEVER a ranking statistic), test HM top 60 (threshold 72.05 px), PCK @ 96 px; every run selected on val All-MPJPE of the EMA weights only, test evaluated once by the harness). Δ = paired per-clip difference (negative = better for errors, positive = better for PCK), CI = clip-bootstrap percentile interval. Verdict rule (as arch_attribution.md): BEATS / WORSE = Δ CI excl. 0 on ≥ ceil(2n/3) seeds (5 seeds: 4) with the same sign on every seed; NOT_WORSE = all CIs cover 0 and |Δ| < 0.25; else INCONCLUSIVE. Confirmatory cells need all 5 seeds; otherwise "pending".

0. Pre-registration (verbatim decisions row) and timestamp check

  • S0 UTC: 2026-09-14T22:51:07Z; earliest programme run t_start_utc: 2026-09-14T23:08:22Z (21 programme runs finished of 188 possible names); runs started at or before S0: none.

| 2026-09-14 | K-v2 programme — S0 pre-registration (CockpitWM-K improvement; new model file aide/models/cwm3d_v2.py, --model cwm3d_v2; approved plan <local-notes>/plans/elegant-dazzling-stallman.md Part A; row written at S0 UTC 2026-09-14T22:51:07Z BEFORE any K-v2 / MB-grid run; the same UTC is in aide/results/kv2/S0_UTC.txt and protocol C23). Honesty clause: the K-v2 design (hierarchical part trunk kept; joint tokens + 2 spatial blocks + attention pooling; lean shared read-out; onset-hazard head gating the anchor mixture) was motivated by the TEST diagnostics of arch_attribution.md §3.2 (K vs MotionBERT-kp: right hand +0.71, body +0.28, h=2–4 +0.2–0.3, HM h=3/4 +2.4/+2.0) → therefore ALL K-v2 configuration choices are fixed on VAL only, and MotionBERT-kp (MB) receives the same val selection budget (S3, 10 val points each). Locked protocol unchanged: val-only selection on All-MPJPE of the EMA weights; the official test split is evaluated exactly once per run by the existing harness (append-only results.csv); no flip TTA; ensembles only as separately labelled rows; Stage-A recipe verbatim (--lr 3e-4 --wd 0.05 --warmup 10 --epochs 200 --bs 32 --ema 0.999 --clip 1.0 --patience 40 --aug-window 1 --noise-px 2.0 --joint-drop 0.1 --translate 20 --scale 0.05 --flip-p 0; K loss defaults euc + 0.1 NLL + 0.05 bone + 0.01 jerk; tensor-output models add --loss euc); paired per-clip clip-bootstrap 10,000 resamples seed 0 (aide/eval/metrics.paired_diff); verdict rule of arch_attribution.md: BEATS / WORSE = Δ CI excl. 0 on ≥ ceil(2n/3) seeds (5 seeds: 4/5) with the same sign on every seed; NOT_WORSE = all CIs cover 0 and |Δ| < 0.25; else INCONCLUSIVE. Every decision below is computed mechanically by aide/eval/kv2_gate.py from pred_val.npz + harness.load_split("val") (+ metrics.hm_mask on val) and written as UTC-stamped json in aide/results/kv2/ (s1_decision.json, s1b_<cfg>_decision.json, s3_decision.json, pretrain_check_<cfg>.json); downstream runs may start only after the corresponding json exists. *S1 val screen (seed 42, n = 405)**: 9 configs vs the existing cwm3d_kp_s42_v2 (val All 55.367): cwm3d_v2_s42_v2 (full), cwm3d_v2_nospatial_s42_v2 (--no-v2-spatial), _khead (--no-lean-head, K's per-part read-out), _nohaz (--no-hazard), _hazaux (--haz-mod 0: hazard BCE on, gating off), _plain (--no-physics --w-nll 0), _q060 / _q090 (--haz-quantile 0.60 / 0.90), _lam03 (--haz-weight 0.3); statistic = paired per-clip Δ val All (config − K); SURVIVE iff mean Δ ≤ −0.30 px (≈ 1.4 val seed-sd); at most 2 survivors (ranked by mean Δ; candidates within 0.10 px of each other are ties → the one with FEWER components wins, components = enabled optional modules of {spatial blocks, lean head, hazard BCE, hazard gating, physics+NLL} — full / q060 / q090 / lam03 = 5, nospatial / khead / hazaux / plain = 4, nohaz = 3; remaining ties by name); HM guard (never a selection statistic): KILL iff Δ val HM (40 clips) mean > +3.0 px AND its CI excludes 0. The 40-clip val HM subset is never used for ranking (level CI width ≈ 37 px vs 8.3 for val All; seed sd 0.93 vs 0.21; val HM threshold 83.3 px ≠ test 72.05 px). Test numbers of S1 runs are produced once by the trainer as usual and are RECORDED, never used for any decision. S1b: each survivor at seed 123 vs cwm3d_kp_s123_v2; CONTINUE to seeds 456 / 789 / 1011 iff Δ val(123) < 0 AND the two-seed mean ≤ −0.25 px; otherwise stop and report "val-killed at seed 123". **S2 (5 seeds 42 / 123 / 456 / 789 / 1011), without and with BATON trunk-only init**: K-v2's tokenizer / trunk tensors differ from K's → own pretraining cwm3d_v2_batonpre_pretrain_s123 (pretrain_cwm3d_baton.py --model cwm3d_v2 --seed 123: same corpus sha256 465dac1cf0a8265a, bs 256, 6 epochs, held-out-route selection, --zeroshot 0 = no zero-shot test evaluation) UNLESS kv2_gate.py pretrain-check <cfg> (dry train_kp.load_init_ckpt(parts="trunk") of the survivor model on CPU against aide/results/runs/cwm3d_kp_batonpre_pretrain_s123/ckpt_best.pt) reports n_skipped_shape = 0 AND zero missing TRUNK_PREFIXES tensors, in which case K's checkpoint is reused; fine-tunes cwm3d_v2_<cfg>_batonpre_trunkp123_s<k>_v2 (--init-parts trunk); K's own +pre arm is completed to 5 seeds with cwm3d_kp_batonpre_trunkp123_s{789,1011}_v2 (recipe and init of the existing s42/123/456 runs verbatim). **S3 MB fairness arm**: (i) same-budget val grid at seed 42: motionbert_kp_{d192, L4, lr1e-4, lr1e-3, wd0.01, wd0.1, do0.1, d192_L4, d192_L4_do0.1}_s42_v2 (--model motionbert_kp[_d192][_L4] name-encoded width / depth, --lr, --wd, --dropout flags; --loss euc) + the existing default motionbert_kp_s42_v2 = 10 val points = S1's 10; **MB-best = argmin val All** (ties within 0.10 px → fewer parameters); if MB-best ≠ default it is run at the 5 seeds; (ii) MB-best + BATON trunk-only init at 5 seeds: motionbert_kp_batonpre_trunkp123_s{789,1011}_v2 are run UNCONDITIONALLY (completing the attribution table); if MB-best changes lr / wd / dropout only, the existing motionbert_kp_batonpre_pretrain_s123 checkpoint is reused (motionbert_kp_<cfg>_batonpre_trunkp123_s<k>_v2); if MB-best changes d or L, a new pretraining motionbert_kp_<tag>_batonpre_pretrain_s123 (same corpus / schedule) precedes 5 fine-tunes. **K-v2(best)** = the S2 survivor with the lowest mean VAL All over its finished seeds (ties 0.10 → fewer components); with one survivor it is that one. **PRIMARY (two co-primary endpoints, test All-MPJPE, 5 seeds, both sides in the same pretraining state, beats rule above)**: P1 = K-v2(best) − MB-best (no pretraining); P2 = K-v2(best)+pre − MB-best+pre. **ADOPTION**: A1 = K-v2(best) − cwm3d_kp_s<k>_v2 BEATS on All over 5 seeds → K-v2 becomes the main-table CockpitWM-K row (K's row itself unchanged), otherwise K-v2 is an ablation row; A2 = K-v2(best)+pre − K+pre (cwm3d_kp_batonpre_trunkp123_s<k>_v2) BEATS → the "+ BATON trunk" row. **SECONDARY (descriptive with CIs, never an adoption basis)**: d-n, HM, PCK@0.05, HM h=5, per-part, per-horizon, AUC of the hazard probability haz_P against HM membership. **Paper-wording consequence table** (mirrors the 2026-09-14 attribution row): P1 ∧ P2 BEATS → an architecture advantage under the keypoint formulation may be written FOR K-v2 (K's own attribution sentence unchanged); P1 BEATS ∧ ¬P2 → "advantage without pretraining that the BATON trunk equalises", attribution sentence kept; ¬P1 ∧ P2 → "advantage conditional on the pretrained trunk", attribution sentence kept; neither → wording unchanged verbatim, K-v2 = ablation family + gen_tables.py NEGATIVES entry; any WORSE is reported as is. **Multiplicity**: ≤ 9 (S1) + 18 (S2) + 2 (K+pre seeds) + 9 (S3 i) + 4 (MB-best seeds) + 7 (S3 ii) ≈ 49 new single test evaluations, each required by the protocol, none used for selection; confirmatory claims are exactly P1, P2, A1, A2. **Already published numbers untouched**; all results only in the new table aide/results/tables/kv2_program.md (+ .json) written by aide/eval/report_kv2_program.py (reads only pred_{val,test}.npz, metrics_{val,test}.json, run json; append-only; machine-readable line **ADOPTION A1: ADOPTED\|NOT ADOPTED**). **Execution**: aide/train/run_kv2_program.sh lanes A (S1 → gate s1), B (S3 i → gate s3 → MB-best seeds / +pre), C (motionbert_kp_batonpre_trunkp123_s{789,1011}_v2, cwm3d_kp_batonpre_trunkp123_s{789,1011}_v2), D (pretrain-check → v2 pretraining if needed → S1b → gate s1b → seeds ± pre); every launch passes the project gate (free VRAM ≥ need + 4 GB, MemAvailable ≥ 28 GB, `pgrep -fc "python.(train_cwm3|train_kp|pretrain)"< 4, OMP/MKL 4;setsid nohup bash; a run whose run json exists is never re-run; pids in aide/results/kv2/pids.txt); --no-lock --max-minutes 45, --notes "kv2_program;;cfg="; --refs zvshrink=zv_shrink_val,simlpe=simlpe_kp_s<k or 42>_v2,kp=cwm3d_kp_s_v2,mb=motionbert_kp_s_v2(+seedinit=_s_v2for +pre runs; refs are evaluation-only). Lanes A / D start only afteraide/models/cwm3d_v2.pyexists andpytest -q aide/tests/test_cwm3d_v2.pypasses. Honest expectation (recorded): HM likely improves, All likely still ties MB; every result enters the table regardless. | plan Part A §A.2–A.4;aide/eval/kv2_gate.py, aide/eval/report_kv2_program.py, aide/train/run_kv2_program.sh, aide/tests/test_kv2.py, aide/models/motionbert_kp.py::build(name variants),aide/docs/protocol.mdC23,aide/results/kv2/S0_UTC.txt; motivation aide/results/tables/arch_attribution.md§3.2 | Every K-v2 / MB-grid run json must havet_start_utclater than 2026-09-14T22:51:07Z (checked byreport_kv2_program.py` §0); gate json must predate the downstream launches; "S1 outcome" and final "K-v2 outcome" rows + C23 outcome follow; paper text changes only after the outcome, per the consequence table |

1. S1 val screen (seed 42; statistic = paired per-clip Δ val All vs cwm3d_kp_s42_v2; SURVIVE iff mean Δ ≤ −0.30 px; ≤ 2 survivors, ties 0.10 → fewer components; HM guard KILL iff Δ val HM > +3.0 with CI excl. 0 — the val HM column is SECONDARY)

  • Decision source: aide/results/kv2/s1_decision.json written 2026-09-14T23:45:48Z (complete = True). Rule: paired per-clip Δ val All (config − cwm3d_kp_s42_v2), n = 405, 10000 clip-bootstrap seed 0; SURVIVE iff mean Δ ≤ -0.3 px; ≤ 2 survivors ranked by mean Δ, ties within 0.1 px -> fewer components (full/q060/q090/lam03 = 5, nospatial/khead/hazaux/plain = 4, nohaz = 3); HM guard (never a ranking statistic): KILL iff Δ val HM (40 clips) mean > +3.0 AND CI excl. 0.
cfg run flags params best ep / epochs / stop / GPU min val All Δ val All [CI] Δ val HM [CI] (secondary) guard S1 status test All (recorded, not used)
K (baseline) cwm3d_kp_s42_v2 — 5771449 58 / 99 / early_stop(patience=40) / 0.6 55.367 0 0 — — 48.767
full cwm3d_v2_s42_v2 (full) 2736282 75 / 116 / early_stop(patience=40) / 2.25 55.170 -0.197 [-0.798,+0.387] +0.60 [-2.54,+3.45] ok KILL 48.696
nospatial cwm3d_v2_nospatial_s42_v2 --no-v2-spatial 2666906 87 / 128 / early_stop(patience=40) / 1.69 54.788 -0.579 [-1.275,+0.058] -0.64 [-4.19,+1.99] ok SURVIVE 48.267
khead cwm3d_v2_khead_s42_v2 --no-lean-head 5091964 52 / 93 / early_stop(patience=40) / 4.75 55.482 +0.115 [-0.442,+0.662] +1.06 [-1.16,+3.09] ok KILL 48.642
nohaz cwm3d_v2_nohaz_s42_v2 --no-hazard 2702199 106 / 147 / early_stop(patience=40) / 5.71 55.325 -0.042 [-0.873,+0.723] +2.94 [-0.38,+6.86] ok KILL 48.648
hazaux cwm3d_v2_hazaux_s42_v2 --haz-mod 0 2736267 87 / 128 / early_stop(patience=40) / 4.51 55.140 -0.227 [-0.888,+0.393] +2.41 [+0.04,+4.95] ok KILL 48.592
plain cwm3d_v2_plain_s42_v2 --no-physics --w-nll 0 2736282 65 / 106 / early_stop(patience=40) / 3.69 55.218 -0.149 [-0.722,+0.397] +1.73 [-0.72,+4.18] ok KILL 48.728
q060 cwm3d_v2_q060_s42_v2 --haz-quantile 0.60 2736282 76 / 117 / early_stop(patience=40) / 4.32 55.320 -0.047 [-0.674,+0.606] +3.26 [+0.21,+7.50] KILL KILL 48.704
q090 cwm3d_v2_q090_s42_v2 --haz-quantile 0.90 2736282 71 / 112 / early_stop(patience=40) / 4.19 55.128 -0.239 [-0.774,+0.291] +1.33 [-1.27,+4.02] ok KILL 48.380
lam03 cwm3d_v2_lam03_s42_v2 --haz-weight 0.3 2736282 87 / 128 / early_stop(patience=40) / 5.51 55.019 -0.348 [-1.018,+0.310] +1.92 [-0.73,+5.20] ok SURVIVE 48.512

S1 survivors (decision): nospatial, lam03.

1.1 S1b (survivors at seed 123 vs cwm3d_kp_s123_v2; CONTINUE iff Δ val(123) < 0 and 2-seed mean ≤ −0.25)

cfg seed-123 run val All Δ val All s42 [CI] Δ val All s123 [CI] 2-seed mean decision source
nospatial cwm3d_v2_nospatial_s123_v2 pending -0.579 [-1.275,+0.058] pending pending PENDING live
lam03 cwm3d_v2_lam03_s123_v2 pending -0.348 [-1.018,+0.310] pending pending PENDING live

S1b: continuing to 5 seeds: none yet.

2. S2 — 5 seeds (42 / 123 / 456 / 789 / 1011), TEST (one evaluation per run), K-v2 survivors without / with BATON trunk-only init

  • Pretraining cwm3d_v2_batonpre_pretrain_s123: not run / not finished; pretrain-check: —.

(no K-v2 config has reached S2 yet)

3. S3 — MotionBERT-kp fairness arm (same val budget: 9 new grid points + existing default = 10; MB-best = argmin val All, ties 0.10 → fewer params)

  • Decision source: no complete s3_decision.json yet — LIVE recomputation (not a decision). Rule: MB-best = argmin val All over the 10 grid points (9 new + existing default); ties within 0.1 px -> fewer parameters.
cfg run model flags params best ep / epochs / stop / GPU min val All Δ val All vs default [CI] test All (recorded, not used) S3
default motionbert_kp_s42_v2 motionbert_kp (default) 813088 81 / 122 / early_stop(patience=40) / 4.6 55.550 +0.000 [+0.000,+0.000] 48.279
d192 motionbert_kp_d192_s42_v2 motionbert_kp_d192 (default) 1809440 64 / 105 / early_stop(patience=40) / 6.14 55.559 +0.009 [-0.573,+0.575] 48.595
L4 motionbert_kp_L4_s42_v2 motionbert_kp_L4 (default) 1077664 82 / 123 / early_stop(patience=40) / 4.71 55.433 -0.117 [-0.572,+0.313] 48.488
lr1e-4 motionbert_kp_lr1e-4_s42_v2 motionbert_kp --lr 1e-4 813088 79 / 120 / early_stop(patience=40) / 3.18 55.310 -0.240 [-0.773,+0.247] 48.493
lr1e-3 motionbert_kp_lr1e-3_s42_v2 motionbert_kp --lr 1e-3 813088 60 / 101 / early_stop(patience=40) / 2.75 55.281 -0.269 [-0.732,+0.131] 48.394
wd0.01 motionbert_kp_wd0.01_s42_v2 motionbert_kp --wd 0.01 813088 73 / 114 / early_stop(patience=40) / 3.15 55.366 -0.184 [-0.659,+0.199] 48.342
wd0.1 motionbert_kp_wd0.1_s42_v2 motionbert_kp --wd 0.1 813088 64 / 105 / early_stop(patience=40) / 2.83 55.603 +0.053 [-0.324,+0.440] 48.424
do0.1 motionbert_kp_do0.1_s42_v2 motionbert_kp --dropout 0.1 813088 95 / 136 / early_stop(patience=40) / 3.89 55.215 -0.335 [-0.888,+0.129] 48.389 MB-best
d192_L4 motionbert_kp_d192_L4_s42_v2 motionbert_kp_d192_L4 (default) 2402912 67 / 108 / early_stop(patience=40) / 5.18 55.399 -0.151 [-0.632,+0.325] 48.418
d192_L4_do0.1 motionbert_kp_d192_L4_do0.1_s42_v2 motionbert_kp_d192_L4 --dropout 0.1 — pending pending pending — PENDING

MB-best = do0.1 (provisional — S3 incomplete or no decision json; model motionbert_kp, flags ['--dropout', '0.1']; changes d/L: False → existing motionbert_kp_batonpre_pretrain_s123 checkpoint reused).

3.1 MB-best and MB-best + BATON trunk-only init at 5 seeds; K + pre completion (test levels)

seed arm run params best ep / epochs / stop GPU min val All All [CI] d-n [CI] HM [CI] PCK@0.05 [CI] HM h=5 [CI]
42 MB default motionbert_kp_s42_v2 813088 81 / 122 / early_stop(patience=40) 4.6 55.550 48.28 [44.53, 52.37] 2.192 [2.021, 2.377] 130.34 [108.20, 158.53] 87.17 [86.04, 88.28] 163.95 [119.85, 223.86]
42 MB default + pre motionbert_kp_batonpre_trunkp123_s42_v2 813088 37 / 78 / early_stop(patience=40) 1.94 54.528 47.74 [44.07, 51.78] 2.167 [2.000, 2.350] 128.03 [105.81, 156.47] 87.46 [86.37, 88.54] 159.20 [115.09, 219.85]
42 MB-best motionbert_kp_do0.1_s42_v2 813088 95 / 136 / early_stop(patience=40) 3.89 55.215 48.39 [44.59, 52.49] 2.197 [2.024, 2.383] 130.48 [107.84, 158.95] 87.26 [86.15, 88.36] 163.78 [118.78, 224.72]
42 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s42_v2 — pending — — — — — — —
42 K + pre cwm3d_kp_batonpre_trunkp123_s42_v2 5771449 31 / 72 / early_stop(patience=40) 0.48 55.003 47.98 [44.28, 52.04] 2.178 [2.010, 2.363] 128.43 [106.25, 157.11] 87.21 [86.10, 88.30] 159.35 [115.56, 219.46]
123 MB default motionbert_kp_s123_v2 813088 58 / 99 / early_stop(patience=40) 4.36 55.627 48.38 [44.65, 52.46] 2.196 [2.027, 2.381] 129.16 [106.70, 157.58] 87.14 [86.02, 88.27] 162.59 [118.87, 222.08]
123 MB default + pre motionbert_kp_batonpre_trunkp123_s123_v2 813088 38 / 79 / early_stop(patience=40) 2.16 54.720 47.53 [43.87, 51.55] 2.158 [1.992, 2.340] 126.11 [103.96, 154.69] 87.40 [86.32, 88.46] 156.47 [113.00, 215.99]
123 MB-best motionbert_kp_do0.1_s123_v2 — pending — — — — — — —
123 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s123_v2 — pending — — — — — — —
123 K + pre cwm3d_kp_batonpre_trunkp123_s123_v2 5771449 33 / 74 / early_stop(patience=40) 0.88 54.828 48.04 [44.33, 52.11] 2.181 [2.012, 2.365] 129.13 [106.80, 157.67] 87.20 [86.07, 88.32] 160.11 [116.11, 220.04]
456 MB default motionbert_kp_s456_v2 813088 90 / 131 / early_stop(patience=40) 5.17 55.166 48.48 [44.74, 52.58] 2.201 [2.031, 2.387] 130.23 [107.78, 158.89] 87.14 [86.00, 88.25] 162.24 [116.93, 223.50]
456 MB default + pre motionbert_kp_batonpre_trunkp123_s456_v2 813088 44 / 85 / early_stop(patience=40) 1.68 54.797 47.91 [44.22, 51.93] 2.175 [2.008, 2.357] 127.59 [105.28, 156.14] 87.39 [86.28, 88.47] 158.92 [114.76, 219.74]
456 MB-best motionbert_kp_do0.1_s456_v2 — pending — — — — — — —
456 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s456_v2 — pending — — — — — — —
456 K + pre cwm3d_kp_batonpre_trunkp123_s456_v2 5771449 36 / 77 / early_stop(patience=40) 0.91 54.670 48.01 [44.31, 52.12] 2.179 [2.011, 2.366] 128.51 [106.16, 157.20] 87.16 [86.02, 88.27] 159.02 [115.09, 219.40]
789 MB default motionbert_kp_s789_v2 813088 77 / 118 / early_stop(patience=40) 6.14 55.134 48.46 [44.71, 52.57] 2.200 [2.030, 2.386] 130.66 [108.19, 159.30] 87.27 [86.16, 88.36] 163.04 [118.30, 223.77]
789 MB default + pre motionbert_kp_batonpre_trunkp123_s789_v2 813088 37 / 78 / early_stop(patience=40) 3.45 54.882 47.55 [43.88, 51.56] 2.159 [1.992, 2.341] 127.71 [105.39, 156.61] 87.40 [86.30, 88.48] 159.11 [114.88, 219.30]
789 MB-best motionbert_kp_do0.1_s789_v2 — pending — — — — — — —
789 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s789_v2 — pending — — — — — — —
789 K + pre cwm3d_kp_batonpre_trunkp123_s789_v2 5771449 35 / 76 / early_stop(patience=40) 1.22 54.590 48.12 [44.44, 52.21] 2.184 [2.017, 2.370] 129.32 [107.17, 157.78] 87.06 [85.94, 88.18] 161.39 [117.32, 221.77]
1011 MB default motionbert_kp_s1011_v2 813088 81 / 122 / early_stop(patience=40) 5.69 55.506 48.68 [44.92, 52.82] 2.210 [2.039, 2.398] 131.49 [108.92, 160.13] 86.97 [85.81, 88.12] 166.22 [121.36, 227.01]
1011 MB default + pre motionbert_kp_batonpre_trunkp123_s1011_v2 813088 47 / 88 / early_stop(patience=40) 3.98 54.868 47.85 [44.16, 51.87] 2.172 [2.005, 2.355] 129.47 [107.17, 157.92] 87.40 [86.30, 88.49] 160.75 [116.16, 221.59]
1011 MB-best motionbert_kp_do0.1_s1011_v2 — pending — — — — — — —
1011 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s1011_v2 — pending — — — — — — —
1011 K + pre cwm3d_kp_batonpre_trunkp123_s1011_v2 5771449 34 / 75 / early_stop(patience=40) 1.14 54.609 48.11 [44.40, 52.21] 2.184 [2.016, 2.370] 128.73 [106.48, 157.39] 87.03 [85.91, 88.16] 159.72 [115.63, 220.35]

Δ = MB-best[do0.1]+pre − MB-best[do0.1], per seed (descriptive; n = 0)

(pending)

Δ = K+pre − K, per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 48.04 48.01 48.12 48.11 48.77 48.66 48.46 48.54 48.57 -0.79 [-1.29,-0.30] -0.62 [-1.17,-0.11] -0.45 [-0.89,-0.02] -0.43 [-0.88,+0.03] -0.46 [-0.89,-0.02] -0.55 ± 0.15 BEATS
d-n 2.178 2.181 2.179 2.184 2.184 2.214 2.209 2.200 2.204 2.205 -0.036 [-0.059,-0.014] -0.028 [-0.053,-0.005] -0.021 [-0.041,-0.001] -0.019 [-0.040,+0.001] -0.021 [-0.041,-0.001] -0.025 ± 0.007 BEATS
HM-MPJPE 128.43 129.13 128.51 129.32 128.73 132.49 131.05 131.37 131.73 131.22 -4.06 [-6.57,-1.74] -1.92 [-4.14,+0.22] -2.86 [-5.09,-0.73] -2.41 [-4.43,-0.48] -2.49 [-4.79,-0.27] -2.75 ± 0.81 BEATS
PCK@0.05 87.21 87.20 87.16 87.06 87.03 87.00 86.99 87.13 87.00 87.00 +0.20 [-0.05,+0.45] +0.22 [-0.07,+0.52] +0.03 [-0.20,+0.26] +0.06 [-0.16,+0.28] +0.03 [-0.20,+0.26] +0.11 ± 0.09 NOT_WORSE
HM h=5 159.35 160.11 159.02 161.39 159.72 164.19 163.36 162.55 163.04 163.70 -4.85 [-8.95,-1.00] -3.25 [-6.97,+0.55] -3.53 [-7.22,+0.08] -1.65 [-5.11,+1.98] -3.98 [-8.22,+0.07] -3.45 ± 1.17 INCONCLUSIVE

Δ = K − MB-best[do0.1], per seed (descriptive; n = 1)

cell A s42 B s42 Δ s42 [CI] mean Δ ± sd verdict
All-MPJPE 48.77 48.39 +0.38 [-0.21,+0.96] +0.38 ± nan INCONCLUSIVE
d-n 2.214 2.197 +0.017 [-0.010,+0.044] +0.017 ± nan NOT_WORSE
HM-MPJPE 132.49 130.48 +2.01 [-0.71,+4.80] +2.01 ± nan INCONCLUSIVE
PCK@0.05 87.00 87.26 -0.25 [-0.54,+0.01] -0.25 ± nan INCONCLUSIVE
HM h=5 164.19 163.78 +0.41 [-4.94,+5.58] +0.41 ± nan INCONCLUSIVE

Δ = K+pre − MB-best[do0.1]+pre, per seed (descriptive; n = 0)

(pending)

4. Primary endpoints and adoption (test All-MPJPE, 5 seeds, both sides in the same pretraining state; BEATS rule, 4/5)

  • K-v2(best) = pending (lowest mean VAL All over finished seeds among S1b-continued survivors; ties 0.10 → fewer components): no continued survivor with finished seeds.
endpoint n seeds Δ All per seed [CI] mean Δ ± sd verdict secondary (HM / PCK@0.05 / HM h=5 / d-n verdicts)
P1 0 pending (no K-v2(best) yet) — PENDING —
P2 0 pending (no K-v2(best) yet) — PENDING —
A1 0 pending (no K-v2(best) yet) — PENDING —
A2 0 pending (no K-v2(best) yet) — PENDING —

4.1 Paper-wording consequence table (pre-registered; the realised row is marked)

case wording consequence realised
P1 ∧ P2 an architecture advantage under the keypoint formulation may be written FOR K-v2 (K's own attribution sentence unchanged) pending
P1 ∧ ¬P2 "advantage without pretraining that the BATON trunk equalises"; attribution sentence kept pending
¬P1 ∧ P2 "advantage conditional on the pretrained trunk"; attribution sentence kept pending
neither wording unchanged verbatim; K-v2 = ablation family + gen_tables.py NEGATIVES entry; any WORSE reported as is pending

ADOPTION A1: NOT ADOPTED (pending — no K-v2(best) yet; NOT ADOPTED is the conservative default until 5 seeds are final) ADOPTION A2: NOT ADOPTED (pending — no K-v2(best) yet)

  • Consequence-table row: pending (P1 / P2 not final). Any WORSE verdict above is reported as is.

5. GPU minutes of the programme's new runs (from run json; the GPU was shared with a DMS feature-extraction job and other lanes, so minutes are wall-clock upper bounds)

run GPU min
cwm3d_kp_batonpre_trunkp123_s1011_v2 1.14
cwm3d_kp_batonpre_trunkp123_s789_v2 1.22
cwm3d_v2_hazaux_s42_v2 4.51
cwm3d_v2_khead_s42_v2 4.75
cwm3d_v2_lam03_s42_v2 5.51
cwm3d_v2_nohaz_s42_v2 5.71
cwm3d_v2_nospatial_s42_v2 1.69
cwm3d_v2_plain_s42_v2 3.69
cwm3d_v2_q060_s42_v2 4.32
cwm3d_v2_q090_s42_v2 4.19
cwm3d_v2_s42_v2 2.25
motionbert_kp_L4_s42_v2 4.71
motionbert_kp_batonpre_trunkp123_s1011_v2 3.98
motionbert_kp_batonpre_trunkp123_s789_v2 3.45
motionbert_kp_d192_L4_s42_v2 5.18
motionbert_kp_d192_s42_v2 6.14
motionbert_kp_do0.1_s42_v2 3.89
motionbert_kp_lr1e-3_s42_v2 2.75
motionbert_kp_lr1e-4_s42_v2 3.18
motionbert_kp_wd0.01_s42_v2 3.15
motionbert_kp_wd0.1_s42_v2 2.83
total (21 runs) 78.2

6. Provenance

  • Inputs: pred_val.npz / pred_test.npz / metrics_val.json / metrics_test.json / run_<name>_<utc>.json under /home/USER/cwm3/aide/results/runs; gate decisions /home/USER/cwm3/aide/results/kv2: s1_decision.json, s1_decision_20260914T234548Z.json, s3_decision.json, s3_decision_20260914T230840Z.json; pre-registration row from /home/USER/cwm3/docs/decisions.md (S0 UTC 2026-09-14T22:51:07Z).
  • Comparison runs cwm3d_kp_s<k>_v2, cwm3d_kp_batonpre_trunkp123_s{42,123,456}_v2, motionbert_kp_s<k>_v2, motionbert_kp_batonpre_trunkp123_s{42,123,456}_v2 are the EXISTING runs (never retrained); every programme run is a new run dir.
  • Selection: val All-MPJPE of the EMA weights inside the trainer; S1 / S1b / S3 decisions from pred_val.npz only (aide/eval/kv2_gate.py); one test evaluation per run by the harness; no test number was used for any decision.
  • Launcher aide/train/run_kv2_program.sh (gate: free VRAM ≥ need + 4 GB, MemAvailable ≥ 28 GB, < 4 trainers, OMP/MKL 4; finished runs skipped); pids aide/results/kv2/pids.txt.
  • Pending runs referenced above: 3. This block is append-only; earlier blocks are never edited.
  • Trainer code hashes (code_sha256 of each finished programme run's run json; distinct values = code changed between launches, e.g. the train_kp.py:630 guard fix of 2026-09-14T23:11:53Z, behaviour-neutral for dict-output models — see aide/results/kv2/NOTES.md): e313c0ff89746293 (10 runs: motionbert_kp_L4_s42_v2, motionbert_kp_batonpre_trunkp123_s1011_v2, motionbert_kp_batonpre_trunkp123_s789_v2, motionbert_kp_d192_L4_s42_v2, motionbert_kp_d192_s42_v2, motionbert_kp_do0.1_s42_v2, motionbert_kp_lr1e-3_s42_v2, motionbert_kp_lr1e-4_s42_v2, motionbert_kp_wd0.01_s42_v2, motionbert_kp_wd0.1_s42_v2); 8caba4a8efccd311 (8 runs: cwm3d_v2_hazaux_s42_v2, cwm3d_v2_khead_s42_v2, cwm3d_v2_lam03_s42_v2, cwm3d_v2_nohaz_s42_v2, cwm3d_v2_nospatial_s42_v2, cwm3d_v2_plain_s42_v2, cwm3d_v2_q060_s42_v2, cwm3d_v2_q090_s42_v2); 22306515fd4a42a0 (2 runs: cwm3d_kp_batonpre_trunkp123_s1011_v2, cwm3d_kp_batonpre_trunkp123_s789_v2); 652c4ba49ba937f2 (1 runs: cwm3d_v2_s42_v2).

K-v2 programme — CockpitWM-K improvement, pre-registered 2026-09-14 (protocol C23) — val n = 405 (selection), test n = 609 (one evaluation per run), paired per-clip bootstrap (10000)

Generated 20260915T012920Z by aide/eval/report_kv2_program.py from pred_{val,test}.npz / metrics_{val,test}.json / run json / aide/results/kv2/*.json only (locked protocol: driver first, grid floor, val HM top 40 (threshold 83.33 px, NEVER a ranking statistic), test HM top 60 (threshold 72.05 px), PCK @ 96 px; every run selected on val All-MPJPE of the EMA weights only, test evaluated once by the harness). Δ = paired per-clip difference (negative = better for errors, positive = better for PCK), CI = clip-bootstrap percentile interval. Verdict rule (as arch_attribution.md): BEATS / WORSE = Δ CI excl. 0 on ≥ ceil(2n/3) seeds (5 seeds: 4) with the same sign on every seed; NOT_WORSE = all CIs cover 0 and |Δ| < 0.25; else INCONCLUSIVE. Confirmatory cells need all 5 seeds; otherwise "pending".

0. Pre-registration (verbatim decisions row) and timestamp check

  • S0 UTC: 2026-09-14T22:51:07Z; earliest programme run t_start_utc: 2026-09-14T23:08:22Z (42 programme runs finished of 189 possible names); runs started at or before S0: none.

| 2026-09-14 | K-v2 programme — S0 pre-registration (CockpitWM-K improvement; new model file aide/models/cwm3d_v2.py, --model cwm3d_v2; approved plan <local-notes>/plans/elegant-dazzling-stallman.md Part A; row written at S0 UTC 2026-09-14T22:51:07Z BEFORE any K-v2 / MB-grid run; the same UTC is in aide/results/kv2/S0_UTC.txt and protocol C23). Honesty clause: the K-v2 design (hierarchical part trunk kept; joint tokens + 2 spatial blocks + attention pooling; lean shared read-out; onset-hazard head gating the anchor mixture) was motivated by the TEST diagnostics of arch_attribution.md §3.2 (K vs MotionBERT-kp: right hand +0.71, body +0.28, h=2–4 +0.2–0.3, HM h=3/4 +2.4/+2.0) → therefore ALL K-v2 configuration choices are fixed on VAL only, and MotionBERT-kp (MB) receives the same val selection budget (S3, 10 val points each). Locked protocol unchanged: val-only selection on All-MPJPE of the EMA weights; the official test split is evaluated exactly once per run by the existing harness (append-only results.csv); no flip TTA; ensembles only as separately labelled rows; Stage-A recipe verbatim (--lr 3e-4 --wd 0.05 --warmup 10 --epochs 200 --bs 32 --ema 0.999 --clip 1.0 --patience 40 --aug-window 1 --noise-px 2.0 --joint-drop 0.1 --translate 20 --scale 0.05 --flip-p 0; K loss defaults euc + 0.1 NLL + 0.05 bone + 0.01 jerk; tensor-output models add --loss euc); paired per-clip clip-bootstrap 10,000 resamples seed 0 (aide/eval/metrics.paired_diff); verdict rule of arch_attribution.md: BEATS / WORSE = Δ CI excl. 0 on ≥ ceil(2n/3) seeds (5 seeds: 4/5) with the same sign on every seed; NOT_WORSE = all CIs cover 0 and |Δ| < 0.25; else INCONCLUSIVE. Every decision below is computed mechanically by aide/eval/kv2_gate.py from pred_val.npz + harness.load_split("val") (+ metrics.hm_mask on val) and written as UTC-stamped json in aide/results/kv2/ (s1_decision.json, s1b_<cfg>_decision.json, s3_decision.json, pretrain_check_<cfg>.json); downstream runs may start only after the corresponding json exists. *S1 val screen (seed 42, n = 405)**: 9 configs vs the existing cwm3d_kp_s42_v2 (val All 55.367): cwm3d_v2_s42_v2 (full), cwm3d_v2_nospatial_s42_v2 (--no-v2-spatial), _khead (--no-lean-head, K's per-part read-out), _nohaz (--no-hazard), _hazaux (--haz-mod 0: hazard BCE on, gating off), _plain (--no-physics --w-nll 0), _q060 / _q090 (--haz-quantile 0.60 / 0.90), _lam03 (--haz-weight 0.3); statistic = paired per-clip Δ val All (config − K); SURVIVE iff mean Δ ≤ −0.30 px (≈ 1.4 val seed-sd); at most 2 survivors (ranked by mean Δ; candidates within 0.10 px of each other are ties → the one with FEWER components wins, components = enabled optional modules of {spatial blocks, lean head, hazard BCE, hazard gating, physics+NLL} — full / q060 / q090 / lam03 = 5, nospatial / khead / hazaux / plain = 4, nohaz = 3; remaining ties by name); HM guard (never a selection statistic): KILL iff Δ val HM (40 clips) mean > +3.0 px AND its CI excludes 0. The 40-clip val HM subset is never used for ranking (level CI width ≈ 37 px vs 8.3 for val All; seed sd 0.93 vs 0.21; val HM threshold 83.3 px ≠ test 72.05 px). Test numbers of S1 runs are produced once by the trainer as usual and are RECORDED, never used for any decision. S1b: each survivor at seed 123 vs cwm3d_kp_s123_v2; CONTINUE to seeds 456 / 789 / 1011 iff Δ val(123) < 0 AND the two-seed mean ≤ −0.25 px; otherwise stop and report "val-killed at seed 123". **S2 (5 seeds 42 / 123 / 456 / 789 / 1011), without and with BATON trunk-only init**: K-v2's tokenizer / trunk tensors differ from K's → own pretraining cwm3d_v2_batonpre_pretrain_s123 (pretrain_cwm3d_baton.py --model cwm3d_v2 --seed 123: same corpus sha256 465dac1cf0a8265a, bs 256, 6 epochs, held-out-route selection, --zeroshot 0 = no zero-shot test evaluation) UNLESS kv2_gate.py pretrain-check <cfg> (dry train_kp.load_init_ckpt(parts="trunk") of the survivor model on CPU against aide/results/runs/cwm3d_kp_batonpre_pretrain_s123/ckpt_best.pt) reports n_skipped_shape = 0 AND zero missing TRUNK_PREFIXES tensors, in which case K's checkpoint is reused; fine-tunes cwm3d_v2_<cfg>_batonpre_trunkp123_s<k>_v2 (--init-parts trunk); K's own +pre arm is completed to 5 seeds with cwm3d_kp_batonpre_trunkp123_s{789,1011}_v2 (recipe and init of the existing s42/123/456 runs verbatim). **S3 MB fairness arm**: (i) same-budget val grid at seed 42: motionbert_kp_{d192, L4, lr1e-4, lr1e-3, wd0.01, wd0.1, do0.1, d192_L4, d192_L4_do0.1}_s42_v2 (--model motionbert_kp[_d192][_L4] name-encoded width / depth, --lr, --wd, --dropout flags; --loss euc) + the existing default motionbert_kp_s42_v2 = 10 val points = S1's 10; **MB-best = argmin val All** (ties within 0.10 px → fewer parameters); if MB-best ≠ default it is run at the 5 seeds; (ii) MB-best + BATON trunk-only init at 5 seeds: motionbert_kp_batonpre_trunkp123_s{789,1011}_v2 are run UNCONDITIONALLY (completing the attribution table); if MB-best changes lr / wd / dropout only, the existing motionbert_kp_batonpre_pretrain_s123 checkpoint is reused (motionbert_kp_<cfg>_batonpre_trunkp123_s<k>_v2); if MB-best changes d or L, a new pretraining motionbert_kp_<tag>_batonpre_pretrain_s123 (same corpus / schedule) precedes 5 fine-tunes. **K-v2(best)** = the S2 survivor with the lowest mean VAL All over its finished seeds (ties 0.10 → fewer components); with one survivor it is that one. **PRIMARY (two co-primary endpoints, test All-MPJPE, 5 seeds, both sides in the same pretraining state, beats rule above)**: P1 = K-v2(best) − MB-best (no pretraining); P2 = K-v2(best)+pre − MB-best+pre. **ADOPTION**: A1 = K-v2(best) − cwm3d_kp_s<k>_v2 BEATS on All over 5 seeds → K-v2 becomes the main-table CockpitWM-K row (K's row itself unchanged), otherwise K-v2 is an ablation row; A2 = K-v2(best)+pre − K+pre (cwm3d_kp_batonpre_trunkp123_s<k>_v2) BEATS → the "+ BATON trunk" row. **SECONDARY (descriptive with CIs, never an adoption basis)**: d-n, HM, PCK@0.05, HM h=5, per-part, per-horizon, AUC of the hazard probability haz_P against HM membership. **Paper-wording consequence table** (mirrors the 2026-09-14 attribution row): P1 ∧ P2 BEATS → an architecture advantage under the keypoint formulation may be written FOR K-v2 (K's own attribution sentence unchanged); P1 BEATS ∧ ¬P2 → "advantage without pretraining that the BATON trunk equalises", attribution sentence kept; ¬P1 ∧ P2 → "advantage conditional on the pretrained trunk", attribution sentence kept; neither → wording unchanged verbatim, K-v2 = ablation family + gen_tables.py NEGATIVES entry; any WORSE is reported as is. **Multiplicity**: ≤ 9 (S1) + 18 (S2) + 2 (K+pre seeds) + 9 (S3 i) + 4 (MB-best seeds) + 7 (S3 ii) ≈ 49 new single test evaluations, each required by the protocol, none used for selection; confirmatory claims are exactly P1, P2, A1, A2. **Already published numbers untouched**; all results only in the new table aide/results/tables/kv2_program.md (+ .json) written by aide/eval/report_kv2_program.py (reads only pred_{val,test}.npz, metrics_{val,test}.json, run json; append-only; machine-readable line **ADOPTION A1: ADOPTED\|NOT ADOPTED**). **Execution**: aide/train/run_kv2_program.sh lanes A (S1 → gate s1), B (S3 i → gate s3 → MB-best seeds / +pre), C (motionbert_kp_batonpre_trunkp123_s{789,1011}_v2, cwm3d_kp_batonpre_trunkp123_s{789,1011}_v2), D (pretrain-check → v2 pretraining if needed → S1b → gate s1b → seeds ± pre); every launch passes the project gate (free VRAM ≥ need + 4 GB, MemAvailable ≥ 28 GB, `pgrep -fc "python.(train_cwm3|train_kp|pretrain)"< 4, OMP/MKL 4;setsid nohup bash; a run whose run json exists is never re-run; pids in aide/results/kv2/pids.txt); --no-lock --max-minutes 45, --notes "kv2_program;;cfg="; --refs zvshrink=zv_shrink_val,simlpe=simlpe_kp_s<k or 42>_v2,kp=cwm3d_kp_s_v2,mb=motionbert_kp_s_v2(+seedinit=_s_v2for +pre runs; refs are evaluation-only). Lanes A / D start only afteraide/models/cwm3d_v2.pyexists andpytest -q aide/tests/test_cwm3d_v2.pypasses. Honest expectation (recorded): HM likely improves, All likely still ties MB; every result enters the table regardless. | plan Part A §A.2–A.4;aide/eval/kv2_gate.py, aide/eval/report_kv2_program.py, aide/train/run_kv2_program.sh, aide/tests/test_kv2.py, aide/models/motionbert_kp.py::build(name variants),aide/docs/protocol.mdC23,aide/results/kv2/S0_UTC.txt; motivation aide/results/tables/arch_attribution.md§3.2 | Every K-v2 / MB-grid run json must havet_start_utclater than 2026-09-14T22:51:07Z (checked byreport_kv2_program.py` §0); gate json must predate the downstream launches; "S1 outcome" and final "K-v2 outcome" rows + C23 outcome follow; paper text changes only after the outcome, per the consequence table |

1. S1 val screen (seed 42; statistic = paired per-clip Δ val All vs cwm3d_kp_s42_v2; SURVIVE iff mean Δ ≤ −0.30 px; ≤ 2 survivors, ties 0.10 → fewer components; HM guard KILL iff Δ val HM > +3.0 with CI excl. 0 — the val HM column is SECONDARY)

  • Decision source: aide/results/kv2/s1_decision.json written 2026-09-14T23:45:48Z (complete = True). Rule: paired per-clip Δ val All (config − cwm3d_kp_s42_v2), n = 405, 10000 clip-bootstrap seed 0; SURVIVE iff mean Δ ≤ -0.3 px; ≤ 2 survivors ranked by mean Δ, ties within 0.1 px -> fewer components (full/q060/q090/lam03 = 5, nospatial/khead/hazaux/plain = 4, nohaz = 3); HM guard (never a ranking statistic): KILL iff Δ val HM (40 clips) mean > +3.0 AND CI excl. 0.
cfg run flags params best ep / epochs / stop / GPU min val All Δ val All [CI] Δ val HM [CI] (secondary) guard S1 status test All (recorded, not used)
K (baseline) cwm3d_kp_s42_v2 — 5771449 58 / 99 / early_stop(patience=40) / 0.6 55.367 0 0 — — 48.767
full cwm3d_v2_s42_v2 (full) 2736282 75 / 116 / early_stop(patience=40) / 2.25 55.170 -0.197 [-0.798,+0.387] +0.60 [-2.54,+3.45] ok KILL 48.696
nospatial cwm3d_v2_nospatial_s42_v2 --no-v2-spatial 2666906 87 / 128 / early_stop(patience=40) / 1.69 54.788 -0.579 [-1.275,+0.058] -0.64 [-4.19,+1.99] ok SURVIVE 48.267
khead cwm3d_v2_khead_s42_v2 --no-lean-head 5091964 52 / 93 / early_stop(patience=40) / 4.75 55.482 +0.115 [-0.442,+0.662] +1.06 [-1.16,+3.09] ok KILL 48.642
nohaz cwm3d_v2_nohaz_s42_v2 --no-hazard 2702199 106 / 147 / early_stop(patience=40) / 5.71 55.325 -0.042 [-0.873,+0.723] +2.94 [-0.38,+6.86] ok KILL 48.648
hazaux cwm3d_v2_hazaux_s42_v2 --haz-mod 0 2736267 87 / 128 / early_stop(patience=40) / 4.51 55.140 -0.227 [-0.888,+0.393] +2.41 [+0.04,+4.95] ok KILL 48.592
plain cwm3d_v2_plain_s42_v2 --no-physics --w-nll 0 2736282 65 / 106 / early_stop(patience=40) / 3.69 55.218 -0.149 [-0.722,+0.397] +1.73 [-0.72,+4.18] ok KILL 48.728
q060 cwm3d_v2_q060_s42_v2 --haz-quantile 0.60 2736282 76 / 117 / early_stop(patience=40) / 4.32 55.320 -0.047 [-0.674,+0.606] +3.26 [+0.21,+7.50] KILL KILL 48.704
q090 cwm3d_v2_q090_s42_v2 --haz-quantile 0.90 2736282 71 / 112 / early_stop(patience=40) / 4.19 55.128 -0.239 [-0.774,+0.291] +1.33 [-1.27,+4.02] ok KILL 48.380
lam03 cwm3d_v2_lam03_s42_v2 --haz-weight 0.3 2736282 87 / 128 / early_stop(patience=40) / 5.51 55.019 -0.348 [-1.018,+0.310] +1.92 [-0.73,+5.20] ok SURVIVE 48.512

S1 survivors (decision): nospatial, lam03.

1.1 S1b (survivors at seed 123 vs cwm3d_kp_s123_v2; CONTINUE iff Δ val(123) < 0 and 2-seed mean ≤ −0.25)

cfg seed-123 run val All Δ val All s42 [CI] Δ val All s123 [CI] 2-seed mean decision source
nospatial cwm3d_v2_nospatial_s123_v2 54.801 -0.579 [-1.275,+0.058] -0.566 [-1.121,-0.038] -0.573 CONTINUE decision json 2026-09-15T00:00:38Z
lam03 cwm3d_v2_lam03_s123_v2 55.297 -0.348 [-1.018,+0.310] -0.070 [-0.678,+0.534] -0.209 KILLED decision json 2026-09-15T00:00:39Z

S1b: continuing to 5 seeds: nospatial.

2. S2 — 5 seeds (42 / 123 / 456 / 789 / 1011), TEST (one evaluation per run), K-v2 survivors without / with BATON trunk-only init

  • Pretraining cwm3d_v2_batonpre_pretrain_s123 (architecture-matched trunk for lam03): not run / not finished.
  • Pretraining cwm3d_v2_nospatial_batonpre_pretrain_s123 (architecture-matched trunk for nospatial): finished (6 epochs, best epoch 5, held-out All 27.18, 10.72 GPU-min, corpus sha256 465dac1cf0a8265a, command aide/train/pretrain_cwm3d_baton.py --model cwm3d_v2 --no-v2-spatial --seed 123 --name cwm3d_v2_nospatial_batonpre_pretrain_s123 --zeroshot 0).
  • pretrain-check nospatial: vs K checkpoint → NEED_V2_PRETRAIN (loaded 47 / 54 trunk tensors, shape-skipped 0, missing 7); vs own pretraining → trunk_complete = True (loaded 54 / 54, shape-skipped 0, missing 0).
  • pretrain-check lam03: vs K checkpoint → no json (loaded — / — trunk tensors, shape-skipped —, missing —); vs own pretraining → no json.

2.1 nospatial (--no-v2-spatial)

seed arm run params best ep / epochs / stop GPU min val All All [CI] d-n [CI] HM [CI] PCK@0.05 [CI] HM h=5 [CI]
42 K-v2 cwm3d_v2_nospatial_s42_v2 2666906 87 / 128 / early_stop(patience=40) 1.69 54.788 48.27 [44.54, 52.40] 2.191 [2.022, 2.379] 128.74 [106.37, 157.12] 87.10 [85.94, 88.24] 159.70 [116.06, 218.87]
42 K-v2 + pre cwm3d_v2_nospatial_batonpre_trunkp123_s42_v2 2666906 44 / 85 / early_stop(patience=40) 1.21 54.689 47.98 [44.26, 52.04] 2.178 [2.009, 2.363] 128.58 [106.36, 156.90] 87.20 [86.08, 88.32] 159.20 [115.08, 219.21]
123 K-v2 cwm3d_v2_nospatial_s123_v2 2666906 84 / 125 / early_stop(patience=40) 3.71 54.801 48.53 [44.75, 52.63] 2.203 [2.031, 2.389] 129.11 [106.68, 157.62] 86.95 [85.78, 88.12] 161.40 [117.80, 220.27]
123 K-v2 + pre cwm3d_v2_nospatial_batonpre_trunkp123_s123_v2 2666906 42 / 83 / early_stop(patience=40) 1.09 54.321 47.95 [44.22, 52.05] 2.177 [2.007, 2.363] 129.25 [106.85, 157.68] 87.29 [86.15, 88.40] 160.85 [116.52, 221.12]
456 K-v2 cwm3d_v2_nospatial_s456_v2 2666906 91 / 132 / early_stop(patience=40) 3.67 55.150 48.53 [44.76, 52.59] 2.203 [2.032, 2.388] 129.92 [107.92, 158.13] 87.01 [85.86, 88.16] 160.73 [117.34, 219.34]
456 K-v2 + pre cwm3d_v2_nospatial_batonpre_trunkp123_s456_v2 2666906 44 / 85 / early_stop(patience=40) 1.12 54.352 48.04 [44.34, 52.10] 2.181 [2.013, 2.365] 128.45 [106.26, 156.89] 87.09 [85.95, 88.21] 159.24 [115.23, 219.46]
789 K-v2 cwm3d_v2_nospatial_s789_v2 2666906 80 / 121 / early_stop(patience=40) 1.65 55.048 48.44 [44.65, 52.56] 2.199 [2.027, 2.386] 130.96 [108.49, 159.39] 86.96 [85.82, 88.10] 161.72 [117.96, 220.66]
789 K-v2 + pre cwm3d_v2_nospatial_batonpre_trunkp123_s789_v2 2666906 40 / 81 / early_stop(patience=40) 1.08 54.710 47.81 [44.12, 51.85] 2.170 [2.003, 2.354] 128.48 [106.16, 157.11] 87.25 [86.14, 88.36] 159.53 [115.32, 219.61]
1011 K-v2 cwm3d_v2_nospatial_s1011_v2 2666906 81 / 122 / early_stop(patience=40) 1.58 54.744 48.30 [44.53, 52.43] 2.192 [2.021, 2.380] 131.03 [108.45, 159.36] 87.09 [85.94, 88.23] 164.10 [120.54, 222.22]
1011 K-v2 + pre cwm3d_v2_nospatial_batonpre_trunkp123_s1011_v2 2666906 44 / 85 / early_stop(patience=40) 1.12 54.559 48.10 [44.37, 52.18] 2.183 [2.014, 2.369] 129.87 [107.84, 158.26] 87.28 [86.16, 88.39] 161.58 [118.12, 220.56]

Δ = K-v2 − K, per seed (n = 5 seed pairs finished; n_req = ceil(2n/3) = 4)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 48.27 48.53 48.53 48.44 48.30 48.77 48.66 48.46 48.54 48.57 -0.50 [-1.00,-0.01] -0.13 [-0.69,+0.33] +0.07 [-0.42,+0.59] -0.10 [-0.44,+0.24] -0.28 [-0.60,+0.05] -0.19 ± 0.21 INCONCLUSIVE
d-n 2.191 2.203 2.203 2.199 2.192 2.214 2.209 2.200 2.204 2.205 -0.023 [-0.045,-0.001] -0.006 [-0.031,+0.015] +0.003 [-0.019,+0.027] -0.005 [-0.020,+0.011] -0.013 [-0.027,+0.002] -0.009 ± 0.010 INCONCLUSIVE
HM-MPJPE 128.74 129.11 129.92 130.96 131.03 132.49 131.05 131.37 131.73 131.22 -3.75 [-5.86,-1.76] -1.94 [-3.80,-0.25] -1.45 [-3.86,+0.83] -0.77 [-2.46,+1.04] -0.19 [-2.01,+1.73] -1.62 ± 1.36 INCONCLUSIVE
PCK@0.05 87.10 86.95 87.01 86.96 87.09 87.00 86.99 87.13 87.00 87.00 +0.10 [-0.17,+0.36] -0.04 [-0.34,+0.28] -0.11 [-0.42,+0.16] -0.04 [-0.26,+0.17] +0.09 [-0.10,+0.29] -0.00 ± 0.09 NOT_WORSE
HM h=5 159.70 161.40 160.73 161.72 164.10 164.19 163.36 162.55 163.04 163.70 -4.49 [-9.02,-0.43] -1.96 [-4.68,+0.59] -1.82 [-6.12,+2.26] -1.33 [-4.21,+1.76] +0.39 [-2.73,+3.48] -1.84 ± 1.75 INCONCLUSIVE
All body 70.64 70.83 70.85 70.96 70.73 71.39 71.29 71.02 71.05 71.03 -0.75 [-1.33,-0.20] -0.45 [-1.15,+0.14] -0.18 [-0.74,+0.48] -0.09 [-0.57,+0.39] -0.30 [-0.78,+0.17] -0.35 ± 0.26 INCONCLUSIVE
All face 25.58 25.80 25.58 25.75 25.76 25.64 25.86 25.57 25.62 25.75 -0.07 [-0.60,+0.46] -0.06 [-0.60,+0.47] +0.01 [-0.55,+0.59] +0.14 [-0.28,+0.58] +0.01 [-0.37,+0.39] +0.01 ± 0.08 NOT_WORSE
All lhand 64.79 65.01 65.17 64.71 64.37 65.67 65.11 65.03 65.05 65.30 -0.89 [-2.10,+0.31] -0.10 [-1.17,+0.93] +0.14 [-0.88,+1.21] -0.34 [-1.20,+0.51] -0.93 [-1.84,-0.06] -0.42 ± 0.47 INCONCLUSIVE
All rhand 77.51 78.01 78.57 77.77 77.40 78.72 78.03 78.09 78.41 77.94 -1.22 [-2.47,+0.02] -0.02 [-1.20,+1.11] +0.48 [-0.86,+1.86] -0.65 [-1.58,+0.31] -0.54 [-1.30,+0.23] -0.39 ± 0.65 INCONCLUSIVE
All h=1 34.88 34.80 34.89 34.86 34.77 35.08 35.03 35.07 35.00 35.14 -0.20 [-0.82,+0.48] -0.24 [-0.81,+0.21] -0.18 [-0.57,+0.20] -0.15 [-0.54,+0.27] -0.37 [-0.88,+0.04] -0.23 ± 0.09 INCONCLUSIVE
All h=2 44.18 44.31 44.52 44.47 44.25 44.84 44.66 44.50 44.55 44.60 -0.66 [-1.44,+0.01] -0.35 [-0.97,+0.16] +0.02 [-0.48,+0.53] -0.09 [-0.52,+0.34] -0.36 [-0.71,-0.00] -0.29 ± 0.27 INCONCLUSIVE
All h=3 51.58 51.88 51.93 51.77 51.55 52.24 52.04 51.87 51.93 51.85 -0.66 [-1.39,+0.01] -0.16 [-0.81,+0.44] +0.06 [-0.62,+0.79] -0.16 [-0.65,+0.32] -0.30 [-0.76,+0.17] -0.24 ± 0.27 INCONCLUSIVE
All h=4 53.26 53.69 53.54 53.55 53.40 53.91 53.76 53.50 53.68 53.60 -0.65 [-1.36,+0.02] -0.07 [-0.73,+0.55] +0.04 [-0.70,+0.83] -0.13 [-0.64,+0.39] -0.20 [-0.65,+0.26] -0.20 ± 0.26 INCONCLUSIVE
All h=5 57.43 57.96 57.79 57.58 57.50 57.77 57.81 57.38 57.55 57.67 -0.34 [-1.05,+0.33] +0.15 [-0.46,+0.75] +0.41 [-0.37,+1.28] +0.02 [-0.51,+0.52] -0.17 [-0.62,+0.29] +0.02 ± 0.29 INCONCLUSIVE

Δ = K-v2+pre − K+pre, per seed (n = 5 seed pairs finished; n_req = ceil(2n/3) = 4)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 47.95 48.04 47.81 48.10 47.98 48.04 48.01 48.12 48.11 +0.00 [-0.37,+0.36] -0.09 [-0.47,+0.27] +0.03 [-0.40,+0.45] -0.31 [-0.72,+0.07] -0.02 [-0.37,+0.32] -0.08 ± 0.14 INCONCLUSIVE
d-n 2.178 2.177 2.181 2.170 2.183 2.178 2.181 2.179 2.184 2.184 +0.000 [-0.017,+0.016] -0.004 [-0.022,+0.012] +0.001 [-0.018,+0.020] -0.014 [-0.033,+0.003] -0.001 [-0.017,+0.015] -0.003 ± 0.006 NOT_WORSE
HM-MPJPE 128.58 129.25 128.45 128.48 129.87 128.43 129.13 128.51 129.32 128.73 +0.15 [-2.22,+2.25] +0.12 [-1.63,+1.72] -0.06 [-2.48,+1.92] -0.84 [-2.64,+0.85] +1.14 [-0.67,+2.94] +0.10 ± 0.71 INCONCLUSIVE
PCK@0.05 87.20 87.29 87.09 87.25 87.28 87.21 87.20 87.16 87.06 87.03 -0.00 [-0.21,+0.22] +0.08 [-0.10,+0.28] -0.07 [-0.34,+0.23] +0.19 [-0.06,+0.46] +0.24 [+0.02,+0.50] +0.09 ± 0.13 INCONCLUSIVE
HM h=5 159.20 160.85 159.24 159.53 161.58 159.35 160.11 159.02 161.39 159.72 -0.15 [-4.17,+3.78] +0.74 [-2.12,+3.40] +0.22 [-4.10,+4.02] -1.86 [-5.12,+1.28] +1.86 [-2.13,+5.96] +0.16 ± 1.36 INCONCLUSIVE
All body 70.48 70.17 70.36 70.27 70.26 70.64 70.68 70.78 70.48 70.37 -0.16 [-0.58,+0.27] -0.50 [-1.04,-0.02] -0.41 [-0.89,+0.05] -0.21 [-0.68,+0.24] -0.11 [-0.49,+0.28] -0.28 ± 0.17 INCONCLUSIVE
All face 25.45 25.64 25.52 25.28 25.66 25.35 25.40 25.28 25.47 25.37 +0.09 [-0.33,+0.49] +0.24 [-0.13,+0.60] +0.24 [-0.29,+0.76] -0.19 [-0.67,+0.23] +0.28 [-0.11,+0.65] +0.13 ± 0.20 INCONCLUSIVE
All lhand 63.92 63.86 63.41 63.85 63.42 64.02 63.91 64.19 64.16 64.39 -0.10 [-1.13,+0.95] -0.04 [-1.02,+0.97] -0.78 [-1.81,+0.23] -0.30 [-1.39,+0.77] -0.98 [-2.02,+0.04] -0.44 ± 0.42 INCONCLUSIVE
All rhand 77.14 76.77 77.93 76.92 78.00 77.14 77.47 77.21 77.73 77.91 +0.00 [-0.98,+0.98] -0.70 [-1.73,+0.30] +0.72 [-0.29,+1.74] -0.81 [-1.85,+0.20] +0.09 [-0.96,+1.14] -0.14 ± 0.63 INCONCLUSIVE
All h=1 34.69 34.59 34.78 34.56 34.79 34.53 34.34 34.69 34.56 34.62 +0.15 [-0.23,+0.53] +0.25 [-0.14,+0.66] +0.10 [-0.31,+0.48] +0.00 [-0.36,+0.34] +0.17 [-0.18,+0.52] +0.13 ± 0.09 NOT_WORSE
All h=2 43.96 44.01 44.06 43.76 44.04 44.11 44.08 44.13 44.10 44.20 -0.15 [-0.62,+0.33] -0.07 [-0.58,+0.40] -0.06 [-0.59,+0.44] -0.35 [-0.79,+0.09] -0.15 [-0.60,+0.28] -0.16 ± 0.12 INCONCLUSIVE
All h=3 51.22 51.14 51.28 51.05 51.43 51.31 51.50 51.36 51.42 51.54 -0.09 [-0.55,+0.37] -0.36 [-0.88,+0.11] -0.08 [-0.64,+0.46] -0.36 [-0.87,+0.12] -0.10 [-0.59,+0.37] -0.20 ± 0.15 INCONCLUSIVE
All h=4 53.06 52.95 53.05 52.88 53.12 53.02 53.19 53.05 53.22 53.22 +0.03 [-0.50,+0.56] -0.24 [-0.81,+0.28] -0.01 [-0.62,+0.60] -0.34 [-0.94,+0.23] -0.09 [-0.66,+0.47] -0.13 ± 0.16 INCONCLUSIVE
All h=5 56.97 57.07 57.01 56.79 57.09 56.92 57.10 56.81 57.28 56.99 +0.05 [-0.51,+0.62] -0.03 [-0.60,+0.50] +0.20 [-0.44,+0.83] -0.49 [-1.15,+0.12] +0.10 [-0.50,+0.70] -0.04 ± 0.27 INCONCLUSIVE

Δ = K-v2 − MB-best[do0.1], per seed (n = 5 seed pairs finished; n_req = ceil(2n/3) = 4)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 48.27 48.53 48.53 48.44 48.30 48.39 48.41 48.21 48.37 48.92 -0.12 [-0.75,+0.49] +0.12 [-0.31,+0.54] +0.32 [-0.26,+0.92] +0.07 [-0.43,+0.59] -0.62 [-1.24,-0.03] -0.05 ± 0.36 INCONCLUSIVE
d-n 2.191 2.203 2.203 2.199 2.192 2.197 2.197 2.188 2.196 2.221 -0.006 [-0.034,+0.022] +0.005 [-0.014,+0.025] +0.015 [-0.012,+0.042] +0.003 [-0.020,+0.027] -0.028 [-0.056,-0.001] -0.002 ± 0.016 INCONCLUSIVE
HM-MPJPE 128.74 129.11 129.92 130.96 131.03 130.48 129.51 128.99 130.78 130.61 -1.74 [-3.99,+0.38] -0.40 [-2.37,+1.65] +0.93 [-1.89,+3.74] +0.18 [-2.95,+3.59] +0.43 [-2.06,+2.97] -0.12 ± 1.02 INCONCLUSIVE
PCK@0.05 87.10 86.95 87.01 86.96 87.09 87.26 87.11 87.30 87.20 86.90 -0.16 [-0.51,+0.16] -0.16 [-0.47,+0.12] -0.28 [-0.62,+0.04] -0.24 [-0.56,+0.06] +0.20 [-0.08,+0.48] -0.13 ± 0.19 INCONCLUSIVE
HM h=5 159.70 161.40 160.73 161.72 164.10 163.78 162.75 162.24 164.33 163.65 -4.08 [-8.62,+0.25] -1.34 [-5.07,+2.43] -1.51 [-6.34,+3.12] -2.62 [-7.44,+2.14] +0.44 [-4.18,+4.84] -1.82 ± 1.67 INCONCLUSIVE
All body 70.64 70.83 70.85 70.96 70.73 70.88 70.94 70.85 70.68 71.10 -0.23 [-0.86,+0.38] -0.10 [-0.79,+0.53] +0.00 [-0.73,+0.75] +0.28 [-0.33,+0.89] -0.37 [-1.03,+0.28] -0.09 ± 0.25 INCONCLUSIVE
All face 25.58 25.80 25.58 25.75 25.76 25.39 25.70 25.53 25.45 25.92 +0.19 [-0.43,+0.87] +0.10 [-0.33,+0.57] +0.06 [-0.50,+0.66] +0.31 [-0.32,+1.00] -0.16 [-0.77,+0.47] +0.10 ± 0.17 INCONCLUSIVE
All lhand 64.79 65.01 65.17 64.71 64.37 65.53 65.27 65.04 65.36 66.48 -0.74 [-2.22,+0.64] -0.26 [-1.39,+0.82] +0.13 [-1.25,+1.42] -0.65 [-2.00,+0.58] -2.11 [-4.05,-0.42] -0.73 ± 0.85 INCONCLUSIVE
All rhand 77.51 78.01 78.57 77.77 77.40 77.89 77.19 76.79 77.97 78.36 -0.38 [-1.90,+1.02] +0.81 [-0.36,+1.98] +1.78 [+0.27,+3.40] -0.20 [-1.44,+1.03] -0.96 [-2.40,+0.47] +0.21 ± 1.09 INCONCLUSIVE
All h=1 34.88 34.80 34.89 34.86 34.77 34.97 34.99 34.94 35.20 35.23 -0.09 [-0.55,+0.36] -0.19 [-0.63,+0.19] -0.05 [-0.55,+0.42] -0.35 [-0.89,+0.19] -0.45 [-1.04,+0.10] -0.23 ± 0.17 INCONCLUSIVE
All h=2 44.18 44.31 44.52 44.47 44.25 44.28 44.37 44.14 44.29 44.95 -0.10 [-0.77,+0.56] -0.07 [-0.57,+0.42] +0.38 [-0.18,+0.94] +0.17 [-0.41,+0.80] -0.71 [-1.40,-0.04] -0.06 ± 0.41 INCONCLUSIVE
All h=3 51.58 51.88 51.93 51.77 51.55 51.69 51.85 51.49 51.80 52.39 -0.11 [-0.89,+0.66] +0.03 [-0.59,+0.64] +0.43 [-0.33,+1.23] -0.03 [-0.74,+0.70] -0.84 [-1.65,-0.03] -0.10 ± 0.46 INCONCLUSIVE
All h=4 53.26 53.69 53.54 53.55 53.40 53.38 53.41 53.00 53.10 53.86 -0.12 [-0.98,+0.70] +0.28 [-0.34,+0.90] +0.54 [-0.36,+1.46] +0.44 [-0.31,+1.22] -0.46 [-1.26,+0.32] +0.14 ± 0.42 INCONCLUSIVE
All h=5 57.43 57.96 57.79 57.58 57.50 57.63 57.43 57.46 57.45 58.16 -0.19 [-1.05,+0.65] +0.53 [-0.09,+1.15] +0.32 [-0.55,+1.27] +0.12 [-0.60,+0.84] -0.66 [-1.50,+0.16] +0.03 ± 0.46 INCONCLUSIVE

Δ = K-v2+pre − MB-best[do0.1]+pre, per seed (n = 5 seed pairs finished; n_req = ceil(2n/3) = 4)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 47.95 48.04 47.81 48.10 47.78 47.44 47.74 47.74 47.77 +0.20 [-0.34,+0.72] +0.51 [-0.00,+1.05] +0.30 [-0.21,+0.82] +0.07 [-0.42,+0.55] +0.33 [-0.24,+0.90] +0.28 ± 0.16 INCONCLUSIVE
d-n 2.178 2.177 2.181 2.170 2.183 2.169 2.153 2.167 2.167 2.168 +0.009 [-0.015,+0.033] +0.023 [-0.000,+0.048] +0.014 [-0.010,+0.037] +0.003 [-0.019,+0.025] +0.015 [-0.011,+0.041] +0.013 ± 0.007 NOT_WORSE
HM-MPJPE 128.58 129.25 128.45 128.48 129.87 128.16 127.07 127.75 127.88 128.48 +0.42 [-1.80,+2.63] +2.18 [-0.47,+5.11] +0.70 [-1.92,+3.42] +0.60 [-1.34,+2.58] +1.39 [-1.55,+4.38] +1.06 ± 0.73 INCONCLUSIVE
PCK@0.05 87.20 87.29 87.09 87.25 87.28 87.45 87.45 87.38 87.36 87.41 -0.24 [-0.54,+0.05] -0.17 [-0.47,+0.12] -0.29 [-0.61,+0.02] -0.11 [-0.37,+0.17] -0.13 [-0.45,+0.17] -0.19 ± 0.08 INCONCLUSIVE
HM h=5 159.20 160.85 159.24 159.53 161.58 159.24 157.09 158.75 158.93 159.83 -0.05 [-3.75,+3.54] +3.76 [-0.73,+8.20] +0.48 [-3.58,+4.53] +0.60 [-3.47,+4.54] +1.75 [-3.19,+6.91] +1.31 ± 1.52 INCONCLUSIVE
All body 70.48 70.17 70.36 70.27 70.26 70.16 69.94 70.19 70.01 69.98 +0.32 [-0.28,+0.94] +0.24 [-0.39,+0.85] +0.18 [-0.47,+0.83] +0.26 [-0.36,+0.85] +0.28 [-0.39,+0.95] +0.25 ± 0.05 INCONCLUSIVE
All face 25.45 25.64 25.52 25.28 25.66 25.44 25.26 25.40 25.38 25.28 +0.01 [-0.48,+0.47] +0.37 [-0.16,+0.94] +0.12 [-0.46,+0.73] -0.11 [-0.52,+0.29] +0.37 [-0.22,+0.99] +0.15 ± 0.22 INCONCLUSIVE
All lhand 63.92 63.86 63.41 63.85 63.42 63.71 62.90 63.24 63.58 63.62 +0.21 [-1.11,+1.52] +0.96 [-0.26,+2.19] +0.17 [-1.19,+1.52] +0.27 [-0.97,+1.56] -0.20 [-1.61,+1.14] +0.28 ± 0.42 INCONCLUSIVE
All rhand 77.14 76.77 77.93 76.92 78.00 76.50 75.91 76.78 76.69 77.22 +0.64 [-0.96,+2.24] +0.86 [-0.68,+2.38] +1.15 [-0.24,+2.51] +0.23 [-1.31,+1.71] +0.78 [-1.02,+2.52] +0.73 ± 0.34 INCONCLUSIVE
All h=1 34.69 34.59 34.78 34.56 34.79 34.53 34.00 34.63 34.52 34.48 +0.16 [-0.41,+0.69] +0.59 [+0.07,+1.10] +0.16 [-0.34,+0.63] +0.04 [-0.47,+0.51] +0.32 [-0.27,+0.87] +0.25 ± 0.21 INCONCLUSIVE
All h=2 43.96 44.01 44.06 43.76 44.04 43.93 43.58 43.88 43.96 43.95 +0.04 [-0.58,+0.67] +0.43 [-0.15,+1.02] +0.19 [-0.45,+0.83] -0.21 [-0.82,+0.38] +0.09 [-0.61,+0.79] +0.11 ± 0.23 INCONCLUSIVE
All h=3 51.22 51.14 51.28 51.05 51.43 51.06 51.02 51.34 51.20 51.42 +0.16 [-0.45,+0.79] +0.12 [-0.59,+0.85] -0.06 [-0.76,+0.67] -0.15 [-0.83,+0.53] +0.02 [-0.77,+0.80] +0.02 ± 0.13 NOT_WORSE
All h=4 53.06 52.95 53.05 52.88 53.12 52.52 52.25 52.24 52.36 52.38 +0.53 [-0.16,+1.23] +0.70 [+0.02,+1.38] +0.81 [+0.10,+1.53] +0.52 [-0.11,+1.15] +0.74 [-0.02,+1.54] +0.66 ± 0.13 INCONCLUSIVE
All h=5 56.97 57.07 57.01 56.79 57.09 56.88 56.33 56.61 56.62 56.61 +0.10 [-0.67,+0.84] +0.74 [-0.04,+1.52] +0.40 [-0.30,+1.11] +0.17 [-0.52,+0.84] +0.48 [-0.29,+1.26] +0.38 ± 0.26 INCONCLUSIVE

Secondary: AUC of the hazard probability haz_P (max / mean over parts × horizons) for HM membership (descriptive)

seed split AUC(max haz_P) AUC(mean haz_P)
42 val 0.812 0.832
42 test 0.831 0.845
123 val 0.793 0.796
123 test 0.827 0.835
456 val 0.779 0.785
456 test 0.830 0.845
789 val 0.796 0.801
789 test 0.827 0.837
1011 val 0.797 0.801
1011 test 0.812 0.829

2.2 lam03 (--haz-weight 0.3)

seed arm run params best ep / epochs / stop GPU min val All All [CI] d-n [CI] HM [CI] PCK@0.05 [CI] HM h=5 [CI]
42 K-v2 cwm3d_v2_lam03_s42_v2 2736282 87 / 128 / early_stop(patience=40) 5.51 55.019 48.51 [44.76, 52.63] 2.202 [2.032, 2.389] 130.39 [108.20, 158.69] 87.00 [85.84, 88.14] 161.80 [118.48, 220.73]
42 K-v2 + pre cwm3d_v2_lam03_batonpre_trunkp123_s42_v2 — pending — — — — — — —
123 K-v2 cwm3d_v2_lam03_s123_v2 2736282 76 / 117 / early_stop(patience=40) 4.47 55.297 48.53 [44.78, 52.64] 2.203 [2.033, 2.389] 130.48 [108.05, 158.75] 87.07 [85.94, 88.19] 162.10 [118.09, 221.88]
123 K-v2 + pre cwm3d_v2_lam03_batonpre_trunkp123_s123_v2 — pending — — — — — — —
456 K-v2 cwm3d_v2_lam03_s456_v2 — pending — — — — — — —
456 K-v2 + pre cwm3d_v2_lam03_batonpre_trunkp123_s456_v2 — pending — — — — — — —
789 K-v2 cwm3d_v2_lam03_s789_v2 — pending — — — — — — —
789 K-v2 + pre cwm3d_v2_lam03_batonpre_trunkp123_s789_v2 — pending — — — — — — —
1011 K-v2 cwm3d_v2_lam03_s1011_v2 — pending — — — — — — —
1011 K-v2 + pre cwm3d_v2_lam03_batonpre_trunkp123_s1011_v2 — pending — — — — — — —

Δ = K-v2 − K, per seed (n = 2 seed pairs finished; n_req = ceil(2n/3) = 2)

cell A s42 A s123 B s42 B s123 Δ s42 [CI] Δ s123 [CI] mean Δ ± sd verdict
All-MPJPE 48.51 48.53 48.77 48.66 -0.26 [-0.72,+0.19] -0.13 [-0.71,+0.35] -0.19 ± 0.09 INCONCLUSIVE
d-n 2.202 2.203 2.214 2.209 -0.012 [-0.032,+0.009] -0.006 [-0.032,+0.016] -0.009 ± 0.004 NOT_WORSE
HM-MPJPE 130.39 130.48 132.49 131.05 -2.10 [-4.70,+0.41] -0.57 [-2.38,+1.33] -1.34 ± 1.09 INCONCLUSIVE
PCK@0.05 87.00 87.07 87.00 86.99 +0.00 [-0.20,+0.20] +0.08 [-0.18,+0.42] +0.04 ± 0.06 NOT_WORSE
HM h=5 161.80 162.10 164.19 163.36 -2.39 [-6.42,+1.45] -1.26 [-4.39,+1.79] -1.83 ± 0.80 INCONCLUSIVE
All body 70.83 70.75 71.39 71.29 -0.56 [-1.16,+0.03] -0.54 [-1.23,+0.03] -0.55 ± 0.02 INCONCLUSIVE
All face 25.54 25.61 25.64 25.86 -0.10 [-0.58,+0.34] -0.25 [-0.78,+0.20] -0.18 ± 0.10 INCONCLUSIVE
All lhand 65.34 65.44 65.67 65.11 -0.33 [-1.62,+0.91] +0.34 [-0.79,+1.52] +0.00 ± 0.47 INCONCLUSIVE
All rhand 78.43 78.34 78.72 78.03 -0.29 [-1.47,+0.96] +0.31 [-0.83,+1.43] +0.01 ± 0.42 INCONCLUSIVE
All h=1 34.87 35.11 35.08 35.03 -0.21 [-0.79,+0.37] +0.08 [-0.54,+0.59] -0.06 ± 0.20 NOT_WORSE
All h=2 44.63 44.53 44.84 44.66 -0.21 [-0.91,+0.42] -0.12 [-0.82,+0.46] -0.17 ± 0.06 NOT_WORSE
All h=3 51.92 51.97 52.24 52.04 -0.32 [-1.02,+0.33] -0.06 [-0.77,+0.56] -0.19 ± 0.18 INCONCLUSIVE
All h=4 53.62 53.56 53.91 53.76 -0.29 [-0.90,+0.31] -0.20 [-0.90,+0.44] -0.24 ± 0.06 INCONCLUSIVE
All h=5 57.52 57.48 57.77 57.81 -0.25 [-0.86,+0.33] -0.33 [-0.98,+0.26] -0.29 ± 0.06 INCONCLUSIVE

Δ = K-v2+pre − K+pre, per seed (n = 0 seed pairs finished; n_req = ceil(2n/3) = —)

(pending — no finished seed pair)

Δ = K-v2 − MB-best[do0.1], per seed (n = 2 seed pairs finished; n_req = ceil(2n/3) = 2)

cell A s42 A s123 B s42 B s123 Δ s42 [CI] Δ s123 [CI] mean Δ ± sd verdict
All-MPJPE 48.51 48.53 48.39 48.41 +0.12 [-0.47,+0.68] +0.12 [-0.25,+0.48] +0.12 ± 0.00 NOT_WORSE
d-n 2.202 2.203 2.197 2.197 +0.006 [-0.022,+0.031] +0.006 [-0.011,+0.022] +0.006 ± 0.000 NOT_WORSE
HM-MPJPE 130.39 130.48 130.48 129.51 -0.09 [-2.76,+2.71] +0.98 [-0.50,+2.61] +0.44 ± 0.76 INCONCLUSIVE
PCK@0.05 87.00 87.07 87.26 87.11 -0.25 [-0.55,+0.02] -0.04 [-0.27,+0.21] -0.15 ± 0.15 INCONCLUSIVE
HM h=5 161.80 162.10 163.78 162.75 -1.98 [-7.13,+3.15] -0.65 [-3.66,+2.07] -1.31 ± 0.94 INCONCLUSIVE
All body 70.83 70.75 70.88 70.94 -0.04 [-0.60,+0.49] -0.19 [-0.80,+0.35] -0.12 ± 0.10 NOT_WORSE
All face 25.54 25.61 25.39 25.70 +0.15 [-0.52,+0.86] -0.09 [-0.52,+0.35] +0.03 ± 0.17 NOT_WORSE
All lhand 65.34 65.44 65.53 65.27 -0.19 [-1.37,+0.87] +0.17 [-0.70,+1.05] -0.01 ± 0.26 NOT_WORSE
All rhand 78.43 78.34 77.89 77.19 +0.54 [-0.66,+1.70] +1.15 [+0.10,+2.24] +0.85 ± 0.43 INCONCLUSIVE
All h=1 34.87 35.11 34.97 34.99 -0.10 [-0.61,+0.38] +0.13 [-0.34,+0.51] +0.02 ± 0.16 NOT_WORSE
All h=2 44.63 44.53 44.28 44.37 +0.35 [-0.32,+0.97] +0.16 [-0.34,+0.64] +0.25 ± 0.13 INCONCLUSIVE
All h=3 51.92 51.97 51.69 51.85 +0.23 [-0.55,+0.97] +0.13 [-0.40,+0.65] +0.18 ± 0.07 NOT_WORSE
All h=4 53.62 53.56 53.38 53.41 +0.24 [-0.61,+1.05] +0.16 [-0.33,+0.65] +0.20 ± 0.06 NOT_WORSE
All h=5 57.52 57.48 57.63 57.43 -0.11 [-0.96,+0.70] +0.04 [-0.41,+0.50] -0.03 ± 0.11 NOT_WORSE

Δ = K-v2+pre − MB-best[do0.1]+pre, per seed (n = 0 seed pairs finished; n_req = ceil(2n/3) = —)

(pending — no finished seed pair)

Secondary: AUC of the hazard probability haz_P (max / mean over parts × horizons) for HM membership (descriptive)

seed split AUC(max haz_P) AUC(mean haz_P)
42 val 0.800 0.798
42 test 0.831 0.835
123 val 0.792 0.800
123 test 0.824 0.823

3. S3 — MotionBERT-kp fairness arm (same val budget: 9 new grid points + existing default = 10; MB-best = argmin val All, ties 0.10 → fewer params)

  • Decision source: aide/results/kv2/s3_decision.json written 2026-09-14T23:49:07Z (complete = True). Rule: MB-best = argmin val All over the 10 grid points (9 new + existing default); ties within 0.1 px -> fewer parameters.
cfg run model flags params best ep / epochs / stop / GPU min val All Δ val All vs default [CI] test All (recorded, not used) S3
default motionbert_kp_s42_v2 motionbert_kp (default) 813088 81 / 122 / early_stop(patience=40) / 4.6 55.550 +0.000 [+0.000,+0.000] 48.279
d192 motionbert_kp_d192_s42_v2 motionbert_kp_d192 (default) 1809440 64 / 105 / early_stop(patience=40) / 6.14 55.559 +0.009 [-0.573,+0.575] 48.595
L4 motionbert_kp_L4_s42_v2 motionbert_kp_L4 (default) 1077664 82 / 123 / early_stop(patience=40) / 4.71 55.433 -0.117 [-0.572,+0.313] 48.488
lr1e-4 motionbert_kp_lr1e-4_s42_v2 motionbert_kp --lr 1e-4 813088 79 / 120 / early_stop(patience=40) / 3.18 55.310 -0.240 [-0.773,+0.247] 48.493
lr1e-3 motionbert_kp_lr1e-3_s42_v2 motionbert_kp --lr 1e-3 813088 60 / 101 / early_stop(patience=40) / 2.75 55.281 -0.269 [-0.732,+0.131] 48.394
wd0.01 motionbert_kp_wd0.01_s42_v2 motionbert_kp --wd 0.01 813088 73 / 114 / early_stop(patience=40) / 3.15 55.366 -0.184 [-0.659,+0.199] 48.342
wd0.1 motionbert_kp_wd0.1_s42_v2 motionbert_kp --wd 0.1 813088 64 / 105 / early_stop(patience=40) / 2.83 55.603 +0.053 [-0.324,+0.440] 48.424
do0.1 motionbert_kp_do0.1_s42_v2 motionbert_kp --dropout 0.1 813088 95 / 136 / early_stop(patience=40) / 3.89 55.215 -0.335 [-0.888,+0.129] 48.389 MB-best
d192_L4 motionbert_kp_d192_L4_s42_v2 motionbert_kp_d192_L4 (default) 2402912 67 / 108 / early_stop(patience=40) / 5.18 55.399 -0.151 [-0.632,+0.325] 48.418
d192_L4_do0.1 motionbert_kp_d192_L4_do0.1_s42_v2 motionbert_kp_d192_L4 --dropout 0.1 2402912 55 / 96 / early_stop(patience=40) / 3.82 55.425 -0.125 [-0.587,+0.327] 48.477

MB-best = do0.1 (final; model motionbert_kp, flags ['--dropout', '0.1']; changes d/L: False → existing motionbert_kp_batonpre_pretrain_s123 checkpoint reused).

3.1 MB-best and MB-best + BATON trunk-only init at 5 seeds; K + pre completion (test levels)

seed arm run params best ep / epochs / stop GPU min val All All [CI] d-n [CI] HM [CI] PCK@0.05 [CI] HM h=5 [CI]
42 MB default motionbert_kp_s42_v2 813088 81 / 122 / early_stop(patience=40) 4.6 55.550 48.28 [44.53, 52.37] 2.192 [2.021, 2.377] 130.34 [108.20, 158.53] 87.17 [86.04, 88.28] 163.95 [119.85, 223.86]
42 MB default + pre motionbert_kp_batonpre_trunkp123_s42_v2 813088 37 / 78 / early_stop(patience=40) 1.94 54.528 47.74 [44.07, 51.78] 2.167 [2.000, 2.350] 128.03 [105.81, 156.47] 87.46 [86.37, 88.54] 159.20 [115.09, 219.85]
42 MB-best motionbert_kp_do0.1_s42_v2 813088 95 / 136 / early_stop(patience=40) 3.89 55.215 48.39 [44.59, 52.49] 2.197 [2.024, 2.383] 130.48 [107.84, 158.95] 87.26 [86.15, 88.36] 163.78 [118.78, 224.72]
42 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s42_v2 813088 41 / 82 / early_stop(patience=40) 2.59 54.575 47.78 [44.10, 51.83] 2.169 [2.002, 2.353] 128.16 [105.87, 156.59] 87.45 [86.35, 88.53] 159.24 [114.93, 219.57]
42 K + pre cwm3d_kp_batonpre_trunkp123_s42_v2 5771449 31 / 72 / early_stop(patience=40) 0.48 55.003 47.98 [44.28, 52.04] 2.178 [2.010, 2.363] 128.43 [106.25, 157.11] 87.21 [86.10, 88.30] 159.35 [115.56, 219.46]
123 MB default motionbert_kp_s123_v2 813088 58 / 99 / early_stop(patience=40) 4.36 55.627 48.38 [44.65, 52.46] 2.196 [2.027, 2.381] 129.16 [106.70, 157.58] 87.14 [86.02, 88.27] 162.59 [118.87, 222.08]
123 MB default + pre motionbert_kp_batonpre_trunkp123_s123_v2 813088 38 / 79 / early_stop(patience=40) 2.16 54.720 47.53 [43.87, 51.55] 2.158 [1.992, 2.340] 126.11 [103.96, 154.69] 87.40 [86.32, 88.46] 156.47 [113.00, 215.99]
123 MB-best motionbert_kp_do0.1_s123_v2 813088 54 / 95 / early_stop(patience=40) 2.1 55.656 48.41 [44.69, 52.49] 2.197 [2.029, 2.383] 129.51 [107.22, 158.01] 87.11 [85.97, 88.23] 162.75 [118.82, 222.30]
123 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s123_v2 813088 42 / 83 / early_stop(patience=40) 2.68 54.666 47.44 [43.78, 51.45] 2.153 [1.987, 2.336] 127.07 [105.00, 155.58] 87.45 [86.36, 88.52] 157.09 [113.60, 216.60]
123 K + pre cwm3d_kp_batonpre_trunkp123_s123_v2 5771449 33 / 74 / early_stop(patience=40) 0.88 54.828 48.04 [44.33, 52.11] 2.181 [2.012, 2.365] 129.13 [106.80, 157.67] 87.20 [86.07, 88.32] 160.11 [116.11, 220.04]
456 MB default motionbert_kp_s456_v2 813088 90 / 131 / early_stop(patience=40) 5.17 55.166 48.48 [44.74, 52.58] 2.201 [2.031, 2.387] 130.23 [107.78, 158.89] 87.14 [86.00, 88.25] 162.24 [116.93, 223.50]
456 MB default + pre motionbert_kp_batonpre_trunkp123_s456_v2 813088 44 / 85 / early_stop(patience=40) 1.68 54.797 47.91 [44.22, 51.93] 2.175 [2.008, 2.357] 127.59 [105.28, 156.14] 87.39 [86.28, 88.47] 158.92 [114.76, 219.74]
456 MB-best motionbert_kp_do0.1_s456_v2 813088 65 / 106 / early_stop(patience=40) 2.5 55.356 48.21 [44.50, 52.28] 2.188 [2.020, 2.373] 128.99 [106.63, 157.76] 87.30 [86.18, 88.39] 162.24 [117.69, 222.93]
456 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s456_v2 813088 43 / 84 / early_stop(patience=40) 2.74 54.828 47.74 [44.07, 51.79] 2.167 [2.001, 2.351] 127.75 [105.54, 156.19] 87.38 [86.27, 88.46] 158.75 [114.66, 219.20]
456 K + pre cwm3d_kp_batonpre_trunkp123_s456_v2 5771449 36 / 77 / early_stop(patience=40) 0.91 54.670 48.01 [44.31, 52.12] 2.179 [2.011, 2.366] 128.51 [106.16, 157.20] 87.16 [86.02, 88.27] 159.02 [115.09, 219.40]
789 MB default motionbert_kp_s789_v2 813088 77 / 118 / early_stop(patience=40) 6.14 55.134 48.46 [44.71, 52.57] 2.200 [2.030, 2.386] 130.66 [108.19, 159.30] 87.27 [86.16, 88.36] 163.04 [118.30, 223.77]
789 MB default + pre motionbert_kp_batonpre_trunkp123_s789_v2 813088 37 / 78 / early_stop(patience=40) 3.45 54.882 47.55 [43.88, 51.56] 2.159 [1.992, 2.341] 127.71 [105.39, 156.61] 87.40 [86.30, 88.48] 159.11 [114.88, 219.30]
789 MB-best motionbert_kp_do0.1_s789_v2 813088 89 / 130 / early_stop(patience=40) 3.43 55.295 48.37 [44.60, 52.47] 2.196 [2.025, 2.382] 130.78 [108.51, 159.34] 87.20 [86.08, 88.30] 164.33 [119.77, 224.96]
789 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s789_v2 813088 40 / 81 / early_stop(patience=40) 2.5 54.786 47.74 [44.06, 51.78] 2.167 [2.000, 2.350] 127.88 [105.66, 156.44] 87.36 [86.25, 88.45] 158.93 [114.68, 219.29]
789 K + pre cwm3d_kp_batonpre_trunkp123_s789_v2 5771449 35 / 76 / early_stop(patience=40) 1.22 54.590 48.12 [44.44, 52.21] 2.184 [2.017, 2.370] 129.32 [107.17, 157.78] 87.06 [85.94, 88.18] 161.39 [117.32, 221.77]
1011 MB default motionbert_kp_s1011_v2 813088 81 / 122 / early_stop(patience=40) 5.69 55.506 48.68 [44.92, 52.82] 2.210 [2.039, 2.398] 131.49 [108.92, 160.13] 86.97 [85.81, 88.12] 166.22 [121.36, 227.01]
1011 MB default + pre motionbert_kp_batonpre_trunkp123_s1011_v2 813088 47 / 88 / early_stop(patience=40) 3.98 54.868 47.85 [44.16, 51.87] 2.172 [2.005, 2.355] 129.47 [107.17, 157.92] 87.40 [86.30, 88.49] 160.75 [116.16, 221.59]
1011 MB-best motionbert_kp_do0.1_s1011_v2 813088 138 / 179 / early_stop(patience=40) 4.66 55.253 48.92 [45.11, 53.00] 2.221 [2.048, 2.406] 130.61 [108.46, 158.67] 86.90 [85.74, 88.04] 163.65 [119.68, 223.28]
1011 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s1011_v2 813088 59 / 100 / early_stop(patience=40) 2.71 54.566 47.77 [44.07, 51.75] 2.168 [2.001, 2.349] 128.48 [106.50, 156.68] 87.41 [86.31, 88.48] 159.83 [115.53, 220.28]
1011 K + pre cwm3d_kp_batonpre_trunkp123_s1011_v2 5771449 34 / 75 / early_stop(patience=40) 1.14 54.609 48.11 [44.40, 52.21] 2.184 [2.016, 2.370] 128.73 [106.48, 157.39] 87.03 [85.91, 88.16] 159.72 [115.63, 220.35]

Δ = MB-best[do0.1]+pre − MB-best[do0.1], per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.78 47.44 47.74 47.74 47.77 48.39 48.41 48.21 48.37 48.92 -0.61 [-1.17,-0.07] -0.97 [-1.50,-0.46] -0.47 [-0.96,+0.03] -0.63 [-1.10,-0.16] -1.15 [-1.82,-0.53] -0.77 ± 0.28 BEATS
d-n 2.169 2.153 2.167 2.167 2.168 2.197 2.197 2.188 2.196 2.221 -0.028 [-0.053,-0.003] -0.044 [-0.068,-0.021] -0.021 [-0.044,+0.001] -0.029 [-0.050,-0.007] -0.052 [-0.082,-0.024] -0.035 ± 0.013 BEATS
HM-MPJPE 128.16 127.07 127.75 127.88 128.48 130.48 129.51 128.99 130.78 130.61 -2.32 [-4.83,-0.06] -2.44 [-4.62,-0.37] -1.25 [-3.56,+0.87] -2.90 [-5.13,-0.88] -2.13 [-4.94,+0.62] -2.21 ± 0.61 INCONCLUSIVE
PCK@0.05 87.45 87.45 87.38 87.36 87.41 87.26 87.11 87.30 87.20 86.90 +0.19 [-0.09,+0.46] +0.35 [+0.08,+0.63] +0.08 [-0.16,+0.33] +0.15 [-0.06,+0.36] +0.51 [+0.19,+0.87] +0.26 ± 0.17 INCONCLUSIVE
HM h=5 159.24 157.09 158.75 158.93 159.83 163.78 162.75 162.24 164.33 163.65 -4.54 [-8.85,-0.30] -5.66 [-10.34,-1.22] -3.49 [-8.12,+0.52] -5.41 [-9.75,-1.54] -3.82 [-8.18,+0.25] -4.58 ± 0.95 INCONCLUSIVE

Δ = K+pre − K, per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 48.04 48.01 48.12 48.11 48.77 48.66 48.46 48.54 48.57 -0.79 [-1.29,-0.30] -0.62 [-1.17,-0.11] -0.45 [-0.89,-0.02] -0.43 [-0.88,+0.03] -0.46 [-0.89,-0.02] -0.55 ± 0.15 BEATS
d-n 2.178 2.181 2.179 2.184 2.184 2.214 2.209 2.200 2.204 2.205 -0.036 [-0.059,-0.014] -0.028 [-0.053,-0.005] -0.021 [-0.041,-0.001] -0.019 [-0.040,+0.001] -0.021 [-0.041,-0.001] -0.025 ± 0.007 BEATS
HM-MPJPE 128.43 129.13 128.51 129.32 128.73 132.49 131.05 131.37 131.73 131.22 -4.06 [-6.57,-1.74] -1.92 [-4.14,+0.22] -2.86 [-5.09,-0.73] -2.41 [-4.43,-0.48] -2.49 [-4.79,-0.27] -2.75 ± 0.81 BEATS
PCK@0.05 87.21 87.20 87.16 87.06 87.03 87.00 86.99 87.13 87.00 87.00 +0.20 [-0.05,+0.45] +0.22 [-0.07,+0.52] +0.03 [-0.20,+0.26] +0.06 [-0.16,+0.28] +0.03 [-0.20,+0.26] +0.11 ± 0.09 NOT_WORSE
HM h=5 159.35 160.11 159.02 161.39 159.72 164.19 163.36 162.55 163.04 163.70 -4.85 [-8.95,-1.00] -3.25 [-6.97,+0.55] -3.53 [-7.22,+0.08] -1.65 [-5.11,+1.98] -3.98 [-8.22,+0.07] -3.45 ± 1.17 INCONCLUSIVE

Δ = K − MB-best[do0.1], per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 48.77 48.66 48.46 48.54 48.57 48.39 48.41 48.21 48.37 48.92 +0.38 [-0.21,+0.96] +0.25 [-0.15,+0.69] +0.25 [-0.19,+0.69] +0.17 [-0.29,+0.64] -0.34 [-0.98,+0.25] +0.14 ± 0.28 INCONCLUSIVE
d-n 2.214 2.209 2.200 2.204 2.205 2.197 2.197 2.188 2.196 2.221 +0.017 [-0.010,+0.044] +0.011 [-0.007,+0.031] +0.012 [-0.009,+0.032] +0.008 [-0.013,+0.029] -0.016 [-0.045,+0.011] +0.006 ± 0.013 NOT_WORSE
HM-MPJPE 132.49 131.05 131.37 131.73 131.22 130.48 129.51 128.99 130.78 130.61 +2.01 [-0.71,+4.80] +1.54 [-0.56,+3.72] +2.38 [+0.08,+4.80] +0.95 [-1.79,+3.81] +0.62 [-1.60,+2.73] +1.50 ± 0.73 INCONCLUSIVE
PCK@0.05 87.00 86.99 87.13 87.00 87.00 87.26 87.11 87.30 87.20 86.90 -0.25 [-0.54,+0.01] -0.12 [-0.41,+0.14] -0.17 [-0.47,+0.12] -0.20 [-0.48,+0.06] +0.11 [-0.19,+0.41] -0.13 ± 0.14 INCONCLUSIVE
HM h=5 164.19 163.36 162.55 163.04 163.70 163.78 162.75 162.24 164.33 163.65 +0.41 [-4.94,+5.58] +0.61 [-3.26,+4.35] +0.30 [-3.97,+4.60] -1.29 [-6.68,+3.41] +0.05 [-4.50,+4.01] +0.02 ± 0.76 INCONCLUSIVE

Δ = K+pre − MB-best[do0.1]+pre, per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 48.04 48.01 48.12 48.11 47.78 47.44 47.74 47.74 47.77 +0.20 [-0.29,+0.70] +0.60 [+0.11,+1.12] +0.27 [-0.24,+0.79] +0.38 [-0.12,+0.90] +0.35 [-0.24,+0.97] +0.36 ± 0.15 INCONCLUSIVE
d-n 2.178 2.181 2.179 2.184 2.184 2.169 2.153 2.167 2.167 2.168 +0.009 [-0.013,+0.032] +0.027 [+0.005,+0.051] +0.012 [-0.011,+0.036] +0.017 [-0.005,+0.041] +0.016 [-0.011,+0.044] +0.016 ± 0.007 INCONCLUSIVE
HM-MPJPE 128.43 129.13 128.51 129.32 128.73 128.16 127.07 127.75 127.88 128.48 +0.27 [-2.42,+3.03] +2.06 [-0.67,+4.96] +0.76 [-1.81,+3.62] +1.44 [-0.64,+3.70] +0.25 [-3.14,+3.84] +0.96 ± 0.78 INCONCLUSIVE
PCK@0.05 87.21 87.20 87.16 87.06 87.03 87.45 87.45 87.38 87.36 87.41 -0.24 [-0.50,+0.02] -0.25 [-0.53,+0.01] -0.22 [-0.54,+0.07] -0.29 [-0.58,-0.02] -0.38 [-0.71,-0.07] -0.28 ± 0.06 INCONCLUSIVE
HM h=5 159.35 160.11 159.02 161.39 159.72 159.24 157.09 158.75 158.93 159.83 +0.10 [-4.83,+4.85] +3.02 [-2.27,+8.37] +0.26 [-4.85,+5.29] +2.46 [-1.86,+6.95] -0.11 [-5.85,+5.56] +1.15 ± 1.47 INCONCLUSIVE

4. Primary endpoints and adoption (test All-MPJPE, 5 seeds, both sides in the same pretraining state; BEATS rule, 4/5)

  • K-v2(best) = nospatial (lowest mean VAL All over finished seeds among S1b-continued survivors; ties 0.10 → fewer components): nospatial val All 54.906 over 5 seeds, 4 components.
endpoint n seeds Δ All per seed [CI] mean Δ ± sd verdict secondary (HM / PCK@0.05 / HM h=5 / d-n verdicts)
P1 = K-v2(nospatial) − MB-best[do0.1] 5 s42 -0.12 [-0.75,+0.49]; s123 +0.12 [-0.31,+0.54]; s456 +0.32 [-0.26,+0.92]; s789 +0.07 [-0.43,+0.59]; s1011 -0.62 [-1.24,-0.03] -0.05 ± 0.36 INCONCLUSIVE d-n INCONCLUSIVE (-0.00); HM-MPJPE INCONCLUSIVE (-0.12); PCK@0.05 INCONCLUSIVE (-0.13); HM h=5 INCONCLUSIVE (-1.82)
P2 = K-v2(nospatial)+pre − MB-best[do0.1]+pre 5 s42 +0.20 [-0.34,+0.72]; s123 +0.51 [-0.00,+1.05]; s456 +0.30 [-0.21,+0.82]; s789 +0.07 [-0.42,+0.55]; s1011 +0.33 [-0.24,+0.90] +0.28 ± 0.16 INCONCLUSIVE d-n NOT_WORSE (+0.01); HM-MPJPE INCONCLUSIVE (+1.06); PCK@0.05 INCONCLUSIVE (-0.19); HM h=5 INCONCLUSIVE (+1.31)
A1 = K-v2(nospatial) − K 5 s42 -0.50 [-1.00,-0.01]; s123 -0.13 [-0.69,+0.33]; s456 +0.07 [-0.42,+0.59]; s789 -0.10 [-0.44,+0.24]; s1011 -0.28 [-0.60,+0.05] -0.19 ± 0.21 INCONCLUSIVE d-n INCONCLUSIVE (-0.01); HM-MPJPE INCONCLUSIVE (-1.62); PCK@0.05 NOT_WORSE (-0.00); HM h=5 INCONCLUSIVE (-1.84)
A2 = K-v2(nospatial)+pre − K+pre 5 s42 +0.00 [-0.37,+0.36]; s123 -0.09 [-0.47,+0.27]; s456 +0.03 [-0.40,+0.45]; s789 -0.31 [-0.72,+0.07]; s1011 -0.02 [-0.37,+0.32] -0.08 ± 0.14 INCONCLUSIVE d-n NOT_WORSE (-0.00); HM-MPJPE INCONCLUSIVE (+0.10); PCK@0.05 INCONCLUSIVE (+0.09); HM h=5 INCONCLUSIVE (+0.16)

4.1 Paper-wording consequence table (pre-registered; the realised row is marked)

case wording consequence realised
P1 ∧ P2 an architecture advantage under the keypoint formulation may be written FOR K-v2 (K's own attribution sentence unchanged)
P1 ∧ ¬P2 "advantage without pretraining that the BATON trunk equalises"; attribution sentence kept
¬P1 ∧ P2 "advantage conditional on the pretrained trunk"; attribution sentence kept
neither wording unchanged verbatim; K-v2 = ablation family + gen_tables.py NEGATIVES entry; any WORSE reported as is ← REALISED

ADOPTION A1: NOT ADOPTED ADOPTION A2: NOT ADOPTED

  • Consequence-table row: neither. Any WORSE verdict above is reported as is.

5. GPU minutes of the programme's new runs (from run json; the GPU was shared with a DMS feature-extraction job and other lanes, so minutes are wall-clock upper bounds)

run GPU min
cwm3d_kp_batonpre_trunkp123_s1011_v2 1.14
cwm3d_kp_batonpre_trunkp123_s789_v2 1.22
cwm3d_v2_hazaux_s42_v2 4.51
cwm3d_v2_khead_s42_v2 4.75
cwm3d_v2_lam03_s123_v2 4.47
cwm3d_v2_lam03_s42_v2 5.51
cwm3d_v2_nohaz_s42_v2 5.71
cwm3d_v2_nospatial_batonpre_pretrain_s123 10.72
cwm3d_v2_nospatial_batonpre_trunkp123_s1011_v2 1.12
cwm3d_v2_nospatial_batonpre_trunkp123_s123_v2 1.09
cwm3d_v2_nospatial_batonpre_trunkp123_s42_v2 1.21
cwm3d_v2_nospatial_batonpre_trunkp123_s456_v2 1.12
cwm3d_v2_nospatial_batonpre_trunkp123_s789_v2 1.08
cwm3d_v2_nospatial_s1011_v2 1.58
cwm3d_v2_nospatial_s123_v2 3.71
cwm3d_v2_nospatial_s42_v2 1.69
cwm3d_v2_nospatial_s456_v2 3.67
cwm3d_v2_nospatial_s789_v2 1.65
cwm3d_v2_plain_s42_v2 3.69
cwm3d_v2_q060_s42_v2 4.32
cwm3d_v2_q090_s42_v2 4.19
cwm3d_v2_s42_v2 2.25
motionbert_kp_L4_s42_v2 4.71
motionbert_kp_batonpre_trunkp123_s1011_v2 3.98
motionbert_kp_batonpre_trunkp123_s789_v2 3.45
motionbert_kp_d192_L4_do0.1_s42_v2 3.82
motionbert_kp_d192_L4_s42_v2 5.18
motionbert_kp_d192_s42_v2 6.14
motionbert_kp_do0.1_batonpre_trunkp123_s1011_v2 2.71
motionbert_kp_do0.1_batonpre_trunkp123_s123_v2 2.68
motionbert_kp_do0.1_batonpre_trunkp123_s42_v2 2.59
motionbert_kp_do0.1_batonpre_trunkp123_s456_v2 2.74
motionbert_kp_do0.1_batonpre_trunkp123_s789_v2 2.50
motionbert_kp_do0.1_s1011_v2 4.66
motionbert_kp_do0.1_s123_v2 2.10
motionbert_kp_do0.1_s42_v2 3.89
motionbert_kp_do0.1_s456_v2 2.50
motionbert_kp_do0.1_s789_v2 3.43
motionbert_kp_lr1e-3_s42_v2 2.75
motionbert_kp_lr1e-4_s42_v2 3.18
motionbert_kp_wd0.01_s42_v2 3.15
motionbert_kp_wd0.1_s42_v2 2.83
total (42 runs) 139.4

6. Provenance

  • Inputs: pred_val.npz / pred_test.npz / metrics_val.json / metrics_test.json / run_<name>_<utc>.json under /home/USER/cwm3/aide/results/runs; gate decisions /home/USER/cwm3/aide/results/kv2: pretrain_check_nospatial.json, pretrain_check_nospatial_20260915T000040Z.json, pretrain_check_nospatial_own.json, pretrain_check_nospatial_own_20260915T001217Z.json, s1_decision.json, s1_decision_20260914T234548Z.json, s1b_lam03_decision.json, s1b_lam03_decision_20260915T000039Z.json, s1b_nospatial_decision.json, s1b_nospatial_decision_20260915T000038Z.json, s3_decision.json, s3_decision_20260914T230840Z.json, s3_decision_20260914T234907Z.json; pre-registration row from /home/USER/cwm3/docs/decisions.md (S0 UTC 2026-09-14T22:51:07Z).
  • Comparison runs cwm3d_kp_s<k>_v2, cwm3d_kp_batonpre_trunkp123_s{42,123,456}_v2, motionbert_kp_s<k>_v2, motionbert_kp_batonpre_trunkp123_s{42,123,456}_v2 are the EXISTING runs (never retrained); every programme run is a new run dir.
  • Selection: val All-MPJPE of the EMA weights inside the trainer; S1 / S1b / S3 decisions from pred_val.npz only (aide/eval/kv2_gate.py); one test evaluation per run by the harness; no test number was used for any decision.
  • Launcher aide/train/run_kv2_program.sh (gate: free VRAM ≥ need + 4 GB, MemAvailable ≥ 28 GB, < 4 trainers, OMP/MKL 4; finished runs skipped); pids aide/results/kv2/pids.txt.
  • Pending runs referenced above: 0. This block is append-only; earlier blocks are never edited.
  • Trainer code hashes (code_sha256 of each finished programme run's run json; distinct values = code changed between launches, e.g. the train_kp.py:630 guard fix of 2026-09-14T23:11:53Z, behaviour-neutral for dict-output models — see aide/results/kv2/NOTES.md): e313c0ff89746293 (20 runs: motionbert_kp_L4_s42_v2, motionbert_kp_batonpre_trunkp123_s1011_v2, motionbert_kp_batonpre_trunkp123_s789_v2, motionbert_kp_d192_L4_do0.1_s42_v2, motionbert_kp_d192_L4_s42_v2, motionbert_kp_d192_s42_v2, motionbert_kp_do0.1_batonpre_trunkp123_s1011_v2, motionbert_kp_do0.1_batonpre_trunkp123_s123_v2, motionbert_kp_do0.1_batonpre_trunkp123_s42_v2, motionbert_kp_do0.1_batonpre_trunkp123_s456_v2, motionbert_kp_do0.1_batonpre_trunkp123_s789_v2, motionbert_kp_do0.1_s1011_v2, motionbert_kp_do0.1_s123_v2, motionbert_kp_do0.1_s42_v2, motionbert_kp_do0.1_s456_v2, motionbert_kp_do0.1_s789_v2, motionbert_kp_lr1e-3_s42_v2, motionbert_kp_lr1e-4_s42_v2, motionbert_kp_wd0.01_s42_v2, motionbert_kp_wd0.1_s42_v2); 8caba4a8efccd311 (18 runs: cwm3d_v2_hazaux_s42_v2, cwm3d_v2_khead_s42_v2, cwm3d_v2_lam03_s123_v2, cwm3d_v2_lam03_s42_v2, cwm3d_v2_nohaz_s42_v2, cwm3d_v2_nospatial_batonpre_trunkp123_s1011_v2, cwm3d_v2_nospatial_batonpre_trunkp123_s123_v2, cwm3d_v2_nospatial_batonpre_trunkp123_s42_v2, cwm3d_v2_nospatial_batonpre_trunkp123_s456_v2, cwm3d_v2_nospatial_batonpre_trunkp123_s789_v2, cwm3d_v2_nospatial_s1011_v2, cwm3d_v2_nospatial_s123_v2, cwm3d_v2_nospatial_s42_v2, cwm3d_v2_nospatial_s456_v2, cwm3d_v2_nospatial_s789_v2, cwm3d_v2_plain_s42_v2, cwm3d_v2_q060_s42_v2, cwm3d_v2_q090_s42_v2); 22306515fd4a42a0 (2 runs: cwm3d_kp_batonpre_trunkp123_s1011_v2, cwm3d_kp_batonpre_trunkp123_s789_v2); 652c4ba49ba937f2 (1 runs: cwm3d_v2_s42_v2); d44d169e8c2a9bcb (1 runs: cwm3d_v2_nospatial_batonpre_pretrain_s123).

K-v2 programme — CockpitWM-K improvement, pre-registered 2026-09-14 (protocol C23) — val n = 405 (selection), test n = 609 (one evaluation per run), paired per-clip bootstrap (10000)

Generated 20260915T013147Z by aide/eval/report_kv2_program.py from pred_{val,test}.npz / metrics_{val,test}.json / run json / aide/results/kv2/*.json only (locked protocol: driver first, grid floor, val HM top 40 (threshold 83.33 px, NEVER a ranking statistic), test HM top 60 (threshold 72.05 px), PCK @ 96 px; every run selected on val All-MPJPE of the EMA weights only, test evaluated once by the harness). Δ = paired per-clip difference (negative = better for errors, positive = better for PCK), CI = clip-bootstrap percentile interval. Verdict rule (as arch_attribution.md): BEATS / WORSE = Δ CI excl. 0 on ≥ ceil(2n/3) seeds (5 seeds: 4) with the same sign on every seed; NOT_WORSE = all CIs cover 0 and |Δ| < 0.25; else INCONCLUSIVE. Confirmatory cells need all 5 seeds; otherwise "pending".

0. Pre-registration (verbatim decisions row) and timestamp check

  • S0 UTC: 2026-09-14T22:51:07Z; earliest programme run t_start_utc: 2026-09-14T23:08:22Z (42 programme runs finished of 189 possible names); runs started at or before S0: none.

| 2026-09-14 | K-v2 programme — S0 pre-registration (CockpitWM-K improvement; new model file aide/models/cwm3d_v2.py, --model cwm3d_v2; approved plan <local-notes>/plans/elegant-dazzling-stallman.md Part A; row written at S0 UTC 2026-09-14T22:51:07Z BEFORE any K-v2 / MB-grid run; the same UTC is in aide/results/kv2/S0_UTC.txt and protocol C23). Honesty clause: the K-v2 design (hierarchical part trunk kept; joint tokens + 2 spatial blocks + attention pooling; lean shared read-out; onset-hazard head gating the anchor mixture) was motivated by the TEST diagnostics of arch_attribution.md §3.2 (K vs MotionBERT-kp: right hand +0.71, body +0.28, h=2–4 +0.2–0.3, HM h=3/4 +2.4/+2.0) → therefore ALL K-v2 configuration choices are fixed on VAL only, and MotionBERT-kp (MB) receives the same val selection budget (S3, 10 val points each). Locked protocol unchanged: val-only selection on All-MPJPE of the EMA weights; the official test split is evaluated exactly once per run by the existing harness (append-only results.csv); no flip TTA; ensembles only as separately labelled rows; Stage-A recipe verbatim (--lr 3e-4 --wd 0.05 --warmup 10 --epochs 200 --bs 32 --ema 0.999 --clip 1.0 --patience 40 --aug-window 1 --noise-px 2.0 --joint-drop 0.1 --translate 20 --scale 0.05 --flip-p 0; K loss defaults euc + 0.1 NLL + 0.05 bone + 0.01 jerk; tensor-output models add --loss euc); paired per-clip clip-bootstrap 10,000 resamples seed 0 (aide/eval/metrics.paired_diff); verdict rule of arch_attribution.md: BEATS / WORSE = Δ CI excl. 0 on ≥ ceil(2n/3) seeds (5 seeds: 4/5) with the same sign on every seed; NOT_WORSE = all CIs cover 0 and |Δ| < 0.25; else INCONCLUSIVE. Every decision below is computed mechanically by aide/eval/kv2_gate.py from pred_val.npz + harness.load_split("val") (+ metrics.hm_mask on val) and written as UTC-stamped json in aide/results/kv2/ (s1_decision.json, s1b_<cfg>_decision.json, s3_decision.json, pretrain_check_<cfg>.json); downstream runs may start only after the corresponding json exists. *S1 val screen (seed 42, n = 405)**: 9 configs vs the existing cwm3d_kp_s42_v2 (val All 55.367): cwm3d_v2_s42_v2 (full), cwm3d_v2_nospatial_s42_v2 (--no-v2-spatial), _khead (--no-lean-head, K's per-part read-out), _nohaz (--no-hazard), _hazaux (--haz-mod 0: hazard BCE on, gating off), _plain (--no-physics --w-nll 0), _q060 / _q090 (--haz-quantile 0.60 / 0.90), _lam03 (--haz-weight 0.3); statistic = paired per-clip Δ val All (config − K); SURVIVE iff mean Δ ≤ −0.30 px (≈ 1.4 val seed-sd); at most 2 survivors (ranked by mean Δ; candidates within 0.10 px of each other are ties → the one with FEWER components wins, components = enabled optional modules of {spatial blocks, lean head, hazard BCE, hazard gating, physics+NLL} — full / q060 / q090 / lam03 = 5, nospatial / khead / hazaux / plain = 4, nohaz = 3; remaining ties by name); HM guard (never a selection statistic): KILL iff Δ val HM (40 clips) mean > +3.0 px AND its CI excludes 0. The 40-clip val HM subset is never used for ranking (level CI width ≈ 37 px vs 8.3 for val All; seed sd 0.93 vs 0.21; val HM threshold 83.3 px ≠ test 72.05 px). Test numbers of S1 runs are produced once by the trainer as usual and are RECORDED, never used for any decision. S1b: each survivor at seed 123 vs cwm3d_kp_s123_v2; CONTINUE to seeds 456 / 789 / 1011 iff Δ val(123) < 0 AND the two-seed mean ≤ −0.25 px; otherwise stop and report "val-killed at seed 123". **S2 (5 seeds 42 / 123 / 456 / 789 / 1011), without and with BATON trunk-only init**: K-v2's tokenizer / trunk tensors differ from K's → own pretraining cwm3d_v2_batonpre_pretrain_s123 (pretrain_cwm3d_baton.py --model cwm3d_v2 --seed 123: same corpus sha256 465dac1cf0a8265a, bs 256, 6 epochs, held-out-route selection, --zeroshot 0 = no zero-shot test evaluation) UNLESS kv2_gate.py pretrain-check <cfg> (dry train_kp.load_init_ckpt(parts="trunk") of the survivor model on CPU against aide/results/runs/cwm3d_kp_batonpre_pretrain_s123/ckpt_best.pt) reports n_skipped_shape = 0 AND zero missing TRUNK_PREFIXES tensors, in which case K's checkpoint is reused; fine-tunes cwm3d_v2_<cfg>_batonpre_trunkp123_s<k>_v2 (--init-parts trunk); K's own +pre arm is completed to 5 seeds with cwm3d_kp_batonpre_trunkp123_s{789,1011}_v2 (recipe and init of the existing s42/123/456 runs verbatim). **S3 MB fairness arm**: (i) same-budget val grid at seed 42: motionbert_kp_{d192, L4, lr1e-4, lr1e-3, wd0.01, wd0.1, do0.1, d192_L4, d192_L4_do0.1}_s42_v2 (--model motionbert_kp[_d192][_L4] name-encoded width / depth, --lr, --wd, --dropout flags; --loss euc) + the existing default motionbert_kp_s42_v2 = 10 val points = S1's 10; **MB-best = argmin val All** (ties within 0.10 px → fewer parameters); if MB-best ≠ default it is run at the 5 seeds; (ii) MB-best + BATON trunk-only init at 5 seeds: motionbert_kp_batonpre_trunkp123_s{789,1011}_v2 are run UNCONDITIONALLY (completing the attribution table); if MB-best changes lr / wd / dropout only, the existing motionbert_kp_batonpre_pretrain_s123 checkpoint is reused (motionbert_kp_<cfg>_batonpre_trunkp123_s<k>_v2); if MB-best changes d or L, a new pretraining motionbert_kp_<tag>_batonpre_pretrain_s123 (same corpus / schedule) precedes 5 fine-tunes. **K-v2(best)** = the S2 survivor with the lowest mean VAL All over its finished seeds (ties 0.10 → fewer components); with one survivor it is that one. **PRIMARY (two co-primary endpoints, test All-MPJPE, 5 seeds, both sides in the same pretraining state, beats rule above)**: P1 = K-v2(best) − MB-best (no pretraining); P2 = K-v2(best)+pre − MB-best+pre. **ADOPTION**: A1 = K-v2(best) − cwm3d_kp_s<k>_v2 BEATS on All over 5 seeds → K-v2 becomes the main-table CockpitWM-K row (K's row itself unchanged), otherwise K-v2 is an ablation row; A2 = K-v2(best)+pre − K+pre (cwm3d_kp_batonpre_trunkp123_s<k>_v2) BEATS → the "+ BATON trunk" row. **SECONDARY (descriptive with CIs, never an adoption basis)**: d-n, HM, PCK@0.05, HM h=5, per-part, per-horizon, AUC of the hazard probability haz_P against HM membership. **Paper-wording consequence table** (mirrors the 2026-09-14 attribution row): P1 ∧ P2 BEATS → an architecture advantage under the keypoint formulation may be written FOR K-v2 (K's own attribution sentence unchanged); P1 BEATS ∧ ¬P2 → "advantage without pretraining that the BATON trunk equalises", attribution sentence kept; ¬P1 ∧ P2 → "advantage conditional on the pretrained trunk", attribution sentence kept; neither → wording unchanged verbatim, K-v2 = ablation family + gen_tables.py NEGATIVES entry; any WORSE is reported as is. **Multiplicity**: ≤ 9 (S1) + 18 (S2) + 2 (K+pre seeds) + 9 (S3 i) + 4 (MB-best seeds) + 7 (S3 ii) ≈ 49 new single test evaluations, each required by the protocol, none used for selection; confirmatory claims are exactly P1, P2, A1, A2. **Already published numbers untouched**; all results only in the new table aide/results/tables/kv2_program.md (+ .json) written by aide/eval/report_kv2_program.py (reads only pred_{val,test}.npz, metrics_{val,test}.json, run json; append-only; machine-readable line **ADOPTION A1: ADOPTED\|NOT ADOPTED**). **Execution**: aide/train/run_kv2_program.sh lanes A (S1 → gate s1), B (S3 i → gate s3 → MB-best seeds / +pre), C (motionbert_kp_batonpre_trunkp123_s{789,1011}_v2, cwm3d_kp_batonpre_trunkp123_s{789,1011}_v2), D (pretrain-check → v2 pretraining if needed → S1b → gate s1b → seeds ± pre); every launch passes the project gate (free VRAM ≥ need + 4 GB, MemAvailable ≥ 28 GB, `pgrep -fc "python.(train_cwm3|train_kp|pretrain)"< 4, OMP/MKL 4;setsid nohup bash; a run whose run json exists is never re-run; pids in aide/results/kv2/pids.txt); --no-lock --max-minutes 45, --notes "kv2_program;;cfg="; --refs zvshrink=zv_shrink_val,simlpe=simlpe_kp_s<k or 42>_v2,kp=cwm3d_kp_s_v2,mb=motionbert_kp_s_v2(+seedinit=_s_v2for +pre runs; refs are evaluation-only). Lanes A / D start only afteraide/models/cwm3d_v2.pyexists andpytest -q aide/tests/test_cwm3d_v2.pypasses. Honest expectation (recorded): HM likely improves, All likely still ties MB; every result enters the table regardless. | plan Part A §A.2–A.4;aide/eval/kv2_gate.py, aide/eval/report_kv2_program.py, aide/train/run_kv2_program.sh, aide/tests/test_kv2.py, aide/models/motionbert_kp.py::build(name variants),aide/docs/protocol.mdC23,aide/results/kv2/S0_UTC.txt; motivation aide/results/tables/arch_attribution.md§3.2 | Every K-v2 / MB-grid run json must havet_start_utclater than 2026-09-14T22:51:07Z (checked byreport_kv2_program.py` §0); gate json must predate the downstream launches; "S1 outcome" and final "K-v2 outcome" rows + C23 outcome follow; paper text changes only after the outcome, per the consequence table |

1. S1 val screen (seed 42; statistic = paired per-clip Δ val All vs cwm3d_kp_s42_v2; SURVIVE iff mean Δ ≤ −0.30 px; ≤ 2 survivors, ties 0.10 → fewer components; HM guard KILL iff Δ val HM > +3.0 with CI excl. 0 — the val HM column is SECONDARY)

  • Decision source: aide/results/kv2/s1_decision.json written 2026-09-14T23:45:48Z (complete = True). Rule: paired per-clip Δ val All (config − cwm3d_kp_s42_v2), n = 405, 10000 clip-bootstrap seed 0; SURVIVE iff mean Δ ≤ -0.3 px; ≤ 2 survivors ranked by mean Δ, ties within 0.1 px -> fewer components (full/q060/q090/lam03 = 5, nospatial/khead/hazaux/plain = 4, nohaz = 3); HM guard (never a ranking statistic): KILL iff Δ val HM (40 clips) mean > +3.0 AND CI excl. 0.
cfg run flags params best ep / epochs / stop / GPU min val All Δ val All [CI] Δ val HM [CI] (secondary) guard S1 status test All (recorded, not used)
K (baseline) cwm3d_kp_s42_v2 — 5771449 58 / 99 / early_stop(patience=40) / 0.6 55.367 0 0 — — 48.767
full cwm3d_v2_s42_v2 (full) 2736282 75 / 116 / early_stop(patience=40) / 2.25 55.170 -0.197 [-0.798,+0.387] +0.60 [-2.54,+3.45] ok KILL 48.696
nospatial cwm3d_v2_nospatial_s42_v2 --no-v2-spatial 2666906 87 / 128 / early_stop(patience=40) / 1.69 54.788 -0.579 [-1.275,+0.058] -0.64 [-4.19,+1.99] ok SURVIVE 48.267
khead cwm3d_v2_khead_s42_v2 --no-lean-head 5091964 52 / 93 / early_stop(patience=40) / 4.75 55.482 +0.115 [-0.442,+0.662] +1.06 [-1.16,+3.09] ok KILL 48.642
nohaz cwm3d_v2_nohaz_s42_v2 --no-hazard 2702199 106 / 147 / early_stop(patience=40) / 5.71 55.325 -0.042 [-0.873,+0.723] +2.94 [-0.38,+6.86] ok KILL 48.648
hazaux cwm3d_v2_hazaux_s42_v2 --haz-mod 0 2736267 87 / 128 / early_stop(patience=40) / 4.51 55.140 -0.227 [-0.888,+0.393] +2.41 [+0.04,+4.95] ok KILL 48.592
plain cwm3d_v2_plain_s42_v2 --no-physics --w-nll 0 2736282 65 / 106 / early_stop(patience=40) / 3.69 55.218 -0.149 [-0.722,+0.397] +1.73 [-0.72,+4.18] ok KILL 48.728
q060 cwm3d_v2_q060_s42_v2 --haz-quantile 0.60 2736282 76 / 117 / early_stop(patience=40) / 4.32 55.320 -0.047 [-0.674,+0.606] +3.26 [+0.21,+7.50] KILL KILL 48.704
q090 cwm3d_v2_q090_s42_v2 --haz-quantile 0.90 2736282 71 / 112 / early_stop(patience=40) / 4.19 55.128 -0.239 [-0.774,+0.291] +1.33 [-1.27,+4.02] ok KILL 48.380
lam03 cwm3d_v2_lam03_s42_v2 --haz-weight 0.3 2736282 87 / 128 / early_stop(patience=40) / 5.51 55.019 -0.348 [-1.018,+0.310] +1.92 [-0.73,+5.20] ok SURVIVE 48.512

S1 survivors (decision): nospatial, lam03.

1.1 S1b (survivors at seed 123 vs cwm3d_kp_s123_v2; CONTINUE iff Δ val(123) < 0 and 2-seed mean ≤ −0.25)

cfg seed-123 run val All Δ val All s42 [CI] Δ val All s123 [CI] 2-seed mean decision source
nospatial cwm3d_v2_nospatial_s123_v2 54.801 -0.579 [-1.275,+0.058] -0.566 [-1.121,-0.038] -0.573 CONTINUE decision json 2026-09-15T00:00:38Z
lam03 cwm3d_v2_lam03_s123_v2 55.297 -0.348 [-1.018,+0.310] -0.070 [-0.678,+0.534] -0.209 KILLED decision json 2026-09-15T00:00:39Z

S1b: continuing to 5 seeds: nospatial.

2. S2 — 5 seeds (42 / 123 / 456 / 789 / 1011), TEST (one evaluation per run), K-v2 survivors without / with BATON trunk-only init

  • Pretraining cwm3d_v2_batonpre_pretrain_s123 (architecture-matched trunk for lam03): not run / not finished.
  • Pretraining cwm3d_v2_nospatial_batonpre_pretrain_s123 (architecture-matched trunk for nospatial): finished (6 epochs, best epoch 5, held-out All 27.18, 10.72 GPU-min, corpus sha256 465dac1cf0a8265a, command aide/train/pretrain_cwm3d_baton.py --model cwm3d_v2 --no-v2-spatial --seed 123 --name cwm3d_v2_nospatial_batonpre_pretrain_s123 --zeroshot 0).
  • pretrain-check nospatial: vs K checkpoint → NEED_V2_PRETRAIN (loaded 47 / 54 trunk tensors, shape-skipped 0, missing 7); vs own pretraining → trunk_complete = True (loaded 54 / 54, shape-skipped 0, missing 0).
  • pretrain-check lam03: vs K checkpoint → no json (loaded — / — trunk tensors, shape-skipped —, missing —); vs own pretraining → no json.

2.1 nospatial (--no-v2-spatial) — S1b: CONTINUE

seed arm run params best ep / epochs / stop GPU min val All All [CI] d-n [CI] HM [CI] PCK@0.05 [CI] HM h=5 [CI]
42 K-v2 cwm3d_v2_nospatial_s42_v2 2666906 87 / 128 / early_stop(patience=40) 1.69 54.788 48.27 [44.54, 52.40] 2.191 [2.022, 2.379] 128.74 [106.37, 157.12] 87.10 [85.94, 88.24] 159.70 [116.06, 218.87]
42 K-v2 + pre cwm3d_v2_nospatial_batonpre_trunkp123_s42_v2 2666906 44 / 85 / early_stop(patience=40) 1.21 54.689 47.98 [44.26, 52.04] 2.178 [2.009, 2.363] 128.58 [106.36, 156.90] 87.20 [86.08, 88.32] 159.20 [115.08, 219.21]
123 K-v2 cwm3d_v2_nospatial_s123_v2 2666906 84 / 125 / early_stop(patience=40) 3.71 54.801 48.53 [44.75, 52.63] 2.203 [2.031, 2.389] 129.11 [106.68, 157.62] 86.95 [85.78, 88.12] 161.40 [117.80, 220.27]
123 K-v2 + pre cwm3d_v2_nospatial_batonpre_trunkp123_s123_v2 2666906 42 / 83 / early_stop(patience=40) 1.09 54.321 47.95 [44.22, 52.05] 2.177 [2.007, 2.363] 129.25 [106.85, 157.68] 87.29 [86.15, 88.40] 160.85 [116.52, 221.12]
456 K-v2 cwm3d_v2_nospatial_s456_v2 2666906 91 / 132 / early_stop(patience=40) 3.67 55.150 48.53 [44.76, 52.59] 2.203 [2.032, 2.388] 129.92 [107.92, 158.13] 87.01 [85.86, 88.16] 160.73 [117.34, 219.34]
456 K-v2 + pre cwm3d_v2_nospatial_batonpre_trunkp123_s456_v2 2666906 44 / 85 / early_stop(patience=40) 1.12 54.352 48.04 [44.34, 52.10] 2.181 [2.013, 2.365] 128.45 [106.26, 156.89] 87.09 [85.95, 88.21] 159.24 [115.23, 219.46]
789 K-v2 cwm3d_v2_nospatial_s789_v2 2666906 80 / 121 / early_stop(patience=40) 1.65 55.048 48.44 [44.65, 52.56] 2.199 [2.027, 2.386] 130.96 [108.49, 159.39] 86.96 [85.82, 88.10] 161.72 [117.96, 220.66]
789 K-v2 + pre cwm3d_v2_nospatial_batonpre_trunkp123_s789_v2 2666906 40 / 81 / early_stop(patience=40) 1.08 54.710 47.81 [44.12, 51.85] 2.170 [2.003, 2.354] 128.48 [106.16, 157.11] 87.25 [86.14, 88.36] 159.53 [115.32, 219.61]
1011 K-v2 cwm3d_v2_nospatial_s1011_v2 2666906 81 / 122 / early_stop(patience=40) 1.58 54.744 48.30 [44.53, 52.43] 2.192 [2.021, 2.380] 131.03 [108.45, 159.36] 87.09 [85.94, 88.23] 164.10 [120.54, 222.22]
1011 K-v2 + pre cwm3d_v2_nospatial_batonpre_trunkp123_s1011_v2 2666906 44 / 85 / early_stop(patience=40) 1.12 54.559 48.10 [44.37, 52.18] 2.183 [2.014, 2.369] 129.87 [107.84, 158.26] 87.28 [86.16, 88.39] 161.58 [118.12, 220.56]

Δ = K-v2 − K, per seed (n = 5 seed pairs finished; n_req = ceil(2n/3) = 4)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 48.27 48.53 48.53 48.44 48.30 48.77 48.66 48.46 48.54 48.57 -0.50 [-1.00,-0.01] -0.13 [-0.69,+0.33] +0.07 [-0.42,+0.59] -0.10 [-0.44,+0.24] -0.28 [-0.60,+0.05] -0.19 ± 0.21 INCONCLUSIVE
d-n 2.191 2.203 2.203 2.199 2.192 2.214 2.209 2.200 2.204 2.205 -0.023 [-0.045,-0.001] -0.006 [-0.031,+0.015] +0.003 [-0.019,+0.027] -0.005 [-0.020,+0.011] -0.013 [-0.027,+0.002] -0.009 ± 0.010 INCONCLUSIVE
HM-MPJPE 128.74 129.11 129.92 130.96 131.03 132.49 131.05 131.37 131.73 131.22 -3.75 [-5.86,-1.76] -1.94 [-3.80,-0.25] -1.45 [-3.86,+0.83] -0.77 [-2.46,+1.04] -0.19 [-2.01,+1.73] -1.62 ± 1.36 INCONCLUSIVE
PCK@0.05 87.10 86.95 87.01 86.96 87.09 87.00 86.99 87.13 87.00 87.00 +0.10 [-0.17,+0.36] -0.04 [-0.34,+0.28] -0.11 [-0.42,+0.16] -0.04 [-0.26,+0.17] +0.09 [-0.10,+0.29] -0.00 ± 0.09 NOT_WORSE
HM h=5 159.70 161.40 160.73 161.72 164.10 164.19 163.36 162.55 163.04 163.70 -4.49 [-9.02,-0.43] -1.96 [-4.68,+0.59] -1.82 [-6.12,+2.26] -1.33 [-4.21,+1.76] +0.39 [-2.73,+3.48] -1.84 ± 1.75 INCONCLUSIVE
All body 70.64 70.83 70.85 70.96 70.73 71.39 71.29 71.02 71.05 71.03 -0.75 [-1.33,-0.20] -0.45 [-1.15,+0.14] -0.18 [-0.74,+0.48] -0.09 [-0.57,+0.39] -0.30 [-0.78,+0.17] -0.35 ± 0.26 INCONCLUSIVE
All face 25.58 25.80 25.58 25.75 25.76 25.64 25.86 25.57 25.62 25.75 -0.07 [-0.60,+0.46] -0.06 [-0.60,+0.47] +0.01 [-0.55,+0.59] +0.14 [-0.28,+0.58] +0.01 [-0.37,+0.39] +0.01 ± 0.08 NOT_WORSE
All lhand 64.79 65.01 65.17 64.71 64.37 65.67 65.11 65.03 65.05 65.30 -0.89 [-2.10,+0.31] -0.10 [-1.17,+0.93] +0.14 [-0.88,+1.21] -0.34 [-1.20,+0.51] -0.93 [-1.84,-0.06] -0.42 ± 0.47 INCONCLUSIVE
All rhand 77.51 78.01 78.57 77.77 77.40 78.72 78.03 78.09 78.41 77.94 -1.22 [-2.47,+0.02] -0.02 [-1.20,+1.11] +0.48 [-0.86,+1.86] -0.65 [-1.58,+0.31] -0.54 [-1.30,+0.23] -0.39 ± 0.65 INCONCLUSIVE
All h=1 34.88 34.80 34.89 34.86 34.77 35.08 35.03 35.07 35.00 35.14 -0.20 [-0.82,+0.48] -0.24 [-0.81,+0.21] -0.18 [-0.57,+0.20] -0.15 [-0.54,+0.27] -0.37 [-0.88,+0.04] -0.23 ± 0.09 INCONCLUSIVE
All h=2 44.18 44.31 44.52 44.47 44.25 44.84 44.66 44.50 44.55 44.60 -0.66 [-1.44,+0.01] -0.35 [-0.97,+0.16] +0.02 [-0.48,+0.53] -0.09 [-0.52,+0.34] -0.36 [-0.71,-0.00] -0.29 ± 0.27 INCONCLUSIVE
All h=3 51.58 51.88 51.93 51.77 51.55 52.24 52.04 51.87 51.93 51.85 -0.66 [-1.39,+0.01] -0.16 [-0.81,+0.44] +0.06 [-0.62,+0.79] -0.16 [-0.65,+0.32] -0.30 [-0.76,+0.17] -0.24 ± 0.27 INCONCLUSIVE
All h=4 53.26 53.69 53.54 53.55 53.40 53.91 53.76 53.50 53.68 53.60 -0.65 [-1.36,+0.02] -0.07 [-0.73,+0.55] +0.04 [-0.70,+0.83] -0.13 [-0.64,+0.39] -0.20 [-0.65,+0.26] -0.20 ± 0.26 INCONCLUSIVE
All h=5 57.43 57.96 57.79 57.58 57.50 57.77 57.81 57.38 57.55 57.67 -0.34 [-1.05,+0.33] +0.15 [-0.46,+0.75] +0.41 [-0.37,+1.28] +0.02 [-0.51,+0.52] -0.17 [-0.62,+0.29] +0.02 ± 0.29 INCONCLUSIVE

Δ = K-v2+pre − K+pre, per seed (n = 5 seed pairs finished; n_req = ceil(2n/3) = 4)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 47.95 48.04 47.81 48.10 47.98 48.04 48.01 48.12 48.11 +0.00 [-0.37,+0.36] -0.09 [-0.47,+0.27] +0.03 [-0.40,+0.45] -0.31 [-0.72,+0.07] -0.02 [-0.37,+0.32] -0.08 ± 0.14 INCONCLUSIVE
d-n 2.178 2.177 2.181 2.170 2.183 2.178 2.181 2.179 2.184 2.184 +0.000 [-0.017,+0.016] -0.004 [-0.022,+0.012] +0.001 [-0.018,+0.020] -0.014 [-0.033,+0.003] -0.001 [-0.017,+0.015] -0.003 ± 0.006 NOT_WORSE
HM-MPJPE 128.58 129.25 128.45 128.48 129.87 128.43 129.13 128.51 129.32 128.73 +0.15 [-2.22,+2.25] +0.12 [-1.63,+1.72] -0.06 [-2.48,+1.92] -0.84 [-2.64,+0.85] +1.14 [-0.67,+2.94] +0.10 ± 0.71 INCONCLUSIVE
PCK@0.05 87.20 87.29 87.09 87.25 87.28 87.21 87.20 87.16 87.06 87.03 -0.00 [-0.21,+0.22] +0.08 [-0.10,+0.28] -0.07 [-0.34,+0.23] +0.19 [-0.06,+0.46] +0.24 [+0.02,+0.50] +0.09 ± 0.13 INCONCLUSIVE
HM h=5 159.20 160.85 159.24 159.53 161.58 159.35 160.11 159.02 161.39 159.72 -0.15 [-4.17,+3.78] +0.74 [-2.12,+3.40] +0.22 [-4.10,+4.02] -1.86 [-5.12,+1.28] +1.86 [-2.13,+5.96] +0.16 ± 1.36 INCONCLUSIVE
All body 70.48 70.17 70.36 70.27 70.26 70.64 70.68 70.78 70.48 70.37 -0.16 [-0.58,+0.27] -0.50 [-1.04,-0.02] -0.41 [-0.89,+0.05] -0.21 [-0.68,+0.24] -0.11 [-0.49,+0.28] -0.28 ± 0.17 INCONCLUSIVE
All face 25.45 25.64 25.52 25.28 25.66 25.35 25.40 25.28 25.47 25.37 +0.09 [-0.33,+0.49] +0.24 [-0.13,+0.60] +0.24 [-0.29,+0.76] -0.19 [-0.67,+0.23] +0.28 [-0.11,+0.65] +0.13 ± 0.20 INCONCLUSIVE
All lhand 63.92 63.86 63.41 63.85 63.42 64.02 63.91 64.19 64.16 64.39 -0.10 [-1.13,+0.95] -0.04 [-1.02,+0.97] -0.78 [-1.81,+0.23] -0.30 [-1.39,+0.77] -0.98 [-2.02,+0.04] -0.44 ± 0.42 INCONCLUSIVE
All rhand 77.14 76.77 77.93 76.92 78.00 77.14 77.47 77.21 77.73 77.91 +0.00 [-0.98,+0.98] -0.70 [-1.73,+0.30] +0.72 [-0.29,+1.74] -0.81 [-1.85,+0.20] +0.09 [-0.96,+1.14] -0.14 ± 0.63 INCONCLUSIVE
All h=1 34.69 34.59 34.78 34.56 34.79 34.53 34.34 34.69 34.56 34.62 +0.15 [-0.23,+0.53] +0.25 [-0.14,+0.66] +0.10 [-0.31,+0.48] +0.00 [-0.36,+0.34] +0.17 [-0.18,+0.52] +0.13 ± 0.09 NOT_WORSE
All h=2 43.96 44.01 44.06 43.76 44.04 44.11 44.08 44.13 44.10 44.20 -0.15 [-0.62,+0.33] -0.07 [-0.58,+0.40] -0.06 [-0.59,+0.44] -0.35 [-0.79,+0.09] -0.15 [-0.60,+0.28] -0.16 ± 0.12 INCONCLUSIVE
All h=3 51.22 51.14 51.28 51.05 51.43 51.31 51.50 51.36 51.42 51.54 -0.09 [-0.55,+0.37] -0.36 [-0.88,+0.11] -0.08 [-0.64,+0.46] -0.36 [-0.87,+0.12] -0.10 [-0.59,+0.37] -0.20 ± 0.15 INCONCLUSIVE
All h=4 53.06 52.95 53.05 52.88 53.12 53.02 53.19 53.05 53.22 53.22 +0.03 [-0.50,+0.56] -0.24 [-0.81,+0.28] -0.01 [-0.62,+0.60] -0.34 [-0.94,+0.23] -0.09 [-0.66,+0.47] -0.13 ± 0.16 INCONCLUSIVE
All h=5 56.97 57.07 57.01 56.79 57.09 56.92 57.10 56.81 57.28 56.99 +0.05 [-0.51,+0.62] -0.03 [-0.60,+0.50] +0.20 [-0.44,+0.83] -0.49 [-1.15,+0.12] +0.10 [-0.50,+0.70] -0.04 ± 0.27 INCONCLUSIVE

Δ = K-v2 − MB-best[do0.1], per seed (n = 5 seed pairs finished; n_req = ceil(2n/3) = 4)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 48.27 48.53 48.53 48.44 48.30 48.39 48.41 48.21 48.37 48.92 -0.12 [-0.75,+0.49] +0.12 [-0.31,+0.54] +0.32 [-0.26,+0.92] +0.07 [-0.43,+0.59] -0.62 [-1.24,-0.03] -0.05 ± 0.36 INCONCLUSIVE
d-n 2.191 2.203 2.203 2.199 2.192 2.197 2.197 2.188 2.196 2.221 -0.006 [-0.034,+0.022] +0.005 [-0.014,+0.025] +0.015 [-0.012,+0.042] +0.003 [-0.020,+0.027] -0.028 [-0.056,-0.001] -0.002 ± 0.016 INCONCLUSIVE
HM-MPJPE 128.74 129.11 129.92 130.96 131.03 130.48 129.51 128.99 130.78 130.61 -1.74 [-3.99,+0.38] -0.40 [-2.37,+1.65] +0.93 [-1.89,+3.74] +0.18 [-2.95,+3.59] +0.43 [-2.06,+2.97] -0.12 ± 1.02 INCONCLUSIVE
PCK@0.05 87.10 86.95 87.01 86.96 87.09 87.26 87.11 87.30 87.20 86.90 -0.16 [-0.51,+0.16] -0.16 [-0.47,+0.12] -0.28 [-0.62,+0.04] -0.24 [-0.56,+0.06] +0.20 [-0.08,+0.48] -0.13 ± 0.19 INCONCLUSIVE
HM h=5 159.70 161.40 160.73 161.72 164.10 163.78 162.75 162.24 164.33 163.65 -4.08 [-8.62,+0.25] -1.34 [-5.07,+2.43] -1.51 [-6.34,+3.12] -2.62 [-7.44,+2.14] +0.44 [-4.18,+4.84] -1.82 ± 1.67 INCONCLUSIVE
All body 70.64 70.83 70.85 70.96 70.73 70.88 70.94 70.85 70.68 71.10 -0.23 [-0.86,+0.38] -0.10 [-0.79,+0.53] +0.00 [-0.73,+0.75] +0.28 [-0.33,+0.89] -0.37 [-1.03,+0.28] -0.09 ± 0.25 INCONCLUSIVE
All face 25.58 25.80 25.58 25.75 25.76 25.39 25.70 25.53 25.45 25.92 +0.19 [-0.43,+0.87] +0.10 [-0.33,+0.57] +0.06 [-0.50,+0.66] +0.31 [-0.32,+1.00] -0.16 [-0.77,+0.47] +0.10 ± 0.17 INCONCLUSIVE
All lhand 64.79 65.01 65.17 64.71 64.37 65.53 65.27 65.04 65.36 66.48 -0.74 [-2.22,+0.64] -0.26 [-1.39,+0.82] +0.13 [-1.25,+1.42] -0.65 [-2.00,+0.58] -2.11 [-4.05,-0.42] -0.73 ± 0.85 INCONCLUSIVE
All rhand 77.51 78.01 78.57 77.77 77.40 77.89 77.19 76.79 77.97 78.36 -0.38 [-1.90,+1.02] +0.81 [-0.36,+1.98] +1.78 [+0.27,+3.40] -0.20 [-1.44,+1.03] -0.96 [-2.40,+0.47] +0.21 ± 1.09 INCONCLUSIVE
All h=1 34.88 34.80 34.89 34.86 34.77 34.97 34.99 34.94 35.20 35.23 -0.09 [-0.55,+0.36] -0.19 [-0.63,+0.19] -0.05 [-0.55,+0.42] -0.35 [-0.89,+0.19] -0.45 [-1.04,+0.10] -0.23 ± 0.17 INCONCLUSIVE
All h=2 44.18 44.31 44.52 44.47 44.25 44.28 44.37 44.14 44.29 44.95 -0.10 [-0.77,+0.56] -0.07 [-0.57,+0.42] +0.38 [-0.18,+0.94] +0.17 [-0.41,+0.80] -0.71 [-1.40,-0.04] -0.06 ± 0.41 INCONCLUSIVE
All h=3 51.58 51.88 51.93 51.77 51.55 51.69 51.85 51.49 51.80 52.39 -0.11 [-0.89,+0.66] +0.03 [-0.59,+0.64] +0.43 [-0.33,+1.23] -0.03 [-0.74,+0.70] -0.84 [-1.65,-0.03] -0.10 ± 0.46 INCONCLUSIVE
All h=4 53.26 53.69 53.54 53.55 53.40 53.38 53.41 53.00 53.10 53.86 -0.12 [-0.98,+0.70] +0.28 [-0.34,+0.90] +0.54 [-0.36,+1.46] +0.44 [-0.31,+1.22] -0.46 [-1.26,+0.32] +0.14 ± 0.42 INCONCLUSIVE
All h=5 57.43 57.96 57.79 57.58 57.50 57.63 57.43 57.46 57.45 58.16 -0.19 [-1.05,+0.65] +0.53 [-0.09,+1.15] +0.32 [-0.55,+1.27] +0.12 [-0.60,+0.84] -0.66 [-1.50,+0.16] +0.03 ± 0.46 INCONCLUSIVE

Δ = K-v2+pre − MB-best[do0.1]+pre, per seed (n = 5 seed pairs finished; n_req = ceil(2n/3) = 4)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 47.95 48.04 47.81 48.10 47.78 47.44 47.74 47.74 47.77 +0.20 [-0.34,+0.72] +0.51 [-0.00,+1.05] +0.30 [-0.21,+0.82] +0.07 [-0.42,+0.55] +0.33 [-0.24,+0.90] +0.28 ± 0.16 INCONCLUSIVE
d-n 2.178 2.177 2.181 2.170 2.183 2.169 2.153 2.167 2.167 2.168 +0.009 [-0.015,+0.033] +0.023 [-0.000,+0.048] +0.014 [-0.010,+0.037] +0.003 [-0.019,+0.025] +0.015 [-0.011,+0.041] +0.013 ± 0.007 NOT_WORSE
HM-MPJPE 128.58 129.25 128.45 128.48 129.87 128.16 127.07 127.75 127.88 128.48 +0.42 [-1.80,+2.63] +2.18 [-0.47,+5.11] +0.70 [-1.92,+3.42] +0.60 [-1.34,+2.58] +1.39 [-1.55,+4.38] +1.06 ± 0.73 INCONCLUSIVE
PCK@0.05 87.20 87.29 87.09 87.25 87.28 87.45 87.45 87.38 87.36 87.41 -0.24 [-0.54,+0.05] -0.17 [-0.47,+0.12] -0.29 [-0.61,+0.02] -0.11 [-0.37,+0.17] -0.13 [-0.45,+0.17] -0.19 ± 0.08 INCONCLUSIVE
HM h=5 159.20 160.85 159.24 159.53 161.58 159.24 157.09 158.75 158.93 159.83 -0.05 [-3.75,+3.54] +3.76 [-0.73,+8.20] +0.48 [-3.58,+4.53] +0.60 [-3.47,+4.54] +1.75 [-3.19,+6.91] +1.31 ± 1.52 INCONCLUSIVE
All body 70.48 70.17 70.36 70.27 70.26 70.16 69.94 70.19 70.01 69.98 +0.32 [-0.28,+0.94] +0.24 [-0.39,+0.85] +0.18 [-0.47,+0.83] +0.26 [-0.36,+0.85] +0.28 [-0.39,+0.95] +0.25 ± 0.05 INCONCLUSIVE
All face 25.45 25.64 25.52 25.28 25.66 25.44 25.26 25.40 25.38 25.28 +0.01 [-0.48,+0.47] +0.37 [-0.16,+0.94] +0.12 [-0.46,+0.73] -0.11 [-0.52,+0.29] +0.37 [-0.22,+0.99] +0.15 ± 0.22 INCONCLUSIVE
All lhand 63.92 63.86 63.41 63.85 63.42 63.71 62.90 63.24 63.58 63.62 +0.21 [-1.11,+1.52] +0.96 [-0.26,+2.19] +0.17 [-1.19,+1.52] +0.27 [-0.97,+1.56] -0.20 [-1.61,+1.14] +0.28 ± 0.42 INCONCLUSIVE
All rhand 77.14 76.77 77.93 76.92 78.00 76.50 75.91 76.78 76.69 77.22 +0.64 [-0.96,+2.24] +0.86 [-0.68,+2.38] +1.15 [-0.24,+2.51] +0.23 [-1.31,+1.71] +0.78 [-1.02,+2.52] +0.73 ± 0.34 INCONCLUSIVE
All h=1 34.69 34.59 34.78 34.56 34.79 34.53 34.00 34.63 34.52 34.48 +0.16 [-0.41,+0.69] +0.59 [+0.07,+1.10] +0.16 [-0.34,+0.63] +0.04 [-0.47,+0.51] +0.32 [-0.27,+0.87] +0.25 ± 0.21 INCONCLUSIVE
All h=2 43.96 44.01 44.06 43.76 44.04 43.93 43.58 43.88 43.96 43.95 +0.04 [-0.58,+0.67] +0.43 [-0.15,+1.02] +0.19 [-0.45,+0.83] -0.21 [-0.82,+0.38] +0.09 [-0.61,+0.79] +0.11 ± 0.23 INCONCLUSIVE
All h=3 51.22 51.14 51.28 51.05 51.43 51.06 51.02 51.34 51.20 51.42 +0.16 [-0.45,+0.79] +0.12 [-0.59,+0.85] -0.06 [-0.76,+0.67] -0.15 [-0.83,+0.53] +0.02 [-0.77,+0.80] +0.02 ± 0.13 NOT_WORSE
All h=4 53.06 52.95 53.05 52.88 53.12 52.52 52.25 52.24 52.36 52.38 +0.53 [-0.16,+1.23] +0.70 [+0.02,+1.38] +0.81 [+0.10,+1.53] +0.52 [-0.11,+1.15] +0.74 [-0.02,+1.54] +0.66 ± 0.13 INCONCLUSIVE
All h=5 56.97 57.07 57.01 56.79 57.09 56.88 56.33 56.61 56.62 56.61 +0.10 [-0.67,+0.84] +0.74 [-0.04,+1.52] +0.40 [-0.30,+1.11] +0.17 [-0.52,+0.84] +0.48 [-0.29,+1.26] +0.38 ± 0.26 INCONCLUSIVE

Secondary: AUC of the hazard probability haz_P (max / mean over parts × horizons) for HM membership (descriptive)

seed split AUC(max haz_P) AUC(mean haz_P)
42 val 0.812 0.832
42 test 0.831 0.845
123 val 0.793 0.796
123 test 0.827 0.835
456 val 0.779 0.785
456 test 0.830 0.845
789 val 0.796 0.801
789 test 0.827 0.837
1011 val 0.797 0.801
1011 test 0.812 0.829

2.2 lam03 (--haz-weight 0.3) — S1b: KILLED → S2 NOT RUN by rule (rows below marked pending were never launched; the seed-123 run is the S1b run, shown for the record)

seed arm run params best ep / epochs / stop GPU min val All All [CI] d-n [CI] HM [CI] PCK@0.05 [CI] HM h=5 [CI]
42 K-v2 cwm3d_v2_lam03_s42_v2 2736282 87 / 128 / early_stop(patience=40) 5.51 55.019 48.51 [44.76, 52.63] 2.202 [2.032, 2.389] 130.39 [108.20, 158.69] 87.00 [85.84, 88.14] 161.80 [118.48, 220.73]
42 K-v2 + pre cwm3d_v2_lam03_batonpre_trunkp123_s42_v2 — pending — — — — — — —
123 K-v2 cwm3d_v2_lam03_s123_v2 2736282 76 / 117 / early_stop(patience=40) 4.47 55.297 48.53 [44.78, 52.64] 2.203 [2.033, 2.389] 130.48 [108.05, 158.75] 87.07 [85.94, 88.19] 162.10 [118.09, 221.88]
123 K-v2 + pre cwm3d_v2_lam03_batonpre_trunkp123_s123_v2 — pending — — — — — — —
456 K-v2 cwm3d_v2_lam03_s456_v2 — pending — — — — — — —
456 K-v2 + pre cwm3d_v2_lam03_batonpre_trunkp123_s456_v2 — pending — — — — — — —
789 K-v2 cwm3d_v2_lam03_s789_v2 — pending — — — — — — —
789 K-v2 + pre cwm3d_v2_lam03_batonpre_trunkp123_s789_v2 — pending — — — — — — —
1011 K-v2 cwm3d_v2_lam03_s1011_v2 — pending — — — — — — —
1011 K-v2 + pre cwm3d_v2_lam03_batonpre_trunkp123_s1011_v2 — pending — — — — — — —

Δ = K-v2 − K, per seed (n = 2 seed pairs finished; n_req = ceil(2n/3) = 2)

cell A s42 A s123 B s42 B s123 Δ s42 [CI] Δ s123 [CI] mean Δ ± sd verdict
All-MPJPE 48.51 48.53 48.77 48.66 -0.26 [-0.72,+0.19] -0.13 [-0.71,+0.35] -0.19 ± 0.09 INCONCLUSIVE
d-n 2.202 2.203 2.214 2.209 -0.012 [-0.032,+0.009] -0.006 [-0.032,+0.016] -0.009 ± 0.004 NOT_WORSE
HM-MPJPE 130.39 130.48 132.49 131.05 -2.10 [-4.70,+0.41] -0.57 [-2.38,+1.33] -1.34 ± 1.09 INCONCLUSIVE
PCK@0.05 87.00 87.07 87.00 86.99 +0.00 [-0.20,+0.20] +0.08 [-0.18,+0.42] +0.04 ± 0.06 NOT_WORSE
HM h=5 161.80 162.10 164.19 163.36 -2.39 [-6.42,+1.45] -1.26 [-4.39,+1.79] -1.83 ± 0.80 INCONCLUSIVE
All body 70.83 70.75 71.39 71.29 -0.56 [-1.16,+0.03] -0.54 [-1.23,+0.03] -0.55 ± 0.02 INCONCLUSIVE
All face 25.54 25.61 25.64 25.86 -0.10 [-0.58,+0.34] -0.25 [-0.78,+0.20] -0.18 ± 0.10 INCONCLUSIVE
All lhand 65.34 65.44 65.67 65.11 -0.33 [-1.62,+0.91] +0.34 [-0.79,+1.52] +0.00 ± 0.47 INCONCLUSIVE
All rhand 78.43 78.34 78.72 78.03 -0.29 [-1.47,+0.96] +0.31 [-0.83,+1.43] +0.01 ± 0.42 INCONCLUSIVE
All h=1 34.87 35.11 35.08 35.03 -0.21 [-0.79,+0.37] +0.08 [-0.54,+0.59] -0.06 ± 0.20 NOT_WORSE
All h=2 44.63 44.53 44.84 44.66 -0.21 [-0.91,+0.42] -0.12 [-0.82,+0.46] -0.17 ± 0.06 NOT_WORSE
All h=3 51.92 51.97 52.24 52.04 -0.32 [-1.02,+0.33] -0.06 [-0.77,+0.56] -0.19 ± 0.18 INCONCLUSIVE
All h=4 53.62 53.56 53.91 53.76 -0.29 [-0.90,+0.31] -0.20 [-0.90,+0.44] -0.24 ± 0.06 INCONCLUSIVE
All h=5 57.52 57.48 57.77 57.81 -0.25 [-0.86,+0.33] -0.33 [-0.98,+0.26] -0.29 ± 0.06 INCONCLUSIVE

Δ = K-v2+pre − K+pre, per seed (n = 0 seed pairs finished; n_req = ceil(2n/3) = —)

(pending — no finished seed pair)

Δ = K-v2 − MB-best[do0.1], per seed (n = 2 seed pairs finished; n_req = ceil(2n/3) = 2)

cell A s42 A s123 B s42 B s123 Δ s42 [CI] Δ s123 [CI] mean Δ ± sd verdict
All-MPJPE 48.51 48.53 48.39 48.41 +0.12 [-0.47,+0.68] +0.12 [-0.25,+0.48] +0.12 ± 0.00 NOT_WORSE
d-n 2.202 2.203 2.197 2.197 +0.006 [-0.022,+0.031] +0.006 [-0.011,+0.022] +0.006 ± 0.000 NOT_WORSE
HM-MPJPE 130.39 130.48 130.48 129.51 -0.09 [-2.76,+2.71] +0.98 [-0.50,+2.61] +0.44 ± 0.76 INCONCLUSIVE
PCK@0.05 87.00 87.07 87.26 87.11 -0.25 [-0.55,+0.02] -0.04 [-0.27,+0.21] -0.15 ± 0.15 INCONCLUSIVE
HM h=5 161.80 162.10 163.78 162.75 -1.98 [-7.13,+3.15] -0.65 [-3.66,+2.07] -1.31 ± 0.94 INCONCLUSIVE
All body 70.83 70.75 70.88 70.94 -0.04 [-0.60,+0.49] -0.19 [-0.80,+0.35] -0.12 ± 0.10 NOT_WORSE
All face 25.54 25.61 25.39 25.70 +0.15 [-0.52,+0.86] -0.09 [-0.52,+0.35] +0.03 ± 0.17 NOT_WORSE
All lhand 65.34 65.44 65.53 65.27 -0.19 [-1.37,+0.87] +0.17 [-0.70,+1.05] -0.01 ± 0.26 NOT_WORSE
All rhand 78.43 78.34 77.89 77.19 +0.54 [-0.66,+1.70] +1.15 [+0.10,+2.24] +0.85 ± 0.43 INCONCLUSIVE
All h=1 34.87 35.11 34.97 34.99 -0.10 [-0.61,+0.38] +0.13 [-0.34,+0.51] +0.02 ± 0.16 NOT_WORSE
All h=2 44.63 44.53 44.28 44.37 +0.35 [-0.32,+0.97] +0.16 [-0.34,+0.64] +0.25 ± 0.13 INCONCLUSIVE
All h=3 51.92 51.97 51.69 51.85 +0.23 [-0.55,+0.97] +0.13 [-0.40,+0.65] +0.18 ± 0.07 NOT_WORSE
All h=4 53.62 53.56 53.38 53.41 +0.24 [-0.61,+1.05] +0.16 [-0.33,+0.65] +0.20 ± 0.06 NOT_WORSE
All h=5 57.52 57.48 57.63 57.43 -0.11 [-0.96,+0.70] +0.04 [-0.41,+0.50] -0.03 ± 0.11 NOT_WORSE

Δ = K-v2+pre − MB-best[do0.1]+pre, per seed (n = 0 seed pairs finished; n_req = ceil(2n/3) = —)

(pending — no finished seed pair)

Secondary: AUC of the hazard probability haz_P (max / mean over parts × horizons) for HM membership (descriptive)

seed split AUC(max haz_P) AUC(mean haz_P)
42 val 0.800 0.798
42 test 0.831 0.835
123 val 0.792 0.800
123 test 0.824 0.823

3. S3 — MotionBERT-kp fairness arm (same val budget: 9 new grid points + existing default = 10; MB-best = argmin val All, ties 0.10 → fewer params)

  • Decision source: aide/results/kv2/s3_decision.json written 2026-09-14T23:49:07Z (complete = True). Rule: MB-best = argmin val All over the 10 grid points (9 new + existing default); ties within 0.1 px -> fewer parameters.
cfg run model flags params best ep / epochs / stop / GPU min val All Δ val All vs default [CI] test All (recorded, not used) S3
default motionbert_kp_s42_v2 motionbert_kp (default) 813088 81 / 122 / early_stop(patience=40) / 4.6 55.550 +0.000 [+0.000,+0.000] 48.279
d192 motionbert_kp_d192_s42_v2 motionbert_kp_d192 (default) 1809440 64 / 105 / early_stop(patience=40) / 6.14 55.559 +0.009 [-0.573,+0.575] 48.595
L4 motionbert_kp_L4_s42_v2 motionbert_kp_L4 (default) 1077664 82 / 123 / early_stop(patience=40) / 4.71 55.433 -0.117 [-0.572,+0.313] 48.488
lr1e-4 motionbert_kp_lr1e-4_s42_v2 motionbert_kp --lr 1e-4 813088 79 / 120 / early_stop(patience=40) / 3.18 55.310 -0.240 [-0.773,+0.247] 48.493
lr1e-3 motionbert_kp_lr1e-3_s42_v2 motionbert_kp --lr 1e-3 813088 60 / 101 / early_stop(patience=40) / 2.75 55.281 -0.269 [-0.732,+0.131] 48.394
wd0.01 motionbert_kp_wd0.01_s42_v2 motionbert_kp --wd 0.01 813088 73 / 114 / early_stop(patience=40) / 3.15 55.366 -0.184 [-0.659,+0.199] 48.342
wd0.1 motionbert_kp_wd0.1_s42_v2 motionbert_kp --wd 0.1 813088 64 / 105 / early_stop(patience=40) / 2.83 55.603 +0.053 [-0.324,+0.440] 48.424
do0.1 motionbert_kp_do0.1_s42_v2 motionbert_kp --dropout 0.1 813088 95 / 136 / early_stop(patience=40) / 3.89 55.215 -0.335 [-0.888,+0.129] 48.389 MB-best
d192_L4 motionbert_kp_d192_L4_s42_v2 motionbert_kp_d192_L4 (default) 2402912 67 / 108 / early_stop(patience=40) / 5.18 55.399 -0.151 [-0.632,+0.325] 48.418
d192_L4_do0.1 motionbert_kp_d192_L4_do0.1_s42_v2 motionbert_kp_d192_L4 --dropout 0.1 2402912 55 / 96 / early_stop(patience=40) / 3.82 55.425 -0.125 [-0.587,+0.327] 48.477

MB-best = do0.1 (final; model motionbert_kp, flags ['--dropout', '0.1']; changes d/L: False → existing motionbert_kp_batonpre_pretrain_s123 checkpoint reused).

3.1 MB-best and MB-best + BATON trunk-only init at 5 seeds; K + pre completion (test levels)

seed arm run params best ep / epochs / stop GPU min val All All [CI] d-n [CI] HM [CI] PCK@0.05 [CI] HM h=5 [CI]
42 MB default motionbert_kp_s42_v2 813088 81 / 122 / early_stop(patience=40) 4.6 55.550 48.28 [44.53, 52.37] 2.192 [2.021, 2.377] 130.34 [108.20, 158.53] 87.17 [86.04, 88.28] 163.95 [119.85, 223.86]
42 MB default + pre motionbert_kp_batonpre_trunkp123_s42_v2 813088 37 / 78 / early_stop(patience=40) 1.94 54.528 47.74 [44.07, 51.78] 2.167 [2.000, 2.350] 128.03 [105.81, 156.47] 87.46 [86.37, 88.54] 159.20 [115.09, 219.85]
42 MB-best motionbert_kp_do0.1_s42_v2 813088 95 / 136 / early_stop(patience=40) 3.89 55.215 48.39 [44.59, 52.49] 2.197 [2.024, 2.383] 130.48 [107.84, 158.95] 87.26 [86.15, 88.36] 163.78 [118.78, 224.72]
42 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s42_v2 813088 41 / 82 / early_stop(patience=40) 2.59 54.575 47.78 [44.10, 51.83] 2.169 [2.002, 2.353] 128.16 [105.87, 156.59] 87.45 [86.35, 88.53] 159.24 [114.93, 219.57]
42 K + pre cwm3d_kp_batonpre_trunkp123_s42_v2 5771449 31 / 72 / early_stop(patience=40) 0.48 55.003 47.98 [44.28, 52.04] 2.178 [2.010, 2.363] 128.43 [106.25, 157.11] 87.21 [86.10, 88.30] 159.35 [115.56, 219.46]
123 MB default motionbert_kp_s123_v2 813088 58 / 99 / early_stop(patience=40) 4.36 55.627 48.38 [44.65, 52.46] 2.196 [2.027, 2.381] 129.16 [106.70, 157.58] 87.14 [86.02, 88.27] 162.59 [118.87, 222.08]
123 MB default + pre motionbert_kp_batonpre_trunkp123_s123_v2 813088 38 / 79 / early_stop(patience=40) 2.16 54.720 47.53 [43.87, 51.55] 2.158 [1.992, 2.340] 126.11 [103.96, 154.69] 87.40 [86.32, 88.46] 156.47 [113.00, 215.99]
123 MB-best motionbert_kp_do0.1_s123_v2 813088 54 / 95 / early_stop(patience=40) 2.1 55.656 48.41 [44.69, 52.49] 2.197 [2.029, 2.383] 129.51 [107.22, 158.01] 87.11 [85.97, 88.23] 162.75 [118.82, 222.30]
123 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s123_v2 813088 42 / 83 / early_stop(patience=40) 2.68 54.666 47.44 [43.78, 51.45] 2.153 [1.987, 2.336] 127.07 [105.00, 155.58] 87.45 [86.36, 88.52] 157.09 [113.60, 216.60]
123 K + pre cwm3d_kp_batonpre_trunkp123_s123_v2 5771449 33 / 74 / early_stop(patience=40) 0.88 54.828 48.04 [44.33, 52.11] 2.181 [2.012, 2.365] 129.13 [106.80, 157.67] 87.20 [86.07, 88.32] 160.11 [116.11, 220.04]
456 MB default motionbert_kp_s456_v2 813088 90 / 131 / early_stop(patience=40) 5.17 55.166 48.48 [44.74, 52.58] 2.201 [2.031, 2.387] 130.23 [107.78, 158.89] 87.14 [86.00, 88.25] 162.24 [116.93, 223.50]
456 MB default + pre motionbert_kp_batonpre_trunkp123_s456_v2 813088 44 / 85 / early_stop(patience=40) 1.68 54.797 47.91 [44.22, 51.93] 2.175 [2.008, 2.357] 127.59 [105.28, 156.14] 87.39 [86.28, 88.47] 158.92 [114.76, 219.74]
456 MB-best motionbert_kp_do0.1_s456_v2 813088 65 / 106 / early_stop(patience=40) 2.5 55.356 48.21 [44.50, 52.28] 2.188 [2.020, 2.373] 128.99 [106.63, 157.76] 87.30 [86.18, 88.39] 162.24 [117.69, 222.93]
456 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s456_v2 813088 43 / 84 / early_stop(patience=40) 2.74 54.828 47.74 [44.07, 51.79] 2.167 [2.001, 2.351] 127.75 [105.54, 156.19] 87.38 [86.27, 88.46] 158.75 [114.66, 219.20]
456 K + pre cwm3d_kp_batonpre_trunkp123_s456_v2 5771449 36 / 77 / early_stop(patience=40) 0.91 54.670 48.01 [44.31, 52.12] 2.179 [2.011, 2.366] 128.51 [106.16, 157.20] 87.16 [86.02, 88.27] 159.02 [115.09, 219.40]
789 MB default motionbert_kp_s789_v2 813088 77 / 118 / early_stop(patience=40) 6.14 55.134 48.46 [44.71, 52.57] 2.200 [2.030, 2.386] 130.66 [108.19, 159.30] 87.27 [86.16, 88.36] 163.04 [118.30, 223.77]
789 MB default + pre motionbert_kp_batonpre_trunkp123_s789_v2 813088 37 / 78 / early_stop(patience=40) 3.45 54.882 47.55 [43.88, 51.56] 2.159 [1.992, 2.341] 127.71 [105.39, 156.61] 87.40 [86.30, 88.48] 159.11 [114.88, 219.30]
789 MB-best motionbert_kp_do0.1_s789_v2 813088 89 / 130 / early_stop(patience=40) 3.43 55.295 48.37 [44.60, 52.47] 2.196 [2.025, 2.382] 130.78 [108.51, 159.34] 87.20 [86.08, 88.30] 164.33 [119.77, 224.96]
789 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s789_v2 813088 40 / 81 / early_stop(patience=40) 2.5 54.786 47.74 [44.06, 51.78] 2.167 [2.000, 2.350] 127.88 [105.66, 156.44] 87.36 [86.25, 88.45] 158.93 [114.68, 219.29]
789 K + pre cwm3d_kp_batonpre_trunkp123_s789_v2 5771449 35 / 76 / early_stop(patience=40) 1.22 54.590 48.12 [44.44, 52.21] 2.184 [2.017, 2.370] 129.32 [107.17, 157.78] 87.06 [85.94, 88.18] 161.39 [117.32, 221.77]
1011 MB default motionbert_kp_s1011_v2 813088 81 / 122 / early_stop(patience=40) 5.69 55.506 48.68 [44.92, 52.82] 2.210 [2.039, 2.398] 131.49 [108.92, 160.13] 86.97 [85.81, 88.12] 166.22 [121.36, 227.01]
1011 MB default + pre motionbert_kp_batonpre_trunkp123_s1011_v2 813088 47 / 88 / early_stop(patience=40) 3.98 54.868 47.85 [44.16, 51.87] 2.172 [2.005, 2.355] 129.47 [107.17, 157.92] 87.40 [86.30, 88.49] 160.75 [116.16, 221.59]
1011 MB-best motionbert_kp_do0.1_s1011_v2 813088 138 / 179 / early_stop(patience=40) 4.66 55.253 48.92 [45.11, 53.00] 2.221 [2.048, 2.406] 130.61 [108.46, 158.67] 86.90 [85.74, 88.04] 163.65 [119.68, 223.28]
1011 MB-best + pre motionbert_kp_do0.1_batonpre_trunkp123_s1011_v2 813088 59 / 100 / early_stop(patience=40) 2.71 54.566 47.77 [44.07, 51.75] 2.168 [2.001, 2.349] 128.48 [106.50, 156.68] 87.41 [86.31, 88.48] 159.83 [115.53, 220.28]
1011 K + pre cwm3d_kp_batonpre_trunkp123_s1011_v2 5771449 34 / 75 / early_stop(patience=40) 1.14 54.609 48.11 [44.40, 52.21] 2.184 [2.016, 2.370] 128.73 [106.48, 157.39] 87.03 [85.91, 88.16] 159.72 [115.63, 220.35]

Δ = MB-best[do0.1]+pre − MB-best[do0.1], per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.78 47.44 47.74 47.74 47.77 48.39 48.41 48.21 48.37 48.92 -0.61 [-1.17,-0.07] -0.97 [-1.50,-0.46] -0.47 [-0.96,+0.03] -0.63 [-1.10,-0.16] -1.15 [-1.82,-0.53] -0.77 ± 0.28 BEATS
d-n 2.169 2.153 2.167 2.167 2.168 2.197 2.197 2.188 2.196 2.221 -0.028 [-0.053,-0.003] -0.044 [-0.068,-0.021] -0.021 [-0.044,+0.001] -0.029 [-0.050,-0.007] -0.052 [-0.082,-0.024] -0.035 ± 0.013 BEATS
HM-MPJPE 128.16 127.07 127.75 127.88 128.48 130.48 129.51 128.99 130.78 130.61 -2.32 [-4.83,-0.06] -2.44 [-4.62,-0.37] -1.25 [-3.56,+0.87] -2.90 [-5.13,-0.88] -2.13 [-4.94,+0.62] -2.21 ± 0.61 INCONCLUSIVE
PCK@0.05 87.45 87.45 87.38 87.36 87.41 87.26 87.11 87.30 87.20 86.90 +0.19 [-0.09,+0.46] +0.35 [+0.08,+0.63] +0.08 [-0.16,+0.33] +0.15 [-0.06,+0.36] +0.51 [+0.19,+0.87] +0.26 ± 0.17 INCONCLUSIVE
HM h=5 159.24 157.09 158.75 158.93 159.83 163.78 162.75 162.24 164.33 163.65 -4.54 [-8.85,-0.30] -5.66 [-10.34,-1.22] -3.49 [-8.12,+0.52] -5.41 [-9.75,-1.54] -3.82 [-8.18,+0.25] -4.58 ± 0.95 INCONCLUSIVE

Δ = K+pre − K, per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 48.04 48.01 48.12 48.11 48.77 48.66 48.46 48.54 48.57 -0.79 [-1.29,-0.30] -0.62 [-1.17,-0.11] -0.45 [-0.89,-0.02] -0.43 [-0.88,+0.03] -0.46 [-0.89,-0.02] -0.55 ± 0.15 BEATS
d-n 2.178 2.181 2.179 2.184 2.184 2.214 2.209 2.200 2.204 2.205 -0.036 [-0.059,-0.014] -0.028 [-0.053,-0.005] -0.021 [-0.041,-0.001] -0.019 [-0.040,+0.001] -0.021 [-0.041,-0.001] -0.025 ± 0.007 BEATS
HM-MPJPE 128.43 129.13 128.51 129.32 128.73 132.49 131.05 131.37 131.73 131.22 -4.06 [-6.57,-1.74] -1.92 [-4.14,+0.22] -2.86 [-5.09,-0.73] -2.41 [-4.43,-0.48] -2.49 [-4.79,-0.27] -2.75 ± 0.81 BEATS
PCK@0.05 87.21 87.20 87.16 87.06 87.03 87.00 86.99 87.13 87.00 87.00 +0.20 [-0.05,+0.45] +0.22 [-0.07,+0.52] +0.03 [-0.20,+0.26] +0.06 [-0.16,+0.28] +0.03 [-0.20,+0.26] +0.11 ± 0.09 NOT_WORSE
HM h=5 159.35 160.11 159.02 161.39 159.72 164.19 163.36 162.55 163.04 163.70 -4.85 [-8.95,-1.00] -3.25 [-6.97,+0.55] -3.53 [-7.22,+0.08] -1.65 [-5.11,+1.98] -3.98 [-8.22,+0.07] -3.45 ± 1.17 INCONCLUSIVE

Δ = K − MB-best[do0.1], per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 48.77 48.66 48.46 48.54 48.57 48.39 48.41 48.21 48.37 48.92 +0.38 [-0.21,+0.96] +0.25 [-0.15,+0.69] +0.25 [-0.19,+0.69] +0.17 [-0.29,+0.64] -0.34 [-0.98,+0.25] +0.14 ± 0.28 INCONCLUSIVE
d-n 2.214 2.209 2.200 2.204 2.205 2.197 2.197 2.188 2.196 2.221 +0.017 [-0.010,+0.044] +0.011 [-0.007,+0.031] +0.012 [-0.009,+0.032] +0.008 [-0.013,+0.029] -0.016 [-0.045,+0.011] +0.006 ± 0.013 NOT_WORSE
HM-MPJPE 132.49 131.05 131.37 131.73 131.22 130.48 129.51 128.99 130.78 130.61 +2.01 [-0.71,+4.80] +1.54 [-0.56,+3.72] +2.38 [+0.08,+4.80] +0.95 [-1.79,+3.81] +0.62 [-1.60,+2.73] +1.50 ± 0.73 INCONCLUSIVE
PCK@0.05 87.00 86.99 87.13 87.00 87.00 87.26 87.11 87.30 87.20 86.90 -0.25 [-0.54,+0.01] -0.12 [-0.41,+0.14] -0.17 [-0.47,+0.12] -0.20 [-0.48,+0.06] +0.11 [-0.19,+0.41] -0.13 ± 0.14 INCONCLUSIVE
HM h=5 164.19 163.36 162.55 163.04 163.70 163.78 162.75 162.24 164.33 163.65 +0.41 [-4.94,+5.58] +0.61 [-3.26,+4.35] +0.30 [-3.97,+4.60] -1.29 [-6.68,+3.41] +0.05 [-4.50,+4.01] +0.02 ± 0.76 INCONCLUSIVE

Δ = K+pre − MB-best[do0.1]+pre, per seed (descriptive; n = 5)

cell A s42 A s123 A s456 A s789 A s1011 B s42 B s123 B s456 B s789 B s1011 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] Δ s789 [CI] Δ s1011 [CI] mean Δ ± sd verdict
All-MPJPE 47.98 48.04 48.01 48.12 48.11 47.78 47.44 47.74 47.74 47.77 +0.20 [-0.29,+0.70] +0.60 [+0.11,+1.12] +0.27 [-0.24,+0.79] +0.38 [-0.12,+0.90] +0.35 [-0.24,+0.97] +0.36 ± 0.15 INCONCLUSIVE
d-n 2.178 2.181 2.179 2.184 2.184 2.169 2.153 2.167 2.167 2.168 +0.009 [-0.013,+0.032] +0.027 [+0.005,+0.051] +0.012 [-0.011,+0.036] +0.017 [-0.005,+0.041] +0.016 [-0.011,+0.044] +0.016 ± 0.007 INCONCLUSIVE
HM-MPJPE 128.43 129.13 128.51 129.32 128.73 128.16 127.07 127.75 127.88 128.48 +0.27 [-2.42,+3.03] +2.06 [-0.67,+4.96] +0.76 [-1.81,+3.62] +1.44 [-0.64,+3.70] +0.25 [-3.14,+3.84] +0.96 ± 0.78 INCONCLUSIVE
PCK@0.05 87.21 87.20 87.16 87.06 87.03 87.45 87.45 87.38 87.36 87.41 -0.24 [-0.50,+0.02] -0.25 [-0.53,+0.01] -0.22 [-0.54,+0.07] -0.29 [-0.58,-0.02] -0.38 [-0.71,-0.07] -0.28 ± 0.06 INCONCLUSIVE
HM h=5 159.35 160.11 159.02 161.39 159.72 159.24 157.09 158.75 158.93 159.83 +0.10 [-4.83,+4.85] +3.02 [-2.27,+8.37] +0.26 [-4.85,+5.29] +2.46 [-1.86,+6.95] -0.11 [-5.85,+5.56] +1.15 ± 1.47 INCONCLUSIVE

4. Primary endpoints and adoption (test All-MPJPE, 5 seeds, both sides in the same pretraining state; BEATS rule, 4/5)

  • K-v2(best) = nospatial (lowest mean VAL All over finished seeds among S1b-continued survivors; ties 0.10 → fewer components): nospatial val All 54.906 over 5 seeds, 4 components.
endpoint n seeds Δ All per seed [CI] mean Δ ± sd verdict secondary (HM / PCK@0.05 / HM h=5 / d-n verdicts)
P1 = K-v2(nospatial) − MB-best[do0.1] 5 s42 -0.12 [-0.75,+0.49]; s123 +0.12 [-0.31,+0.54]; s456 +0.32 [-0.26,+0.92]; s789 +0.07 [-0.43,+0.59]; s1011 -0.62 [-1.24,-0.03] -0.05 ± 0.36 INCONCLUSIVE d-n INCONCLUSIVE (-0.00); HM-MPJPE INCONCLUSIVE (-0.12); PCK@0.05 INCONCLUSIVE (-0.13); HM h=5 INCONCLUSIVE (-1.82)
P2 = K-v2(nospatial)+pre − MB-best[do0.1]+pre 5 s42 +0.20 [-0.34,+0.72]; s123 +0.51 [-0.00,+1.05]; s456 +0.30 [-0.21,+0.82]; s789 +0.07 [-0.42,+0.55]; s1011 +0.33 [-0.24,+0.90] +0.28 ± 0.16 INCONCLUSIVE d-n NOT_WORSE (+0.01); HM-MPJPE INCONCLUSIVE (+1.06); PCK@0.05 INCONCLUSIVE (-0.19); HM h=5 INCONCLUSIVE (+1.31)
A1 = K-v2(nospatial) − K 5 s42 -0.50 [-1.00,-0.01]; s123 -0.13 [-0.69,+0.33]; s456 +0.07 [-0.42,+0.59]; s789 -0.10 [-0.44,+0.24]; s1011 -0.28 [-0.60,+0.05] -0.19 ± 0.21 INCONCLUSIVE d-n INCONCLUSIVE (-0.01); HM-MPJPE INCONCLUSIVE (-1.62); PCK@0.05 NOT_WORSE (-0.00); HM h=5 INCONCLUSIVE (-1.84)
A2 = K-v2(nospatial)+pre − K+pre 5 s42 +0.00 [-0.37,+0.36]; s123 -0.09 [-0.47,+0.27]; s456 +0.03 [-0.40,+0.45]; s789 -0.31 [-0.72,+0.07]; s1011 -0.02 [-0.37,+0.32] -0.08 ± 0.14 INCONCLUSIVE d-n NOT_WORSE (-0.00); HM-MPJPE INCONCLUSIVE (+0.10); PCK@0.05 INCONCLUSIVE (+0.09); HM h=5 INCONCLUSIVE (+0.16)

4.1 Paper-wording consequence table (pre-registered; the realised row is marked)

case wording consequence realised
P1 ∧ P2 an architecture advantage under the keypoint formulation may be written FOR K-v2 (K's own attribution sentence unchanged)
P1 ∧ ¬P2 "advantage without pretraining that the BATON trunk equalises"; attribution sentence kept
¬P1 ∧ P2 "advantage conditional on the pretrained trunk"; attribution sentence kept
neither wording unchanged verbatim; K-v2 = ablation family + gen_tables.py NEGATIVES entry; any WORSE reported as is ← REALISED

ADOPTION A1: NOT ADOPTED ADOPTION A2: NOT ADOPTED

  • Consequence-table row: neither. Any WORSE verdict above is reported as is.

5. GPU minutes of the programme's new runs (from run json; the GPU was shared with a DMS feature-extraction job and other lanes, so minutes are wall-clock upper bounds)

run GPU min
cwm3d_kp_batonpre_trunkp123_s1011_v2 1.14
cwm3d_kp_batonpre_trunkp123_s789_v2 1.22
cwm3d_v2_hazaux_s42_v2 4.51
cwm3d_v2_khead_s42_v2 4.75
cwm3d_v2_lam03_s123_v2 4.47
cwm3d_v2_lam03_s42_v2 5.51
cwm3d_v2_nohaz_s42_v2 5.71
cwm3d_v2_nospatial_batonpre_pretrain_s123 10.72
cwm3d_v2_nospatial_batonpre_trunkp123_s1011_v2 1.12
cwm3d_v2_nospatial_batonpre_trunkp123_s123_v2 1.09
cwm3d_v2_nospatial_batonpre_trunkp123_s42_v2 1.21
cwm3d_v2_nospatial_batonpre_trunkp123_s456_v2 1.12
cwm3d_v2_nospatial_batonpre_trunkp123_s789_v2 1.08
cwm3d_v2_nospatial_s1011_v2 1.58
cwm3d_v2_nospatial_s123_v2 3.71
cwm3d_v2_nospatial_s42_v2 1.69
cwm3d_v2_nospatial_s456_v2 3.67
cwm3d_v2_nospatial_s789_v2 1.65
cwm3d_v2_plain_s42_v2 3.69
cwm3d_v2_q060_s42_v2 4.32
cwm3d_v2_q090_s42_v2 4.19
cwm3d_v2_s42_v2 2.25
motionbert_kp_L4_s42_v2 4.71
motionbert_kp_batonpre_trunkp123_s1011_v2 3.98
motionbert_kp_batonpre_trunkp123_s789_v2 3.45
motionbert_kp_d192_L4_do0.1_s42_v2 3.82
motionbert_kp_d192_L4_s42_v2 5.18
motionbert_kp_d192_s42_v2 6.14
motionbert_kp_do0.1_batonpre_trunkp123_s1011_v2 2.71
motionbert_kp_do0.1_batonpre_trunkp123_s123_v2 2.68
motionbert_kp_do0.1_batonpre_trunkp123_s42_v2 2.59
motionbert_kp_do0.1_batonpre_trunkp123_s456_v2 2.74
motionbert_kp_do0.1_batonpre_trunkp123_s789_v2 2.50
motionbert_kp_do0.1_s1011_v2 4.66
motionbert_kp_do0.1_s123_v2 2.10
motionbert_kp_do0.1_s42_v2 3.89
motionbert_kp_do0.1_s456_v2 2.50
motionbert_kp_do0.1_s789_v2 3.43
motionbert_kp_lr1e-3_s42_v2 2.75
motionbert_kp_lr1e-4_s42_v2 3.18
motionbert_kp_wd0.01_s42_v2 3.15
motionbert_kp_wd0.1_s42_v2 2.83
total (42 runs) 139.4

6. Provenance

  • Inputs: pred_val.npz / pred_test.npz / metrics_val.json / metrics_test.json / run_<name>_<utc>.json under /home/USER/cwm3/aide/results/runs; gate decisions /home/USER/cwm3/aide/results/kv2: pretrain_check_nospatial.json, pretrain_check_nospatial_20260915T000040Z.json, pretrain_check_nospatial_own.json, pretrain_check_nospatial_own_20260915T001217Z.json, s1_decision.json, s1_decision_20260914T234548Z.json, s1b_lam03_decision.json, s1b_lam03_decision_20260915T000039Z.json, s1b_nospatial_decision.json, s1b_nospatial_decision_20260915T000038Z.json, s3_decision.json, s3_decision_20260914T230840Z.json, s3_decision_20260914T234907Z.json; pre-registration row from /home/USER/cwm3/docs/decisions.md (S0 UTC 2026-09-14T22:51:07Z).
  • Comparison runs cwm3d_kp_s<k>_v2, cwm3d_kp_batonpre_trunkp123_s{42,123,456}_v2, motionbert_kp_s<k>_v2, motionbert_kp_batonpre_trunkp123_s{42,123,456}_v2 are the EXISTING runs (never retrained); every programme run is a new run dir.
  • Selection: val All-MPJPE of the EMA weights inside the trainer; S1 / S1b / S3 decisions from pred_val.npz only (aide/eval/kv2_gate.py); one test evaluation per run by the harness; no test number was used for any decision.
  • Launcher aide/train/run_kv2_program.sh (gate: free VRAM ≥ need + 4 GB, MemAvailable ≥ 28 GB, < 4 trainers, OMP/MKL 4; finished runs skipped); pids aide/results/kv2/pids.txt.
  • Pending runs referenced above: 0. This block is append-only; earlier blocks are never edited.
  • Trainer code hashes (code_sha256 of each finished programme run's run json; distinct values = code changed between launches, e.g. the train_kp.py:630 guard fix of 2026-09-14T23:11:53Z, behaviour-neutral for dict-output models — see aide/results/kv2/NOTES.md): e313c0ff89746293 (20 runs: motionbert_kp_L4_s42_v2, motionbert_kp_batonpre_trunkp123_s1011_v2, motionbert_kp_batonpre_trunkp123_s789_v2, motionbert_kp_d192_L4_do0.1_s42_v2, motionbert_kp_d192_L4_s42_v2, motionbert_kp_d192_s42_v2, motionbert_kp_do0.1_batonpre_trunkp123_s1011_v2, motionbert_kp_do0.1_batonpre_trunkp123_s123_v2, motionbert_kp_do0.1_batonpre_trunkp123_s42_v2, motionbert_kp_do0.1_batonpre_trunkp123_s456_v2, motionbert_kp_do0.1_batonpre_trunkp123_s789_v2, motionbert_kp_do0.1_s1011_v2, motionbert_kp_do0.1_s123_v2, motionbert_kp_do0.1_s42_v2, motionbert_kp_do0.1_s456_v2, motionbert_kp_do0.1_s789_v2, motionbert_kp_lr1e-3_s42_v2, motionbert_kp_lr1e-4_s42_v2, motionbert_kp_wd0.01_s42_v2, motionbert_kp_wd0.1_s42_v2); 8caba4a8efccd311 (18 runs: cwm3d_v2_hazaux_s42_v2, cwm3d_v2_khead_s42_v2, cwm3d_v2_lam03_s123_v2, cwm3d_v2_lam03_s42_v2, cwm3d_v2_nohaz_s42_v2, cwm3d_v2_nospatial_batonpre_trunkp123_s1011_v2, cwm3d_v2_nospatial_batonpre_trunkp123_s123_v2, cwm3d_v2_nospatial_batonpre_trunkp123_s42_v2, cwm3d_v2_nospatial_batonpre_trunkp123_s456_v2, cwm3d_v2_nospatial_batonpre_trunkp123_s789_v2, cwm3d_v2_nospatial_s1011_v2, cwm3d_v2_nospatial_s123_v2, cwm3d_v2_nospatial_s42_v2, cwm3d_v2_nospatial_s456_v2, cwm3d_v2_nospatial_s789_v2, cwm3d_v2_plain_s42_v2, cwm3d_v2_q060_s42_v2, cwm3d_v2_q090_s42_v2); 22306515fd4a42a0 (2 runs: cwm3d_kp_batonpre_trunkp123_s1011_v2, cwm3d_kp_batonpre_trunkp123_s789_v2); 652c4ba49ba937f2 (1 runs: cwm3d_v2_s42_v2); d44d169e8c2a9bcb (1 runs: cwm3d_v2_nospatial_batonpre_pretrain_s123).

Xet Storage Details

Size:
182 kB
·
Xet hash:
6eb71704eb836696aa8387cd484b5162e83ac20580c514a2b70ee77226a7e1e9

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.