Hypotheses · story · H-bd36b503
Rival: held-up pull-ups moving onto softer ground show the same lift
fails: 149 bets, needs 150; A/E 0.922, needs 1.1; p 0.6347, needs 0.05 or lower; periods [1.01], each needs 1.0; A/E 0.922 against same-race control 1.003, needs 0.03 above (not a niche pass: A/E 0.922 below 1.1; p 0.6347088871154392 above 0.5; does not beat the same-race control 1.003)
Part of the thread “H36: pulled up after being held up” 60 hypotheses
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Investigator agent, v1
- Made by
- rival-explanation
- Created
- 17 Oct, 01:48
- Tests logged
- 1
Reasoning
Why this hypothesis exists: what the lab saw, the question it asked, the mechanism it proposed, what it predicted, and the result that would prove it wrong. Written before the test was run.
- Observed
- H-d084cd23 (Rival: held-up PU lift is a small-field summer artefact): the period 'after 2026-04-27' carries the effect (A/E 1.38) while the rest score 2025-10-01 to 2026-04-27 0.95. O-180aadda
- H-995c6f24 (Rival: held-up PU lift comes from a change of ground since the pull-up) passed discovery: A/E 1.3 on 940 bets (p 0.02), same-race control 0.98. O-67404c8b
- AskedIs the changed-going lift directional: strongest when the pull-up came on soft or heavy and today is on better ground, and absent when the move is towards softer ground? answered
- MechanismRival: connections switch conditions after a held-up pull-up for many reasons (a new trip, a new course, a target race). Any change, not escaping testing ground, would be what carries the lift. If so, moves from better ground to soft or heavy should score as well as the reverse.
- Why the market misses itWhichever way the ground moved, the bare P is priced as a failure, so a general change-of-conditions effect would go unpriced too.
- Predictedpositive, A/E 1.20+ on 200+ bets if the rival holds; the ground mechanism predicts about 1.0
- Falsified ifA/E below 1.10, or clearly below the mud-to-better cut. Either rules the rival out and supports the directional ground story.
Mechanism and rationale
Rival: connections switch conditions after a held-up pull-up for many reasons (a new trip, a new course, a target race). Any change, not escaping testing ground, would be what carries the lift. If so, moves from better ground to soft or heavy should score as well as the reverse.
The rule
last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_going_group IS NOT NULL AND last_going_group NOT IN ('soft', 'heavy') AND going_group IN ('soft', 'heavy')Reads: last_pulled_up, last_run_style, last_going_group, going_group
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- a87b2a1fc86fc46e65db596db87a86df934fd7e13a6fb99faff2259cdc7e1c4a
- Frozen
- not frozen
- The definition can still change.
- Confounders
- season: moves from better ground onto soft cluster in autumn, which is the first discovery period, while the thread's changed-going lift was strongest after 27 April 2026; report A/E split at that date
- price band: held-up pull-ups at 16/1+ sit at or below par, so the overall A/E depends on the price mix
- race_type: Hurdle and Chase mix (and rare Flat/AW pull-ups) may differ between the two ground directions
- small sample: the better-to-soft subset is a minority of the 940 changed-going runners
- general bounce-back after a pull-up, unrelated to any change of conditions (compare to same-going pull-ups at 0.93)
- field size and class rise in autumn soft-ground races
- Control
{ "description": "The deciding comparison is the mirror cut: held-up/midfield pull-ups moving from soft/heavy to better ground (the directional ground story). The ground story says that cut beats par and this one sits near 1.0. The rival says both lift about the same. The other runners in the same races should be near 1.0. If they are, any lift in the rule isn't just a property of soft-ground races moving early in the season.", "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_going_group IN ('soft', 'heavy') AND going_group IS NOT NULL AND going_group NOT IN ('soft', 'heavy')" }
Discovery result
fail broad rule · 17 Oct, 01:53
- Bets
- 149
- 7 winners
- A/E
- 0.92
- 95%: 0.37 to 1.90
- SP return
- -43.8%
- level stakes
- Betfair SP return
- -22.4%
- 148 bets with a BSP
Strike rate 4.7%. p = 0.63. Same-race control: the other runners in these races had A/E 1.00, so the selection did not beat its own races. Zone: discovery. Evaluator eval-1.0, data 6a4e98be18e83933
By period
Falsification
No attacks yet. Only promising ideas are attacked.
Sealed holdout (vault)
Not queried. Only a frozen idea can spend its one query against the 2020-25 holdout.
Forward record
No forward record. Shadow tracking starts after the vault and counts only races run after the freeze.
Lineage
Agent runs
designer v1ok · 41s · 17 Oct, 01:48
Output (schema-checked)
{ "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_going_group IN ('soft', 'heavy') AND going_group IS NOT NULL AND going_group NOT IN ('soft', 'heavy')", "refinements": [ { "label": "14/1 or shorter", "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_going_group IN ('soft', 'heavy') AND going_group IS NOT NULL AND going_group NOT IN ('soft', 'heavy') AND sp_decimal <= 15" }, { "label": "biggest change: mud to good or quicker", "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_going_group IN ('soft', 'heavy') AND going_group IN ('good', 'good_to_firm', 'firm')" } ], "control": { "description": "The same-race runners should sit at par (about 1.0, as for the parent's 0.982), because better ground today does not favour every runner in the race. The key comparison is the reverse-direction cut: held-up pull-ups whose pull-up came on better ground and who run on soft or heavy today (H-bd36b503). If going direction is what matters, that cut should come out near par or below, and clearly below the mud-to-better rule. If both come out about the same, the lift is a generic 'changed going' or bounce-back effect and has nothing to do with direction.", "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_going_group IS NOT NULL AND last_going_group NOT IN ('soft', 'heavy') AND going_group IN ('soft', 'heavy')" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.15, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1.05, "max_p": 0.2 }, "confounders": [ "Season and gap: most moves from mud back to good ground come in spring, often after a break. The parent's lift was skewed after 27 April 2026, and the long-gap cut failed falsification. Check the split by period and by days_since_last_run.", "Price band: held-up pull-ups at 16/1 or bigger sit at par or below in every split so far, so a broad lift could come entirely from the shorter-priced runners.", "Race type: pull-ups are almost all over jumps. Check that the lift does not come from just hurdles or just chases.", "Region going mapping: Irish soft/heavy descriptions differ from GB ones, and the thread has been GB-led. Check GB and IRE separately.", "General bounce-back by beaten held-up horses, regardless of going (the chase-error thread showed that kind of baseline). The reverse-direction control addresses this.", "All-weather or 'standard' going groups fall inside NOT IN ('soft','heavy'). If any runners are on all-weather they are a different surface change, not just better ground." ], "mechanism": "A horse held up or in midfield that was pulled up on soft or heavy ground was most likely bogged down in the mud and looked after by its jockey once its chance had gone, rather than stopping exhausted. The run therefore took little out of it. On sounder ground today the cause of the poor run has gone, so the horse should run near its true ability. A move from the mud to better ground is the direction in which this explanation should be strongest.", "market_miss": "The P sits alone in the form figures, and punters read it as the horse failing. The going of the pull-up race is one step removed from the form figures and the price. H101 shows that the generic case (any pull-up on soft, now on good) is priced correctly (A/E 1.02). Any edge therefore needs the held-up/midfield condition, which signals that the horse was looked after rather than stopping out of contention, combined with the direction of the going change.", "prediction": { "direction": "positive", "size": "A/E 1.30 to 1.50 on 250+ bets", "falsified_if": "A/E below 1.15, or A/E no higher than the reverse-direction cut (better ground to soft or heavy). The second case would mean the direction of the going change does not matter." }, "notes": "The rule sketch is kept as written. All its columns are pre_off. The going values are lower case ('soft', 'heavy', 'good', 'good_to_firm', 'firm'), matching the existing rules. last_run_style has only been available since 2025-11-01, so the sample covers recent seasons only. Refinement 1 follows the finding that the edge is in shorter prices. Refinement 2 tests the mechanism's claim that the effect is strongest where the change in going is largest. No gap refinement is included because the long-gap cut failed falsification." }
Timeline
Job 2350 finished
· engine:compute-1
H-bd36b503 Discovery → KILLED fails: 149 bets, needs 150; A/E 0.922, needs 1.1; p 0.6347, needs 0.05 or lower; periods [1.01], each needs 1.0; A/E 0.922 against same-race control 1.003, needs 0.03 above (not a niche pass: A/E 0.922 below 1.1; p 0.6347088871154392 above 0.5; does not beat the same-race control 1.003)
· engine:evaluator
discovery result for H-bd36b503 (broad rule): fail
· engine:evaluator
H-bd36b503 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 2350 (evaluate, attempt 1)
· compute-1
Job 2347 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-bd36b503 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 2347 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-bd36b503: Rival: held-up pull-ups moving onto softer ground show the same lift (rival-explanation)
· agent:investigator@v1
Every change is an event with an actor: an agent and its version, an engine, a human, or the importer. Current stage: Killed.