The Fox’s Wire · Methodology
How the algorithm thinks Pick Winner
Nine deliberate stages. Every one measurable. No black box.
Stage 01 · Ingest
Seven feeds, one core
Every runner enters the pipeline with 100+ signals across seven independent sources.
- Racecard & entries147
- Horse form & ratings2,314
- Market odds & moves918
- Pace / draw / course412
- Trainer & jockey583
- Going / weather96
- Historic results18,942
Stage 02 · Score
Every axis, every runner
Seven independent scorers run in parallel. No opinion, no LLM — just deterministic maths against the ingest.
- 0 SR
- 0 Pace
- 0 Course
- 0 Trainer
- 0 Draw
- 0 Going
- 0 Market
Composite score · weight distribution
Stage 03 · Prune
Fourteen down to four
Threshold gates strip the field before any AI sees it — every cut logged, every reason recorded.
- 1Horse 2PROMOTED
- 2Horse 5PROMOTED
- 3Horse 7PROMOTED
- 4Horse 10PROMOTED
- 5Horse 3CUT · trip mismatch
- 6Horse 4CUT · draw bias
- 7Horse 6CUT · trainer form
- 8Horse 8CUT · market drift
- 9Horse 9CUT · going
- 10Horse 1CUT · form
4 promoted 10 cut threshold gate · 3ms
Stage 04 · Assemble
The brief, built section by section
Prompt cache-primed, structured JSON out. Only the shortlist reaches Claude — no long tail, no noise.
- RACE_CONTEXT156 tokens✓
- SHORTLIST_4412 tokens✓
- SIGNALS_MATRIX598 tokens✓
- INSTRUCTIONS81 tokens✓
- TOTAL_TOKENS1,247◆
{
"race": { "course": "…", "distance": "…", "going": "…" },
"shortlist": [
{ "horse": "…", "sr": 142, "pace": 87, "trainer": 91, "odds": "3/1" },
{ "horse": "…", "sr": 138, "pace": 83, "trainer": 84, "odds": "5/2" },
…
],
"instructions": "Compare on all axes. Commit to one winner. Explain."
}
cache_status HIT · 94% context reused
1,247 tokens · optimised for clarity
Stage 05 · The centrepiece
Claude reasons out loud
Not a black-box classifier. A structured reasoning pass where each contender is measured against every other — and the winner emerges from the graph.
- Horse 2 · SR 142
- Horse 5 · SR 138
- Horse 7 · SR 134
- Horse 10 · SR 131
claude · reasoning transcript
- 0:00.4Comparing 4 shortlisted runners on all seven axes…
- 0:01.1A tops SR by 4 points but drifted last time out.
- 0:02.3B carries penalty; course-and-distance winner over C.
- 0:04.7C leads pace figures; profile favours today’s going.
- 0:06.1D trainer +23% ROI, but signals stack less than A.
- 0:08.2Committing to A · confidence tier: Medium.
Stage 06 · Verify
Trust is earned, not asserted
Every LLM response is checked against the real racecard before it is ever published.
- [00:00.001]Loading declared racecard.................OK
- [00:00.005]Match winner_horse in field.......PASS ✓
- [00:00.008]No hallucinated identifiers.......PASS ✓
- [00:00.011]Odds within sane range............PASS ✓
- [00:00.014]Confidence tier clamp.............PASS ✓
- [00:00.017]Signal-consistency assert.........PASS ✓
- [00:00.020]All checks passedEMIT →
If any check fails, the deterministic fallback picks the highest-scored shortlisted runner. A call is always published — hidden failures never happen.
Stage 07 · Calibrate
Confidence is a computation
The LLM's raw confidence is clamped against objective factors — every tier upgrade or downgrade has a reason.
Landing tier · Medium
- Field size
- Odds range
- SR gap
- Aligned signals
- Market strength
- Race certainty
Stage 08 · Emit
One pick. Six channels. Point-in-time correct.
Every emission stamped, hashed, and shipped simultaneously. No channel drift.
Stage 09 · Prove
Every pick, hashed, chained, and public
Each prediction is committed to a Merkle root before the race runs — the ledger is public and the maths is verifiable.
Updated every race day. See the full breakdown on the Pick Winner Honest Record.
Read further
The receipts
Saturday Racing · Data. Algorithms. AI Reasoning. Human Insight.