Actions
Bug #4
closedAdmin season dashboard incorrectly marking games with 'incomplete features' in problem games section
Start date:
12/30/2025
Due date:
% Done:
100%
Estimated time:
Description
Problem¶
The admin season dashboard is showing games in the "Problem Games" section with the label "incomplete features" when those games actually have all features completed.
Location¶
Admin Season Dashboard → Problem Games section
Expected Behavior¶
- Games should only appear in "Problem Games" if they genuinely have incomplete features
- The "incomplete features" label should only show for games where one or more features are not completed
- Completed games should not appear in this section
Actual Behavior¶
- Games are appearing in "Problem Games" section with "incomplete features" label
- These games may actually have all features marked as completed
- This creates false positives and makes it hard to identify genuinely problematic games
Impact¶
- Admins cannot trust the dashboard to identify real issues
- Time wasted investigating false positives
- May hide genuinely problematic games in the noise
- Dashboard loses credibility as a monitoring tool
Investigation Areas¶
-
Feature completion logic: Check how
game.game_featurescompletion status is being evaluated - Preseason games: Are preseason games being incorrectly flagged? (We skip preseason data collection)
- Feature definitions: Are all expected features properly defined for each league?
- Race conditions: Could there be timing issues where features are marked complete after the dashboard queries?
- Query logic: Review the SQL/ActiveRecord query that identifies "problem games"
Related Code¶
Likely locations:
- Admin dashboard controller/view code
-
GameFeaturemodel and completion logic - Season/Game associations with features
- Feature definition in League model
Reproduction Steps¶
- Navigate to admin season dashboard
- Look at "Problem Games" section
- Observe games marked with "incomplete features"
- Check those games'
game_featuresrecords - Verify if features are actually incomplete or if it's a false positive
Suggested Investigation¶
# Check a specific game's features
game = Game.find_by(external_id: GAME_ID)
game.game_features.each do |gf|
puts "Feature: #{gf.feature.name}, Completed: #{gf.completed?}, Status: #{gf.status}"
end
# Check what the dashboard query is doing
# Review the query used to identify problem games
Priority¶
Medium - Dashboard accuracy is important for monitoring, but doesn't affect data collection or user-facing features.
Actions