{"slate_id":"cfl-main-draftkings-2026-10-31","sport":"cfl","site":"draftkings","slate_date":"2026-10-31","slate_type":"main","slate_subtype":null,"tour":null,"competition":null,"league_label":null,"is_draft":false,"config":{"$comment":"PER-TEAM CAP DERIVED FROM THE 2-GAME RULE (2026-09-04). DraftKings football Classic states one roster-composition rule: \\\"rosters must include players from at least 2 different games\\\". There is no separate per-team cap, so the real ceiling is one short of the roster \\u2014 6 of 7: take 6 from one team and the last seat cannot be that team OR its opponent, because both sit in the same game. max_per_team was 4, which is not a DraftKings rule and refused legal lineups; min_games=2 is what actually enforces the published one. Matches nfl/draftkings/main.json, which has always been 8 of 9. || FanDuel is NOT the same: its football rulebook does cap a team at 4, so fanduel/*.json keep max_per_team=4 on purpose. || COMPOSITION RULE CORRECTED 2026-09-14 against DraftKings' published CFL Classic rules: 'Lineups will consist of 7 players and must include players from at least 2 different CFL TEAMS'. Teams, not games - the CFL reads like the UFL here and unlike NFL/CFB Classic, which both publish a 2-GAME rule. min_games was 2, which is strictly stronger than the published rule and refused legal lineups: both sides of a single CFL game is a valid entry. No error, no rejected upload, just a smaller feasible set than the operator allows. max_per_team stays 6 (=slots-1) but now derives from the 2-team rule rather than the 2-game rule - same number, different authority. The roster (QB, RB, 2 WR, 2 FLEX (RB/WR), DST) already matched.","site":"draftkings","sport":"cfl","slate_type":"main","salary_cap":50000,"roster_slots":[{"name":"QB","eligible":["QB"]},{"name":"RB","eligible":["RB"]},{"name":"WR1","eligible":["WR"]},{"name":"WR2","eligible":["WR"]},{"name":"FLEX1","eligible":["RB","WR"]},{"name":"FLEX2","eligible":["RB","WR"]},{"name":"DST","eligible":["DST"]}],"max_per_team":6,"min_teams":2,"min_games":1,"scoring":{"passing_yard":0.04,"passing_td":4,"passing_int":-1,"rushing_yard":0.1,"rushing_td":6,"receiving_yard":0.1,"receiving_td":6,"reception":1,"fumble_lost":-1,"dst_sack":1,"dst_int":2,"dst_td":6},"export_format":{"header":["QB","RB","WR","WR","FLEX","FLEX","DST"],"id_format":"{name} ({site_player_id})"}},"locked_at":null,"first_game_start":"2026-10-31T17:00:00Z","last_game_start":"2026-10-31T20:30:00Z","late_swap_enabled":true,"display_name":null,"is_free":false,"group_key":"69233e22f390740c","group_slate_type":"main","projection_window":null}