{"abstract":"An ace on a short par four earns no hole-in-one bonus.","category":"Fantasy sports scoring","checks":7,"contract":"Score a golf round given [par, strokes] per hole, in tenths: albatross or better 13, eagle 8, birdie 3, par 0.5, bogey -0.5, double bogey or worse -1; any hole-in-one earns +5 on top. Each maximal run of three or more consecutive birdie-or-better holes earns one 3 point streak bonus. A complete 18-hole round with no bogey or worse earns +3; a complete 18-hole round under 70 strokes earns +5.","contract_signature":"holes","evaluation_group":"w2-fantasy-sports-scoring-golf-round","failed_approach":"Requiring the ace to be an eagle still misses aces on par fours.","family":"w2-fantasy-sports-scoring-golf-round-ace-detection","id":"FA-85291","implementations":{"attempt":{"sha256":"20013cbc9e06876a1abb3fba70ba546569c1475bdd0afd1462b690fdd86deb59","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(holes):\n    pts = 0\n    run = 0\n    streaks = 0\n    for par, strokes in holes:\n        d = strokes - par\n        if d <= -3:\n            pts += 130\n        elif d == -2:\n            pts += 80\n        elif d == -1:\n            pts += 30\n        elif d == 0:\n            pts += 5\n        elif d == 1:\n            pts -= 5\n        else:\n            pts -= 10\n        if strokes == 1 and d == -2:\n            pts += 50\n        if d < 0:\n            run += 1\n            if run == 3:\n                streaks += 1\n        else:\n            run = 0\n    pts += 30 * streaks\n    if len(holes) == 18 and all(s - p <= 0 for p, s in holes):\n        pts += 30\n    if len(holes) == 18 and sum(s for _, s in holes) < 70:\n        pts += 50\n    return pts\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: ace detection',\n   [[[3, 2], [4, 3], [3, 3], [4, 6], [4, 1], [4, 4], [3, 4], [4, 3], [4, 3], [5, 4], [4, 3], [3, 3], [4, 4],\n     [3, 2], [5, 4], [4, 3], [3, 2], [5, 5]]],\n   600),\n  ('partial repair probe: ace detection',\n   [[[4, 1], [4, 3], [4, 4], [5, 5], [3, 3], [5, 5], [5, 5], [3, 1], [5, 5], [4, 4], [5, 3], [3, 3], [4, 4],\n     [3, 3], [3, 2], [4, 3], [5, 5], [4, 3]]],\n   645),\n  ('second regression',\n   [[[4, 3], [5, 3], [4, 4], [3, 3], [3, 1], [5, 1], [3, 2], [4, 5], [4, 4], [4, 3], [4, 4], [5, 5], [4, 3],\n     [3, 3], [4, 4], [3, 3], [3, 2], [4, 4]]],\n   660),\n  ('normal control 1',\n   [[[4, 4], [5, 6], [4, 4], [4, 4], [3, 5], [4, 3], [3, 3], [4, 4], [5, 4], [4, 3], [4, 3], [3, 3], [5, 7],\n     [3, 2], [5, 5], [3, 1], [3, 2], [3, 3]]],\n   405),\n  ('normal control 2',\n   [[[5, 4], [5, 4], [4, 4], [5, 5], [4, 4], [4, 4], [3, 3], [4, 5], [4, 3], [3, 1], [3, 2], [4, 6], [4, 4],\n     [3, 4], [4, 5], [4, 4], [3, 1], [3, 3]]],\n   475),\n  ('normal control 3',\n   [[[3, 3], [4, 4], [5, 5], [3, 3], [5, 4], [4, 3], [3, 2], [4, 4], [4, 4], [4, 4], [4, 4], [4, 3], [5, 4],\n     [5, 4], [5, 5], [4, 4], [4, 2], [5, 5]]],\n   455),\n  ('normal control 4',\n   [[[5, 4], [4, 3], [4, 2], [4, 3], [5, 5], [3, 2], [4, 4], [4, 4], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3],\n     [4, 4], [4, 4], [3, 3], [3, 5], [5, 3]]],\n   560)],\n [('regression: ace detection', [[[4, 4], [4, 4], [5, 4], [5, 4], [4, 3], [4, 1], [5, 7], [4, 3], [4, 3]]],\n   360),\n  ('partial repair probe: ace detection',\n   [[[3, 2], [4, 1], [4, 3], [4, 3], [4, 2], [3, 1], [5, 3], [3, 3], [3, 3], [3, 3], [3, 2], [3, 3], [4, 4],\n     [3, 3], [3, 3], [3, 2], [4, 3], [5, 5]]],\n   800),\n  ('second regression',\n   [[[3, 2], [4, 3], [3, 2], [4, 3], [4, 3], [4, 1], [3, 3], [4, 3], [4, 4], [3, 3], [4, 4], [4, 4], [3, 3],\n     [5, 4], [5, 5], [4, 4], [4, 4], [4, 4]]],\n   550),\n  ('normal control 1',\n   [[[4, 3], [4, 3], [3, 2], [4, 3], [4, 3], [3, 2], [5, 5], [3, 1], [5, 5], [5, 4], [4, 4], [5, 4], [5, 5],\n     [3, 3], [4, 4], [4, 4], [3, 1], [4, 3]]],\n   675),\n  ('normal control 2',\n   [[[5, 4], [4, 4], [5, 5], [5, 4], [5, 5], [5, 5], [5, 5], [4, 3], [4, 4], [4, 3], [5, 4], [3, 2], [5, 5],\n     [4, 3], [5, 4], [4, 4], [5, 5], [3, 4]]],\n   310),\n  ('normal control 3',\n   [[[5, 3], [5, 3], [3, 2], [4, 4], [4, 3], [3, 5], [5, 5], [4, 4], [4, 4], [5, 5], [4, 4], [3, 3], [5, 5],\n     [3, 2], [4, 2], [5, 5], [5, 4], [4, 4]]],\n   480),\n  ('normal control 4',\n   [[[3, 2], [5, 5], [4, 4], [3, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 4], [5, 5], [3, 2], [3, 2], [4, 6],\n     [4, 6], [4, 3], [4, 3], [4, 3], [5, 4]]],\n   445)],\n [('regression: ace detection',\n   [[[4, 5], [5, 4], [4, 3], [4, 4], [4, 3], [5, 7], [4, 6], [3, 3], [4, 3], [4, 4], [4, 3], [5, 7], [4, 6],\n     [4, 5], [5, 1], [4, 4], [3, 2], [4, 4]]],\n   335),\n  ('partial repair probe: ace detection',\n   [[[3, 2], [4, 1], [4, 4], [4, 4], [3, 1], [4, 3], [5, 5], [3, 3], [4, 1], [4, 4], [3, 3], [4, 3], [3, 2],\n     [5, 4], [5, 6], [3, 4], [5, 5], [3, 2]]],\n   775),\n  ('second regression',\n   [[[4, 3], [5, 3], [5, 4], [4, 1], [4, 2], [4, 3], [4, 3], [4, 4], [3, 1], [4, 5], [4, 6], [4, 2], [3, 3],\n     [3, 1], [4, 3], [3, 3], [3, 2], [4, 4]]],\n   945),\n  ('normal control 1',\n   [[[4, 6], [4, 4], [5, 7], [5, 4], [3, 2], [5, 4], [5, 4], [3, 2], [3, 3], [3, 1], [3, 2], [4, 5], [3, 2],\n     [4, 4], [4, 3], [3, 4], [5, 5], [4, 2]]],\n   520),\n  ('normal control 2',\n   [[[4, 3], [4, 3], [4, 3], [5, 7], [4, 5], [4, 5], [4, 4], [3, 3], [4, 6], [4, 3], [4, 3], [5, 7], [5, 5],\n     [3, 2], [3, 1], [3, 3], [3, 3], [5, 5]]],\n   330),\n  ('normal control 3',\n   [[[4, 3], [5, 5], [4, 4], [3, 3], [3, 2], [5, 3], [4, 4], [4, 4], [5, 3], [4, 3], [5, 4], [3, 3], [5, 4],\n     [4, 4]]],\n   375),\n  ('normal control 4',\n   [[[3, 3], [4, 3], [4, 3], [4, 2], [5, 5], [5, 5], [4, 5], [4, 3], [5, 5], [3, 3], [3, 3], [4, 4], [5, 4],\n     [4, 2], [3, 4], [5, 7], [4, 3], [4, 2]]],\n   485)],\n [('regression: ace detection', [[[3, 2], [5, 5], [4, 2], [4, 1], [5, 5], [5, 5], [4, 4], [3, 2], [4, 4]]],\n   345),\n  ('partial repair probe: ace detection',\n   [[[4, 3], [3, 2], [4, 1], [3, 3], [5, 4], [4, 4], [4, 3], [3, 3], [4, 3], [4, 3], [3, 2], [3, 2], [5, 5],\n     [4, 4]]],\n   505),\n  ('second regression',\n   [[[4, 4], [3, 3], [4, 4], [4, 4], [4, 4], [4, 3], [4, 3], [4, 4], [4, 3], [4, 2], [3, 3], [4, 1], [4, 4],\n     [5, 1], [4, 4], [3, 3], [4, 4], [3, 3]]],\n   670),\n  ('normal control 1',\n   [[[5, 4], [5, 5], [4, 4], [4, 2], [4, 3], [3, 3], [5, 5], [3, 2], [4, 4], [3, 3], [4, 3], [3, 3], [3, 2],\n     [4, 4], [3, 1], [4, 4], [3, 1], [4, 5]]],\n   580),\n  ('normal control 2', [[[4, 3], [4, 3], [4, 3], [4, 4], [4, 4], [4, 3], [4, 4], [5, 4], [4, 6]]], 185),\n  ('normal control 3', [[[4, 4], [3, 2], [3, 3], [3, 3], [4, 4], [5, 5], [3, 3], [4, 4], [4, 4]]], 70),\n  ('normal control 4', [[[5, 4], [3, 3], [4, 4], [4, 4], [4, 4], [5, 4], [3, 3], [4, 4], [5, 4]]], 120)],\n [('regression: ace detection',\n   [[[4, 1], [4, 4], [5, 5], [4, 4], [5, 5], [5, 5], [5, 5], [3, 2], [4, 3], [4, 3], [5, 5], [4, 4], [3, 2],\n     [5, 1], [4, 4], [4, 4], [4, 4], [3, 2]]],\n   675),\n  ('partial repair probe: ace detection',\n   [[[4, 6], [4, 5], [5, 3], [5, 3], [4, 1], [3, 3], [4, 2], [4, 1], [4, 5], [4, 5], [4, 3], [5, 5], [5, 1],\n     [4, 4], [4, 3], [4, 4], [5, 5], [4, 5]]],\n   915),\n  ('second regression',\n   [[[3, 2], [3, 1], [3, 3], [3, 2], [4, 4], [5, 3], [3, 3], [5, 5], [4, 2], [5, 5], [4, 3], [4, 1], [4, 3],\n     [3, 3], [4, 2], [4, 4], [3, 3], [3, 3]]],\n   825),\n  ('normal control 1',\n   [[[3, 3], [4, 3], [5, 5], [4, 3], [4, 4], [5, 4], [4, 4], [3, 2], [5, 7], [4, 3], [4, 3], [4, 3], [5, 6],\n     [4, 4], [5, 5], [5, 5], [5, 5], [4, 4]]],\n   270),\n  ('normal control 2',\n   [[[4, 2], [4, 2], [5, 5], [3, 3], [5, 4], [5, 5], [5, 5], [5, 7], [3, 5], [4, 4], [3, 2], [5, 4], [5, 4],\n     [5, 5], [5, 5], [3, 3], [3, 1], [4, 3]]],\n   540),\n  ('normal control 3',\n   [[[4, 4], [3, 2], [4, 3], [3, 2], [3, 3], [4, 3], [4, 4], [4, 3], [4, 3], [4, 4], [3, 2], [4, 4], [3, 2],\n     [5, 4], [3, 3], [3, 3], [3, 3], [5, 4]]],\n   450),\n  ('normal control 4', [[[4, 5], [5, 5], [4, 4], [4, 2], [4, 4], [4, 3], [4, 5], [4, 4], [3, 3]]], 125)]]\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":"2896d045e86891d365a98a0faf67ba68569e8739c3a8a5cc62f5ac714e554062","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(holes):\n    pts = 0\n    run = 0\n    streaks = 0\n    for par, strokes in holes:\n        d = strokes - par\n        if d <= -3:\n            pts += 130\n        elif d == -2:\n            pts += 80\n        elif d == -1:\n            pts += 30\n        elif d == 0:\n            pts += 5\n        elif d == 1:\n            pts -= 5\n        else:\n            pts -= 10\n        if d == -2 and par == 3:\n            pts += 50\n        if d < 0:\n            run += 1\n            if run == 3:\n                streaks += 1\n        else:\n            run = 0\n    pts += 30 * streaks\n    if len(holes) == 18 and all(s - p <= 0 for p, s in holes):\n        pts += 30\n    if len(holes) == 18 and sum(s for _, s in holes) < 70:\n        pts += 50\n    return pts\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: ace detection',\n   [[[3, 2], [4, 3], [3, 3], [4, 6], [4, 1], [4, 4], [3, 4], [4, 3], [4, 3], [5, 4], [4, 3], [3, 3], [4, 4],\n     [3, 2], [5, 4], [4, 3], [3, 2], [5, 5]]],\n   600),\n  ('partial repair probe: ace detection',\n   [[[4, 1], [4, 3], [4, 4], [5, 5], [3, 3], [5, 5], [5, 5], [3, 1], [5, 5], [4, 4], [5, 3], [3, 3], [4, 4],\n     [3, 3], [3, 2], [4, 3], [5, 5], [4, 3]]],\n   645),\n  ('second regression',\n   [[[4, 3], [5, 3], [4, 4], [3, 3], [3, 1], [5, 1], [3, 2], [4, 5], [4, 4], [4, 3], [4, 4], [5, 5], [4, 3],\n     [3, 3], [4, 4], [3, 3], [3, 2], [4, 4]]],\n   660),\n  ('normal control 1',\n   [[[4, 4], [5, 6], [4, 4], [4, 4], [3, 5], [4, 3], [3, 3], [4, 4], [5, 4], [4, 3], [4, 3], [3, 3], [5, 7],\n     [3, 2], [5, 5], [3, 1], [3, 2], [3, 3]]],\n   405),\n  ('normal control 2',\n   [[[5, 4], [5, 4], [4, 4], [5, 5], [4, 4], [4, 4], [3, 3], [4, 5], [4, 3], [3, 1], [3, 2], [4, 6], [4, 4],\n     [3, 4], [4, 5], [4, 4], [3, 1], [3, 3]]],\n   475),\n  ('normal control 3',\n   [[[3, 3], [4, 4], [5, 5], [3, 3], [5, 4], [4, 3], [3, 2], [4, 4], [4, 4], [4, 4], [4, 4], [4, 3], [5, 4],\n     [5, 4], [5, 5], [4, 4], [4, 2], [5, 5]]],\n   455),\n  ('normal control 4',\n   [[[5, 4], [4, 3], [4, 2], [4, 3], [5, 5], [3, 2], [4, 4], [4, 4], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3],\n     [4, 4], [4, 4], [3, 3], [3, 5], [5, 3]]],\n   560)],\n [('regression: ace detection', [[[4, 4], [4, 4], [5, 4], [5, 4], [4, 3], [4, 1], [5, 7], [4, 3], [4, 3]]],\n   360),\n  ('partial repair probe: ace detection',\n   [[[3, 2], [4, 1], [4, 3], [4, 3], [4, 2], [3, 1], [5, 3], [3, 3], [3, 3], [3, 3], [3, 2], [3, 3], [4, 4],\n     [3, 3], [3, 3], [3, 2], [4, 3], [5, 5]]],\n   800),\n  ('second regression',\n   [[[3, 2], [4, 3], [3, 2], [4, 3], [4, 3], [4, 1], [3, 3], [4, 3], [4, 4], [3, 3], [4, 4], [4, 4], [3, 3],\n     [5, 4], [5, 5], [4, 4], [4, 4], [4, 4]]],\n   550),\n  ('normal control 1',\n   [[[4, 3], [4, 3], [3, 2], [4, 3], [4, 3], [3, 2], [5, 5], [3, 1], [5, 5], [5, 4], [4, 4], [5, 4], [5, 5],\n     [3, 3], [4, 4], [4, 4], [3, 1], [4, 3]]],\n   675),\n  ('normal control 2',\n   [[[5, 4], [4, 4], [5, 5], [5, 4], [5, 5], [5, 5], [5, 5], [4, 3], [4, 4], [4, 3], [5, 4], [3, 2], [5, 5],\n     [4, 3], [5, 4], [4, 4], [5, 5], [3, 4]]],\n   310),\n  ('normal control 3',\n   [[[5, 3], [5, 3], [3, 2], [4, 4], [4, 3], [3, 5], [5, 5], [4, 4], [4, 4], [5, 5], [4, 4], [3, 3], [5, 5],\n     [3, 2], [4, 2], [5, 5], [5, 4], [4, 4]]],\n   480),\n  ('normal control 4',\n   [[[3, 2], [5, 5], [4, 4], [3, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 4], [5, 5], [3, 2], [3, 2], [4, 6],\n     [4, 6], [4, 3], [4, 3], [4, 3], [5, 4]]],\n   445)],\n [('regression: ace detection',\n   [[[4, 5], [5, 4], [4, 3], [4, 4], [4, 3], [5, 7], [4, 6], [3, 3], [4, 3], [4, 4], [4, 3], [5, 7], [4, 6],\n     [4, 5], [5, 1], [4, 4], [3, 2], [4, 4]]],\n   335),\n  ('partial repair probe: ace detection',\n   [[[3, 2], [4, 1], [4, 4], [4, 4], [3, 1], [4, 3], [5, 5], [3, 3], [4, 1], [4, 4], [3, 3], [4, 3], [3, 2],\n     [5, 4], [5, 6], [3, 4], [5, 5], [3, 2]]],\n   775),\n  ('second regression',\n   [[[4, 3], [5, 3], [5, 4], [4, 1], [4, 2], [4, 3], [4, 3], [4, 4], [3, 1], [4, 5], [4, 6], [4, 2], [3, 3],\n     [3, 1], [4, 3], [3, 3], [3, 2], [4, 4]]],\n   945),\n  ('normal control 1',\n   [[[4, 6], [4, 4], [5, 7], [5, 4], [3, 2], [5, 4], [5, 4], [3, 2], [3, 3], [3, 1], [3, 2], [4, 5], [3, 2],\n     [4, 4], [4, 3], [3, 4], [5, 5], [4, 2]]],\n   520),\n  ('normal control 2',\n   [[[4, 3], [4, 3], [4, 3], [5, 7], [4, 5], [4, 5], [4, 4], [3, 3], [4, 6], [4, 3], [4, 3], [5, 7], [5, 5],\n     [3, 2], [3, 1], [3, 3], [3, 3], [5, 5]]],\n   330),\n  ('normal control 3',\n   [[[4, 3], [5, 5], [4, 4], [3, 3], [3, 2], [5, 3], [4, 4], [4, 4], [5, 3], [4, 3], [5, 4], [3, 3], [5, 4],\n     [4, 4]]],\n   375),\n  ('normal control 4',\n   [[[3, 3], [4, 3], [4, 3], [4, 2], [5, 5], [5, 5], [4, 5], [4, 3], [5, 5], [3, 3], [3, 3], [4, 4], [5, 4],\n     [4, 2], [3, 4], [5, 7], [4, 3], [4, 2]]],\n   485)],\n [('regression: ace detection', [[[3, 2], [5, 5], [4, 2], [4, 1], [5, 5], [5, 5], [4, 4], [3, 2], [4, 4]]],\n   345),\n  ('partial repair probe: ace detection',\n   [[[4, 3], [3, 2], [4, 1], [3, 3], [5, 4], [4, 4], [4, 3], [3, 3], [4, 3], [4, 3], [3, 2], [3, 2], [5, 5],\n     [4, 4]]],\n   505),\n  ('second regression',\n   [[[4, 4], [3, 3], [4, 4], [4, 4], [4, 4], [4, 3], [4, 3], [4, 4], [4, 3], [4, 2], [3, 3], [4, 1], [4, 4],\n     [5, 1], [4, 4], [3, 3], [4, 4], [3, 3]]],\n   670),\n  ('normal control 1',\n   [[[5, 4], [5, 5], [4, 4], [4, 2], [4, 3], [3, 3], [5, 5], [3, 2], [4, 4], [3, 3], [4, 3], [3, 3], [3, 2],\n     [4, 4], [3, 1], [4, 4], [3, 1], [4, 5]]],\n   580),\n  ('normal control 2', [[[4, 3], [4, 3], [4, 3], [4, 4], [4, 4], [4, 3], [4, 4], [5, 4], [4, 6]]], 185),\n  ('normal control 3', [[[4, 4], [3, 2], [3, 3], [3, 3], [4, 4], [5, 5], [3, 3], [4, 4], [4, 4]]], 70),\n  ('normal control 4', [[[5, 4], [3, 3], [4, 4], [4, 4], [4, 4], [5, 4], [3, 3], [4, 4], [5, 4]]], 120)],\n [('regression: ace detection',\n   [[[4, 1], [4, 4], [5, 5], [4, 4], [5, 5], [5, 5], [5, 5], [3, 2], [4, 3], [4, 3], [5, 5], [4, 4], [3, 2],\n     [5, 1], [4, 4], [4, 4], [4, 4], [3, 2]]],\n   675),\n  ('partial repair probe: ace detection',\n   [[[4, 6], [4, 5], [5, 3], [5, 3], [4, 1], [3, 3], [4, 2], [4, 1], [4, 5], [4, 5], [4, 3], [5, 5], [5, 1],\n     [4, 4], [4, 3], [4, 4], [5, 5], [4, 5]]],\n   915),\n  ('second regression',\n   [[[3, 2], [3, 1], [3, 3], [3, 2], [4, 4], [5, 3], [3, 3], [5, 5], [4, 2], [5, 5], [4, 3], [4, 1], [4, 3],\n     [3, 3], [4, 2], [4, 4], [3, 3], [3, 3]]],\n   825),\n  ('normal control 1',\n   [[[3, 3], [4, 3], [5, 5], [4, 3], [4, 4], [5, 4], [4, 4], [3, 2], [5, 7], [4, 3], [4, 3], [4, 3], [5, 6],\n     [4, 4], [5, 5], [5, 5], [5, 5], [4, 4]]],\n   270),\n  ('normal control 2',\n   [[[4, 2], [4, 2], [5, 5], [3, 3], [5, 4], [5, 5], [5, 5], [5, 7], [3, 5], [4, 4], [3, 2], [5, 4], [5, 4],\n     [5, 5], [5, 5], [3, 3], [3, 1], [4, 3]]],\n   540),\n  ('normal control 3',\n   [[[4, 4], [3, 2], [4, 3], [3, 2], [3, 3], [4, 3], [4, 4], [4, 3], [4, 3], [4, 4], [3, 2], [4, 4], [3, 2],\n     [5, 4], [3, 3], [3, 3], [3, 3], [5, 4]]],\n   450),\n  ('normal control 4', [[[4, 5], [5, 5], [4, 4], [4, 2], [4, 4], [4, 3], [4, 5], [4, 4], [3, 3]]], 125)]]\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-golf-round-ace-detection","generated_at":"2026-09-29T14:50:39.081952+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Golf fantasy streak and round bonuses depend on precise run detection and completion conditions.","root_cause":"The ace is detected as an eagle on a par three.","sha256":"9d2f6fdeef1dbbc8a0933528e537d6a75628e2b4f879f605a6915e776e909b27","title":"Hole-in-one bonus only on par threes · 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":41.059,"exit_code":1,"observations":[{"actual":550,"check":"regression: ace detection","expected":600,"passed":false},{"actual":595,"check":"partial repair probe: ace detection","expected":645,"passed":false},{"actual":610,"check":"second regression","expected":660,"passed":false},{"actual":405,"check":"normal control 1","expected":405,"passed":true},{"actual":475,"check":"normal control 2","expected":475,"passed":true},{"actual":455,"check":"normal control 3","expected":455,"passed":true},{"actual":560,"check":"normal control 4","expected":560,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: ace detection\", \"actual\": 550, \"expected\": 600, \"passed\": false}, {\"check\": \"partial repair probe: ace detection\", \"actual\": 595, \"expected\": 645, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 610, \"expected\": 660, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 405, \"expected\": 405, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 475, \"expected\": 475, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 455, \"expected\": 455, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 560, \"expected\": 560, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.861,"exit_code":1,"observations":[{"actual":550,"check":"regression: ace detection","expected":600,"passed":false},{"actual":595,"check":"partial repair probe: ace detection","expected":645,"passed":false},{"actual":610,"check":"second regression","expected":660,"passed":false},{"actual":405,"check":"normal control 1","expected":405,"passed":true},{"actual":475,"check":"normal control 2","expected":475,"passed":true},{"actual":455,"check":"normal control 3","expected":455,"passed":true},{"actual":560,"check":"normal control 4","expected":560,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: ace detection\", \"actual\": 550, \"expected\": 600, \"passed\": false}, {\"check\": \"partial repair probe: ace detection\", \"actual\": 595, \"expected\": 645, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 610, \"expected\": 660, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 405, \"expected\": 405, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 475, \"expected\": 475, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 455, \"expected\": 455, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 560, \"expected\": 560, \"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."}}