The receipts · published verbatim from the working file
The process signal on a cleaner outcome — results (primary PASS, secondary MISS)
CSW% adds even more to next year's FIP than to next year's ERA (primary, passed), but still does not beat it out of sample (secondary, missed). The complement-not-replacement finding replicates on the cleaner outcome.
Last changed
H-ARM2 confirmatory results — a cleaner outcome, the same answer
One run against the reserved seasons, executed 2026-07-15 under the
protocol frozen the same day in arm2-preregistration-2026-07-15.md
(commit 5831b00, cut and pushed before this script was run).
The follow-up replicates H-ARM on a defense-independent outcome, and the verdict is the same split. CSW% adds real, independent information about a pitcher's next-year FIP beyond his current FIP (PRIMARY, PASS) — in fact more of it than it adds to ERA. But it still does not beat the box-score number head-to-head (SECONDARY, MISS), even though FIP strips out the fielders. So the H-ARM miss was not just ERA's luck: the pitch process is a complement to run-prevention forecasts, not a replacement, whether the yardstick is ERA or FIP.
PRIMARY — PASS
z(fip_next) ~ z(fip) + z(csw_pct)
pooled predictor seasons 2022, 2023, 2024 n = 1,004
fip beta +0.240 p < 0.0001
csw_pct beta -0.198 p < 0.0001 R2 0.151
Criterion (csw beta < 0 AND p < 0.05): PASS
CSW% carries more into FIP than it did into ERA: the coefficient is −0.198 here against −0.114 on ERA (the ERA model re-run on this exact sample — see below), and the model explains 0.151 of next-year FIP against 0.062 of next-year ERA. That is the expected shape: FIP is closer to what a whiff measures than ERA is, so the process signal lands harder on it.
SECONDARY — MISS (as pre-declared)
|corr(csw_pct, fip_next)| = 0.337
|corr(fip, fip_next)| = 0.354
Criterion (|r(CSW)| > |r(FIP)|): MISS
The pre-registration said this would miss, and why: the train margin was 0.015 (CSW ahead), and H-ARM's larger ERA margin (0.107) had already flipped out of sample. It flipped again. FIP's own lag (0.354) edges CSW% (0.337). Even on the clean outcome, the box-score number is the better raw predictor of itself; CSW%'s value is what it adds on top, not what it beats.
What this settles
H-ARM left one door open: maybe CSW% failed to beat ERA only because ERA is luck-contaminated, and a defense-independent outcome would show the process winning. This closes that door. On FIP — no fielders, no park, no inherited runners — CSW% still does not out-predict the box score. The signal is real and robust (it adds, significantly, to both ERA and FIP, out of sample), and it is a complement, not a replacement, full stop.
For the product that means the call already made is the right one: CSW% belongs on the pitcher pages as declared process context, and there is no "CSW beats the box score" result to build a ranked arms board on. The research validated the restraint.
TERTIARY (reported, no criterion)
Stability, Y vs Y+1 (reserved seasons):
csw_pct +0.586 kbb_pct +0.559 fip +0.354 ra9 +0.225
FIP is more self-persistent than ERA (0.354 vs 0.225) and less than the process (0.586) — exactly the ordering that makes it the right, harder test.
The tautology, re-confirmed out of sample:
corr(csw, kbb_pct) within-year = +0.730
corr(csw, fip) within-year = -0.580
K-BB% is still CSW% wearing a hat (0.73), which is why it was never tested. FIP's overlap (0.58) is real but leaves room — the right choice.
The H-ARM ERA model, re-run on this sample:
z(ra9_next) ~ z(ra9) + z(csw): csw beta = -0.114, p = 0.0004
Identical to H-ARM's published result (−0.114, p=0.0004). The two studies are internally consistent to the digit on the shared sample.
Caveats honoured
- This was declared in advance as the second outcome tested against CSW% on these reserved seasons — a robustness re-test of H-ARM, not independent evidence. The primary passing reinforces H-ARM; it does not discover something new, and is not presented as if it did.
- CSW% = (Called Strike + Swinging Strike + Swinging Strike (Blocked)) / pitches, foul tips excluded — unchanged from H-ARM. FIP = (13·HR + 3·(BB+HBP) − 2·K) / IP, no season constant.
- One evaluation. The confirmatory script was committed and pushed in
5831b00before it was run, and has not been edited since.
Gate
The pre-registered gate authorized no new product either way, and none is made. The PRIMARY pass strengthens the case for keeping CSW% on the pitcher pages (shipped today as context); it does not authorize a ranked board, arm calls, or ranking on FIP. The board stays held — now with two studies' worth of reason.