Skip to content

Track MLEDB to Sprocket roster and admin migration #736

@gankoji

Description

@gankoji

Summary

Track the migration from active legacy MLEDB roster/admin dependencies to Sprocket-owned data and workflows, in the intended cutover order.

Milestone Sequence

  1. Make Sprocket the write target for all active roster/admin domains.
  2. Backfill historical legacy state into Sprocket.
  3. Deprecate or repoint the remaining active MLEDB bot workflows.
  4. Remove dataset dependencies on legacy schemas.

Execution Order

Phase 1: Write parity in Sprocket

  • SprocketBot/sprocket#726 Make Sprocket the source of truth for org-team permissions
    Dependencies: none
    Suggested lead: @ItsMeBrianD
    Suggested support: @gankoji
  • SprocketBot/sprocket#727 Make Sprocket the source of truth for player identity and platform accounts
    Dependencies: none
    Suggested lead: @ItsMeBrianD
    Suggested support: @bwpikaard
  • SprocketBot/sprocket#728 Make Sprocket authoritative for roster, staff, and suspension state
    Dependencies: none, but should align with #727 early
    Suggested lead: @gankoji
    Suggested support: @ItsMeBrianD
  • SprocketBot/sprocket#730 Move schedule approval and match scheduling state into Sprocket
    Dependencies: none
    Suggested lead: @ItsMeBrianD
    Suggested support: @zachstence
  • SprocketBot/sprocket#729 Move waiver and transaction state into Sprocket
    Dependencies: #727, #728
    Suggested lead: @gankoji
    Suggested support: @bwpikaard

Phase 2: Backfill existing data

  • SprocketBot/sprocket#735 Add migration validation reports for legacy-to-Sprocket parity
    Dependencies: can start during Phase 1, but must be complete before Phase 3 cutover
    Suggested lead: @bwpikaard
    Suggested support: @ItsMeBrianD
  • SprocketBot/sprocket#731 Backfill org-team permission data from MLEDB into Sprocket
    Dependencies: #726
    Suggested lead: @ItsMeBrianD
    Suggested support: @bwpikaard
  • SprocketBot/sprocket#732 Backfill player identity and platform account links into Sprocket
    Dependencies: #727
    Suggested lead: @bwpikaard
    Suggested support: @ItsMeBrianD
  • SprocketBot/sprocket#733 Backfill roster, staff, suspension, and team-role-usage state into Sprocket
    Dependencies: #728, #729
    Suggested lead: @gankoji
    Suggested support: @bwpikaard
  • SprocketBot/sprocket#734 Backfill legacy schedule approvals and scheduled times into Sprocket
    Dependencies: #730
    Suggested lead: @ItsMeBrianD
    Suggested support: @zachstence

Phase 3: Deprecate / repoint MLEDB bots

  • Minor-League-Esports/MLEDB#413 Replace deprecated bot commands with Sprocket redirect responses
    Dependencies: none; can begin immediately
    Suggested lead: @RizRL
    Suggested support: @ItsMeBrianD
  • Minor-League-Esports/MLEDB#414 Repoint active roster and league-admin bot commands to Sprocket-backed APIs
    Dependencies: #726, #727, #728, #729, #730, #731, #732, #733, #734
    Suggested lead: @RizRL
    Suggested support: @ItsMeBrianD
  • Minor-League-Esports/MLEDB#415 Retire direct MLEDB writes from remaining active bot workflows
    Dependencies: Minor-League-Esports/MLEDB#414, parity confidence from #735
    Suggested lead: @RizRL
    Suggested support: @adisapre

Phase 4: Remove datasets dependencies

  • SprocketBot/datasets#95 Replace legacy identity and account dataset queries with Sprocket-native sources
    Dependencies: #727, #732, Minor-League-Esports/MLEDB#414
    Suggested lead: @ItsMeBrianD
    Suggested support: @Mitchel-Berg
  • SprocketBot/datasets#96 Replace legacy standings and scheduling dataset queries with Sprocket-native sources
    Dependencies: #730, #734, Minor-League-Esports/MLEDB#414
    Suggested lead: @ItsMeBrianD
    Suggested support: @Mitchel-Berg
  • SprocketBot/datasets#97 Replace or retire legacy role-usage and eligibility-backed dataset queries
    Dependencies: #733, Minor-League-Esports/MLEDB#414
    Suggested lead: @ItsMeBrianD
    Suggested support: @Mitchel-Berg

Critical Path

  • #726, #727, #728, #730 establish the new source-of-truth models and write paths.
  • #729 depends on identity + roster state and is the last major active-write blocker inside Sprocket.
  • #731 to #734 migrate historical state.
  • #735 provides the parity gates that should be used before cutting bot writes.
  • Minor-League-Esports/MLEDB#414 is the main operational cutover point for remaining bot-backed admin flows.
  • Minor-League-Esports/MLEDB#415 should only happen after the repointed bot flows are stable.
  • Dataset issues are intentionally last.

Suggested Working Cadence

  • Lane A: auth / identity / accounts (#726, #727, #731, #732)
  • Lane B: roster / transactions / suspensions (#728, #729, #733)
  • Lane C: scheduling (#730, #734)
  • Lane D: validation / cutover support (#735, MLEDB#413, MLEDB#414, MLEDB#415)
  • Lane E: datasets cleanup after runtime cutover (datasets#95-#97)

Exit Gates

  • Gate 1: Phase 1 complete when all active roster/admin writes are possible in Sprocket.
  • Gate 2: Phase 2 complete when backfills have run and parity reports are acceptable.
  • Gate 3: Phase 3 complete when active MLEDB bot workflows no longer write legacy data directly.
  • Gate 4: Phase 4 complete when public datasets no longer depend on mledb / mledb_bridge.

Notes

  • This tracker intentionally excludes legacy scrims, legacy match replay saving, legacy Elo, and legacy report cards, which are already considered deprecated operationally.
  • Suggested leads are recommendations based on recent repo activity, not current assignments.
  • Datasets are intentionally sequenced last so they can follow the runtime and bot cutovers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions