- The settled-season branch only ranked drivers that had a standings row, so with fewer than eight rows the trailing placement columns were empty and step 9's residual normalization dumped a full 1.0 onto whichever driver came first. Ten drivers with five standings rows gave d1 probSecond, probSixth, probSeventh and probEighth all at 1. Removed the branch: the in-season path awards no points when no races remain, so it already ranks the final standings, and it ranks the whole field. - The unpriced-driver floor was taken from a distribution normalized over the priced subset alone. With one priced driver devigPower returns [1], so every unpriced driver was seeded at 1 and the field came back flat — a lone -500 favourite fell to 0.117. Floor on the implied scale and devig the whole field instead, keeping the 1/N fallback when a book has a single price and no tail to anchor to. - hasRaceRun treated a race as run at the green flag, so remainingRaces hit 0 the moment the finale started and the pre-race leader was published as champion at 100% from standings that did not include that race. Require the race to have had time to finish. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUcV7KenckF893zQ46EDXt |
||
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| hooks | ||
| lib | ||
| models | ||
| routes | ||
| services | ||
| test | ||
| types | ||
| utils | ||
| welcome | ||
| app.css | ||
| entry.client.tsx | ||
| entry.server.tsx | ||
| root.tsx | ||
| routes.ts | ||