Expected JSON format
{
"tool": "claude",
"confidence": "77%", // % string · 0-1 float (Gemini) · "High"/"Medium"/"Low"
"winner": { "name": "Horse Name", "odds": "8/1" },
"picks": [
{ "pos": 1, "name": "Horse Name", "odds": "8/1", "score": 77, "reason": "..." },
{ "pos": 2, "name": "Horse Name", "odds": "10/1", "score": 72, "reason": "..." },
{ "pos": 3, "name": "Horse Name", "odds": "7/1", "score": 70, "reason": "..." },
{ "pos": 4, "name": "Horse Name", "odds": "16/1", "score": 65, "reason": "..." }
],
"model_insight": "Key insight text here.",
// Optional — adds the radar chart + formula breakdown to Claude's terminal:
"signal_breakdown": [
{ "label": "Ability", "score": 96.1, "weight_pct": 28 },
{ "label": "Market", "score": 78.4, "weight_pct": 22 },
{ "label": "Form", "score": 96.4, "weight_pct": 20 },
{ "label": "TS", "score": 90.2, "weight_pct": 15 },
{ "label": "Weight", "score": 98.3, "weight_pct": 10 },
{ "label": "Age", "score": 95.0, "weight_pct": 5 }
],
"formula": "Score = Ability(28%) + Market(22%) + Form(20%) + TS(15%) + Weight(10%) + Age(5%)"
}