{"abstract":"A hole marked with no score raises an error or disappears from the per-hole list.","category":"Sports scoring and tiebreakers","checks":9,"contract":"Stableford points with stroke allocation. holes rows are [par, stroke_index, strokes] with stroke index 1-18 and strokes None for a hole with no score. A handicap H >= 0 receives H // 18 strokes on every hole plus one more on holes with stroke index <= H % 18. A plus handicap (H < 0) gives back one stroke on holes with stroke index > 18 + H. Points = max(0, 2 + par - (strokes - received)); a hole with no score earns 0. Return [total, per-hole points].","contract_signature":"holes, handicap","evaluation_group":"w2-sports-scoring-golf-stableford-allocation","failed_approach":"Skipping the hole keeps the total right but misaligns the per-hole points.","family":"w2-sports-scoring-golf-stableford-allocation-no-score-hole","id":"FA-84176","implementations":{"attempt":{"sha256":"3f037902859b433bc703979a8550e3f30a8825443d7e130af48977352846ea7d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(holes, handicap):\n    per = []\n    for par, si, strokes in holes:\n        if handicap >= 0:\n            received = handicap // 18 + (1 if si <= handicap % 18 else 0)\n        else:\n            received = -1 if si > 18 + handicap else 0\n        if strokes is None:\n            continue\n        per.append(max(0, 2 + par - (strokes - received)))\n    return [sum(per), per]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control scratch par', ([[4, 1, 4], [3, 18, 3]], 0), [4, [2, 2]]),\n  ('boundary stroke index equals remainder', ([[4, 5, 5], [4, 6, 5]], 5), [3, [2, 1]]),\n  ('boundary second shot above 18', ([[4, 2, 6], [4, 3, 6]], 20), [3, [2, 1]]),\n  ('boundary plus handicap', ([[4, 18, 4], [4, 17, 4]], -1), [3, [1, 2]]),\n  ('control blob hole', ([[5, 1, 9], [4, 2, None]], 10), [0, [0, 0]]),\n  ('control net albatross', ([[5, 1, 4]], 18), [4, [4]]),\n  ('regression: no score hole',\n   ([[5, 11, 6],\n     [4, 4, 7],\n     [3, 9, 4],\n     [5, 1, 9],\n     [3, 5, None],\n     [4, 3, 3],\n     [4, 16, 5],\n     [3, 7, 4],\n     [3, 12, 6]],\n    20),\n   [12, [2, 0, 2, 0, 0, 4, 2, 2, 0]]),\n  ('variant scenario 1',\n   ([[3, 10, 4], [4, 5, 7], [3, 15, 6], [3, 6, 2], [4, 8, 4], [4, 7, 4], [4, 14, 7]], 18),\n   [12, [2, 0, 0, 4, 3, 3, 0]]),\n  ('variant scenario 2', ([[5, 11, 5], [4, 3, 5], [4, 15, 8]], 18), [5, [3, 2, 0]])],\n [('control scratch par', ([[4, 1, 4], [3, 18, 3]], 0), [4, [2, 2]]),\n  ('boundary stroke index equals remainder', ([[4, 5, 5], [4, 6, 5]], 5), [3, [2, 1]]),\n  ('boundary second shot above 18', ([[4, 2, 6], [4, 3, 6]], 20), [3, [2, 1]]),\n  ('boundary plus handicap', ([[4, 18, 4], [4, 17, 4]], -1), [3, [1, 2]]),\n  ('control blob hole', ([[5, 1, 9], [4, 2, None]], 10), [0, [0, 0]]),\n  ('control net albatross', ([[5, 1, 4]], 18), [4, [4]]),\n  ('regression: no score hole', ([[3, 6, 1], [4, 2, 5], [4, 9, None]], 2), [6, [4, 2, 0]]),\n  ('variant scenario 1',\n   ([[5, 10, 6],\n     [5, 13, 7],\n     [5, 12, None],\n     [3, 2, 5],\n     [4, 18, 4],\n     [4, 7, 2],\n     [5, 16, None],\n     [3, 6, 3],\n     [4, 8, 2],\n     [4, 4, 4]],\n    18),\n   [23, [2, 1, 0, 1, 3, 5, 0, 3, 5, 3]]),\n  ('variant scenario 2',\n   ([[4, 15, None], [4, 17, 6], [4, 13, 5], [4, 1, 4], [4, 16, 4], [4, 7, 8]], 20),\n   [10, [0, 1, 2, 4, 3, 0]])],\n [('control scratch par', ([[4, 1, 4], [3, 18, 3]], 0), [4, [2, 2]]),\n  ('boundary stroke index equals remainder', ([[4, 5, 5], [4, 6, 5]], 5), [3, [2, 1]]),\n  ('boundary second shot above 18', ([[4, 2, 6], [4, 3, 6]], 20), [3, [2, 1]]),\n  ('boundary plus handicap', ([[4, 18, 4], [4, 17, 4]], -1), [3, [1, 2]]),\n  ('control blob hole', ([[5, 1, 9], [4, 2, None]], 10), [0, [0, 0]]),\n  ('control net albatross', ([[5, 1, 4]], 18), [4, [4]]),\n  ('regression: no score hole',\n   ([[5, 16, 6], [3, 11, 2], [5, 3, 5], [4, 10, 6], [5, 18, None], [4, 5, 5], [4, 8, 5]], 6),\n   [10, [1, 3, 3, 0, 0, 2, 1]]),\n  ('variant scenario 1',\n   ([[4, 6, 4], [4, 5, 8], [5, 3, 4], [3, 8, 4], [4, 12, 2], [5, 17, 8], [3, 15, 4], [4, 14, 2]],\n    8),\n   [18, [3, 0, 4, 2, 4, 0, 1, 4]]),\n  ('variant scenario 2',\n   ([[4, 10, 6],\n     [4, 2, 6],\n     [3, 14, 4],\n     [4, 6, 8],\n     [5, 9, 6],\n     [4, 5, 5],\n     [3, 17, 2],\n     [3, 12, 4],\n     [5, 8, 3],\n     [5, 15, 7]],\n    2),\n   [12, [0, 1, 1, 0, 1, 1, 3, 1, 4, 0]])],\n [('control scratch par', ([[4, 1, 4], [3, 18, 3]], 0), [4, [2, 2]]),\n  ('boundary stroke index equals remainder', ([[4, 5, 5], [4, 6, 5]], 5), [3, [2, 1]]),\n  ('boundary second shot above 18', ([[4, 2, 6], [4, 3, 6]], 20), [3, [2, 1]]),\n  ('boundary plus handicap', ([[4, 18, 4], [4, 17, 4]], -1), [3, [1, 2]]),\n  ('control blob hole', ([[5, 1, 9], [4, 2, None]], 10), [0, [0, 0]]),\n  ('control net albatross', ([[5, 1, 4]], 18), [4, [4]]),\n  ('regression: no score hole',\n   ([[4, 3, 5],\n     [5, 16, 3],\n     [4, 11, 7],\n     [3, 18, 6],\n     [4, 9, 8],\n     [5, 10, None],\n     [5, 1, 8],\n     [4, 5, 8],\n     [5, 15, 9],\n     [4, 6, 2],\n     [5, 12, 9]],\n    -2),\n   [9, [1, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0]]),\n  ('variant scenario 1',\n   ([[3, 9, 5],\n     [3, 10, 1],\n     [4, 14, 2],\n     [5, 11, 5],\n     [4, 16, 3],\n     [5, 15, 9],\n     [3, 8, 3],\n     [4, 13, 4],\n     [3, 3, 6],\n     [4, 17, 4],\n     [5, 4, 5],\n     [3, 2, 4]],\n    -2),\n   [21, [0, 4, 4, 2, 3, 0, 2, 2, 0, 1, 2, 1]]),\n  ('variant scenario 2',\n   ([[4, 13, 5],\n     [3, 11, 5],\n     [4, 18, 6],\n     [5, 14, 9],\n     [4, 17, 5],\n     [5, 7, 4],\n     [5, 3, 9],\n     [5, 4, 6],\n     [3, 16, 4],\n     [3, 10, 1],\n     [4, 8, 2]],\n    20),\n   [24, [2, 1, 1, 0, 2, 4, 0, 2, 2, 5, 5]])],\n [('control scratch par', ([[4, 1, 4], [3, 18, 3]], 0), [4, [2, 2]]),\n  ('boundary stroke index equals remainder', ([[4, 5, 5], [4, 6, 5]], 5), [3, [2, 1]]),\n  ('boundary second shot above 18', ([[4, 2, 6], [4, 3, 6]], 20), [3, [2, 1]]),\n  ('boundary plus handicap', ([[4, 18, 4], [4, 17, 4]], -1), [3, [1, 2]]),\n  ('control blob hole', ([[5, 1, 9], [4, 2, None]], 10), [0, [0, 0]]),\n  ('control net albatross', ([[5, 1, 4]], 18), [4, [4]]),\n  ('regression: no score hole',\n   ([[4, 7, 5],\n     [3, 3, 4],\n     [3, 5, 4],\n     [3, 4, 4],\n     [3, 12, 7],\n     [5, 8, 8],\n     [4, 10, None],\n     [5, 6, None],\n     [4, 16, 6],\n     [5, 15, 6],\n     [3, 11, 1]],\n    23),\n   [19, [2, 3, 3, 3, 0, 0, 0, 0, 1, 2, 5]]),\n  ('variant scenario 1', ([[4, 2, 3], [4, 1, 4], [4, 9, 2]], 18), [12, [4, 3, 5]]),\n  ('variant scenario 2',\n   ([[5, 5, 6], [4, 16, 3], [4, 11, 5], [4, 10, 5], [4, 6, 8]], -2),\n   [6, [1, 3, 1, 1, 0]])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"3439d3ec07f9ee72d3186a7646bcceb52be459b43cea8f4874eb3101de5056e5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(holes, handicap):\n    per = []\n    for par, si, strokes in holes:\n        if handicap >= 0:\n            received = handicap // 18 + (1 if si <= handicap % 18 else 0)\n        else:\n            received = -1 if si > 18 + handicap else 0\n        per.append(max(0, 2 + par - (strokes - received)))\n    return [sum(per), per]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ndef run(args):\n    try:\n        return solve(*args)\n    except Exception as exc:\n        return 'raised ' + type(exc).__name__\ncases = [[('control scratch par', ([[4, 1, 4], [3, 18, 3]], 0), [4, [2, 2]]),\n  ('boundary stroke index equals remainder', ([[4, 5, 5], [4, 6, 5]], 5), [3, [2, 1]]),\n  ('boundary second shot above 18', ([[4, 2, 6], [4, 3, 6]], 20), [3, [2, 1]]),\n  ('boundary plus handicap', ([[4, 18, 4], [4, 17, 4]], -1), [3, [1, 2]]),\n  ('control blob hole', ([[5, 1, 9], [4, 2, None]], 10), [0, [0, 0]]),\n  ('control net albatross', ([[5, 1, 4]], 18), [4, [4]]),\n  ('regression: no score hole',\n   ([[5, 11, 6],\n     [4, 4, 7],\n     [3, 9, 4],\n     [5, 1, 9],\n     [3, 5, None],\n     [4, 3, 3],\n     [4, 16, 5],\n     [3, 7, 4],\n     [3, 12, 6]],\n    20),\n   [12, [2, 0, 2, 0, 0, 4, 2, 2, 0]]),\n  ('variant scenario 1',\n   ([[3, 10, 4], [4, 5, 7], [3, 15, 6], [3, 6, 2], [4, 8, 4], [4, 7, 4], [4, 14, 7]], 18),\n   [12, [2, 0, 0, 4, 3, 3, 0]]),\n  ('variant scenario 2', ([[5, 11, 5], [4, 3, 5], [4, 15, 8]], 18), [5, [3, 2, 0]])],\n [('control scratch par', ([[4, 1, 4], [3, 18, 3]], 0), [4, [2, 2]]),\n  ('boundary stroke index equals remainder', ([[4, 5, 5], [4, 6, 5]], 5), [3, [2, 1]]),\n  ('boundary second shot above 18', ([[4, 2, 6], [4, 3, 6]], 20), [3, [2, 1]]),\n  ('boundary plus handicap', ([[4, 18, 4], [4, 17, 4]], -1), [3, [1, 2]]),\n  ('control blob hole', ([[5, 1, 9], [4, 2, None]], 10), [0, [0, 0]]),\n  ('control net albatross', ([[5, 1, 4]], 18), [4, [4]]),\n  ('regression: no score hole', ([[3, 6, 1], [4, 2, 5], [4, 9, None]], 2), [6, [4, 2, 0]]),\n  ('variant scenario 1',\n   ([[5, 10, 6],\n     [5, 13, 7],\n     [5, 12, None],\n     [3, 2, 5],\n     [4, 18, 4],\n     [4, 7, 2],\n     [5, 16, None],\n     [3, 6, 3],\n     [4, 8, 2],\n     [4, 4, 4]],\n    18),\n   [23, [2, 1, 0, 1, 3, 5, 0, 3, 5, 3]]),\n  ('variant scenario 2',\n   ([[4, 15, None], [4, 17, 6], [4, 13, 5], [4, 1, 4], [4, 16, 4], [4, 7, 8]], 20),\n   [10, [0, 1, 2, 4, 3, 0]])],\n [('control scratch par', ([[4, 1, 4], [3, 18, 3]], 0), [4, [2, 2]]),\n  ('boundary stroke index equals remainder', ([[4, 5, 5], [4, 6, 5]], 5), [3, [2, 1]]),\n  ('boundary second shot above 18', ([[4, 2, 6], [4, 3, 6]], 20), [3, [2, 1]]),\n  ('boundary plus handicap', ([[4, 18, 4], [4, 17, 4]], -1), [3, [1, 2]]),\n  ('control blob hole', ([[5, 1, 9], [4, 2, None]], 10), [0, [0, 0]]),\n  ('control net albatross', ([[5, 1, 4]], 18), [4, [4]]),\n  ('regression: no score hole',\n   ([[5, 16, 6], [3, 11, 2], [5, 3, 5], [4, 10, 6], [5, 18, None], [4, 5, 5], [4, 8, 5]], 6),\n   [10, [1, 3, 3, 0, 0, 2, 1]]),\n  ('variant scenario 1',\n   ([[4, 6, 4], [4, 5, 8], [5, 3, 4], [3, 8, 4], [4, 12, 2], [5, 17, 8], [3, 15, 4], [4, 14, 2]],\n    8),\n   [18, [3, 0, 4, 2, 4, 0, 1, 4]]),\n  ('variant scenario 2',\n   ([[4, 10, 6],\n     [4, 2, 6],\n     [3, 14, 4],\n     [4, 6, 8],\n     [5, 9, 6],\n     [4, 5, 5],\n     [3, 17, 2],\n     [3, 12, 4],\n     [5, 8, 3],\n     [5, 15, 7]],\n    2),\n   [12, [0, 1, 1, 0, 1, 1, 3, 1, 4, 0]])],\n [('control scratch par', ([[4, 1, 4], [3, 18, 3]], 0), [4, [2, 2]]),\n  ('boundary stroke index equals remainder', ([[4, 5, 5], [4, 6, 5]], 5), [3, [2, 1]]),\n  ('boundary second shot above 18', ([[4, 2, 6], [4, 3, 6]], 20), [3, [2, 1]]),\n  ('boundary plus handicap', ([[4, 18, 4], [4, 17, 4]], -1), [3, [1, 2]]),\n  ('control blob hole', ([[5, 1, 9], [4, 2, None]], 10), [0, [0, 0]]),\n  ('control net albatross', ([[5, 1, 4]], 18), [4, [4]]),\n  ('regression: no score hole',\n   ([[4, 3, 5],\n     [5, 16, 3],\n     [4, 11, 7],\n     [3, 18, 6],\n     [4, 9, 8],\n     [5, 10, None],\n     [5, 1, 8],\n     [4, 5, 8],\n     [5, 15, 9],\n     [4, 6, 2],\n     [5, 12, 9]],\n    -2),\n   [9, [1, 4, 0, 0, 0, 0, 0, 0, 0, 4, 0]]),\n  ('variant scenario 1',\n   ([[3, 9, 5],\n     [3, 10, 1],\n     [4, 14, 2],\n     [5, 11, 5],\n     [4, 16, 3],\n     [5, 15, 9],\n     [3, 8, 3],\n     [4, 13, 4],\n     [3, 3, 6],\n     [4, 17, 4],\n     [5, 4, 5],\n     [3, 2, 4]],\n    -2),\n   [21, [0, 4, 4, 2, 3, 0, 2, 2, 0, 1, 2, 1]]),\n  ('variant scenario 2',\n   ([[4, 13, 5],\n     [3, 11, 5],\n     [4, 18, 6],\n     [5, 14, 9],\n     [4, 17, 5],\n     [5, 7, 4],\n     [5, 3, 9],\n     [5, 4, 6],\n     [3, 16, 4],\n     [3, 10, 1],\n     [4, 8, 2]],\n    20),\n   [24, [2, 1, 1, 0, 2, 4, 0, 2, 2, 5, 5]])],\n [('control scratch par', ([[4, 1, 4], [3, 18, 3]], 0), [4, [2, 2]]),\n  ('boundary stroke index equals remainder', ([[4, 5, 5], [4, 6, 5]], 5), [3, [2, 1]]),\n  ('boundary second shot above 18', ([[4, 2, 6], [4, 3, 6]], 20), [3, [2, 1]]),\n  ('boundary plus handicap', ([[4, 18, 4], [4, 17, 4]], -1), [3, [1, 2]]),\n  ('control blob hole', ([[5, 1, 9], [4, 2, None]], 10), [0, [0, 0]]),\n  ('control net albatross', ([[5, 1, 4]], 18), [4, [4]]),\n  ('regression: no score hole',\n   ([[4, 7, 5],\n     [3, 3, 4],\n     [3, 5, 4],\n     [3, 4, 4],\n     [3, 12, 7],\n     [5, 8, 8],\n     [4, 10, None],\n     [5, 6, None],\n     [4, 16, 6],\n     [5, 15, 6],\n     [3, 11, 1]],\n    23),\n   [19, [2, 3, 3, 3, 0, 0, 0, 0, 1, 2, 5]]),\n  ('variant scenario 1', ([[4, 2, 3], [4, 1, 4], [4, 9, 2]], 18), [12, [4, 3, 5]]),\n  ('variant scenario 2',\n   ([[5, 5, 6], [4, 16, 3], [4, 11, 5], [4, 10, 5], [4, 6, 8]], -2),\n   [6, [1, 3, 1, 1, 0]])]]\nfor label, args, expected in cases[N - 1]:\n    check(label, run(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":"Stipulated, bounded toy contract stated in the contract field; not a claim of conformance with any governing body rulebook or operator house rules. 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-sports-scoring-golf-stableford-allocation-no-score-hole","generated_at":"2026-09-29T14:50:28.509009+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Club competition software computes Stableford totals from gross cards and course handicaps.","root_cause":"The None strokes value reaches the arithmetic.","sha256":"e408277d3b9b0199f79b193eee37e5c521fb89c9183264a59bb61bd7d636c7bb","title":"No-return hole crashes or vanishes from the card · 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.137,"exit_code":1,"observations":[{"actual":[4,[2,2]],"check":"control scratch par","expected":[4,[2,2]],"passed":true},{"actual":[3,[2,1]],"check":"boundary stroke index equals remainder","expected":[3,[2,1]],"passed":true},{"actual":[3,[2,1]],"check":"boundary second shot above 18","expected":[3,[2,1]],"passed":true},{"actual":[3,[1,2]],"check":"boundary plus handicap","expected":[3,[1,2]],"passed":true},{"actual":[0,[0]],"check":"control blob hole","expected":[0,[0,0]],"passed":false},{"actual":[4,[4]],"check":"control net albatross","expected":[4,[4]],"passed":true},{"actual":[12,[2,0,2,0,4,2,2,0]],"check":"regression: no score hole","expected":[12,[2,0,2,0,0,4,2,2,0]],"passed":false},{"actual":[12,[2,0,0,4,3,3,0]],"check":"variant scenario 1","expected":[12,[2,0,0,4,3,3,0]],"passed":true},{"actual":[5,[3,2,0]],"check":"variant scenario 2","expected":[5,[3,2,0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control scratch par\", \"actual\": [4, [2, 2]], \"expected\": [4, [2, 2]], \"passed\": true}, {\"check\": \"boundary stroke index equals remainder\", \"actual\": [3, [2, 1]], \"expected\": [3, [2, 1]], \"passed\": true}, {\"check\": \"boundary second shot above 18\", \"actual\": [3, [2, 1]], \"expected\": [3, [2, 1]], \"passed\": true}, {\"check\": \"boundary plus handicap\", \"actual\": [3, [1, 2]], \"expected\": [3, [1, 2]], \"passed\": true}, {\"check\": \"control blob hole\", \"actual\": [0, [0]], \"expected\": [0, [0, 0]], \"passed\": false}, {\"check\": \"control net albatross\", \"actual\": [4, [4]], \"expected\": [4, [4]], \"passed\": true}, {\"check\": \"regression: no score hole\", \"actual\": [12, [2, 0, 2, 0, 4, 2, 2, 0]], \"expected\": [12, [2, 0, 2, 0, 0, 4, 2, 2, 0]], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [12, [2, 0, 0, 4, 3, 3, 0]], \"expected\": [12, [2, 0, 0, 4, 3, 3, 0]], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [5, [3, 2, 0]], \"expected\": [5, [3, 2, 0]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.146,"exit_code":1,"observations":[{"actual":[4,[2,2]],"check":"control scratch par","expected":[4,[2,2]],"passed":true},{"actual":[3,[2,1]],"check":"boundary stroke index equals remainder","expected":[3,[2,1]],"passed":true},{"actual":[3,[2,1]],"check":"boundary second shot above 18","expected":[3,[2,1]],"passed":true},{"actual":[3,[1,2]],"check":"boundary plus handicap","expected":[3,[1,2]],"passed":true},{"actual":"raised TypeError","check":"control blob hole","expected":[0,[0,0]],"passed":false},{"actual":[4,[4]],"check":"control net albatross","expected":[4,[4]],"passed":true},{"actual":"raised TypeError","check":"regression: no score hole","expected":[12,[2,0,2,0,0,4,2,2,0]],"passed":false},{"actual":[12,[2,0,0,4,3,3,0]],"check":"variant scenario 1","expected":[12,[2,0,0,4,3,3,0]],"passed":true},{"actual":[5,[3,2,0]],"check":"variant scenario 2","expected":[5,[3,2,0]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control scratch par\", \"actual\": [4, [2, 2]], \"expected\": [4, [2, 2]], \"passed\": true}, {\"check\": \"boundary stroke index equals remainder\", \"actual\": [3, [2, 1]], \"expected\": [3, [2, 1]], \"passed\": true}, {\"check\": \"boundary second shot above 18\", \"actual\": [3, [2, 1]], \"expected\": [3, [2, 1]], \"passed\": true}, {\"check\": \"boundary plus handicap\", \"actual\": [3, [1, 2]], \"expected\": [3, [1, 2]], \"passed\": true}, {\"check\": \"control blob hole\", \"actual\": \"raised TypeError\", \"expected\": [0, [0, 0]], \"passed\": false}, {\"check\": \"control net albatross\", \"actual\": [4, [4]], \"expected\": [4, [4]], \"passed\": true}, {\"check\": \"regression: no score hole\", \"actual\": \"raised TypeError\", \"expected\": [12, [2, 0, 2, 0, 0, 4, 2, 2, 0]], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [12, [2, 0, 0, 4, 3, 3, 0]], \"expected\": [12, [2, 0, 0, 4, 3, 3, 0]], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [5, [3, 2, 0]], \"expected\": [5, [3, 2, 0]], \"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."}}