- Add numSimulations constructor param to DartsSimulator (same pattern as
WorldCupSimulator); drop default from 50k→10k; update manifest to match
- Pass 200 iterations in the slow darts column-sum test to prevent CI timeout
- Fix world-cup "SF losers" test to use 48 participants — with only 8,
the R32 pool has 6 teams and SF never runs, leaving all placement counts
at 0 and normalization producing probFirst=probThird=1 for one team
- Add manifest iterations: 10_000 override for darts_bracket
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Fix EPL Elo/odds fallback to populate odds-derived Elo for teams
missing sourceElo even when other teams have it (was silently throwing)
- Reduce WorldCupSimulator default iterations 50k→10k; test iterations
500→100 (WorldCup) and 10k→500 (EPL) to prevent timeouts on slow CI
- Override manifest defaultConfig iterations to 10k for world_cup and
epl_standings so production fallback matches source-level defaults
- Extract runKnockoutRound out of the 10k-iteration simulation loop
- Replace hot-loop toSorted() on 2-element arrays with a conditional
string comparison (eliminates allocation+sort on every group pair)
- Remove local normalizeProbabilities duplicate; use shared
normalizeSimulationResultColumns from simulation-probabilities.ts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>