|
All checks were successful
🚀 Deploy / 🧪 Test (pull_request) Successful in 3m12s
🚀 Deploy / ʦ🔍 Typecheck & Lint (pull_request) Successful in 1m24s
🚀 Deploy / 🐳 Build (pull_request) Has been skipped
🚀 Deploy / 🚀 Deploy (pull_request) Has been skipped
🚀 Deploy / 🧪 Test (push) Successful in 3m27s
🚀 Deploy / ʦ🔍 Typecheck & Lint (push) Successful in 1m25s
🚀 Deploy / 🐳 Build (push) Successful in 1m14s
🚀 Deploy / 🚀 Deploy (push) Successful in 14s
Make a "major" (golf/tennis/CS2) scored once on its canonical tournament and fan out to every linked sports_season window and league. Fan-out & completion (app/services/sync-tournament-results.ts): - syncTournamentResults now marks each synced window's event complete (gated by markComplete), recalculates affected leagues, and counts recalc failures so a stale league can't hide behind a "completed" badge - syncMajorFromPrimaryEvent promotes a primary window's derived results to canonical tournament_results (deleting rows for dropped placements) and fans out to siblings; fanOutMajorIfPrimary guards on the primary - placement removals now propagate (stale rows reset to filler) Primary-event model (scoring_events.is_primary, migration 0122): - getPrimaryEventForTournament / isReadOnlySibling / ensurePrimaryEvent / setPrimaryEvent; event creation auto-seeds a primary for bracket majors; "Make primary" button on the tournament page - per-window event/bracket/cs2 pages are read-only for non-primary linked events (not-participating stays editable) Tennis Grand Slam bracket (tennis_128 template + TEMPLATE_ROUND_CONFIG): - bracket-scored qualifying major via the existing bracket pipeline - simulator conditions in-progress EV on the real bracket (honoring completed matches, walkover for withdrawals), QP derived from config, round structure read from the template; CS2 + tennis share resolveStructureSource Backfill (scripts/backfill-major-linking.ts): one-time idempotent reconcile of existing majors (link orphans, designate primary, promote canonical, sync). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| afl-finals.test.ts | ||
| audit-log.test.ts | ||
| auto-pick.test.ts | ||
| bracket-integration.test.ts | ||
| bracket-seeding.test.ts | ||
| bracket-templates.test.ts | ||
| canonical-golf-skills.test.ts | ||
| canonical-surface-elo.test.ts | ||
| cfp-12-bracket.test.ts | ||
| commissioner.test.ts | ||
| cs2-major-stage.test.ts | ||
| draft-pick.test.ts | ||
| executeAutoPick.timer.test.ts | ||
| golf-skills.test.ts | ||
| group-stage-match.test.ts | ||
| ncaa-68-bracket.test.ts | ||
| nfl-bracket.test.ts | ||
| participant-expected-value.test.ts | ||
| participant.test.ts | ||
| playoff-match-game.test.ts | ||
| playoff-match-odds.test.ts | ||
| point-progression.test.ts | ||
| process-match-result.test.ts | ||
| progressive-floor-scoring.test.ts | ||
| qualifying-bracket-scoring.test.ts | ||
| qualifying-points.test.ts | ||
| regular-season-standings.test.ts | ||
| scoring-calculator-qualifying.test.ts | ||
| scoring-calculator.test.ts | ||
| scoring-event-dashboard.test.ts | ||
| scoring-event-delete.test.ts | ||
| scoring-event-tournament-helpers.test.ts | ||
| season-match.test.ts | ||
| season-participant-copy.test.ts | ||
| season-standings.test.ts | ||
| simulator-inputs.test.ts | ||
| sport.test.ts | ||
| sports-season.clone.test.ts | ||
| sports-season.test.ts | ||
| standings-snapshots.test.ts | ||
| surface-elo.test.ts | ||
| team-projected-score.test.ts | ||
| team-score-events.test.ts | ||
| tiebreaker-logic.test.ts | ||
| tournament-result.test.ts | ||
| tournament.test.ts | ||
| upcoming-calendar.test.ts | ||
| user.test.ts | ||