{"abstract":"The lowest-projected eligible bench player is started at FLEX.","category":"Fantasy sports scoring","checks":7,"contract":"Players are [name, position, projection tenths, status]. OUT and BYE players are ineligible; Q (questionable) players are eligible. Rank by projection descending, name ascending on ties. Fill QB x1, RB x2, WR x2, TE x1, then one FLEX from the best remaining RB/WR/TE (kickers and QBs never flex). Return the slot lists and the total projection.","contract_signature":"players","evaluation_group":"w2-fantasy-sports-scoring-optimal-flex-lineup","failed_approach":"Re-sorting ascending and reversing restores projection order but flips name tie-breaks.","family":"w2-fantasy-sports-scoring-optimal-flex-lineup-flex-pick-order","id":"FA-84946","implementations":{"attempt":{"sha256":"42231bc418a13a5ce5c079a71041b97509d18394a13b99170809ed85d7947a94","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(players):\n    eligible = [p for p in players if p[3] not in ('OUT', 'BYE')]\n    eligible.sort(key=lambda p: (-p[2], p[0]))\n    need = {'QB': 1, 'RB': 2, 'WR': 2, 'TE': 1}\n    lineup = {'QB': [], 'RB': [], 'WR': [], 'TE': [], 'FLEX': []}\n    bench = []\n    for p in eligible:\n        if p[1] in need and len(lineup[p[1]]) < need[p[1]]:\n            lineup[p[1]].append(p[0])\n        else:\n            bench.append(p)\n    for p in sorted(bench, key=lambda p: p[2])[::-1]:\n        if p[1] in ('RB', 'WR', 'TE'):\n            lineup['FLEX'].append(p[0])\n            break\n    proj = {p[0]: p[2] for p in players}\n    total = sum(proj[n] for names in lineup.values() for n in names)\n    return {'lineup': lineup, 'total': total}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: flex pick order',\n   [[['oz', 'RB', 70, 'Q'], ['max', 'WR', 85, 'ACTIVE'], ['fay', 'TE', 55, 'OUT'],\n     ['dee', 'QB', 40, 'ACTIVE'], ['lu', 'RB', 40, 'ACTIVE'], ['gus', 'WR', 40, 'Q'],\n     ['hal', 'RB', 85, 'ACTIVE'], ['kai', 'RB', 150, 'ACTIVE'], ['bo', 'WR', 40, 'ACTIVE'],\n     ['jo', 'RB', 120, 'BYE']]],\n   {'lineup': {'FLEX': ['oz'], 'QB': ['dee'], 'RB': ['kai', 'hal'], 'TE': [], 'WR': ['max', 'bo']},\n    'total': 470}),\n  ('partial repair probe: flex pick order',\n   [[['ned', 'RB', 70, 'ACTIVE'], ['max', 'RB', 100, 'ACTIVE'], ['oz', 'WR', 85, 'OUT'],\n     ['fay', 'RB', 120, 'OUT'], ['lu', 'RB', 70, 'ACTIVE'], ['eli', 'TE', 70, 'ACTIVE'],\n     ['ivy', 'TE', 150, 'ACTIVE'], ['ada', 'WR', 40, 'Q'], ['bo', 'QB', 55, 'OUT'], ['gus', 'K', 100, 'OUT'],\n     ['jo', 'RB', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['eli'], 'QB': [], 'RB': ['jo', 'max'], 'TE': ['ivy'], 'WR': ['ada']}, 'total': 460}),\n  ('second regression',\n   [[['pia', 'TE', 120, 'Q'], ['max', 'RB', 150, 'ACTIVE'], ['fay', 'RB', 55, 'ACTIVE'],\n     ['jo', 'WR', 70, 'ACTIVE'], ['ada', 'RB', 100, 'ACTIVE'], ['hal', 'WR', 70, 'ACTIVE'],\n     ['lu', 'RB', 70, 'OUT'], ['eli', 'RB', 40, 'Q'], ['dee', 'WR', 70, 'BYE'], ['ivy', 'K', 70, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['fay'], 'QB': [], 'RB': ['max', 'ada'], 'TE': ['pia'], 'WR': ['hal', 'jo']},\n    'total': 565}),\n  ('normal control 1',\n   [[['cy', 'WR', 70, 'ACTIVE'], ['pia', 'K', 55, 'ACTIVE'], ['ivy', 'TE', 55, 'BYE'],\n     ['jo', 'RB', 40, 'OUT'], ['oz', 'K', 120, 'ACTIVE'], ['eli', 'TE', 70, 'BYE'],\n     ['ned', 'RB', 70, 'ACTIVE'], ['kai', 'WR', 70, 'BYE']]],\n   {'lineup': {'FLEX': [], 'QB': [], 'RB': ['ned'], 'TE': [], 'WR': ['cy']}, 'total': 140}),\n  ('normal control 2',\n   [[['dee', 'RB', 55, 'Q'], ['pia', 'RB', 85, 'OUT'], ['lu', 'RB', 120, 'Q'], ['ned', 'TE', 55, 'ACTIVE'],\n     ['kai', 'RB', 70, 'OUT'], ['jo', 'QB', 40, 'Q'], ['eli', 'RB', 70, 'ACTIVE'],\n     ['ada', 'QB', 70, 'BYE']]],\n   {'lineup': {'FLEX': ['dee'], 'QB': ['jo'], 'RB': ['lu', 'eli'], 'TE': ['ned'], 'WR': []}, 'total': 340}),\n  ('normal control 3',\n   [[['kai', 'RB', 55, 'ACTIVE'], ['jo', 'TE', 120, 'BYE'], ['fay', 'RB', 70, 'ACTIVE'],\n     ['oz', 'WR', 55, 'OUT'], ['ivy', 'TE', 55, 'ACTIVE'], ['pia', 'RB', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['kai'], 'QB': [], 'RB': ['pia', 'fay'], 'TE': ['ivy'], 'WR': []}, 'total': 280}),\n  ('normal control 4',\n   [[['ada', 'K', 100, 'OUT'], ['ned', 'K', 100, 'BYE'], ['pia', 'WR', 70, 'BYE'], ['eli', 'QB', 70, 'Q'],\n     ['gus', 'QB', 100, 'BYE'], ['max', 'RB', 120, 'Q'], ['kai', 'RB', 55, 'BYE']]],\n   {'lineup': {'FLEX': [], 'QB': ['eli'], 'RB': ['max'], 'TE': [], 'WR': []}, 'total': 190})],\n [('regression: flex pick order',\n   [[['ada', 'K', 120, 'ACTIVE'], ['ivy', 'K', 120, 'ACTIVE'], ['oz', 'TE', 40, 'Q'],\n     ['fay', 'WR', 70, 'OUT'], ['hal', 'RB', 70, 'BYE'], ['lu', 'TE', 100, 'ACTIVE'], ['cy', 'K', 70, 'OUT'],\n     ['jo', 'RB', 55, 'ACTIVE'], ['eli', 'WR', 70, 'ACTIVE'], ['gus', 'RB', 100, 'ACTIVE'],\n     ['ned', 'RB', 70, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['jo'], 'QB': [], 'RB': ['gus', 'ned'], 'TE': ['lu'], 'WR': ['eli']}, 'total': 395}),\n  ('partial repair probe: flex pick order',\n   [[['eli', 'TE', 55, 'OUT'], ['gus', 'WR', 120, 'ACTIVE'], ['hal', 'QB', 40, 'ACTIVE'],\n     ['ned', 'RB', 40, 'OUT'], ['ivy', 'TE', 55, 'Q'], ['jo', 'RB', 40, 'Q'], ['fay', 'WR', 55, 'ACTIVE'],\n     ['max', 'RB', 55, 'Q'], ['cy', 'WR', 55, 'ACTIVE'], ['pia', 'WR', 55, 'ACTIVE'], ['ada', 'K', 150, 'Q'],\n     ['oz', 'WR', 85, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['cy'], 'QB': ['hal'], 'RB': ['max', 'jo'], 'TE': ['ivy'], 'WR': ['gus', 'oz']},\n    'total': 450}),\n  ('second regression',\n   [[['jo', 'WR', 100, 'BYE'], ['pia', 'RB', 150, 'Q'], ['hal', 'WR', 55, 'ACTIVE'],\n     ['ada', 'WR', 70, 'ACTIVE'], ['dee', 'RB', 85, 'OUT'], ['max', 'RB', 55, 'OUT'], ['kai', 'TE', 85, 'Q'],\n     ['bo', 'WR', 40, 'Q'], ['eli', 'RB', 120, 'ACTIVE'], ['ned', 'TE', 100, 'ACTIVE'],\n     ['fay', 'K', 150, 'ACTIVE'], ['oz', 'TE', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['oz'], 'QB': [], 'RB': ['pia', 'eli'], 'TE': ['ned'], 'WR': ['ada', 'hal']},\n    'total': 595}),\n  ('normal control 1',\n   [[['pia', 'RB', 120, 'ACTIVE'], ['eli', 'TE', 70, 'ACTIVE'], ['dee', 'TE', 70, 'Q'],\n     ['fay', 'WR', 85, 'ACTIVE'], ['ivy', 'RB', 100, 'ACTIVE'], ['oz', 'WR', 70, 'ACTIVE'],\n     ['ada', 'TE', 40, 'BYE']]],\n   {'lineup': {'FLEX': ['eli'], 'QB': [], 'RB': ['pia', 'ivy'], 'TE': ['dee'], 'WR': ['fay', 'oz']},\n    'total': 515}),\n  ('normal control 2',\n   [[['ned', 'RB', 55, 'ACTIVE'], ['hal', 'TE', 150, 'BYE'], ['max', 'K', 40, 'BYE'],\n     ['bo', 'TE', 120, 'ACTIVE'], ['gus', 'K', 120, 'Q'], ['eli', 'TE', 150, 'OUT']]],\n   {'lineup': {'FLEX': [], 'QB': [], 'RB': ['ned'], 'TE': ['bo'], 'WR': []}, 'total': 175}),\n  ('normal control 3',\n   [[['jo', 'K', 150, 'ACTIVE'], ['lu', 'K', 70, 'ACTIVE'], ['fay', 'RB', 120, 'BYE'],\n     ['gus', 'TE', 70, 'OUT'], ['dee', 'TE', 120, 'ACTIVE'], ['max', 'RB', 40, 'ACTIVE'],\n     ['hal', 'QB', 70, 'ACTIVE'], ['ada', 'WR', 70, 'ACTIVE'], ['eli', 'RB', 100, 'Q'],\n     ['kai', 'RB', 100, 'BYE'], ['bo', 'RB', 150, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['max'], 'QB': ['hal'], 'RB': ['bo', 'eli'], 'TE': ['dee'], 'WR': ['ada']},\n    'total': 550}),\n  ('normal control 4',\n   [[['ned', 'TE', 100, 'OUT'], ['kai', 'WR', 120, 'OUT'], ['gus', 'WR', 100, 'ACTIVE'],\n     ['eli', 'TE', 120, 'ACTIVE'], ['cy', 'RB', 40, 'ACTIVE'], ['jo', 'RB', 100, 'ACTIVE'],\n     ['oz', 'RB', 85, 'OUT'], ['lu', 'RB', 55, 'OUT'], ['ada', 'RB', 120, 'ACTIVE'],\n     ['pia', 'WR', 70, 'OUT']]],\n   {'lineup': {'FLEX': ['cy'], 'QB': [], 'RB': ['ada', 'jo'], 'TE': ['eli'], 'WR': ['gus']}, 'total': 480})],\n [('regression: flex pick order',\n   [[['eli', 'WR', 70, 'ACTIVE'], ['hal', 'RB', 120, 'OUT'], ['oz', 'WR', 70, 'OUT'],\n     ['lu', 'RB', 100, 'BYE'], ['dee', 'WR', 70, 'ACTIVE'], ['ada', 'RB', 55, 'OUT'], ['pia', 'RB', 40, 'Q'],\n     ['ned', 'WR', 70, 'Q'], ['jo', 'WR', 85, 'OUT'], ['cy', 'WR', 70, 'Q'], ['max', 'WR', 85, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['dee'], 'QB': [], 'RB': ['pia'], 'TE': [], 'WR': ['max', 'cy']}, 'total': 265}),\n  ('partial repair probe: flex pick order',\n   [[['ada', 'WR', 70, 'Q'], ['pia', 'QB', 70, 'ACTIVE'], ['gus', 'WR', 40, 'ACTIVE'],\n     ['ivy', 'RB', 70, 'ACTIVE'], ['max', 'K', 70, 'ACTIVE'], ['bo', 'RB', 70, 'ACTIVE'],\n     ['oz', 'WR', 100, 'ACTIVE'], ['fay', 'RB', 85, 'Q'], ['cy', 'WR', 55, 'ACTIVE'],\n     ['lu', 'QB', 100, 'ACTIVE'], ['kai', 'WR', 85, 'Q'], ['eli', 'WR', 70, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['ada'], 'QB': ['lu'], 'RB': ['fay', 'bo'], 'TE': [], 'WR': ['oz', 'kai']},\n    'total': 510}),\n  ('second regression',\n   [[['lu', 'RB', 40, 'ACTIVE'], ['eli', 'RB', 100, 'ACTIVE'], ['jo', 'WR', 100, 'ACTIVE'],\n     ['hal', 'RB', 55, 'ACTIVE'], ['pia', 'RB', 40, 'ACTIVE'], ['max', 'TE', 120, 'ACTIVE'],\n     ['kai', 'RB', 120, 'ACTIVE'], ['gus', 'TE', 120, 'ACTIVE'], ['oz', 'TE', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['max'], 'QB': [], 'RB': ['kai', 'eli'], 'TE': ['gus'], 'WR': ['jo']}, 'total': 560}),\n  ('normal control 1',\n   [[['hal', 'WR', 70, 'ACTIVE'], ['jo', 'K', 85, 'Q'], ['ned', 'WR', 70, 'ACTIVE'],\n     ['gus', 'K', 40, 'ACTIVE'], ['lu', 'RB', 150, 'ACTIVE'], ['bo', 'QB', 120, 'ACTIVE'],\n     ['dee', 'WR', 120, 'BYE'], ['max', 'TE', 70, 'ACTIVE'], ['fay', 'WR', 150, 'ACTIVE'],\n     ['ada', 'RB', 120, 'OUT'], ['pia', 'TE', 70, 'OUT'], ['cy', 'TE', 150, 'BYE']]],\n   {'lineup': {'FLEX': ['ned'], 'QB': ['bo'], 'RB': ['lu'], 'TE': ['max'], 'WR': ['fay', 'hal']},\n    'total': 630}),\n  ('normal control 2',\n   [[['ivy', 'RB', 70, 'BYE'], ['pia', 'K', 70, 'BYE'], ['gus', 'RB', 120, 'ACTIVE'], ['cy', 'WR', 40, 'BYE'],\n     ['oz', 'RB', 70, 'BYE'], ['ada', 'RB', 150, 'Q'], ['lu', 'K', 70, 'Q'], ['max', 'TE', 40, 'ACTIVE'],\n     ['kai', 'K', 85, 'Q'], ['jo', 'WR', 150, 'OUT']]],\n   {'lineup': {'FLEX': [], 'QB': [], 'RB': ['ada', 'gus'], 'TE': ['max'], 'WR': []}, 'total': 310}),\n  ('normal control 3',\n   [[['ned', 'WR', 55, 'OUT'], ['lu', 'RB', 55, 'ACTIVE'], ['dee', 'K', 55, 'ACTIVE'],\n     ['eli', 'K', 40, 'OUT'], ['bo', 'WR', 120, 'ACTIVE'], ['kai', 'WR', 70, 'Q'],\n     ['gus', 'RB', 40, 'ACTIVE'], ['cy', 'WR', 55, 'BYE'], ['ada', 'WR', 70, 'Q']]],\n   {'lineup': {'FLEX': ['kai'], 'QB': [], 'RB': ['lu', 'gus'], 'TE': [], 'WR': ['bo', 'ada']}, 'total': 355}),\n  ('normal control 4',\n   [[['ivy', 'RB', 55, 'OUT'], ['hal', 'K', 120, 'ACTIVE'], ['max', 'WR', 85, 'OUT'],\n     ['dee', 'K', 70, 'ACTIVE'], ['cy', 'WR', 40, 'ACTIVE'], ['bo', 'QB', 150, 'ACTIVE'],\n     ['ada', 'TE', 100, 'ACTIVE'], ['oz', 'QB', 85, 'ACTIVE'], ['pia', 'WR', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': [], 'QB': ['bo'], 'RB': [], 'TE': ['ada'], 'WR': ['pia', 'cy']}, 'total': 390})],\n [('regression: flex pick order',\n   [[['ned', 'K', 100, 'ACTIVE'], ['ivy', 'WR', 85, 'Q'], ['oz', 'WR', 40, 'ACTIVE'], ['bo', 'RB', 55, 'BYE'],\n     ['lu', 'WR', 150, 'ACTIVE'], ['jo', 'K', 70, 'ACTIVE'], ['hal', 'WR', 100, 'Q'],\n     ['pia', 'TE', 150, 'ACTIVE'], ['max', 'QB', 70, 'BYE'], ['kai', 'QB', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['ivy'], 'QB': ['kai'], 'RB': [], 'TE': ['pia'], 'WR': ['lu', 'hal']}, 'total': 585}),\n  ('partial repair probe: flex pick order',\n   [[['eli', 'QB', 100, 'ACTIVE'], ['jo', 'K', 40, 'ACTIVE'], ['kai', 'K', 70, 'ACTIVE'],\n     ['lu', 'WR', 100, 'ACTIVE'], ['ned', 'RB', 70, 'ACTIVE'], ['cy', 'RB', 70, 'Q'],\n     ['pia', 'RB', 150, 'ACTIVE'], ['ada', 'QB', 70, 'Q'], ['dee', 'TE', 100, 'BYE'],\n     ['gus', 'WR', 40, 'ACTIVE'], ['max', 'RB', 100, 'ACTIVE'], ['fay', 'RB', 70, 'OUT']]],\n   {'lineup': {'FLEX': ['cy'], 'QB': ['eli'], 'RB': ['pia', 'max'], 'TE': [], 'WR': ['lu', 'gus']},\n    'total': 560}),\n  ('second regression',\n   [[['ivy', 'RB', 85, 'ACTIVE'], ['kai', 'RB', 40, 'OUT'], ['eli', 'RB', 150, 'ACTIVE'],\n     ['ned', 'RB', 150, 'ACTIVE'], ['jo', 'TE', 70, 'BYE'], ['max', 'WR', 85, 'ACTIVE'],\n     ['pia', 'WR', 40, 'Q'], ['cy', 'WR', 55, 'ACTIVE'], ['gus', 'TE', 150, 'Q']]],\n   {'lineup': {'FLEX': ['ivy'], 'QB': [], 'RB': ['eli', 'ned'], 'TE': ['gus'], 'WR': ['max', 'cy']},\n    'total': 675}),\n  ('normal control 1',\n   [[['hal', 'RB', 100, 'Q'], ['ned', 'QB', 70, 'ACTIVE'], ['max', 'K', 150, 'Q'], ['pia', 'TE', 100, 'OUT'],\n     ['ada', 'WR', 85, 'ACTIVE'], ['bo', 'WR', 55, 'Q'], ['fay', 'WR', 85, 'BYE'],\n     ['ivy', 'RB', 120, 'ACTIVE']]],\n   {'lineup': {'FLEX': [], 'QB': ['ned'], 'RB': ['ivy', 'hal'], 'TE': [], 'WR': ['ada', 'bo']},\n    'total': 430}),\n  ('normal control 2',\n   [[['bo', 'TE', 70, 'ACTIVE'], ['fay', 'K', 150, 'OUT'], ['dee', 'RB', 100, 'Q'],\n     ['oz', 'RB', 70, 'ACTIVE'], ['pia', 'K', 70, 'Q'], ['cy', 'WR', 100, 'OUT'], ['ned', 'TE', 40, 'ACTIVE'],\n     ['lu', 'K', 100, 'ACTIVE'], ['gus', 'K', 120, 'ACTIVE'], ['ivy', 'RB', 55, 'BYE']]],\n   {'lineup': {'FLEX': ['ned'], 'QB': [], 'RB': ['dee', 'oz'], 'TE': ['bo'], 'WR': []}, 'total': 280}),\n  ('normal control 3',\n   [[['oz', 'QB', 70, 'ACTIVE'], ['dee', 'K', 120, 'ACTIVE'], ['cy', 'RB', 85, 'OUT'],\n     ['kai', 'RB', 85, 'ACTIVE'], ['hal', 'K', 150, 'OUT'], ['bo', 'QB', 55, 'BYE'],\n     ['pia', 'QB', 100, 'ACTIVE'], ['max', 'RB', 85, 'ACTIVE']]],\n   {'lineup': {'FLEX': [], 'QB': ['pia'], 'RB': ['kai', 'max'], 'TE': [], 'WR': []}, 'total': 270}),\n  ('normal control 4',\n   [[['gus', 'K', 150, 'OUT'], ['jo', 'WR', 85, 'ACTIVE'], ['lu', 'TE', 70, 'BYE'],\n     ['pia', 'WR', 40, 'ACTIVE'], ['dee', 'QB', 70, 'OUT'], ['bo', 'K', 55, 'ACTIVE'], ['max', 'WR', 85, 'Q'],\n     ['cy', 'K', 55, 'ACTIVE'], ['hal', 'QB', 85, 'ACTIVE'], ['fay', 'RB', 40, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['pia'], 'QB': ['hal'], 'RB': ['fay'], 'TE': [], 'WR': ['jo', 'max']}, 'total': 335})],\n [('regression: flex pick order',\n   [[['ada', 'TE', 40, 'ACTIVE'], ['eli', 'TE', 100, 'ACTIVE'], ['jo', 'WR', 85, 'ACTIVE'],\n     ['gus', 'WR', 70, 'ACTIVE'], ['dee', 'WR', 150, 'ACTIVE'], ['max', 'WR', 70, 'BYE'],\n     ['fay', 'WR', 55, 'Q'], ['lu', 'WR', 40, 'ACTIVE'], ['bo', 'K', 40, 'ACTIVE'], ['pia', 'RB', 70, 'Q'],\n     ['ned', 'WR', 70, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['gus'], 'QB': [], 'RB': ['pia'], 'TE': ['eli'], 'WR': ['dee', 'jo']}, 'total': 475}),\n  ('partial repair probe: flex pick order',\n   [[['pia', 'QB', 40, 'ACTIVE'], ['kai', 'RB', 70, 'BYE'], ['ada', 'WR', 150, 'Q'],\n     ['lu', 'WR', 100, 'ACTIVE'], ['dee', 'WR', 70, 'Q'], ['gus', 'RB', 85, 'ACTIVE'],\n     ['max', 'WR', 70, 'ACTIVE'], ['hal', 'QB', 85, 'ACTIVE'], ['oz', 'K', 150, 'ACTIVE'],\n     ['ned', 'RB', 70, 'Q']]],\n   {'lineup': {'FLEX': ['dee'], 'QB': ['hal'], 'RB': ['gus', 'ned'], 'TE': [], 'WR': ['ada', 'lu']},\n    'total': 560}),\n  ('second regression',\n   [[['ivy', 'RB', 70, 'ACTIVE'], ['pia', 'RB', 55, 'BYE'], ['jo', 'RB', 150, 'Q'],\n     ['bo', 'RB', 85, 'ACTIVE'], ['fay', 'RB', 100, 'ACTIVE'], ['ned', 'RB', 150, 'Q'],\n     ['lu', 'WR', 120, 'Q'], ['max', 'WR', 55, 'OUT'], ['oz', 'WR', 40, 'Q']]],\n   {'lineup': {'FLEX': ['fay'], 'QB': [], 'RB': ['jo', 'ned'], 'TE': [], 'WR': ['lu', 'oz']}, 'total': 560}),\n  ('normal control 1',\n   [[['max', 'K', 70, 'ACTIVE'], ['fay', 'WR', 70, 'OUT'], ['pia', 'WR', 70, 'OUT'], ['ivy', 'RB', 40, 'OUT'],\n     ['lu', 'QB', 70, 'BYE'], ['oz', 'WR', 40, 'BYE'], ['eli', 'RB', 55, 'BYE'], ['gus', 'K', 85, 'ACTIVE'],\n     ['jo', 'RB', 150, 'BYE'], ['cy', 'RB', 120, 'ACTIVE'], ['hal', 'K', 100, 'Q']]],\n   {'lineup': {'FLEX': [], 'QB': [], 'RB': ['cy'], 'TE': [], 'WR': []}, 'total': 120}),\n  ('normal control 2',\n   [[['eli', 'RB', 150, 'ACTIVE'], ['ned', 'K', 120, 'OUT'], ['hal', 'RB', 120, 'ACTIVE'],\n     ['jo', 'WR', 40, 'OUT'], ['ada', 'WR', 70, 'ACTIVE'], ['dee', 'QB', 70, 'Q']]],\n   {'lineup': {'FLEX': [], 'QB': ['dee'], 'RB': ['eli', 'hal'], 'TE': [], 'WR': ['ada']}, 'total': 410}),\n  ('normal control 3',\n   [[['fay', 'WR', 85, 'Q'], ['ada', 'WR', 100, 'Q'], ['dee', 'WR', 70, 'BYE'], ['max', 'RB', 55, 'BYE'],\n     ['eli', 'QB', 100, 'OUT'], ['hal', 'RB', 85, 'BYE'], ['cy', 'QB', 120, 'ACTIVE'],\n     ['lu', 'K', 40, 'ACTIVE'], ['jo', 'WR', 100, 'Q'], ['ivy', 'WR', 40, 'BYE']]],\n   {'lineup': {'FLEX': ['fay'], 'QB': ['cy'], 'RB': [], 'TE': [], 'WR': ['ada', 'jo']}, 'total': 405}),\n  ('normal control 4',\n   [[['pia', 'K', 120, 'ACTIVE'], ['lu', 'QB', 150, 'ACTIVE'], ['eli', 'RB', 85, 'ACTIVE'],\n     ['dee', 'WR', 120, 'Q'], ['jo', 'WR', 55, 'Q'], ['bo', 'WR', 70, 'BYE'], ['hal', 'TE', 120, 'BYE']]],\n   {'lineup': {'FLEX': [], 'QB': ['lu'], 'RB': ['eli'], 'TE': [], 'WR': ['dee', 'jo']}, 'total': 410})]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"2d128e9bdb5035844f3c79cc4d05db813b40ad89f0e21c95430ff348b8db1f50","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(players):\n    eligible = [p for p in players if p[3] not in ('OUT', 'BYE')]\n    eligible.sort(key=lambda p: (-p[2], p[0]))\n    need = {'QB': 1, 'RB': 2, 'WR': 2, 'TE': 1}\n    lineup = {'QB': [], 'RB': [], 'WR': [], 'TE': [], 'FLEX': []}\n    bench = []\n    for p in eligible:\n        if p[1] in need and len(lineup[p[1]]) < need[p[1]]:\n            lineup[p[1]].append(p[0])\n        else:\n            bench.append(p)\n    for p in reversed(bench):\n        if p[1] in ('RB', 'WR', 'TE'):\n            lineup['FLEX'].append(p[0])\n            break\n    proj = {p[0]: p[2] for p in players}\n    total = sum(proj[n] for names in lineup.values() for n in names)\n    return {'lineup': lineup, 'total': total}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: flex pick order',\n   [[['oz', 'RB', 70, 'Q'], ['max', 'WR', 85, 'ACTIVE'], ['fay', 'TE', 55, 'OUT'],\n     ['dee', 'QB', 40, 'ACTIVE'], ['lu', 'RB', 40, 'ACTIVE'], ['gus', 'WR', 40, 'Q'],\n     ['hal', 'RB', 85, 'ACTIVE'], ['kai', 'RB', 150, 'ACTIVE'], ['bo', 'WR', 40, 'ACTIVE'],\n     ['jo', 'RB', 120, 'BYE']]],\n   {'lineup': {'FLEX': ['oz'], 'QB': ['dee'], 'RB': ['kai', 'hal'], 'TE': [], 'WR': ['max', 'bo']},\n    'total': 470}),\n  ('partial repair probe: flex pick order',\n   [[['ned', 'RB', 70, 'ACTIVE'], ['max', 'RB', 100, 'ACTIVE'], ['oz', 'WR', 85, 'OUT'],\n     ['fay', 'RB', 120, 'OUT'], ['lu', 'RB', 70, 'ACTIVE'], ['eli', 'TE', 70, 'ACTIVE'],\n     ['ivy', 'TE', 150, 'ACTIVE'], ['ada', 'WR', 40, 'Q'], ['bo', 'QB', 55, 'OUT'], ['gus', 'K', 100, 'OUT'],\n     ['jo', 'RB', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['eli'], 'QB': [], 'RB': ['jo', 'max'], 'TE': ['ivy'], 'WR': ['ada']}, 'total': 460}),\n  ('second regression',\n   [[['pia', 'TE', 120, 'Q'], ['max', 'RB', 150, 'ACTIVE'], ['fay', 'RB', 55, 'ACTIVE'],\n     ['jo', 'WR', 70, 'ACTIVE'], ['ada', 'RB', 100, 'ACTIVE'], ['hal', 'WR', 70, 'ACTIVE'],\n     ['lu', 'RB', 70, 'OUT'], ['eli', 'RB', 40, 'Q'], ['dee', 'WR', 70, 'BYE'], ['ivy', 'K', 70, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['fay'], 'QB': [], 'RB': ['max', 'ada'], 'TE': ['pia'], 'WR': ['hal', 'jo']},\n    'total': 565}),\n  ('normal control 1',\n   [[['cy', 'WR', 70, 'ACTIVE'], ['pia', 'K', 55, 'ACTIVE'], ['ivy', 'TE', 55, 'BYE'],\n     ['jo', 'RB', 40, 'OUT'], ['oz', 'K', 120, 'ACTIVE'], ['eli', 'TE', 70, 'BYE'],\n     ['ned', 'RB', 70, 'ACTIVE'], ['kai', 'WR', 70, 'BYE']]],\n   {'lineup': {'FLEX': [], 'QB': [], 'RB': ['ned'], 'TE': [], 'WR': ['cy']}, 'total': 140}),\n  ('normal control 2',\n   [[['dee', 'RB', 55, 'Q'], ['pia', 'RB', 85, 'OUT'], ['lu', 'RB', 120, 'Q'], ['ned', 'TE', 55, 'ACTIVE'],\n     ['kai', 'RB', 70, 'OUT'], ['jo', 'QB', 40, 'Q'], ['eli', 'RB', 70, 'ACTIVE'],\n     ['ada', 'QB', 70, 'BYE']]],\n   {'lineup': {'FLEX': ['dee'], 'QB': ['jo'], 'RB': ['lu', 'eli'], 'TE': ['ned'], 'WR': []}, 'total': 340}),\n  ('normal control 3',\n   [[['kai', 'RB', 55, 'ACTIVE'], ['jo', 'TE', 120, 'BYE'], ['fay', 'RB', 70, 'ACTIVE'],\n     ['oz', 'WR', 55, 'OUT'], ['ivy', 'TE', 55, 'ACTIVE'], ['pia', 'RB', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['kai'], 'QB': [], 'RB': ['pia', 'fay'], 'TE': ['ivy'], 'WR': []}, 'total': 280}),\n  ('normal control 4',\n   [[['ada', 'K', 100, 'OUT'], ['ned', 'K', 100, 'BYE'], ['pia', 'WR', 70, 'BYE'], ['eli', 'QB', 70, 'Q'],\n     ['gus', 'QB', 100, 'BYE'], ['max', 'RB', 120, 'Q'], ['kai', 'RB', 55, 'BYE']]],\n   {'lineup': {'FLEX': [], 'QB': ['eli'], 'RB': ['max'], 'TE': [], 'WR': []}, 'total': 190})],\n [('regression: flex pick order',\n   [[['ada', 'K', 120, 'ACTIVE'], ['ivy', 'K', 120, 'ACTIVE'], ['oz', 'TE', 40, 'Q'],\n     ['fay', 'WR', 70, 'OUT'], ['hal', 'RB', 70, 'BYE'], ['lu', 'TE', 100, 'ACTIVE'], ['cy', 'K', 70, 'OUT'],\n     ['jo', 'RB', 55, 'ACTIVE'], ['eli', 'WR', 70, 'ACTIVE'], ['gus', 'RB', 100, 'ACTIVE'],\n     ['ned', 'RB', 70, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['jo'], 'QB': [], 'RB': ['gus', 'ned'], 'TE': ['lu'], 'WR': ['eli']}, 'total': 395}),\n  ('partial repair probe: flex pick order',\n   [[['eli', 'TE', 55, 'OUT'], ['gus', 'WR', 120, 'ACTIVE'], ['hal', 'QB', 40, 'ACTIVE'],\n     ['ned', 'RB', 40, 'OUT'], ['ivy', 'TE', 55, 'Q'], ['jo', 'RB', 40, 'Q'], ['fay', 'WR', 55, 'ACTIVE'],\n     ['max', 'RB', 55, 'Q'], ['cy', 'WR', 55, 'ACTIVE'], ['pia', 'WR', 55, 'ACTIVE'], ['ada', 'K', 150, 'Q'],\n     ['oz', 'WR', 85, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['cy'], 'QB': ['hal'], 'RB': ['max', 'jo'], 'TE': ['ivy'], 'WR': ['gus', 'oz']},\n    'total': 450}),\n  ('second regression',\n   [[['jo', 'WR', 100, 'BYE'], ['pia', 'RB', 150, 'Q'], ['hal', 'WR', 55, 'ACTIVE'],\n     ['ada', 'WR', 70, 'ACTIVE'], ['dee', 'RB', 85, 'OUT'], ['max', 'RB', 55, 'OUT'], ['kai', 'TE', 85, 'Q'],\n     ['bo', 'WR', 40, 'Q'], ['eli', 'RB', 120, 'ACTIVE'], ['ned', 'TE', 100, 'ACTIVE'],\n     ['fay', 'K', 150, 'ACTIVE'], ['oz', 'TE', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['oz'], 'QB': [], 'RB': ['pia', 'eli'], 'TE': ['ned'], 'WR': ['ada', 'hal']},\n    'total': 595}),\n  ('normal control 1',\n   [[['pia', 'RB', 120, 'ACTIVE'], ['eli', 'TE', 70, 'ACTIVE'], ['dee', 'TE', 70, 'Q'],\n     ['fay', 'WR', 85, 'ACTIVE'], ['ivy', 'RB', 100, 'ACTIVE'], ['oz', 'WR', 70, 'ACTIVE'],\n     ['ada', 'TE', 40, 'BYE']]],\n   {'lineup': {'FLEX': ['eli'], 'QB': [], 'RB': ['pia', 'ivy'], 'TE': ['dee'], 'WR': ['fay', 'oz']},\n    'total': 515}),\n  ('normal control 2',\n   [[['ned', 'RB', 55, 'ACTIVE'], ['hal', 'TE', 150, 'BYE'], ['max', 'K', 40, 'BYE'],\n     ['bo', 'TE', 120, 'ACTIVE'], ['gus', 'K', 120, 'Q'], ['eli', 'TE', 150, 'OUT']]],\n   {'lineup': {'FLEX': [], 'QB': [], 'RB': ['ned'], 'TE': ['bo'], 'WR': []}, 'total': 175}),\n  ('normal control 3',\n   [[['jo', 'K', 150, 'ACTIVE'], ['lu', 'K', 70, 'ACTIVE'], ['fay', 'RB', 120, 'BYE'],\n     ['gus', 'TE', 70, 'OUT'], ['dee', 'TE', 120, 'ACTIVE'], ['max', 'RB', 40, 'ACTIVE'],\n     ['hal', 'QB', 70, 'ACTIVE'], ['ada', 'WR', 70, 'ACTIVE'], ['eli', 'RB', 100, 'Q'],\n     ['kai', 'RB', 100, 'BYE'], ['bo', 'RB', 150, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['max'], 'QB': ['hal'], 'RB': ['bo', 'eli'], 'TE': ['dee'], 'WR': ['ada']},\n    'total': 550}),\n  ('normal control 4',\n   [[['ned', 'TE', 100, 'OUT'], ['kai', 'WR', 120, 'OUT'], ['gus', 'WR', 100, 'ACTIVE'],\n     ['eli', 'TE', 120, 'ACTIVE'], ['cy', 'RB', 40, 'ACTIVE'], ['jo', 'RB', 100, 'ACTIVE'],\n     ['oz', 'RB', 85, 'OUT'], ['lu', 'RB', 55, 'OUT'], ['ada', 'RB', 120, 'ACTIVE'],\n     ['pia', 'WR', 70, 'OUT']]],\n   {'lineup': {'FLEX': ['cy'], 'QB': [], 'RB': ['ada', 'jo'], 'TE': ['eli'], 'WR': ['gus']}, 'total': 480})],\n [('regression: flex pick order',\n   [[['eli', 'WR', 70, 'ACTIVE'], ['hal', 'RB', 120, 'OUT'], ['oz', 'WR', 70, 'OUT'],\n     ['lu', 'RB', 100, 'BYE'], ['dee', 'WR', 70, 'ACTIVE'], ['ada', 'RB', 55, 'OUT'], ['pia', 'RB', 40, 'Q'],\n     ['ned', 'WR', 70, 'Q'], ['jo', 'WR', 85, 'OUT'], ['cy', 'WR', 70, 'Q'], ['max', 'WR', 85, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['dee'], 'QB': [], 'RB': ['pia'], 'TE': [], 'WR': ['max', 'cy']}, 'total': 265}),\n  ('partial repair probe: flex pick order',\n   [[['ada', 'WR', 70, 'Q'], ['pia', 'QB', 70, 'ACTIVE'], ['gus', 'WR', 40, 'ACTIVE'],\n     ['ivy', 'RB', 70, 'ACTIVE'], ['max', 'K', 70, 'ACTIVE'], ['bo', 'RB', 70, 'ACTIVE'],\n     ['oz', 'WR', 100, 'ACTIVE'], ['fay', 'RB', 85, 'Q'], ['cy', 'WR', 55, 'ACTIVE'],\n     ['lu', 'QB', 100, 'ACTIVE'], ['kai', 'WR', 85, 'Q'], ['eli', 'WR', 70, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['ada'], 'QB': ['lu'], 'RB': ['fay', 'bo'], 'TE': [], 'WR': ['oz', 'kai']},\n    'total': 510}),\n  ('second regression',\n   [[['lu', 'RB', 40, 'ACTIVE'], ['eli', 'RB', 100, 'ACTIVE'], ['jo', 'WR', 100, 'ACTIVE'],\n     ['hal', 'RB', 55, 'ACTIVE'], ['pia', 'RB', 40, 'ACTIVE'], ['max', 'TE', 120, 'ACTIVE'],\n     ['kai', 'RB', 120, 'ACTIVE'], ['gus', 'TE', 120, 'ACTIVE'], ['oz', 'TE', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['max'], 'QB': [], 'RB': ['kai', 'eli'], 'TE': ['gus'], 'WR': ['jo']}, 'total': 560}),\n  ('normal control 1',\n   [[['hal', 'WR', 70, 'ACTIVE'], ['jo', 'K', 85, 'Q'], ['ned', 'WR', 70, 'ACTIVE'],\n     ['gus', 'K', 40, 'ACTIVE'], ['lu', 'RB', 150, 'ACTIVE'], ['bo', 'QB', 120, 'ACTIVE'],\n     ['dee', 'WR', 120, 'BYE'], ['max', 'TE', 70, 'ACTIVE'], ['fay', 'WR', 150, 'ACTIVE'],\n     ['ada', 'RB', 120, 'OUT'], ['pia', 'TE', 70, 'OUT'], ['cy', 'TE', 150, 'BYE']]],\n   {'lineup': {'FLEX': ['ned'], 'QB': ['bo'], 'RB': ['lu'], 'TE': ['max'], 'WR': ['fay', 'hal']},\n    'total': 630}),\n  ('normal control 2',\n   [[['ivy', 'RB', 70, 'BYE'], ['pia', 'K', 70, 'BYE'], ['gus', 'RB', 120, 'ACTIVE'], ['cy', 'WR', 40, 'BYE'],\n     ['oz', 'RB', 70, 'BYE'], ['ada', 'RB', 150, 'Q'], ['lu', 'K', 70, 'Q'], ['max', 'TE', 40, 'ACTIVE'],\n     ['kai', 'K', 85, 'Q'], ['jo', 'WR', 150, 'OUT']]],\n   {'lineup': {'FLEX': [], 'QB': [], 'RB': ['ada', 'gus'], 'TE': ['max'], 'WR': []}, 'total': 310}),\n  ('normal control 3',\n   [[['ned', 'WR', 55, 'OUT'], ['lu', 'RB', 55, 'ACTIVE'], ['dee', 'K', 55, 'ACTIVE'],\n     ['eli', 'K', 40, 'OUT'], ['bo', 'WR', 120, 'ACTIVE'], ['kai', 'WR', 70, 'Q'],\n     ['gus', 'RB', 40, 'ACTIVE'], ['cy', 'WR', 55, 'BYE'], ['ada', 'WR', 70, 'Q']]],\n   {'lineup': {'FLEX': ['kai'], 'QB': [], 'RB': ['lu', 'gus'], 'TE': [], 'WR': ['bo', 'ada']}, 'total': 355}),\n  ('normal control 4',\n   [[['ivy', 'RB', 55, 'OUT'], ['hal', 'K', 120, 'ACTIVE'], ['max', 'WR', 85, 'OUT'],\n     ['dee', 'K', 70, 'ACTIVE'], ['cy', 'WR', 40, 'ACTIVE'], ['bo', 'QB', 150, 'ACTIVE'],\n     ['ada', 'TE', 100, 'ACTIVE'], ['oz', 'QB', 85, 'ACTIVE'], ['pia', 'WR', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': [], 'QB': ['bo'], 'RB': [], 'TE': ['ada'], 'WR': ['pia', 'cy']}, 'total': 390})],\n [('regression: flex pick order',\n   [[['ned', 'K', 100, 'ACTIVE'], ['ivy', 'WR', 85, 'Q'], ['oz', 'WR', 40, 'ACTIVE'], ['bo', 'RB', 55, 'BYE'],\n     ['lu', 'WR', 150, 'ACTIVE'], ['jo', 'K', 70, 'ACTIVE'], ['hal', 'WR', 100, 'Q'],\n     ['pia', 'TE', 150, 'ACTIVE'], ['max', 'QB', 70, 'BYE'], ['kai', 'QB', 100, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['ivy'], 'QB': ['kai'], 'RB': [], 'TE': ['pia'], 'WR': ['lu', 'hal']}, 'total': 585}),\n  ('partial repair probe: flex pick order',\n   [[['eli', 'QB', 100, 'ACTIVE'], ['jo', 'K', 40, 'ACTIVE'], ['kai', 'K', 70, 'ACTIVE'],\n     ['lu', 'WR', 100, 'ACTIVE'], ['ned', 'RB', 70, 'ACTIVE'], ['cy', 'RB', 70, 'Q'],\n     ['pia', 'RB', 150, 'ACTIVE'], ['ada', 'QB', 70, 'Q'], ['dee', 'TE', 100, 'BYE'],\n     ['gus', 'WR', 40, 'ACTIVE'], ['max', 'RB', 100, 'ACTIVE'], ['fay', 'RB', 70, 'OUT']]],\n   {'lineup': {'FLEX': ['cy'], 'QB': ['eli'], 'RB': ['pia', 'max'], 'TE': [], 'WR': ['lu', 'gus']},\n    'total': 560}),\n  ('second regression',\n   [[['ivy', 'RB', 85, 'ACTIVE'], ['kai', 'RB', 40, 'OUT'], ['eli', 'RB', 150, 'ACTIVE'],\n     ['ned', 'RB', 150, 'ACTIVE'], ['jo', 'TE', 70, 'BYE'], ['max', 'WR', 85, 'ACTIVE'],\n     ['pia', 'WR', 40, 'Q'], ['cy', 'WR', 55, 'ACTIVE'], ['gus', 'TE', 150, 'Q']]],\n   {'lineup': {'FLEX': ['ivy'], 'QB': [], 'RB': ['eli', 'ned'], 'TE': ['gus'], 'WR': ['max', 'cy']},\n    'total': 675}),\n  ('normal control 1',\n   [[['hal', 'RB', 100, 'Q'], ['ned', 'QB', 70, 'ACTIVE'], ['max', 'K', 150, 'Q'], ['pia', 'TE', 100, 'OUT'],\n     ['ada', 'WR', 85, 'ACTIVE'], ['bo', 'WR', 55, 'Q'], ['fay', 'WR', 85, 'BYE'],\n     ['ivy', 'RB', 120, 'ACTIVE']]],\n   {'lineup': {'FLEX': [], 'QB': ['ned'], 'RB': ['ivy', 'hal'], 'TE': [], 'WR': ['ada', 'bo']},\n    'total': 430}),\n  ('normal control 2',\n   [[['bo', 'TE', 70, 'ACTIVE'], ['fay', 'K', 150, 'OUT'], ['dee', 'RB', 100, 'Q'],\n     ['oz', 'RB', 70, 'ACTIVE'], ['pia', 'K', 70, 'Q'], ['cy', 'WR', 100, 'OUT'], ['ned', 'TE', 40, 'ACTIVE'],\n     ['lu', 'K', 100, 'ACTIVE'], ['gus', 'K', 120, 'ACTIVE'], ['ivy', 'RB', 55, 'BYE']]],\n   {'lineup': {'FLEX': ['ned'], 'QB': [], 'RB': ['dee', 'oz'], 'TE': ['bo'], 'WR': []}, 'total': 280}),\n  ('normal control 3',\n   [[['oz', 'QB', 70, 'ACTIVE'], ['dee', 'K', 120, 'ACTIVE'], ['cy', 'RB', 85, 'OUT'],\n     ['kai', 'RB', 85, 'ACTIVE'], ['hal', 'K', 150, 'OUT'], ['bo', 'QB', 55, 'BYE'],\n     ['pia', 'QB', 100, 'ACTIVE'], ['max', 'RB', 85, 'ACTIVE']]],\n   {'lineup': {'FLEX': [], 'QB': ['pia'], 'RB': ['kai', 'max'], 'TE': [], 'WR': []}, 'total': 270}),\n  ('normal control 4',\n   [[['gus', 'K', 150, 'OUT'], ['jo', 'WR', 85, 'ACTIVE'], ['lu', 'TE', 70, 'BYE'],\n     ['pia', 'WR', 40, 'ACTIVE'], ['dee', 'QB', 70, 'OUT'], ['bo', 'K', 55, 'ACTIVE'], ['max', 'WR', 85, 'Q'],\n     ['cy', 'K', 55, 'ACTIVE'], ['hal', 'QB', 85, 'ACTIVE'], ['fay', 'RB', 40, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['pia'], 'QB': ['hal'], 'RB': ['fay'], 'TE': [], 'WR': ['jo', 'max']}, 'total': 335})],\n [('regression: flex pick order',\n   [[['ada', 'TE', 40, 'ACTIVE'], ['eli', 'TE', 100, 'ACTIVE'], ['jo', 'WR', 85, 'ACTIVE'],\n     ['gus', 'WR', 70, 'ACTIVE'], ['dee', 'WR', 150, 'ACTIVE'], ['max', 'WR', 70, 'BYE'],\n     ['fay', 'WR', 55, 'Q'], ['lu', 'WR', 40, 'ACTIVE'], ['bo', 'K', 40, 'ACTIVE'], ['pia', 'RB', 70, 'Q'],\n     ['ned', 'WR', 70, 'ACTIVE']]],\n   {'lineup': {'FLEX': ['gus'], 'QB': [], 'RB': ['pia'], 'TE': ['eli'], 'WR': ['dee', 'jo']}, 'total': 475}),\n  ('partial repair probe: flex pick order',\n   [[['pia', 'QB', 40, 'ACTIVE'], ['kai', 'RB', 70, 'BYE'], ['ada', 'WR', 150, 'Q'],\n     ['lu', 'WR', 100, 'ACTIVE'], ['dee', 'WR', 70, 'Q'], ['gus', 'RB', 85, 'ACTIVE'],\n     ['max', 'WR', 70, 'ACTIVE'], ['hal', 'QB', 85, 'ACTIVE'], ['oz', 'K', 150, 'ACTIVE'],\n     ['ned', 'RB', 70, 'Q']]],\n   {'lineup': {'FLEX': ['dee'], 'QB': ['hal'], 'RB': ['gus', 'ned'], 'TE': [], 'WR': ['ada', 'lu']},\n    'total': 560}),\n  ('second regression',\n   [[['ivy', 'RB', 70, 'ACTIVE'], ['pia', 'RB', 55, 'BYE'], ['jo', 'RB', 150, 'Q'],\n     ['bo', 'RB', 85, 'ACTIVE'], ['fay', 'RB', 100, 'ACTIVE'], ['ned', 'RB', 150, 'Q'],\n     ['lu', 'WR', 120, 'Q'], ['max', 'WR', 55, 'OUT'], ['oz', 'WR', 40, 'Q']]],\n   {'lineup': {'FLEX': ['fay'], 'QB': [], 'RB': ['jo', 'ned'], 'TE': [], 'WR': ['lu', 'oz']}, 'total': 560}),\n  ('normal control 1',\n   [[['max', 'K', 70, 'ACTIVE'], ['fay', 'WR', 70, 'OUT'], ['pia', 'WR', 70, 'OUT'], ['ivy', 'RB', 40, 'OUT'],\n     ['lu', 'QB', 70, 'BYE'], ['oz', 'WR', 40, 'BYE'], ['eli', 'RB', 55, 'BYE'], ['gus', 'K', 85, 'ACTIVE'],\n     ['jo', 'RB', 150, 'BYE'], ['cy', 'RB', 120, 'ACTIVE'], ['hal', 'K', 100, 'Q']]],\n   {'lineup': {'FLEX': [], 'QB': [], 'RB': ['cy'], 'TE': [], 'WR': []}, 'total': 120}),\n  ('normal control 2',\n   [[['eli', 'RB', 150, 'ACTIVE'], ['ned', 'K', 120, 'OUT'], ['hal', 'RB', 120, 'ACTIVE'],\n     ['jo', 'WR', 40, 'OUT'], ['ada', 'WR', 70, 'ACTIVE'], ['dee', 'QB', 70, 'Q']]],\n   {'lineup': {'FLEX': [], 'QB': ['dee'], 'RB': ['eli', 'hal'], 'TE': [], 'WR': ['ada']}, 'total': 410}),\n  ('normal control 3',\n   [[['fay', 'WR', 85, 'Q'], ['ada', 'WR', 100, 'Q'], ['dee', 'WR', 70, 'BYE'], ['max', 'RB', 55, 'BYE'],\n     ['eli', 'QB', 100, 'OUT'], ['hal', 'RB', 85, 'BYE'], ['cy', 'QB', 120, 'ACTIVE'],\n     ['lu', 'K', 40, 'ACTIVE'], ['jo', 'WR', 100, 'Q'], ['ivy', 'WR', 40, 'BYE']]],\n   {'lineup': {'FLEX': ['fay'], 'QB': ['cy'], 'RB': [], 'TE': [], 'WR': ['ada', 'jo']}, 'total': 405}),\n  ('normal control 4',\n   [[['pia', 'K', 120, 'ACTIVE'], ['lu', 'QB', 150, 'ACTIVE'], ['eli', 'RB', 85, 'ACTIVE'],\n     ['dee', 'WR', 120, 'Q'], ['jo', 'WR', 55, 'Q'], ['bo', 'WR', 70, 'BYE'], ['hal', 'TE', 120, 'BYE']]],\n   {'lineup': {'FLEX': [], 'QB': ['lu'], 'RB': ['eli'], 'TE': [], 'WR': ['dee', 'jo']}, 'total': 410})]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic toy scoring contract stipulated for this example; it is not the rulebook of any real fantasy platform. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-fantasy-sports-scoring-optimal-flex-lineup-flex-pick-order","generated_at":"2026-09-29T14:50:35.868155+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Start/sit optimizers must respect slot eligibility and deterministic tie-breaks or users see lineups flip between refreshes.","root_cause":"The flex scan walks the bench in reverse ranking order.","sha256":"b03556a69160145b90c3e0c5798d0cf443330ea5fcdf6cd12fa042dd0e4ab040","title":"FLEX filled from the bottom of the bench · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":42.562,"exit_code":1,"observations":[{"actual":{"lineup":{"FLEX":["oz"],"QB":["dee"],"RB":["kai","hal"],"TE":[],"WR":["max","bo"]},"total":470},"check":"regression: flex pick order","expected":{"lineup":{"FLEX":["oz"],"QB":["dee"],"RB":["kai","hal"],"TE":[],"WR":["max","bo"]},"total":470},"passed":true},{"actual":{"lineup":{"FLEX":["ned"],"QB":[],"RB":["jo","max"],"TE":["ivy"],"WR":["ada"]},"total":460},"check":"partial repair probe: flex pick order","expected":{"lineup":{"FLEX":["eli"],"QB":[],"RB":["jo","max"],"TE":["ivy"],"WR":["ada"]},"total":460},"passed":false},{"actual":{"lineup":{"FLEX":["fay"],"QB":[],"RB":["max","ada"],"TE":["pia"],"WR":["hal","jo"]},"total":565},"check":"second regression","expected":{"lineup":{"FLEX":["fay"],"QB":[],"RB":["max","ada"],"TE":["pia"],"WR":["hal","jo"]},"total":565},"passed":true},{"actual":{"lineup":{"FLEX":[],"QB":[],"RB":["ned"],"TE":[],"WR":["cy"]},"total":140},"check":"normal control 1","expected":{"lineup":{"FLEX":[],"QB":[],"RB":["ned"],"TE":[],"WR":["cy"]},"total":140},"passed":true},{"actual":{"lineup":{"FLEX":["dee"],"QB":["jo"],"RB":["lu","eli"],"TE":["ned"],"WR":[]},"total":340},"check":"normal control 2","expected":{"lineup":{"FLEX":["dee"],"QB":["jo"],"RB":["lu","eli"],"TE":["ned"],"WR":[]},"total":340},"passed":true},{"actual":{"lineup":{"FLEX":["kai"],"QB":[],"RB":["pia","fay"],"TE":["ivy"],"WR":[]},"total":280},"check":"normal control 3","expected":{"lineup":{"FLEX":["kai"],"QB":[],"RB":["pia","fay"],"TE":["ivy"],"WR":[]},"total":280},"passed":true},{"actual":{"lineup":{"FLEX":[],"QB":["eli"],"RB":["max"],"TE":[],"WR":[]},"total":190},"check":"normal control 4","expected":{"lineup":{"FLEX":[],"QB":["eli"],"RB":["max"],"TE":[],"WR":[]},"total":190},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: flex pick order\", \"actual\": {\"lineup\": {\"QB\": [\"dee\"], \"RB\": [\"kai\", \"hal\"], \"WR\": [\"max\", \"bo\"], \"TE\": [], \"FLEX\": [\"oz\"]}, \"total\": 470}, \"expected\": {\"lineup\": {\"FLEX\": [\"oz\"], \"QB\": [\"dee\"], \"RB\": [\"kai\", \"hal\"], \"TE\": [], \"WR\": [\"max\", \"bo\"]}, \"total\": 470}, \"passed\": true}, {\"check\": \"partial repair probe: flex pick order\", \"actual\": {\"lineup\": {\"QB\": [], \"RB\": [\"jo\", \"max\"], \"WR\": [\"ada\"], \"TE\": [\"ivy\"], \"FLEX\": [\"ned\"]}, \"total\": 460}, \"expected\": {\"lineup\": {\"FLEX\": [\"eli\"], \"QB\": [], \"RB\": [\"jo\", \"max\"], \"TE\": [\"ivy\"], \"WR\": [\"ada\"]}, \"total\": 460}, \"passed\": false}, {\"check\": \"second regression\", \"actual\": {\"lineup\": {\"QB\": [], \"RB\": [\"max\", \"ada\"], \"WR\": [\"hal\", \"jo\"], \"TE\": [\"pia\"], \"FLEX\": [\"fay\"]}, \"total\": 565}, \"expected\": {\"lineup\": {\"FLEX\": [\"fay\"], \"QB\": [], \"RB\": [\"max\", \"ada\"], \"TE\": [\"pia\"], \"WR\": [\"hal\", \"jo\"]}, \"total\": 565}, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": {\"lineup\": {\"QB\": [], \"RB\": [\"ned\"], \"WR\": [\"cy\"], \"TE\": [], \"FLEX\": []}, \"total\": 140}, \"expected\": {\"lineup\": {\"FLEX\": [], \"QB\": [], \"RB\": [\"ned\"], \"TE\": [], \"WR\": [\"cy\"]}, \"total\": 140}, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": {\"lineup\": {\"QB\": [\"jo\"], \"RB\": [\"lu\", \"eli\"], \"WR\": [], \"TE\": [\"ned\"], \"FLEX\": [\"dee\"]}, \"total\": 340}, \"expected\": {\"lineup\": {\"FLEX\": [\"dee\"], \"QB\": [\"jo\"], \"RB\": [\"lu\", \"eli\"], \"TE\": [\"ned\"], \"WR\": []}, \"total\": 340}, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": {\"lineup\": {\"QB\": [], \"RB\": [\"pia\", \"fay\"], \"WR\": [], \"TE\": [\"ivy\"], \"FLEX\": [\"kai\"]}, \"total\": 280}, \"expected\": {\"lineup\": {\"FLEX\": [\"kai\"], \"QB\": [], \"RB\": [\"pia\", \"fay\"], \"TE\": [\"ivy\"], \"WR\": []}, \"total\": 280}, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": {\"lineup\": {\"QB\": [\"eli\"], \"RB\": [\"max\"], \"WR\": [], \"TE\": [], \"FLEX\": []}, \"total\": 190}, \"expected\": {\"lineup\": {\"FLEX\": [], \"QB\": [\"eli\"], \"RB\": [\"max\"], \"TE\": [], \"WR\": []}, \"total\": 190}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.616,"exit_code":1,"observations":[{"actual":{"lineup":{"FLEX":["lu"],"QB":["dee"],"RB":["kai","hal"],"TE":[],"WR":["max","bo"]},"total":440},"check":"regression: flex pick order","expected":{"lineup":{"FLEX":["oz"],"QB":["dee"],"RB":["kai","hal"],"TE":[],"WR":["max","bo"]},"total":470},"passed":false},{"actual":{"lineup":{"FLEX":["ned"],"QB":[],"RB":["jo","max"],"TE":["ivy"],"WR":["ada"]},"total":460},"check":"partial repair probe: flex pick order","expected":{"lineup":{"FLEX":["eli"],"QB":[],"RB":["jo","max"],"TE":["ivy"],"WR":["ada"]},"total":460},"passed":false},{"actual":{"lineup":{"FLEX":["eli"],"QB":[],"RB":["max","ada"],"TE":["pia"],"WR":["hal","jo"]},"total":550},"check":"second regression","expected":{"lineup":{"FLEX":["fay"],"QB":[],"RB":["max","ada"],"TE":["pia"],"WR":["hal","jo"]},"total":565},"passed":false},{"actual":{"lineup":{"FLEX":[],"QB":[],"RB":["ned"],"TE":[],"WR":["cy"]},"total":140},"check":"normal control 1","expected":{"lineup":{"FLEX":[],"QB":[],"RB":["ned"],"TE":[],"WR":["cy"]},"total":140},"passed":true},{"actual":{"lineup":{"FLEX":["dee"],"QB":["jo"],"RB":["lu","eli"],"TE":["ned"],"WR":[]},"total":340},"check":"normal control 2","expected":{"lineup":{"FLEX":["dee"],"QB":["jo"],"RB":["lu","eli"],"TE":["ned"],"WR":[]},"total":340},"passed":true},{"actual":{"lineup":{"FLEX":["kai"],"QB":[],"RB":["pia","fay"],"TE":["ivy"],"WR":[]},"total":280},"check":"normal control 3","expected":{"lineup":{"FLEX":["kai"],"QB":[],"RB":["pia","fay"],"TE":["ivy"],"WR":[]},"total":280},"passed":true},{"actual":{"lineup":{"FLEX":[],"QB":["eli"],"RB":["max"],"TE":[],"WR":[]},"total":190},"check":"normal control 4","expected":{"lineup":{"FLEX":[],"QB":["eli"],"RB":["max"],"TE":[],"WR":[]},"total":190},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: flex pick order\", \"actual\": {\"lineup\": {\"QB\": [\"dee\"], \"RB\": [\"kai\", \"hal\"], \"WR\": [\"max\", \"bo\"], \"TE\": [], \"FLEX\": [\"lu\"]}, \"total\": 440}, \"expected\": {\"lineup\": {\"FLEX\": [\"oz\"], \"QB\": [\"dee\"], \"RB\": [\"kai\", \"hal\"], \"TE\": [], \"WR\": [\"max\", \"bo\"]}, \"total\": 470}, \"passed\": false}, {\"check\": \"partial repair probe: flex pick order\", \"actual\": {\"lineup\": {\"QB\": [], \"RB\": [\"jo\", \"max\"], \"WR\": [\"ada\"], \"TE\": [\"ivy\"], \"FLEX\": [\"ned\"]}, \"total\": 460}, \"expected\": {\"lineup\": {\"FLEX\": [\"eli\"], \"QB\": [], \"RB\": [\"jo\", \"max\"], \"TE\": [\"ivy\"], \"WR\": [\"ada\"]}, \"total\": 460}, \"passed\": false}, {\"check\": \"second regression\", \"actual\": {\"lineup\": {\"QB\": [], \"RB\": [\"max\", \"ada\"], \"WR\": [\"hal\", \"jo\"], \"TE\": [\"pia\"], \"FLEX\": [\"eli\"]}, \"total\": 550}, \"expected\": {\"lineup\": {\"FLEX\": [\"fay\"], \"QB\": [], \"RB\": [\"max\", \"ada\"], \"TE\": [\"pia\"], \"WR\": [\"hal\", \"jo\"]}, \"total\": 565}, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": {\"lineup\": {\"QB\": [], \"RB\": [\"ned\"], \"WR\": [\"cy\"], \"TE\": [], \"FLEX\": []}, \"total\": 140}, \"expected\": {\"lineup\": {\"FLEX\": [], \"QB\": [], \"RB\": [\"ned\"], \"TE\": [], \"WR\": [\"cy\"]}, \"total\": 140}, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": {\"lineup\": {\"QB\": [\"jo\"], \"RB\": [\"lu\", \"eli\"], \"WR\": [], \"TE\": [\"ned\"], \"FLEX\": [\"dee\"]}, \"total\": 340}, \"expected\": {\"lineup\": {\"FLEX\": [\"dee\"], \"QB\": [\"jo\"], \"RB\": [\"lu\", \"eli\"], \"TE\": [\"ned\"], \"WR\": []}, \"total\": 340}, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": {\"lineup\": {\"QB\": [], \"RB\": [\"pia\", \"fay\"], \"WR\": [], \"TE\": [\"ivy\"], \"FLEX\": [\"kai\"]}, \"total\": 280}, \"expected\": {\"lineup\": {\"FLEX\": [\"kai\"], \"QB\": [], \"RB\": [\"pia\", \"fay\"], \"TE\": [\"ivy\"], \"WR\": []}, \"total\": 280}, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": {\"lineup\": {\"QB\": [\"eli\"], \"RB\": [\"max\"], \"WR\": [], \"TE\": [], \"FLEX\": []}, \"total\": 190}, \"expected\": {\"lineup\": {\"FLEX\": [], \"QB\": [\"eli\"], \"RB\": [\"max\"], \"TE\": [], \"WR\": []}, \"total\": 190}, \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}