Summary
Make Sprocket authoritative for player identity, Discord linkage, platform accounts, and tracker links, rather than relying on mledb.player, mledb.player_account, and bridge rows.
Why
Active roster/admin workflows still dual-write identity and account data into MLEDB. That keeps legacy tables in the critical path for account reporting, player creation, and player lookup.
Relevant code
core/src/franchise/player/player.service.ts
core/src/organization/member/member.mod.resolver.ts
core/src/mledb/mledb-player-account/mledb-player-account.service.ts
core/src/mledb/mledb-player/mledb-player.service.ts
Scope
- Finalize the Sprocket-owned model for player identity and external platform accounts.
- Ensure Discord linkage, tracker links, and platform account ownership can be fully resolved from Sprocket.
- Preserve legacy ID crosswalk fields only where they are still needed for migration/cutover.
- Update active write paths so Sprocket becomes the primary write target.
- Limit legacy mirroring to a temporary compatibility mechanism, if still required.
Acceptance criteria
- New and updated player/account records can be fully reconstructed from Sprocket alone.
- Active account-reporting flows succeed without depending on legacy-only data structures.
- The set of fields still mirrored into MLEDB is explicitly documented and minimized.
- There is a clear removal plan for
mledb.player_account writes.
Summary
Make Sprocket authoritative for player identity, Discord linkage, platform accounts, and tracker links, rather than relying on
mledb.player,mledb.player_account, and bridge rows.Why
Active roster/admin workflows still dual-write identity and account data into MLEDB. That keeps legacy tables in the critical path for account reporting, player creation, and player lookup.
Relevant code
core/src/franchise/player/player.service.tscore/src/organization/member/member.mod.resolver.tscore/src/mledb/mledb-player-account/mledb-player-account.service.tscore/src/mledb/mledb-player/mledb-player.service.tsScope
Acceptance criteria
mledb.player_accountwrites.