Commit Graph

5 Commits

Author SHA1 Message Date
Trey t
81f620defe feat(03-02): add NWSL to canonicalization pipeline
- Import NWSL_TEAMS from nwsl module
- Add NWSL_DIVISIONS dict (single league structure, no divisions)
- Add NWSL to sport_mappings for team canonicalization
- Add NWSL team abbreviation aliases (ANG, GOTHAM, NCC, BAY, etc.)
- Add NWSL stadium aliases (CPKC Stadium, SeatGeek Stadium, WakeMed, etc.)

Total teams: 180 (13 NWSL teams added)
Final breakdown: NBA(30) + MLB(30) + NHL(32) + NFL(32) + MLS(30) + WNBA(13) + NWSL(13)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 09:43:18 -06:00
Trey t
285bc075d7 feat(03-02): add WNBA to canonicalization pipeline
- Import WNBA_TEAMS from wnba module
- Add WNBA_DIVISIONS dict (single league structure, no divisions)
- Add WNBA to sport_mappings for team canonicalization
- Update arena_key to use 'arena' for WNBA (like NBA/NHL)
- Add WNBA team abbreviation aliases (LV, LAS, NYL, PHX, etc.)
- Add WNBA stadium aliases (Michelob Ultra Arena, Gateway Center, etc.)

Total teams: 167 (13 WNBA teams added)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 09:41:59 -06:00
Trey t
b6a913df1d feat(03-02): add MLS to canonicalization pipeline
- Import MLS_TEAMS from mls module
- Add MLS_DIVISIONS dict (Eastern/Western conferences)
- Add MLS to sport_mappings for team canonicalization
- Add MLS team abbreviation aliases (LA, NYC, RBNY, etc.)
- Add MLS stadium historical aliases (BMO, PayPal Park, Shell Energy, etc.)

Total teams: 154 (30 MLS teams added)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 09:40:39 -06:00
Trey t
41496b6bea feat(03-01): add NFL team abbreviation aliases
Add NFL entries to TEAM_ABBREV_ALIASES dict:
- Historical relocations: OAK→LV, SD→LAC, STL→LAR
- Common 3-letter variations: JAC, GNB, KAN, NWE, NOR, TAM, SFO
- Direct match for WAS included for completeness

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 09:35:21 -06:00
Trey t
7efcea7bd4 Add canonical ID pipeline and fix UUID consistency for CloudKit sync
- Add local canonicalization pipeline (stadiums, teams, games) that generates
  deterministic canonical IDs before CloudKit upload
- Fix CanonicalSyncService to use deterministic UUIDs from canonical IDs
  instead of random UUIDs from CloudKit records
- Add SyncStadium/SyncTeam/SyncGame types to CloudKitService that preserve
  canonical ID relationships during sync
- Add canonical ID field keys to CKModels for reading from CloudKit records
- Bundle canonical JSON files (stadiums_canonical, teams_canonical,
  games_canonical, stadium_aliases) for consistent bootstrap data
- Update BootstrapService to prefer canonical format files over legacy format

This ensures all entities use consistent deterministic UUIDs derived from
their canonical IDs, preventing duplicate records when syncing CloudKit
data with bootstrapped local data.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 10:30:09 -06:00