Roster validation doesn't include org affiliate transactions (trades invisible to MiL count) #49
Labels
No Label
ai-changes-requested
ai-pr-opened
ai-reviewed
ai-reviewing
ai-working
in-next-release
status/in-progress
status/pr-open
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: cal/major-domo-v2#49
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Bug Description
When a team (e.g., POR) uses
/dropaddto schedule a move for next week, the roster validation loads existing transactions to project the future roster state. However,load_existing_transactions()only queries for transactions matching the base team abbreviation (e.g.,POR), missing transactions involving organizational affiliates (PORMIL,PORIL).Steps to Reproduce
oldteam=PORMIL)/dropaddRoot Cause
In
services/transaction_builder.py,load_existing_transactions()calls:This sends
team_abbrev=PORto the API. The API endpoint (database/app/routers_v3/transactions.py:46-51) does exact matching onTeam.abbrev, so transactions witholdteam=PORMILornewteam=PORMILare NOT returned.Fix
transaction_service.get_team_transactions()to accept a list of abbreviationsload_existing_transactions()to include all org affiliates (POR,PORMIL,PORIL)Impact
Any team with pending trades involving MiL or IL affiliates will get false "too many players" errors when trying to schedule roster moves for next week.