- Write placement in assignCs2EliminationQP so processQualifyingEvent
preserves progressive QP at event finalization instead of zeroing it.
Stage 1 exits get placement=25, Stage 2 exits get placement=17, Stage 3
exits get their W-L group start slot (9-16) so tie-split logic re-derives
the same averaged QP at finalization.
- Add clearCs2EliminationsAtStage model function and stage_displayed_{N}
hidden fields so unchecking a team in the admin form actually clears
their DB record (replacement semantics instead of additive).
- Add stageEliminated >= stageEntry validation in markCs2StageEliminations.
- Wrap mark-eliminations action handler in try/catch to surface errors.
- Switch serial recalculateParticipantQP loop to Promise.all.
- Remove duplicate calcStage3ExitQP from cs-major-simulator; import
computeStage3ExitQP from cs2-major-stage and re-export under the
original name so simulator tests remain unchanged.
https://claude.ai/code/session_013u6vbGHdppe88wQ95BLANw
|
||
|---|---|---|
| .. | ||
| __tests__ | ||
| match-sync | ||
| simulations | ||
| standings-sync | ||
| bracket-simulator.ts | ||
| brackt.server.ts | ||
| discord.ts | ||
| draft-autostart.ts | ||
| draft-discord.server.ts | ||
| draft-email.server.ts | ||
| ev-calculator.ts | ||
| icm-calculator.ts | ||
| probability-engine.ts | ||
| probability-updater.ts | ||
| sync-tournament-results.ts | ||