{"abstract":"A 10-point, 10-rebound line earns no double-double bonus.","category":"Fantasy sports scoring","checks":7,"contract":"Score a basketball line in tenths: points 1.0, rebounds (offensive + defensive) 1.2, assists 1.5, steals 3, blocks 3, turnovers -1, threes made 0.5 extra. Count double-digit categories among points, rebounds, assists, steals and blocks; three or more earns only the triple-double bonus, exactly two earns the double-double bonus.","evaluation_group":"w2-fantasy-sports-scoring-basketball-double-bonus","failed_approach":"Restricting the count to points, rebounds and assists ignores double-digit blocks and steals.","family":"w2-fantasy-sports-scoring-basketball-double-bonus-double-digit-threshold","id":"FA-85116","implementations":{"attempt":{"sha256":"4a6b4b19d9b4d95353f4caf147299fd612deed54ef55c1a595c8795dbb9f4fbe","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(line, bonus):\n    line = dict(line, reb=line['oreb'] + line['dreb'])\n    w = {'pts': 10, 'reb': 12, 'ast': 15, 'stl': 30, 'blk': 30, 'tov': -10, 'fg3m': 5}\n    score = sum(w[k] * line[k] for k in w)\n    doubles = sum(1 for k in ('pts', 'reb', 'ast') if line[k] >= 10)\n    if doubles >= 3:\n        score += bonus['td']\n    elif doubles == 2:\n        score += bonus['dd']\n    return score\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: double-digit threshold',\n   [{'ast': 10, 'blk': 11, 'dreb': 5, 'fg3m': 0, 'oreb': 6, 'pts': 10, 'stl': 1, 'tov': 2},\n    {'dd': 15, 'td': 30}],\n   752),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 11, 'blk': 0, 'dreb': 4, 'fg3m': 1, 'oreb': 6, 'pts': 9, 'stl': 10, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   700),\n  ('second regression',\n   [{'ast': 9, 'blk': 0, 'dreb': 9, 'fg3m': 3, 'oreb': 1, 'pts': 10, 'stl': 2, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   435),\n  ('normal control 1',\n   [{'ast': 9, 'blk': 0, 'dreb': 5, 'fg3m': 2, 'oreb': 4, 'pts': 10, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   433),\n  ('normal control 2',\n   [{'ast': 11, 'blk': 1, 'dreb': 9, 'fg3m': 5, 'oreb': 4, 'pts': 11, 'stl': 0, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   486),\n  ('normal control 3',\n   [{'ast': 9, 'blk': 0, 'dreb': 9, 'fg3m': 4, 'oreb': 3, 'pts': 9, 'stl': 1, 'tov': 0},\n    {'dd': 15, 'td': 30}],\n   419),\n  ('normal control 4',\n   [{'ast': 3, 'blk': 2, 'dreb': 4, 'fg3m': 2, 'oreb': 4, 'pts': 10, 'stl': 1, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   311)],\n [('regression: double-digit threshold',\n   [{'ast': 10, 'blk': 10, 'dreb': 8, 'fg3m': 3, 'oreb': 4, 'pts': 9, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   809),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 9, 'blk': 10, 'dreb': 10, 'fg3m': 3, 'oreb': 4, 'pts': 12, 'stl': 1, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   768),\n  ('second regression',\n   [{'ast': 11, 'blk': 1, 'dreb': 5, 'fg3m': 4, 'oreb': 3, 'pts': 10, 'stl': 1, 'tov': 2},\n    {'dd': 15, 'td': 30}],\n   436),\n  ('normal control 1',\n   [{'ast': 7, 'blk': 2, 'dreb': 1, 'fg3m': 6, 'oreb': 6, 'pts': 10, 'stl': 3, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   429),\n  ('normal control 2',\n   [{'ast': 9, 'blk': 1, 'dreb': 7, 'fg3m': 2, 'oreb': 4, 'pts': 11, 'stl': 2, 'tov': 5},\n    {'dd': 15, 'td': 30}],\n   442),\n  ('normal control 3',\n   [{'ast': 11, 'blk': 2, 'dreb': 4, 'fg3m': 1, 'oreb': 0, 'pts': 9, 'stl': 0, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   338),\n  ('normal control 4',\n   [{'ast': 9, 'blk': 11, 'dreb': 0, 'fg3m': 0, 'oreb': 3, 'pts': 9, 'stl': 2, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   611)],\n [('regression: double-digit threshold',\n   [{'ast': 11, 'blk': 1, 'dreb': 10, 'fg3m': 1, 'oreb': 3, 'pts': 10, 'stl': 10, 'tov': 0},\n    {'dd': 15, 'td': 30}],\n   786),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 1, 'blk': 11, 'dreb': 4, 'fg3m': 0, 'oreb': 0, 'pts': 10, 'stl': 3, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   568),\n  ('second regression',\n   [{'ast': 10, 'blk': 2, 'dreb': 4, 'fg3m': 2, 'oreb': 3, 'pts': 16, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   469),\n  ('normal control 1',\n   [{'ast': 14, 'blk': 0, 'dreb': 8, 'fg3m': 2, 'oreb': 4, 'pts': 38, 'stl': 3, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   834),\n  ('normal control 2',\n   [{'ast': 9, 'blk': 10, 'dreb': 5, 'fg3m': 6, 'oreb': 4, 'pts': 7, 'stl': 3, 'tov': 5},\n    {'dd': 15, 'td': 30}],\n   683),\n  ('normal control 3',\n   [{'ast': 7, 'blk': 2, 'dreb': 5, 'fg3m': 0, 'oreb': 2, 'pts': 9, 'stl': 10, 'tov': 6},\n    {'dd': 15, 'td': 30}],\n   579),\n  ('normal control 4',\n   [{'ast': 8, 'blk': 1, 'dreb': 5, 'fg3m': 3, 'oreb': 4, 'pts': 9, 'stl': 3, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   413)],\n [('regression: double-digit threshold',\n   [{'ast': 10, 'blk': 11, 'dreb': 6, 'fg3m': 1, 'oreb': 0, 'pts': 11, 'stl': 3, 'tov': 6},\n    {'dd': 15, 'td': 30}],\n   727),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 10, 'blk': 10, 'dreb': 8, 'fg3m': 2, 'oreb': 5, 'pts': 9, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   726),\n  ('second regression',\n   [{'ast': 12, 'blk': 1, 'dreb': 0, 'fg3m': 4, 'oreb': 2, 'pts': 10, 'stl': 2, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   399),\n  ('normal control 1',\n   [{'ast': 11, 'blk': 11, 'dreb': 8, 'fg3m': 1, 'oreb': 6, 'pts': 10, 'stl': 0, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   758),\n  ('normal control 2',\n   [{'ast': 9, 'blk': 2, 'dreb': 4, 'fg3m': 4, 'oreb': 2, 'pts': 10, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   467),\n  ('normal control 3',\n   [{'ast': 11, 'blk': 2, 'dreb': 5, 'fg3m': 1, 'oreb': 3, 'pts': 11, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   441),\n  ('normal control 4',\n   [{'ast': 11, 'blk': 11, 'dreb': 9, 'fg3m': 0, 'oreb': 6, 'pts': 10, 'stl': 0, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   775)],\n [('regression: double-digit threshold',\n   [{'ast': 11, 'blk': 11, 'dreb': 4, 'fg3m': 0, 'oreb': 5, 'pts': 10, 'stl': 3, 'tov': 2},\n    {'dd': 15, 'td': 30}],\n   803),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 14, 'blk': 10, 'dreb': 4, 'fg3m': 6, 'oreb': 5, 'pts': 10, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   858),\n  ('second regression',\n   [{'ast': 11, 'blk': 0, 'dreb': 5, 'fg3m': 4, 'oreb': 1, 'pts': 10, 'stl': 2, 'tov': 6},\n    {'dd': 15, 'td': 30}],\n   372),\n  ('normal control 1',\n   [{'ast': 11, 'blk': 2, 'dreb': 9, 'fg3m': 6, 'oreb': 0, 'pts': 9, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   443),\n  ('normal control 2',\n   [{'ast': 11, 'blk': 2, 'dreb': 9, 'fg3m': 1, 'oreb': 3, 'pts': 2, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   489),\n  ('normal control 3',\n   [{'ast': 9, 'blk': 0, 'dreb': 4, 'fg3m': 2, 'oreb': 3, 'pts': 9, 'stl': 10, 'tov': 5},\n    {'dd': 15, 'td': 30}],\n   569),\n  ('normal control 4',\n   [{'ast': 10, 'blk': 11, 'dreb': 8, 'fg3m': 4, 'oreb': 6, 'pts': 20, 'stl': 3, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   948)]]\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":"b9c94c39919c8a99349d55a0d998634877878212c4d2eddb853ddcc78349b4a0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(line, bonus):\n    line = dict(line, reb=line['oreb'] + line['dreb'])\n    w = {'pts': 10, 'reb': 12, 'ast': 15, 'stl': 30, 'blk': 30, 'tov': -10, 'fg3m': 5}\n    score = sum(w[k] * line[k] for k in w)\n    doubles = sum(1 for k in ('pts', 'reb', 'ast', 'stl', 'blk') if line[k] > 10)\n    if doubles >= 3:\n        score += bonus['td']\n    elif doubles == 2:\n        score += bonus['dd']\n    return score\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: double-digit threshold',\n   [{'ast': 10, 'blk': 11, 'dreb': 5, 'fg3m': 0, 'oreb': 6, 'pts': 10, 'stl': 1, 'tov': 2},\n    {'dd': 15, 'td': 30}],\n   752),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 11, 'blk': 0, 'dreb': 4, 'fg3m': 1, 'oreb': 6, 'pts': 9, 'stl': 10, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   700),\n  ('second regression',\n   [{'ast': 9, 'blk': 0, 'dreb': 9, 'fg3m': 3, 'oreb': 1, 'pts': 10, 'stl': 2, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   435),\n  ('normal control 1',\n   [{'ast': 9, 'blk': 0, 'dreb': 5, 'fg3m': 2, 'oreb': 4, 'pts': 10, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   433),\n  ('normal control 2',\n   [{'ast': 11, 'blk': 1, 'dreb': 9, 'fg3m': 5, 'oreb': 4, 'pts': 11, 'stl': 0, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   486),\n  ('normal control 3',\n   [{'ast': 9, 'blk': 0, 'dreb': 9, 'fg3m': 4, 'oreb': 3, 'pts': 9, 'stl': 1, 'tov': 0},\n    {'dd': 15, 'td': 30}],\n   419),\n  ('normal control 4',\n   [{'ast': 3, 'blk': 2, 'dreb': 4, 'fg3m': 2, 'oreb': 4, 'pts': 10, 'stl': 1, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   311)],\n [('regression: double-digit threshold',\n   [{'ast': 10, 'blk': 10, 'dreb': 8, 'fg3m': 3, 'oreb': 4, 'pts': 9, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   809),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 9, 'blk': 10, 'dreb': 10, 'fg3m': 3, 'oreb': 4, 'pts': 12, 'stl': 1, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   768),\n  ('second regression',\n   [{'ast': 11, 'blk': 1, 'dreb': 5, 'fg3m': 4, 'oreb': 3, 'pts': 10, 'stl': 1, 'tov': 2},\n    {'dd': 15, 'td': 30}],\n   436),\n  ('normal control 1',\n   [{'ast': 7, 'blk': 2, 'dreb': 1, 'fg3m': 6, 'oreb': 6, 'pts': 10, 'stl': 3, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   429),\n  ('normal control 2',\n   [{'ast': 9, 'blk': 1, 'dreb': 7, 'fg3m': 2, 'oreb': 4, 'pts': 11, 'stl': 2, 'tov': 5},\n    {'dd': 15, 'td': 30}],\n   442),\n  ('normal control 3',\n   [{'ast': 11, 'blk': 2, 'dreb': 4, 'fg3m': 1, 'oreb': 0, 'pts': 9, 'stl': 0, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   338),\n  ('normal control 4',\n   [{'ast': 9, 'blk': 11, 'dreb': 0, 'fg3m': 0, 'oreb': 3, 'pts': 9, 'stl': 2, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   611)],\n [('regression: double-digit threshold',\n   [{'ast': 11, 'blk': 1, 'dreb': 10, 'fg3m': 1, 'oreb': 3, 'pts': 10, 'stl': 10, 'tov': 0},\n    {'dd': 15, 'td': 30}],\n   786),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 1, 'blk': 11, 'dreb': 4, 'fg3m': 0, 'oreb': 0, 'pts': 10, 'stl': 3, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   568),\n  ('second regression',\n   [{'ast': 10, 'blk': 2, 'dreb': 4, 'fg3m': 2, 'oreb': 3, 'pts': 16, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   469),\n  ('normal control 1',\n   [{'ast': 14, 'blk': 0, 'dreb': 8, 'fg3m': 2, 'oreb': 4, 'pts': 38, 'stl': 3, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   834),\n  ('normal control 2',\n   [{'ast': 9, 'blk': 10, 'dreb': 5, 'fg3m': 6, 'oreb': 4, 'pts': 7, 'stl': 3, 'tov': 5},\n    {'dd': 15, 'td': 30}],\n   683),\n  ('normal control 3',\n   [{'ast': 7, 'blk': 2, 'dreb': 5, 'fg3m': 0, 'oreb': 2, 'pts': 9, 'stl': 10, 'tov': 6},\n    {'dd': 15, 'td': 30}],\n   579),\n  ('normal control 4',\n   [{'ast': 8, 'blk': 1, 'dreb': 5, 'fg3m': 3, 'oreb': 4, 'pts': 9, 'stl': 3, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   413)],\n [('regression: double-digit threshold',\n   [{'ast': 10, 'blk': 11, 'dreb': 6, 'fg3m': 1, 'oreb': 0, 'pts': 11, 'stl': 3, 'tov': 6},\n    {'dd': 15, 'td': 30}],\n   727),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 10, 'blk': 10, 'dreb': 8, 'fg3m': 2, 'oreb': 5, 'pts': 9, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   726),\n  ('second regression',\n   [{'ast': 12, 'blk': 1, 'dreb': 0, 'fg3m': 4, 'oreb': 2, 'pts': 10, 'stl': 2, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   399),\n  ('normal control 1',\n   [{'ast': 11, 'blk': 11, 'dreb': 8, 'fg3m': 1, 'oreb': 6, 'pts': 10, 'stl': 0, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   758),\n  ('normal control 2',\n   [{'ast': 9, 'blk': 2, 'dreb': 4, 'fg3m': 4, 'oreb': 2, 'pts': 10, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   467),\n  ('normal control 3',\n   [{'ast': 11, 'blk': 2, 'dreb': 5, 'fg3m': 1, 'oreb': 3, 'pts': 11, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   441),\n  ('normal control 4',\n   [{'ast': 11, 'blk': 11, 'dreb': 9, 'fg3m': 0, 'oreb': 6, 'pts': 10, 'stl': 0, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   775)],\n [('regression: double-digit threshold',\n   [{'ast': 11, 'blk': 11, 'dreb': 4, 'fg3m': 0, 'oreb': 5, 'pts': 10, 'stl': 3, 'tov': 2},\n    {'dd': 15, 'td': 30}],\n   803),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 14, 'blk': 10, 'dreb': 4, 'fg3m': 6, 'oreb': 5, 'pts': 10, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   858),\n  ('second regression',\n   [{'ast': 11, 'blk': 0, 'dreb': 5, 'fg3m': 4, 'oreb': 1, 'pts': 10, 'stl': 2, 'tov': 6},\n    {'dd': 15, 'td': 30}],\n   372),\n  ('normal control 1',\n   [{'ast': 11, 'blk': 2, 'dreb': 9, 'fg3m': 6, 'oreb': 0, 'pts': 9, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   443),\n  ('normal control 2',\n   [{'ast': 11, 'blk': 2, 'dreb': 9, 'fg3m': 1, 'oreb': 3, 'pts': 2, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   489),\n  ('normal control 3',\n   [{'ast': 9, 'blk': 0, 'dreb': 4, 'fg3m': 2, 'oreb': 3, 'pts': 9, 'stl': 10, 'tov': 5},\n    {'dd': 15, 'td': 30}],\n   569),\n  ('normal control 4',\n   [{'ast': 10, 'blk': 11, 'dreb': 8, 'fg3m': 4, 'oreb': 6, 'pts': 20, 'stl': 3, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   948)]]\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"},"fixed":{"sha256":"b0c1bf6c25adc28a340f7fef0263ce5b24acccf008634d8d008f0909a7e07449","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(line, bonus):\n    line = dict(line, reb=line['oreb'] + line['dreb'])\n    w = {'pts': 10, 'reb': 12, 'ast': 15, 'stl': 30, 'blk': 30, 'tov': -10, 'fg3m': 5}\n    score = sum(w[k] * line[k] for k in w)\n    doubles = sum(1 for k in ('pts', 'reb', 'ast', 'stl', 'blk') if line[k] >= 10)\n    if doubles >= 3:\n        score += bonus['td']\n    elif doubles == 2:\n        score += bonus['dd']\n    return score\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: double-digit threshold',\n   [{'ast': 10, 'blk': 11, 'dreb': 5, 'fg3m': 0, 'oreb': 6, 'pts': 10, 'stl': 1, 'tov': 2},\n    {'dd': 15, 'td': 30}],\n   752),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 11, 'blk': 0, 'dreb': 4, 'fg3m': 1, 'oreb': 6, 'pts': 9, 'stl': 10, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   700),\n  ('second regression',\n   [{'ast': 9, 'blk': 0, 'dreb': 9, 'fg3m': 3, 'oreb': 1, 'pts': 10, 'stl': 2, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   435),\n  ('normal control 1',\n   [{'ast': 9, 'blk': 0, 'dreb': 5, 'fg3m': 2, 'oreb': 4, 'pts': 10, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   433),\n  ('normal control 2',\n   [{'ast': 11, 'blk': 1, 'dreb': 9, 'fg3m': 5, 'oreb': 4, 'pts': 11, 'stl': 0, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   486),\n  ('normal control 3',\n   [{'ast': 9, 'blk': 0, 'dreb': 9, 'fg3m': 4, 'oreb': 3, 'pts': 9, 'stl': 1, 'tov': 0},\n    {'dd': 15, 'td': 30}],\n   419),\n  ('normal control 4',\n   [{'ast': 3, 'blk': 2, 'dreb': 4, 'fg3m': 2, 'oreb': 4, 'pts': 10, 'stl': 1, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   311)],\n [('regression: double-digit threshold',\n   [{'ast': 10, 'blk': 10, 'dreb': 8, 'fg3m': 3, 'oreb': 4, 'pts': 9, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   809),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 9, 'blk': 10, 'dreb': 10, 'fg3m': 3, 'oreb': 4, 'pts': 12, 'stl': 1, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   768),\n  ('second regression',\n   [{'ast': 11, 'blk': 1, 'dreb': 5, 'fg3m': 4, 'oreb': 3, 'pts': 10, 'stl': 1, 'tov': 2},\n    {'dd': 15, 'td': 30}],\n   436),\n  ('normal control 1',\n   [{'ast': 7, 'blk': 2, 'dreb': 1, 'fg3m': 6, 'oreb': 6, 'pts': 10, 'stl': 3, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   429),\n  ('normal control 2',\n   [{'ast': 9, 'blk': 1, 'dreb': 7, 'fg3m': 2, 'oreb': 4, 'pts': 11, 'stl': 2, 'tov': 5},\n    {'dd': 15, 'td': 30}],\n   442),\n  ('normal control 3',\n   [{'ast': 11, 'blk': 2, 'dreb': 4, 'fg3m': 1, 'oreb': 0, 'pts': 9, 'stl': 0, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   338),\n  ('normal control 4',\n   [{'ast': 9, 'blk': 11, 'dreb': 0, 'fg3m': 0, 'oreb': 3, 'pts': 9, 'stl': 2, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   611)],\n [('regression: double-digit threshold',\n   [{'ast': 11, 'blk': 1, 'dreb': 10, 'fg3m': 1, 'oreb': 3, 'pts': 10, 'stl': 10, 'tov': 0},\n    {'dd': 15, 'td': 30}],\n   786),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 1, 'blk': 11, 'dreb': 4, 'fg3m': 0, 'oreb': 0, 'pts': 10, 'stl': 3, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   568),\n  ('second regression',\n   [{'ast': 10, 'blk': 2, 'dreb': 4, 'fg3m': 2, 'oreb': 3, 'pts': 16, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   469),\n  ('normal control 1',\n   [{'ast': 14, 'blk': 0, 'dreb': 8, 'fg3m': 2, 'oreb': 4, 'pts': 38, 'stl': 3, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   834),\n  ('normal control 2',\n   [{'ast': 9, 'blk': 10, 'dreb': 5, 'fg3m': 6, 'oreb': 4, 'pts': 7, 'stl': 3, 'tov': 5},\n    {'dd': 15, 'td': 30}],\n   683),\n  ('normal control 3',\n   [{'ast': 7, 'blk': 2, 'dreb': 5, 'fg3m': 0, 'oreb': 2, 'pts': 9, 'stl': 10, 'tov': 6},\n    {'dd': 15, 'td': 30}],\n   579),\n  ('normal control 4',\n   [{'ast': 8, 'blk': 1, 'dreb': 5, 'fg3m': 3, 'oreb': 4, 'pts': 9, 'stl': 3, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   413)],\n [('regression: double-digit threshold',\n   [{'ast': 10, 'blk': 11, 'dreb': 6, 'fg3m': 1, 'oreb': 0, 'pts': 11, 'stl': 3, 'tov': 6},\n    {'dd': 15, 'td': 30}],\n   727),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 10, 'blk': 10, 'dreb': 8, 'fg3m': 2, 'oreb': 5, 'pts': 9, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   726),\n  ('second regression',\n   [{'ast': 12, 'blk': 1, 'dreb': 0, 'fg3m': 4, 'oreb': 2, 'pts': 10, 'stl': 2, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   399),\n  ('normal control 1',\n   [{'ast': 11, 'blk': 11, 'dreb': 8, 'fg3m': 1, 'oreb': 6, 'pts': 10, 'stl': 0, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   758),\n  ('normal control 2',\n   [{'ast': 9, 'blk': 2, 'dreb': 4, 'fg3m': 4, 'oreb': 2, 'pts': 10, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   467),\n  ('normal control 3',\n   [{'ast': 11, 'blk': 2, 'dreb': 5, 'fg3m': 1, 'oreb': 3, 'pts': 11, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   441),\n  ('normal control 4',\n   [{'ast': 11, 'blk': 11, 'dreb': 9, 'fg3m': 0, 'oreb': 6, 'pts': 10, 'stl': 0, 'tov': 3},\n    {'dd': 15, 'td': 30}],\n   775)],\n [('regression: double-digit threshold',\n   [{'ast': 11, 'blk': 11, 'dreb': 4, 'fg3m': 0, 'oreb': 5, 'pts': 10, 'stl': 3, 'tov': 2},\n    {'dd': 15, 'td': 30}],\n   803),\n  ('partial repair probe: double-digit threshold',\n   [{'ast': 14, 'blk': 10, 'dreb': 4, 'fg3m': 6, 'oreb': 5, 'pts': 10, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   858),\n  ('second regression',\n   [{'ast': 11, 'blk': 0, 'dreb': 5, 'fg3m': 4, 'oreb': 1, 'pts': 10, 'stl': 2, 'tov': 6},\n    {'dd': 15, 'td': 30}],\n   372),\n  ('normal control 1',\n   [{'ast': 11, 'blk': 2, 'dreb': 9, 'fg3m': 6, 'oreb': 0, 'pts': 9, 'stl': 1, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   443),\n  ('normal control 2',\n   [{'ast': 11, 'blk': 2, 'dreb': 9, 'fg3m': 1, 'oreb': 3, 'pts': 2, 'stl': 3, 'tov': 1},\n    {'dd': 15, 'td': 30}],\n   489),\n  ('normal control 3',\n   [{'ast': 9, 'blk': 0, 'dreb': 4, 'fg3m': 2, 'oreb': 3, 'pts': 9, 'stl': 10, 'tov': 5},\n    {'dd': 15, 'td': 30}],\n   569),\n  ('normal control 4',\n   [{'ast': 10, 'blk': 11, 'dreb': 8, 'fg3m': 4, 'oreb': 6, 'pts': 20, 'stl': 3, 'tov': 4},\n    {'dd': 15, 'td': 30}],\n   948)]]\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-basketball-double-bonus-double-digit-threshold","generated_at":"2026-09-29T14:50:37.309366+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Double-double and triple-double bonuses are exclusive tiers in points leagues and are frequently double-awarded.","repair":"Count categories with at least 10.","root_cause":"The double-digit test is strictly greater than 10.","sha256":"c6733887fc78eeb8b008425c33cd6986c923870fcf42262df1e8a0258d911d49","title":"Exactly ten in a category not counted as double digits · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.004,"exit_code":1,"observations":[{"actual":752,"check":"regression: double-digit threshold","expected":752,"passed":true},{"actual":685,"check":"partial repair probe: double-digit threshold","expected":700,"passed":false},{"actual":435,"check":"second regression","expected":435,"passed":true},{"actual":433,"check":"normal control 1","expected":433,"passed":true},{"actual":486,"check":"normal control 2","expected":486,"passed":true},{"actual":419,"check":"normal control 3","expected":419,"passed":true},{"actual":311,"check":"normal control 4","expected":311,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: double-digit threshold\", \"actual\": 752, \"expected\": 752, \"passed\": true}, {\"check\": \"partial repair probe: double-digit threshold\", \"actual\": 685, \"expected\": 700, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 435, \"expected\": 435, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 433, \"expected\": 433, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 486, \"expected\": 486, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 419, \"expected\": 419, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 311, \"expected\": 311, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.295,"exit_code":1,"observations":[{"actual":737,"check":"regression: double-digit threshold","expected":752,"passed":false},{"actual":670,"check":"partial repair probe: double-digit threshold","expected":700,"passed":false},{"actual":420,"check":"second regression","expected":435,"passed":false},{"actual":433,"check":"normal control 1","expected":433,"passed":true},{"actual":486,"check":"normal control 2","expected":486,"passed":true},{"actual":419,"check":"normal control 3","expected":419,"passed":true},{"actual":311,"check":"normal control 4","expected":311,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: double-digit threshold\", \"actual\": 737, \"expected\": 752, \"passed\": false}, {\"check\": \"partial repair probe: double-digit threshold\", \"actual\": 670, \"expected\": 700, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 420, \"expected\": 435, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 433, \"expected\": 433, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 486, \"expected\": 486, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 419, \"expected\": 419, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 311, \"expected\": 311, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.792,"exit_code":0,"observations":[{"actual":752,"check":"regression: double-digit threshold","expected":752,"passed":true},{"actual":700,"check":"partial repair probe: double-digit threshold","expected":700,"passed":true},{"actual":435,"check":"second regression","expected":435,"passed":true},{"actual":433,"check":"normal control 1","expected":433,"passed":true},{"actual":486,"check":"normal control 2","expected":486,"passed":true},{"actual":419,"check":"normal control 3","expected":419,"passed":true},{"actual":311,"check":"normal control 4","expected":311,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: double-digit threshold\", \"actual\": 752, \"expected\": 752, \"passed\": true}, {\"check\": \"partial repair probe: double-digit threshold\", \"actual\": 700, \"expected\": 700, \"passed\": true}, {\"check\": \"second regression\", \"actual\": 435, \"expected\": 435, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 433, \"expected\": 433, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 486, \"expected\": 486, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 419, \"expected\": 419, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 311, \"expected\": 311, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}