Hypotheses · story · H-658c845a
Sharpen: held-up pull-up in the mud, back on better ground
fails: A/E 1.048, needs 1.15; p 0.4388, needs 0.05 or lower; periods [0.87, 1.56], each needs 1.0 (not a niche pass: A/E 1.048 below 1.15; a period points the other way [0.87, 1.56])
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
- sharpen
- 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-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
- MechanismA held-up horse pulled up on soft or heavy ground was bogged down and looked after once beaten. On sounder ground the cause has gone and the run took little out of it. The direction of the change is where the mechanism says the effect should be strongest.
- Why the market misses itThe P stands alone in the form figures, and punters read it as the horse failing. The going of the pull-up race is a step removed from the price. H101 shows the generic version (any pull-up) is priced, so any edge needs the held-up condition, which says the horse was looked after rather than stopping exhausted.
- Predictedpositive, A/E 1.30 to 1.50 on 250+ bets
- Falsified ifA/E below 1.15, or not above the reverse-direction cut (better ground to softer), which would mean direction does not matter
- Rule sketch
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')
Mechanism and rationale
A held-up horse pulled up on soft or heavy ground was bogged down and looked after once beaten. On sounder ground the cause has gone and the run took little out of it. The direction of the change is where the mechanism says the effect should be strongest.
The 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')Reads: last_pulled_up, last_run_style, last_going_group, going_group
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 0e0d91c7a50fc4f168fc45c7010759c68d3e2ecc94ff8d96d1d7af5ffa08f9f0
- Frozen
- not frozen
- The definition can still change.
- 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.
- 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')" }
Discovery result
fail broad rule · 17 Oct, 01:53
- Bets
- 377
- 23 winners
- A/E
- 1.05
- 95%: 0.66 to 1.57
- SP return
- -43.7%
- level stakes
- Betfair SP return
- -19.1%
- 377 bets with a BSP
Strike rate 6.1%. p = 0.44. Same-race control: the other runners in these races had A/E 1.01, so the selection 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 2349 finished
· engine:compute-1
H-658c845a Discovery → KILLED fails: A/E 1.048, needs 1.15; p 0.4388, needs 0.05 or lower; periods [0.87, 1.56], each needs 1.0 (not a niche pass: A/E 1.048 below 1.15; a period points the other way [0.87, 1.56])
· engine:evaluator
discovery result for H-658c845a (broad rule): fail
· engine:evaluator
H-658c845a Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-1 took job 2349 (evaluate, attempt 1)
· compute-1
Job 2346 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-658c845a Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 2346 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-658c845a: Sharpen: held-up pull-up in the mud, back on better ground (sharpen)
· 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.