Hypotheses · ugly-result-physical-cause · H-eb1a0840
Travelled well, then stopped on a stiff uphill finish; today on a flat-finish track
fails: 28 bets, needs 150; A/E 0.998, needs 1.1; p 0.5784, needs 0.05 or lower; periods [], each needs 1.0; A/E 0.998 against same-race control 0.996, needs 0.03 above (not a niche pass: only 28 bets; A/E 0.998 below 1.1; p 0.5783763804363621 above 0.5; does not beat the same-race control 0.996)
Starts the thread “Travelled well, then stopped on a stiff uphill finish; today on a flat-finish track” 1 hypothesis
- Proposed
- Designed
- Discovery
- Promising
- Falsification
- Frozen
- Vault
- Provisional
- Shadow
- Validated
- Live
- Source
- Scout agent, v1
- Made by
- scout
- Created
- 15 Oct, 23:27
- Tests logged
- 1
Mechanism and rationale
A stiff uphill finish (Cheltenham, Sandown, Towcester, Carlisle and others) takes a large share of energy from horses whose stamina is borderline. A horse that travelled strongly to the final climb and then stopped was beaten by the hill, which is a physical feature of the track, not of its ability. On a track with a flat or easy finish the same effort carries it to the line.
The rule
last_track_stiff_finish = 1 AND track_stiff_finish = 0 AND last_travelled_well = 1 AND last_weak_finish = 1 AND last_position IS NOT NULL AND last_position > 1 AND distance_yards <= last_distance_yards + 110
Reads: last_track_stiff_finish, track_stiff_finish, last_travelled_well, last_weak_finish, last_position, distance_yards, last_distance_yards
Pre-registration
- Spec hash (sha256 of the canonical pre-spec)
- 24a3c514191a7153e950d3248c184724f78fa95916b9f95b4082157beef07c4c
- Frozen
- not frozen
- The definition can still change.
- Confounders
- Eye-catcher overbetting: last_travelled_well horses are a known market favourite angle and may already be shortened, so the edge must beat the flat-track 'travelled well, weakened' control, not just 1.00
- Genuine non-stayers: excluded in the broad rule by banning a step up of more than half a furlong; the same-trip-or-shorter refinement tests this directly
- Shared structure with the leader galloping-to-sharp negative (0.91): split the result by last_run_style and check leaders do not drive it the other way
- Festival / big-meeting quality: Cheltenham and Sandown runs are often stronger races, so today's race may be an easier class; split by class drop (race_class vs last_race_class) to separate the hill from a class drop
- Remark tags (travelled_well, weak_finish) exist only from 2025-11-01, so the sample is about one year; the period test must use two halves, and the tags need reading by eye on a sample before trusting the result
- Fitness: a horse that weakened may have been short of a run; split by days_since_last_run (under/over 60 days last time)
Discovery result
fail broad rule · 15 Oct, 23:30
- Bets
- 28
- 3 winners
- A/E
- 1.00
- 95%: 0.21 to 2.92
- SP return
- -55.4%
- level stakes
- Betfair SP return
- –
- 28 bets with a BSP
Strike rate 10.7%. p = 0.58. Same-race control: the other runners in these races had A/E 1.00, so the selection beat its own races. Zone: discovery. Evaluator eval-1.0, data ef1163efa87ef7d2
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
No parent and no descendants yet. When an agent mutates, generalises or splits this idea, the new hypotheses appear here.
Agent runs
designer v1ok · 38s · 15 Oct, 23:29
Output (schema-checked)
{ "rule": "last_track_stiff_finish = 1 AND track_stiff_finish = 0 AND last_travelled_well = 1 AND last_weak_finish = 1 AND last_position IS NOT NULL AND last_position > 1 AND distance_yards <= last_distance_yards + 110", "refinements": [ { "label": "14/1 or shorter", "rule": "last_track_stiff_finish = 1 AND track_stiff_finish = 0 AND last_travelled_well = 1 AND last_weak_finish = 1 AND last_position IS NOT NULL AND last_position > 1 AND distance_yards <= last_distance_yards + 110 AND sp_decimal <= 15" }, { "label": "same trip or shorter (strict stamina excuse)", "rule": "last_track_stiff_finish = 1 AND track_stiff_finish = 0 AND last_travelled_well = 1 AND last_weak_finish = 1 AND last_position IS NOT NULL AND last_position > 1 AND distance_yards <= last_distance_yards" }, { "label": "jumps only (where the climb after the last is decisive)", "rule": "last_track_stiff_finish = 1 AND track_stiff_finish = 0 AND last_travelled_well = 1 AND last_weak_finish = 1 AND last_position IS NOT NULL AND last_position > 1 AND distance_yards <= last_distance_yards + 110 AND race_type IN ('Hurdle', 'Chase')" } ], "control": { "description": "Same-race other runners should sit near the usual RaceiQ/remark control of 1.03-1.05; the selection must clear them clearly. The decisive control is the same 'travelled well, weakened' comment earned on a track WITHOUT a stiff finish, also running on a non-stiff track today: if that group performs as well as the selection, the edge is the generic eye-catcher (or its absence), not the hill. The hypothesis predicts the stiff-finish group beats this control by a clear margin (at least 0.05 A/E).", "rule": "last_track_stiff_finish = 0 AND track_stiff_finish = 0 AND last_travelled_well = 1 AND last_weak_finish = 1 AND last_position IS NOT NULL AND last_position > 1 AND distance_yards <= last_distance_yards + 110" }, "pass_criteria": { "min_bets": 150, "min_ae": 1.1, "max_p": 0.05 }, "forward_bar": { "min_bets": 150, "min_ae": 1.03, "max_p": 0.2 }, "confounders": [ "Eye-catcher overbetting: last_travelled_well horses are a known market favourite angle and may already be shortened, so the edge must beat the flat-track 'travelled well, weakened' control, not just 1.00", "Genuine non-stayers: excluded in the broad rule by banning a step up of more than half a furlong; the same-trip-or-shorter refinement tests this directly", "Shared structure with the leader galloping-to-sharp negative (0.91): split the result by last_run_style and check leaders do not drive it the other way", "Festival / big-meeting quality: Cheltenham and Sandown runs are often stronger races, so today's race may be an easier class; split by class drop (race_class vs last_race_class) to separate the hill from a class drop", "Remark tags (travelled_well, weak_finish) exist only from 2025-11-01, so the sample is about one year; the period test must use two halves, and the tags need reading by eye on a sample before trusting the result", "Fitness: a horse that weakened may have been short of a run; split by days_since_last_run (under/over 60 days last time)", "track_stiff_finish uses course-guide labels; courses with missing labels are excluded rather than assumed flat" ], "mechanism": "A stiff uphill finish (Cheltenham, Sandown, Towcester, Carlisle, etc.) drains the last of the energy from horses whose stamina is borderline for the trip. A horse that travelled strongly into the climb and then weakened was beaten by the hill, a physical feature of that track, rather than lacking ability. On a track whose finish is not stiff, at the same trip or shorter, the same effort lasts to the line.", "market_miss": "The comment 'travelled well, weakened' reads as a soft horse or a non-stayer, and the next price is punished for it. Racecards do not set the previous run's comment against the course's finish profile, so the hill as the cause is forgotten. The test is whether this specific excuse is mispriced beyond the generic eye-catcher, which the market already likes.", "notes": "I changed the draft rule's coalesce(track_stiff_finish,0)=0 to track_stiff_finish = 0, so courses without a label are no longer counted as flat. I added a cap on a step up in trip (no more than 110 yards), because the mechanism does not hold for a non-stayer going further. last_travelled_well and last_weak_finish only exist from 2025-11-01, so the discovery sample is about a year (split it into two halves). If it comes in under 150 bets but points the right way, send it to falsification and forward tracking instead of killing it. The pass A/E is raised to 1.10 because remark-tag controls run at 1.03-1.05 and eye-catchers are overbet." }
Timeline
Job 284 finished
· engine:compute-2
H-eb1a0840 Discovery → KILLED fails: 28 bets, needs 150; A/E 0.998, needs 1.1; p 0.5784, needs 0.05 or lower; periods [], each needs 1.0; A/E 0.998 against same-race control 0.996, needs 0.03 above (not a niche pass: only 28 bets; A/E 0.998 below 1.1; p 0.5783763804363621 above 0.5; does not beat the same-race control 0.996)
· engine:evaluator
discovery result for H-eb1a0840 (broad rule): fail
· engine:evaluator
H-eb1a0840 Designed → RESEARCHdiscovery measuring on the discovery zone
· engine:orchestrator
compute-2 took job 284 (evaluate, attempt 1)
· compute-2
Job 45 finished
· engine:ai-1
Queued evaluate on the compute lane: discovery run of the broad rule
· engine:scheduler
H-eb1a0840 Proposed → RESEARCHdesigned pre-spec written and hashed
· agent:designer@v1
ai-1 took job 45 (design, attempt 1)
· ai-1
Queued design on the ai lane: write the pre-spec
· engine:scheduler
New idea H-eb1a0840: Travelled well, then stopped on a stiff uphill finish; today on a flat-finish track (scout)
· agent:scout@v1
Every change is an event with an actor: an agent and its version, an engine, a human, or the importer. Current stage: Killed.