Hypotheses · story · H-fbabeb50
Sharpen: held-up hurdle pull-ups sent chasing next time
forward A/E 0.0 on 0 bets, SP ROI None%, BSP ROI None% (p None)
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, 02:13
- Tests logged
- 16
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-070b2026 (Rival: held-up PU lift comes from a switch of race code since the pull) survived falsification: 6 of 6 attacks left it standing; it is frozen for its one vault query. O-4aec4e49
- H-658519da (Test-mechanism: held-up pull-up switching to a code the horse has bare) passed discovery as a niche: A/E 1.26 on 53 bets (p 0.394), same-race control 0.98. O-b619e1be
- H-525d10d2 (Generalise: a fall or unseat followed by a switch of race code) was predicted positive but came out the other way: A/E 0.75 on 188 bets (p 0.211 for the opposite direction). O-d9f14aca
- AskedWithin the 226 jumps-to-jumps switchers, is the lift in hurdle-to-chase (a first try over fences) or chase-to-hurdle (fences taken away), and does a jumping error in the pull-up matter? answered
- MechanismA hurdler that was held up and pulled up was looked after once beaten, and the hurdle race may not have suited it. Fences and the chase test can bring out a horse bred for chasing. A chaser dropped back to hurdles after a crash is what the fallers cut covers, and that cut scored 0.75, which argues against 'fences taken away' as the carrier.
- Why the market misses itThe form figures show a P on top of a first run over fences. Punters discount a horse that is unproven over fences and pulled up last time. Nothing in the form book says the horse was given an easy time once held up.
- Predictedpositive, A/E 1.30 to 1.50 on 100+ bets
Mechanism and rationale
A hurdler that was held up and pulled up was looked after once beaten, and the hurdle race may not have suited it. Fences and the chase test can bring out a horse bred for chasing. A chaser dropped back to hurdles after a crash is what the fallers cut covers, and that cut scored 0.75, which argues against 'fences taken away' as the carrier.
The rule
last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_race_type = 'Hurdle' AND race_type = 'Chase'Reads: last_pulled_up, last_run_style, last_race_type, race_type
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- b82307bd456d91956cc54d9851ac5b2ac69e67bb1879d2aef8e28cd526e4cb72
- Frozen
- 17 Oct, 02:15
- Nothing in the definition can change after this.
- Confounders
- Novice chase race mix: small, uncompetitive fields with skewed favourite-longshot pricing
- Small field sizes in novice and beginners' chases
- Calendar: autumn novice-chase season, when chase debutants cluster
- Trainer type: yards that routinely send hurdlers chasing may be underestimated on their own
- Period split: earlier held-up pull-up cuts carried their lift only after 27 April 2026
- Price band: lift may sit only under 16/1, and 16/1+ runners are at or below par
- Region: other jumps edges in this family were GB-led, with IRE losing
- Control
{ "description": "Two comparisons. (1) Same-race rivals: the other runners in these chases should sit near A/E 1.0. Their score shows whether novice-chase fields or small fields are mispriced in general. (2) The reverse switch: held-up or midfield pull-ups coming from a chase and running over hurdles. The hypothesis says the lift belongs to the hurdle-to-chase direction, so the reverse cut should score near or below 1.0, as the fallers-switch cut did (0.75). If the reverse cut scores as well as the main rule, the carrier is the code switch in general, not fences.", "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_race_type = 'Chase' AND race_type = 'Hurdle'" }- Designer
Discovery result
pass broad rule (niche) · 17 Oct, 02:15
- Bets
- 76
- 8 winners
- A/E
- 1.50
- 95%: 0.65 to 2.96
- SP return
- -10.2%
- level stakes
- Betfair SP return
- +6.0%
- 75 bets with a BSP
Strike rate 10.5%. p = 0.17. Same-race control: the other runners in these races had A/E 0.96, so the selection beat its own races. Zone: discovery. Evaluator eval-1.0, data 6a4e98be18e83933
By period
Falsification
Each attack is a deliberate attempt to kill the idea. 4 of 6 survived.
- control: Control: held-up hurdle pull-ups staying over hurdlespass
717 bets · A/E 1.24 (0.89 to 1.69) · control 0.98 · 17 Oct, 02:15
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-274390.92after 2026-04-272781.82Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - control: Control: hurdle pull-ups that raced prominently or led, sent chasingpass
53 bets · A/E 1.04 (0.28 to 2.65) · control 1.00 · 17 Oct, 02:15
Sealed holdout (vault)
Not queried. Only a frozen idea can spend its one query against the 2020-25 holdout.
Forward record
- forward vs bar {'min_bets': 100, 'min_ae': 1.05, 'max_p': 0.2}info
0 bets · · 17 Oct, 02:30
Breakdown
betsA/E0.71.01.3forward0–Bars grow from 1.00, the market. Faded bars have fewer than 40 bets.
Other experiments
- neighbour: drop: last_pulled_up = 1pass
895 bets · A/E 1.08 (0.89 to 1.31) · control 0.99 · 17 Oct, 02:30
Breakdown
betsA/E0.71.01.32025-10-01 to 2026-04-274571.04after 2026-04-274381.12Bars grow from 1.00, the market. Faded bars have fewer than 40 bets. - neighbour: drop: last_run_style IN ('held_up', 'midfield')pass
132 bets · A/E 1.29 (0.67 to 2.26) · control 0.98 · 17 Oct, 02:30
Breakdown
Lineage
Agent runs
designer v1ok · 51s · 17 Oct, 02:13
Output (schema-checked)
{ "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_race_type = 'Hurdle' AND race_type = 'Chase'", "refinements": [ { "label": "16/1 or shorter (earlier work found the switcher lift only under 16/1)", "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_race_type = 'Hurdle' AND race_type = 'Chase' AND sp_decimal < 17" }, { "label": "Novice chases only (where a chasing type gets its first look at fences)", "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_race_type = 'Hurdle' AND race_type = 'Chase' AND is_novice = 1" }, { "label": "No more than one previous chase run (the 'unproven over fences' market miss)", "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_race_type = 'Hurdle' AND race_type = 'Chase' AND chase_runs IS NOT NULL AND chase_runs <= 1" } ], "control": { "description": "Two comparisons. (1) Same-race rivals: the other runners in these chases should sit near A/E 1.0. Their score shows whether novice-chase fields or small fields are mispriced in general. (2) The reverse switch: held-up or midfield pull-ups coming from a chase and running over hurdles. The hypothesis says the lift belongs to the hurdle-to-chase direction, so the reverse cut should score near or below 1.0, as the fallers-switch cut did (0.75). If the reverse cut scores as well as the main rule, the carrier is the code switch in general, not fences.", "rule": "last_pulled_up = 1 AND last_run_style IN ('held_up', 'midfield') AND last_race_type = 'Chase' AND race_type = 'Hurdle'" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.1, "max_p": 0.05 }, "forward_bar": { "min_bets": 100, "min_ae": 1.05, "max_p": 0.2 }, "prediction": { "direction": "positive", "size": "A/E 1.30 to 1.50, concentrated under 16/1", "falsified_if": "A/E below 1.10, or not clearly above the chase-to-hurdle control, or the lift appearing only after 27 April 2026 (period split) as in other held-up pull-up cuts" }, "confounders": [ "Novice chase race mix: small, uncompetitive fields with skewed favourite-longshot pricing", "Small field sizes in novice and beginners' chases", "Calendar: autumn novice-chase season, when chase debutants cluster", "Trainer type: yards that routinely send hurdlers chasing may be underestimated on their own", "Period split: earlier held-up pull-up cuts carried their lift only after 27 April 2026", "Price band: lift may sit only under 16/1, and 16/1+ runners are at or below par", "Region: other jumps edges in this family were GB-led, with IRE losing" ], "mechanism": "A hurdler that was held up or raced midfield and then pulled up was most likely looked after once beaten, so the P overstates how bad the run was. The hurdle test may not have suited a horse bred for fences, and its first chase can bring out ability the hurdle form hid. The reverse move (chase to hurdles after a non-completion) scored 0.75 in the fallers cut. If this direction beats it, the switcher lift belongs to the switch to fences, not to fences being taken away or to any code change.", "market_miss": "The form shows a P on top of no chase form. Punters mark down a horse that is unproven over fences and pulled up last time. The form figures do not show that a held-up horse was given an easy time once its chance had gone, and they do not show that it is a chasing type moving to its proper job.", "notes": "I kept the rule sketch: it uses only pre-off columns and no result. Its sample is a subset of the 304 held-up pull-up code-switchers (A/E 1.359), so the bet count may come in under 150. If it does, a thin result pointing the right way goes on to falsification and forward tracking, per lab policy. The discovery bar is set a little above the floor (A/E 1.10) to match the falsification threshold in the hypothesis. The analyst should check the period split around 27 April 2026, GB against IRE, and the 16/1+ band before trusting any lift." }
Timeline
Job 2461 finished
· engine:compute-1
hypothesis note H-fbabeb50
· engine:perturb
perturbation result for H-fbabeb50 (neighbour: drop: race_type = 'Chase'): pass
· engine:perturb
perturbation result for H-fbabeb50 (neighbour: drop: last_race_type = 'Hurdle'): pass
· engine:perturb
perturbation result for H-fbabeb50 (neighbour: drop: last_run_style IN ('held_up', 'midfield')): pass
· engine:perturb
perturbation result for H-fbabeb50 (neighbour: drop: last_pulled_up = 1): pass
· engine:perturb
compute-1 took job 2461 (mutate, attempt 1)
· compute-1
Job 2459 finished
· engine:compute-1
forward result for H-fbabeb50 (forward vs bar {'min_bets': 100, 'min_ae': 1.05, 'max_p': 0.2}): info
· engine:evaluator
compute-1 took job 2459 (forward_check, attempt 1)
· compute-1
Queued mutate on the compute lane: parameter stability: do neighbouring thresholds hold?
· engine:scheduler
Queued forward_check on the compute lane: daily forward check of a shadow system
· engine:scheduler
Job 2458 finished
· engine:compute-1
H-fbabeb50 Frozen → SHADOW vault skipped: last_pulled_up, last_run_style do not exist before the discovery zone; track it forward instead
· engine:orchestrator
compute-1 took job 2458 (vault, attempt 1)
· compute-1
Job 2457 finished
· engine:compute-1
Queued vault on the compute lane: frozen: one sealed vault query
· engine:scheduler