The receipts · published verbatim from the working file
Bat speed as an early signal — results (MISS)
The twice-replicated finding did not survive its one pre-registered test. Bat speed does not enter the engine.
Last changed
H-BT confirmatory results — the early-signal finding dies here
One run against 2026 data, executed 2026-07-13 under the protocol
frozen the same day in bt-preregistration-2026-07-13.md. We
publish it because we said we would, and because a
pre-registration you only cite when convenient is not a
pre-registration.
PRIMARY — MISS
aval_May1-now ~ z(April aval) + z(April ev95)
+ z(April bat_speed) n = 203
aval_apr beta +0.107 p = 0.1347
ev95_apr beta +0.372 p = 0.0019
bat_speed beta +0.099 p = 0.3812 R2 0.274
Criterion (beta > 0 AND p < 0.05): MISS
The train years said April bat speed adds real signal beyond April results and April EV95 (2024: +0.413, p<0.0001; 2025: +0.231, p=0.015). On 2026 it added nothing distinguishable from noise. The twice-replicated exploratory finding did not survive its one pre-registered test.
Worth saying plainly: the incumbent won. April EV95 — the engine's existing signal — carried the model (+0.372, p=0.002) on the challenger's home turf.
SECONDARY — PASS
Bat speed year-over-year, 2025 -> 2026:
r = +0.944 (n = 151; criterion r >= 0.75)
Bat speed is a remarkably stable physical trait — the most stable metric we have measured, above EV95's 0.884 in our build. Stable is not the same as incrementally predictive.
TERTIARY — null, as pre-declared
2026 aval ~ z(2025 aval) + z(2025 ev95) + z(2025 bat_speed)
bat_speed beta +0.125, p = 0.337 (n = 188)
At annual scale bat speed remains EV95 in a different jersey (same-season r ≈ 0.89).
Post-hoc discussion (labeled as such — not evidence)
Why might the train effect have vanished? Candidates: the 2024 coefficient (+0.413, bat tracking's first public season) may have been the outlier that made two marginal results look like a pattern — a winner's-curse shape; and the 2026 outcome window (May 1 to July 12, ~2.5 months) is shorter and noisier than the train years' full May-onward windows, so power was lower. Either could be true. Neither changes the verdict: the criterion was frozen, and the answer was no.
Execution disclosures
- The confirmatory script crashed after the PRIMARY had executed and printed (a missing full-season 2026 file needed by the SECONDARY). The file was ingested and the run completed; the primary inputs were untouched by the fix and the completed run reproduced the primary numbers exactly as first printed.
- The original freeze commit accidentally included unrelated
work-in-progress from a parallel session sharing the git index;
it was soft-reset and recut with only the research files
(
6089203). The protocol content was identical in both cuts.
Verdict and the road not taken
Bat speed does NOT enter the engine. No board adjustment, no product integration — the pre-registered gate said PASS required the primary, and the primary missed.
One follow-up is banked, not promised: re-testing the early-signal hypothesis when 2026 completes (full May-September outcome window, restoring the train design's power) would require a NEW pre-registration filed before that data is examined. If it happens it happens in public, like this one.
Filed next to the clutch null, where honest dead ends live.