brackt/app/services/simulations
Claude cdf86d1682
Feed each AFL Elimination Final into the Semi-Final of the same number
The Elimination Final winners were crossed into the Semi-Finals — EF1's winner
met the QF2 loser and EF2's the QF1 loser. The AFL feeds them straight through:
SF1 is the QF1 loser against the EF1 winner and SF2 the QF2 loser against the
EF2 winner. The crossover in this system lands a round later, at Semi-Final →
Preliminary Final, so a Qualifying Final loser cannot meet the side that just
beat it — that part was already right and is unchanged.

In 2026 that drew Fremantle v Adelaide and Brisbane v Geelong, when Fremantle
played Geelong and Brisbane played Adelaide.

Placement now reconciles both Semi-Final slots on every Elimination Final
result rather than writing the one it was called for, so correcting a recorded
result moves the qualifier instead of leaving the beaten team alive in a semi.
A slot held by anyone who never played an Elimination Final still raises
"already filled", and a Semi-Final that has been played refuses the move rather
than rewriting who contested it.

The simulator paired the Semi-Finals the same crossed way, which biased every
projection running off an undecided Elimination Final; it now feeds straight
through too.

Brackets already advanced under the crossover keep their wrong pairings, since
no admin action re-runs advancement — a completed match cannot be re-submitted.
Admin → the event's bracket gains a "Fix Semi-Final Pairings" button that runs
the same reconciliation over a bracket as it stands.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MSDeNWAXvK7nznJqjxn7Jo
2026-09-11 18:10:30 +00:00
..
__tests__ Feed each AFL Elimination Final into the Semi-Final of the same number 2026-09-11 18:10:30 +00:00
afl-simulator.ts Feed each AFL Elimination Final into the Semi-Final of the same number 2026-09-11 18:10:30 +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 Make MLB projected wins actually drive the simulation 2026-08-29 05:31:15 +00:00
mlb-simulator.ts Fix review findings on the MLB projected-wins change 2026-08-29 06:18:41 +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 Stop the simulator re-run from trampling its caller's side effects 2026-08-29 03:46:12 +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