How to write a pre-registered hypothesis
Lock the condition, market, horizon and train split before you look at holdout. · 9 min
A minimal pre-registration
Write down, before running:
- Sky condition or waveform spec (bodies, harmonic, phase) — not “whatever looks good”.
- Market symbol and whether demo data is allowed (it should not be, for a real claim).
- Date range and
trainRatio; sealed cutoff if a campaign. - Primary horizon and metric.
candidatesSearched = 1if this is the only test; otherwise the honest grid size.
Then run. Do not widen the orb after seeing holdout.
Caveat
Thai, Vedic and Chinese material belongs in hypothesis plugins only when a verified source exists. If you lack one, add it to unimplemented. Do not fill the gap with a story.
Key points
- Manual Lab runs write a ledger row with
forceso you can iterate; campaigns skip duplicates. - Promote nothing with
isDemo. - If the result is REJECTED, that is a successful use of the Lab.
References
- Nosek et al., The preregistration revolution — Nosek B.A., Ebersole C.R., DeHaven A.C. and Mellor D.T., PNAS 115(11), 2018, 2600–2606
- RAINBOW experiment config — experimentConfigSchema in src/domain/research/experiment.ts