{"abstract":"Birdie, par, birdie, birdie counts as a three-hole streak.","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":"Decrementing the run lets a streak survive an intervening par.","family":"w2-fantasy-sports-scoring-golf-round-streak-reset-on-par","id":"FA-85286","implementations":{"attempt":{"sha256":"e2b24cb08c07d3d0c686e51af8d710bdc210799b533a85bec1201b902e52c762","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:\n            pts += 50\n        if d < 0:\n            run += 1\n            if run == 3:\n                streaks += 1\n        else:\n            run = max(run - 1, 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: streak reset on par',\n   [[[3, 2], [4, 3], [4, 3], [3, 3], [4, 3], [4, 4], [3, 2], [4, 4], [4, 4], [4, 4], [4, 1], [5, 3], [4, 3],\n     [4, 2]]],\n   605),\n  ('partial repair probe: streak reset on par',\n   [[[3, 5], [4, 3], [4, 3], [4, 3], [3, 2], [4, 4], [5, 4], [5, 4], [4, 1], [4, 4], [4, 3], [5, 4], [4, 4],\n     [5, 6]]],\n   480),\n  ('second regression',\n   [[[5, 5], [5, 5], [5, 5], [3, 2], [4, 3], [4, 5], [4, 2], [4, 4], [4, 4], [4, 3], [3, 4], [4, 3], [3, 3],\n     [3, 3], [5, 4], [4, 4], [4, 3], [4, 4]]],\n   345),\n  ('normal control 1',\n   [[[3, 3], [4, 4], [5, 5], [3, 1], [4, 2], [5, 6], [4, 3], [4, 3], [4, 3], [4, 3], [3, 3], [5, 4], [4, 4],\n     [4, 3], [4, 6], [4, 3], [4, 5], [5, 5]]],\n   510),\n  ('normal control 2',\n   [[[4, 3], [4, 3], [3, 2], [5, 4], [3, 2], [4, 4], [4, 4], [4, 3], [3, 3], [4, 5], [4, 4], [4, 4], [5, 4],\n     [5, 3], [4, 1], [3, 2], [3, 3], [4, 4]]],\n   640),\n  ('normal control 3',\n   [[[3, 1], [4, 4], [4, 3], [4, 4], [3, 3], [4, 3], [4, 4], [5, 4], [5, 4], [5, 5], [4, 4], [3, 2], [4, 3],\n     [3, 1]]],\n   500),\n  ('normal control 4',\n   [[[4, 4], [4, 3], [4, 1], [4, 3], [4, 4], [4, 4], [5, 5], [3, 3], [5, 5], [3, 2], [4, 4], [5, 4], [3, 3],\n     [3, 2], [3, 3], [4, 4], [4, 2], [5, 5]]],\n   575)],\n [('regression: streak reset on par',\n   [[[4, 4], [3, 2], [4, 4], [5, 1], [5, 5], [4, 4], [3, 2], [3, 2], [5, 5], [4, 3], [5, 1], [5, 6], [4, 3],\n     [5, 6]]],\n   525),\n  ('partial repair probe: streak reset on par',\n   [[[4, 4], [4, 4], [4, 3], [4, 4], [3, 3], [3, 3], [3, 5], [3, 3], [3, 2], [4, 2], [4, 3], [4, 6], [4, 3],\n     [4, 5], [4, 3], [3, 2], [4, 3], [4, 3]]],\n   435),\n  ('second regression',\n   [[[4, 4], [5, 5], [3, 4], [3, 5], [3, 2], [4, 3], [3, 3], [5, 4], [5, 1], [4, 3], [5, 6], [4, 4], [4, 3],\n     [3, 2], [4, 4], [4, 4], [3, 2], [4, 4]]],\n   485),\n  ('normal control 1',\n   [[[4, 4], [4, 1], [3, 3], [3, 2], [4, 4], [4, 1], [4, 3], [4, 3], [4, 3], [5, 4], [5, 5], [5, 5], [3, 2],\n     [4, 3], [5, 5], [4, 3], [4, 4], [3, 3]]],\n   750),\n  ('normal control 2',\n   [[[5, 6], [4, 3], [3, 1], [5, 4], [4, 3], [5, 5], [4, 4], [3, 3], [3, 3], [3, 2], [5, 6], [4, 3], [5, 5],\n     [5, 5], [4, 4], [4, 3], [4, 3], [3, 2]]],\n   505),\n  ('normal control 3',\n   [[[3, 3], [3, 3], [3, 3], [4, 4], [3, 1], [3, 3], [4, 3], [3, 4], [3, 5], [4, 4], [5, 5], [5, 7], [4, 2],\n     [5, 5], [4, 5], [4, 2], [3, 2], [5, 5]]],\n   415),\n  ('normal control 4', [[[4, 4], [4, 5], [4, 4], [5, 4], [5, 4], [4, 4], [4, 3], [5, 4], [4, 3]]], 190)],\n [('regression: streak reset on par',\n   [[[4, 4], [4, 4], [4, 1], [4, 3], [4, 4], [5, 5], [4, 3], [4, 4], [3, 3], [4, 3], [3, 2], [4, 4], [3, 3],\n     [4, 2], [3, 3], [4, 4], [3, 3], [3, 3]]],\n   520),\n  ('partial repair probe: streak reset on par',\n   [[[3, 3], [4, 4], [3, 2], [4, 3], [3, 2], [5, 4], [3, 3], [5, 3], [4, 3], [4, 3], [5, 5], [4, 3], [4, 3],\n     [5, 4], [4, 4], [3, 3], [4, 3], [4, 4]]],\n   585),\n  ('second regression',\n   [[[3, 2], [3, 3], [4, 4], [4, 5], [3, 3], [5, 5], [4, 4], [3, 3], [3, 3], [4, 4], [4, 5], [4, 3], [3, 3],\n     [3, 2], [5, 5], [5, 3], [5, 4], [4, 4]]],\n   295),\n  ('normal control 1',\n   [[[4, 4], [4, 4], [3, 3], [4, 4], [3, 2], [5, 4], [3, 3], [4, 4], [4, 2], [4, 3], [5, 5], [4, 4], [4, 3],\n     [5, 4], [4, 3], [4, 4], [3, 3], [3, 3]]],\n   425),\n  ('normal control 2',\n   [[[3, 2], [3, 5], [4, 3], [4, 4], [3, 3], [5, 5], [4, 1], [3, 4], [3, 2], [5, 5], [4, 4], [4, 5], [5, 4],\n     [4, 4], [4, 4], [5, 5], [3, 3], [4, 4]]],\n   380),\n  ('normal control 3',\n   [[[5, 4], [4, 2], [3, 2], [5, 5], [5, 5], [3, 3], [4, 3], [4, 4], [4, 4], [4, 4], [4, 4], [4, 3], [4, 6],\n     [4, 4], [4, 4], [4, 4], [5, 7], [4, 4]]],\n   265),\n  ('normal control 4',\n   [[[4, 4], [4, 5], [4, 3], [4, 6], [3, 3], [4, 3], [5, 4], [4, 4], [4, 4], [4, 5], [5, 3], [5, 5], [3, 3],\n     [4, 1]]],\n   360)],\n [('regression: streak reset on par',\n   [[[4, 3], [3, 2], [4, 4], [4, 4], [3, 2], [5, 3], [4, 3], [5, 4], [3, 3], [5, 4], [5, 5], [4, 3], [4, 3],\n     [3, 1], [5, 4], [4, 4], [4, 3], [5, 5]]],\n   680),\n  ('partial repair probe: streak reset on par',\n   [[[4, 3], [4, 4], [4, 4], [5, 3], [5, 4], [5, 4], [5, 5], [3, 2], [5, 5]]], 250),\n  ('second regression',\n   [[[3, 2], [4, 4], [4, 4], [4, 3], [4, 3], [4, 4], [4, 6], [4, 3], [4, 5], [5, 4], [4, 3], [5, 6], [5, 4],\n     [4, 3], [4, 3], [3, 2], [3, 5], [5, 1]]],\n   545),\n  ('normal control 1', [[[5, 5], [4, 3], [4, 4], [4, 4], [5, 5], [4, 4], [4, 3], [5, 5], [5, 6]]], 85),\n  ('normal control 2',\n   [[[5, 4], [4, 4], [4, 5], [3, 5], [5, 5], [4, 4], [3, 3], [5, 6], [5, 4], [4, 4], [5, 3], [5, 3], [4, 4],\n     [5, 4], [5, 4], [3, 1], [5, 7], [4, 4]]],\n   445),\n  ('normal control 3',\n   [[[3, 3], [5, 5], [3, 2], [4, 3], [4, 3], [4, 4], [4, 4], [4, 4], [4, 2], [4, 3], [3, 3], [3, 2], [4, 4],\n     [3, 3], [4, 6], [4, 2], [4, 3], [4, 3]]],\n   510),\n  ('normal control 4',\n   [[[3, 2], [4, 3], [3, 4], [5, 5], [3, 1], [5, 5], [4, 2], [3, 2], [5, 4], [4, 3], [5, 4], [3, 3], [4, 4],\n     [4, 2]]],\n   515)],\n [('regression: streak reset on par',\n   [[[5, 4], [4, 4], [5, 5], [3, 3], [4, 4], [4, 4], [5, 4], [3, 3], [5, 5], [4, 2], [4, 3], [5, 5], [4, 4],\n     [4, 4]]],\n   220),\n  ('partial repair probe: streak reset on par',\n   [[[4, 5], [5, 4], [3, 1], [5, 5], [4, 4], [4, 3], [4, 3], [5, 4], [4, 4], [5, 5], [3, 1], [4, 3], [4, 4],\n     [4, 3], [5, 4], [3, 4], [5, 7], [4, 4]]],\n   560),\n  ('second regression',\n   [[[5, 5], [4, 4], [4, 6], [4, 3], [4, 4], [4, 4], [3, 2], [4, 3], [4, 4], [4, 4], [5, 7], [4, 3], [4, 6],\n     [5, 5], [4, 3], [5, 4], [4, 3], [4, 5]]],\n   240),\n  ('normal control 1',\n   [[[5, 5], [5, 4], [4, 4], [5, 5], [4, 4], [4, 4], [5, 5], [3, 3], [3, 3], [5, 4], [5, 5], [4, 4], [3, 3],\n     [5, 5]]],\n   120),\n  ('normal control 2',\n   [[[4, 4], [4, 4], [3, 2], [5, 5], [3, 3], [3, 1], [3, 2], [3, 2], [4, 3], [3, 1], [3, 3], [4, 4], [5, 5],\n     [3, 4]]],\n   440),\n  ('normal control 3', [[[4, 3], [5, 5], [4, 4], [4, 3], [3, 3], [5, 4], [5, 4], [5, 4], [5, 4]]], 225),\n  ('normal control 4',\n   [[[3, 3], [4, 3], [3, 3], [3, 1], [4, 4], [4, 4], [4, 4], [5, 4], [4, 3], [4, 4], [4, 4], [5, 4], [3, 3],\n     [3, 1], [4, 3], [3, 2], [3, 3], [5, 5]]],\n   600)]]\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":"a744074fe0e4a90d8204523f59db2a48ca65c2dfc1a0fc8a109320178d06eb31","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:\n            pts += 50\n        if d < 0:\n            run += 1\n            if run == 3:\n                streaks += 1\n        elif d > 0:\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: streak reset on par',\n   [[[3, 2], [4, 3], [4, 3], [3, 3], [4, 3], [4, 4], [3, 2], [4, 4], [4, 4], [4, 4], [4, 1], [5, 3], [4, 3],\n     [4, 2]]],\n   605),\n  ('partial repair probe: streak reset on par',\n   [[[3, 5], [4, 3], [4, 3], [4, 3], [3, 2], [4, 4], [5, 4], [5, 4], [4, 1], [4, 4], [4, 3], [5, 4], [4, 4],\n     [5, 6]]],\n   480),\n  ('second regression',\n   [[[5, 5], [5, 5], [5, 5], [3, 2], [4, 3], [4, 5], [4, 2], [4, 4], [4, 4], [4, 3], [3, 4], [4, 3], [3, 3],\n     [3, 3], [5, 4], [4, 4], [4, 3], [4, 4]]],\n   345),\n  ('normal control 1',\n   [[[3, 3], [4, 4], [5, 5], [3, 1], [4, 2], [5, 6], [4, 3], [4, 3], [4, 3], [4, 3], [3, 3], [5, 4], [4, 4],\n     [4, 3], [4, 6], [4, 3], [4, 5], [5, 5]]],\n   510),\n  ('normal control 2',\n   [[[4, 3], [4, 3], [3, 2], [5, 4], [3, 2], [4, 4], [4, 4], [4, 3], [3, 3], [4, 5], [4, 4], [4, 4], [5, 4],\n     [5, 3], [4, 1], [3, 2], [3, 3], [4, 4]]],\n   640),\n  ('normal control 3',\n   [[[3, 1], [4, 4], [4, 3], [4, 4], [3, 3], [4, 3], [4, 4], [5, 4], [5, 4], [5, 5], [4, 4], [3, 2], [4, 3],\n     [3, 1]]],\n   500),\n  ('normal control 4',\n   [[[4, 4], [4, 3], [4, 1], [4, 3], [4, 4], [4, 4], [5, 5], [3, 3], [5, 5], [3, 2], [4, 4], [5, 4], [3, 3],\n     [3, 2], [3, 3], [4, 4], [4, 2], [5, 5]]],\n   575)],\n [('regression: streak reset on par',\n   [[[4, 4], [3, 2], [4, 4], [5, 1], [5, 5], [4, 4], [3, 2], [3, 2], [5, 5], [4, 3], [5, 1], [5, 6], [4, 3],\n     [5, 6]]],\n   525),\n  ('partial repair probe: streak reset on par',\n   [[[4, 4], [4, 4], [4, 3], [4, 4], [3, 3], [3, 3], [3, 5], [3, 3], [3, 2], [4, 2], [4, 3], [4, 6], [4, 3],\n     [4, 5], [4, 3], [3, 2], [4, 3], [4, 3]]],\n   435),\n  ('second regression',\n   [[[4, 4], [5, 5], [3, 4], [3, 5], [3, 2], [4, 3], [3, 3], [5, 4], [5, 1], [4, 3], [5, 6], [4, 4], [4, 3],\n     [3, 2], [4, 4], [4, 4], [3, 2], [4, 4]]],\n   485),\n  ('normal control 1',\n   [[[4, 4], [4, 1], [3, 3], [3, 2], [4, 4], [4, 1], [4, 3], [4, 3], [4, 3], [5, 4], [5, 5], [5, 5], [3, 2],\n     [4, 3], [5, 5], [4, 3], [4, 4], [3, 3]]],\n   750),\n  ('normal control 2',\n   [[[5, 6], [4, 3], [3, 1], [5, 4], [4, 3], [5, 5], [4, 4], [3, 3], [3, 3], [3, 2], [5, 6], [4, 3], [5, 5],\n     [5, 5], [4, 4], [4, 3], [4, 3], [3, 2]]],\n   505),\n  ('normal control 3',\n   [[[3, 3], [3, 3], [3, 3], [4, 4], [3, 1], [3, 3], [4, 3], [3, 4], [3, 5], [4, 4], [5, 5], [5, 7], [4, 2],\n     [5, 5], [4, 5], [4, 2], [3, 2], [5, 5]]],\n   415),\n  ('normal control 4', [[[4, 4], [4, 5], [4, 4], [5, 4], [5, 4], [4, 4], [4, 3], [5, 4], [4, 3]]], 190)],\n [('regression: streak reset on par',\n   [[[4, 4], [4, 4], [4, 1], [4, 3], [4, 4], [5, 5], [4, 3], [4, 4], [3, 3], [4, 3], [3, 2], [4, 4], [3, 3],\n     [4, 2], [3, 3], [4, 4], [3, 3], [3, 3]]],\n   520),\n  ('partial repair probe: streak reset on par',\n   [[[3, 3], [4, 4], [3, 2], [4, 3], [3, 2], [5, 4], [3, 3], [5, 3], [4, 3], [4, 3], [5, 5], [4, 3], [4, 3],\n     [5, 4], [4, 4], [3, 3], [4, 3], [4, 4]]],\n   585),\n  ('second regression',\n   [[[3, 2], [3, 3], [4, 4], [4, 5], [3, 3], [5, 5], [4, 4], [3, 3], [3, 3], [4, 4], [4, 5], [4, 3], [3, 3],\n     [3, 2], [5, 5], [5, 3], [5, 4], [4, 4]]],\n   295),\n  ('normal control 1',\n   [[[4, 4], [4, 4], [3, 3], [4, 4], [3, 2], [5, 4], [3, 3], [4, 4], [4, 2], [4, 3], [5, 5], [4, 4], [4, 3],\n     [5, 4], [4, 3], [4, 4], [3, 3], [3, 3]]],\n   425),\n  ('normal control 2',\n   [[[3, 2], [3, 5], [4, 3], [4, 4], [3, 3], [5, 5], [4, 1], [3, 4], [3, 2], [5, 5], [4, 4], [4, 5], [5, 4],\n     [4, 4], [4, 4], [5, 5], [3, 3], [4, 4]]],\n   380),\n  ('normal control 3',\n   [[[5, 4], [4, 2], [3, 2], [5, 5], [5, 5], [3, 3], [4, 3], [4, 4], [4, 4], [4, 4], [4, 4], [4, 3], [4, 6],\n     [4, 4], [4, 4], [4, 4], [5, 7], [4, 4]]],\n   265),\n  ('normal control 4',\n   [[[4, 4], [4, 5], [4, 3], [4, 6], [3, 3], [4, 3], [5, 4], [4, 4], [4, 4], [4, 5], [5, 3], [5, 5], [3, 3],\n     [4, 1]]],\n   360)],\n [('regression: streak reset on par',\n   [[[4, 3], [3, 2], [4, 4], [4, 4], [3, 2], [5, 3], [4, 3], [5, 4], [3, 3], [5, 4], [5, 5], [4, 3], [4, 3],\n     [3, 1], [5, 4], [4, 4], [4, 3], [5, 5]]],\n   680),\n  ('partial repair probe: streak reset on par',\n   [[[4, 3], [4, 4], [4, 4], [5, 3], [5, 4], [5, 4], [5, 5], [3, 2], [5, 5]]], 250),\n  ('second regression',\n   [[[3, 2], [4, 4], [4, 4], [4, 3], [4, 3], [4, 4], [4, 6], [4, 3], [4, 5], [5, 4], [4, 3], [5, 6], [5, 4],\n     [4, 3], [4, 3], [3, 2], [3, 5], [5, 1]]],\n   545),\n  ('normal control 1', [[[5, 5], [4, 3], [4, 4], [4, 4], [5, 5], [4, 4], [4, 3], [5, 5], [5, 6]]], 85),\n  ('normal control 2',\n   [[[5, 4], [4, 4], [4, 5], [3, 5], [5, 5], [4, 4], [3, 3], [5, 6], [5, 4], [4, 4], [5, 3], [5, 3], [4, 4],\n     [5, 4], [5, 4], [3, 1], [5, 7], [4, 4]]],\n   445),\n  ('normal control 3',\n   [[[3, 3], [5, 5], [3, 2], [4, 3], [4, 3], [4, 4], [4, 4], [4, 4], [4, 2], [4, 3], [3, 3], [3, 2], [4, 4],\n     [3, 3], [4, 6], [4, 2], [4, 3], [4, 3]]],\n   510),\n  ('normal control 4',\n   [[[3, 2], [4, 3], [3, 4], [5, 5], [3, 1], [5, 5], [4, 2], [3, 2], [5, 4], [4, 3], [5, 4], [3, 3], [4, 4],\n     [4, 2]]],\n   515)],\n [('regression: streak reset on par',\n   [[[5, 4], [4, 4], [5, 5], [3, 3], [4, 4], [4, 4], [5, 4], [3, 3], [5, 5], [4, 2], [4, 3], [5, 5], [4, 4],\n     [4, 4]]],\n   220),\n  ('partial repair probe: streak reset on par',\n   [[[4, 5], [5, 4], [3, 1], [5, 5], [4, 4], [4, 3], [4, 3], [5, 4], [4, 4], [5, 5], [3, 1], [4, 3], [4, 4],\n     [4, 3], [5, 4], [3, 4], [5, 7], [4, 4]]],\n   560),\n  ('second regression',\n   [[[5, 5], [4, 4], [4, 6], [4, 3], [4, 4], [4, 4], [3, 2], [4, 3], [4, 4], [4, 4], [5, 7], [4, 3], [4, 6],\n     [5, 5], [4, 3], [5, 4], [4, 3], [4, 5]]],\n   240),\n  ('normal control 1',\n   [[[5, 5], [5, 4], [4, 4], [5, 5], [4, 4], [4, 4], [5, 5], [3, 3], [3, 3], [5, 4], [5, 5], [4, 4], [3, 3],\n     [5, 5]]],\n   120),\n  ('normal control 2',\n   [[[4, 4], [4, 4], [3, 2], [5, 5], [3, 3], [3, 1], [3, 2], [3, 2], [4, 3], [3, 1], [3, 3], [4, 4], [5, 5],\n     [3, 4]]],\n   440),\n  ('normal control 3', [[[4, 3], [5, 5], [4, 4], [4, 3], [3, 3], [5, 4], [5, 4], [5, 4], [5, 4]]], 225),\n  ('normal control 4',\n   [[[3, 3], [4, 3], [3, 3], [3, 1], [4, 4], [4, 4], [4, 4], [5, 4], [4, 3], [4, 4], [4, 4], [5, 4], [3, 3],\n     [3, 1], [4, 3], [3, 2], [3, 3], [5, 5]]],\n   600)]]\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-streak-reset-on-par","generated_at":"2026-09-29T14:50:39.007196+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 streak resets only on bogeys.","sha256":"9709cb1b248e2a5e9bea1641ea81c2dfeb1e43c052575b4dfddf61674d245055","title":"Pars do not break a birdie streak · 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":40.051,"exit_code":1,"observations":[{"actual":665,"check":"regression: streak reset on par","expected":605,"passed":false},{"actual":450,"check":"partial repair probe: streak reset on par","expected":480,"passed":false},{"actual":345,"check":"second regression","expected":345,"passed":true},{"actual":510,"check":"normal control 1","expected":510,"passed":true},{"actual":640,"check":"normal control 2","expected":640,"passed":true},{"actual":500,"check":"normal control 3","expected":500,"passed":true},{"actual":575,"check":"normal control 4","expected":575,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: streak reset on par\", \"actual\": 665, \"expected\": 605, \"passed\": false}, {\"check\": \"partial repair probe: streak reset on par\", \"actual\": 450, \"expected\": 480, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 345, \"expected\": 345, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 510, \"expected\": 510, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 640, \"expected\": 640, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 500, \"expected\": 500, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 575, \"expected\": 575, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.262,"exit_code":1,"observations":[{"actual":575,"check":"regression: streak reset on par","expected":605,"passed":false},{"actual":450,"check":"partial repair probe: streak reset on par","expected":480,"passed":false},{"actual":375,"check":"second regression","expected":345,"passed":false},{"actual":510,"check":"normal control 1","expected":510,"passed":true},{"actual":640,"check":"normal control 2","expected":640,"passed":true},{"actual":500,"check":"normal control 3","expected":500,"passed":true},{"actual":575,"check":"normal control 4","expected":575,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: streak reset on par\", \"actual\": 575, \"expected\": 605, \"passed\": false}, {\"check\": \"partial repair probe: streak reset on par\", \"actual\": 450, \"expected\": 480, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 375, \"expected\": 345, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 510, \"expected\": 510, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 640, \"expected\": 640, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 500, \"expected\": 500, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 575, \"expected\": 575, \"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."}}