The gate stack
Penrose uses multiple independent failure lenses because no single statistic catches every way a backtest can mislead.
Before the backtest
- Grounding and falsifiability — the claim must be traceable to the source and capable of being rejected by evidence.
- Economic feasibility — a claimed edge that cannot clear its declared fee structure should not consume an expensive reconstruction.
- Data and binding integrity — frequency, venue, point-in-time availability, survivorship, and declared roles must be compatible.
- Reconstruction fidelity — the executable test must answer the claim actually submitted.
Statistical and robustness gates
- Probabilistic and Deflated Sharpe Ratios
- explicit search-denominator accounting
- chronological fold sign stability
- stationary block bootstrap intervals
- permutation and alignment checks
- walk-forward stability
- combinatorial purged cross-validation
- regime concentration and declared-regime adherence
- parameter fragility
- tail asymmetry and widow-maker warnings
- cost sensitivity and capacity
- minimum detectable effect and power
- implausibility checks for broken reconstructions
Confirmation controls
Discovery cannot read confirmation data. A distinct survivor may be evaluated against a single-use
reserve only when the declared confirmation has enough power. A failed power preflight returns
cannot_confirm without burning the reserve.
Why gates sometimes stop early
Early routing protects integrity and cost. If a claim lacks data, there is no scientific value in
generating code and computing precise-looking statistics over a fabricated substitute. A clean
needs_data is a successful outcome.
For the detailed plain-language treatment, see the repository's docs/GATES.md. Exact thresholds are
versioned with the engine.