brackt/app/services/simulations
Claude eefe407e7f
Route every bracket-aware sport away from ICM, not just AFL
The previous commit gated the simulator re-run on a `bracketAware` flag set only
on afl_bracket and llws_bracket, on the claim that every other simulator was
bracket-blind and would resurrect eliminated teams if re-run. That claim was
wrong. Eleven more read playoff_matches and honor isComplete/winnerId already:
ucl, ncaam, ncaaw (both via ncaa-basketball), nba, nhl, snooker, world_cup,
darts, cs2_major, college_hockey and nll. All thirteen are now flagged, so any
sport with a bracket the simulator can read absorbs a result by re-running that
simulator rather than through ICM.

Two simulators are deliberately left off. playoff_bracket and
ncaa_football_bracket declare a "bracket" setup section but never read
playoff_matches, so re-running them really would re-draw the field. That
mismatch runs the other way too — world_cup, darts_bracket and
cs2_major_qualifying_points read the bracket without declaring the section — so
setupSections is not a usable signal here and the flag stays separate from it,
with both facts written down on the flag.

The EV-source condition is also gone. It only asked whether the existing EVs
came from a simulation, which protected nothing: the alternative to re-running
was never leaving them alone, it was the ICM branch overwriting them anyway.
Given two overwrites, the bracket-aware one wins regardless of what wrote them.

Tests: a bracket-blind simulator still goes through ICM, futures-odds EVs no
longer divert a bracket-aware season away from the re-run, and the bracket-aware
set is pinned in the manifest test so a new simulator is an explicit decision
rather than a default.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VPxDnSEKVoKx9HFcQ6gmcS
2026-08-29 02:49:17 +00:00
..
__tests__ Route every bracket-aware sport away from ICM, not just AFL 2026-08-29 02:49:17 +00:00
afl-simulator.ts Make the AFL simulator read the bracket that was actually drawn 2026-08-29 02:42:31 +00:00
auto-racing-simulator.ts claude/indycar-ev-sims-probability-fpzfx6 (#139) 2026-08-17 22:50:35 +00:00
bracket-simulator.ts Canonical tournament layer: schema + backfill (1/2) (#365) 2026-05-01 20:13:18 -07:00
brackt-simulator.ts Add Brackt as a league-private meta-sport (#200) (#377) 2026-05-04 20:31:44 -07:00
college-hockey-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
config-access.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
cs-major-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
darts-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
epl-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
golf-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
input-policy.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
llws-simulator.ts Address review findings in LLWS simulator 2026-08-21 22:08:04 +00:00
manifest.ts Route every bracket-aware sport away from ICM, not just AFL 2026-08-29 02:49:17 +00:00
mlb-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
mls-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
nba-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
ncaa-basketball-simulator.ts Upgrade NCAA preseason simulators (#419) 2026-05-12 22:26:25 -07:00
ncaa-football-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
ncaam-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
ncaaw-simulator.ts Fix NCAAW futures odds simulation and admin import UX (#420) 2026-05-13 01:06:16 -07:00
nfl-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
nhl-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
nll-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
race-points.ts claude/indycar-ev-sims-probability-fpzfx6 (#139) 2026-08-17 22:50:35 +00:00
registry.ts Make LLWS simulator bracket-aware and calibrate its futures model 2026-08-21 21:09:47 +00:00
runner.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
shared-major.ts Unify majors: score once, fan out across windows + tennis bracket EV 2026-06-22 20:32:22 -07:00
simulation-probabilities.ts Deduplicate soccer simulator helpers (#391) 2026-05-07 11:48:57 -07:00
simulator-config.ts Add MLS sport simulator (mls_bracket) (#422) 2026-05-14 12:45:53 -07:00
snooker-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
soccer-helpers.ts Deduplicate soccer simulator helpers (#391) 2026-05-07 11:48:57 -07:00
tennis-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
types.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
ucl-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
wnba-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00
world-cup-simulator.ts claude/probability-config-review-1tdolw (#119) 2026-06-30 23:24:48 +00:00