Methodology failure caught by adversarial verification in the 2026-07-02 synthesis: the fresh Jun 14–Jul 1 proxy backtest let entries precede the information that admitted them, inflating EV ~2–3×. Both headline results died on causal recompute. This note is the standing rule. Detail: /Users/levander/coding/pmv2/research/weather-strategy-synthesis-2026-07-02.md.

The trap

The proxy design: gate = modal bucket at 15:30 local; entry = first print ≤0.95 from 15:00. The gate uses information from after the entry — you only “entered” the trades that 15:30 hindsight blessed, at pre-conviction prices.

  • Mean entry was 7.5c below the 15:30 conviction price.
  • 57/59 US and 29/31 AS cohort trades were affected.

Causal recomputes (skeptic)

CohortHeadlineCausal (enter ≥ gate time)
US final policy, +2c slip+0.191/$+0.089/$ (n=30, 80% CI −0.032…+0.199)
US gate≥0.60 hold+0.129/$+0.028/$ (CI −0.061…+0.109)
AS cohort (tokyo/wuhan/beijing/shenzhen)+0.455/$+0.145/ at engine-feasible ≥16:30 (n=10)

The second trap: test-set selection

The 0.90 entry-cap, the flatten-at-18:00 overlay, and the PT-0.92 rejection were all selected on the same window they were scored on. Any overlay chosen this way is an artifact until it validates on data it wasn’t tuned on.

Standing rules

Backtest rules (binding for all lanes)

  1. No proxy-timed entries. Every backtest entry must be at-or-after the moment ALL gating information exists.
  2. No parameter may be chosen on the same window it is scored on.

What survives

  • Gate direction: win rate 65%→85–92% monotone in the price threshold.
  • Hold-to-settle beats every reactive exit tested.
  • The original clean causal backtest — n=67, +29.9%/trade, 94% reliability, real IEM-obs locks (2026-06-17, see weather-bet-live-status) — is unaffected by the proxy flaw and remains the strategy family’s foundation. Its known weakness is fills, not signal, which is exactly what the US pilot measures (weather-strategy-verdicts-2026-07-02).

Prior instances of this failure class in the project

The pattern: any conditioning variable that is only knowable after entry (final conviction price, convergence, observed lag, resolution) silently inflates EV when used as a gate or filter.