{"abstract":"A 6-5 set is recorded as complete.","category":"Sports scoring and tiebreakers","checks":10,"contract":"games is a string of game winners (A/B); best_of is 3 or 5. A set is won by the first player to 6 games with a lead of two, or at 7 games (7-5, or 7-6 after the tiebreak game played at 6-6). The match ends when a player has won best_of // 2 + 1 sets; later games are ignored. Return [set scores as \"a-b\" strings in A-B order, match winner or None]; an unfinished set with at least one game is appended as its current score.","contract_signature":"games, best_of","evaluation_group":"w2-sports-scoring-tennis-set-and-match","failed_approach":"Checking only player A for the two-game lead lets B close 6-5 sets and delays B at 6-4.","family":"w2-sports-scoring-tennis-set-and-match-six-game-lead","id":"FA-83901","implementations":{"attempt":{"sha256":"50fdf9a39fa29f296a4c032d0bb3d789501fccbc3cdb90b411a54b61ce619193","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(games, best_of):\n    sets = []\n    a = b = 0\n    won = {'A': 0, 'B': 0}\n    need = best_of // 2 + 1\n    for g in games:\n        if g == 'A':\n            a += 1\n        else:\n            b += 1\n        if (a >= 6 and a - b >= 2) or max(a, b) == 7:\n            w = 'A' if a > b else 'B'\n            won[w] += 1\n            sets.append('%d-%d' % (a, b))\n            a = b = 0\n            if won[w] == need:\n                return [sets, w]\n    if a or b:\n        sets.append('%d-%d' % (a, b))\n    return [sets, None]\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 bagel set', ('AAAAAA', 3), [['6-0'], None]),\n  ('boundary seven-five', ('AAAAABBBBBAA', 3), [['7-5'], None]),\n  ('boundary tiebreak set', ('AAAAABBBBBABB', 3), [['6-7'], None]),\n  ('control straight sets', ('AAAAAAAAAAAA', 3), [['6-0', '6-0'], 'A']),\n  ('control in-progress set', ('AAAAAAB', 3), [['6-0', '0-1'], None]),\n  ('control empty', ('', 5), [[], None]),\n  ('regression: six game lead', ('BBAABAABABAABBBBBAAAAB', 3), [['7-5', '4-6'], None]),\n  ('regression: six game lead', ('BABBBBBABAABBBBAAAAABBA', 3), [['1-6', '7-5', '2-2'], None]),\n  ('variant scenario 1', ('AAABBAAAAAABB', 5), [['6-2', '3-2'], None]),\n  ('variant scenario 2', ('BAAAAABAABBBBAAAABABAABAABA', 3), [['6-2', '7-6'], 'A'])],\n [('control bagel set', ('AAAAAA', 3), [['6-0'], None]),\n  ('boundary seven-five', ('AAAAABBBBBAA', 3), [['7-5'], None]),\n  ('boundary tiebreak set', ('AAAAABBBBBABB', 3), [['6-7'], None]),\n  ('control straight sets', ('AAAAAAAAAAAA', 3), [['6-0', '6-0'], 'A']),\n  ('control in-progress set', ('AAAAAAB', 3), [['6-0', '0-1'], None]),\n  ('control empty', ('', 5), [[], None]),\n  ('regression: six game lead', ('AAAABAAABBBBAAABBAABBAABA', 5), [['6-1', '4-6', '5-3'], None]),\n  ('regression: six game lead', ('BAAAABBBABBAAAAA', 3), [['7-6', '3-0'], None]),\n  ('variant scenario 1', ('BAAAA', 3), [['4-1'], None]),\n  ('variant scenario 2',\n   ('BAAAABABABABAABBBABABAAAAAAAAAA', 5),\n   [['6-3', '4-6', '6-1', '5-0'], None])],\n [('control bagel set', ('AAAAAA', 3), [['6-0'], None]),\n  ('boundary seven-five', ('AAAAABBBBBAA', 3), [['7-5'], None]),\n  ('boundary tiebreak set', ('AAAAABBBBBABB', 3), [['6-7'], None]),\n  ('control straight sets', ('AAAAAAAAAAAA', 3), [['6-0', '6-0'], 'A']),\n  ('control in-progress set', ('AAAAAAB', 3), [['6-0', '0-1'], None]),\n  ('control empty', ('', 5), [[], None]),\n  ('regression: six game lead', ('BBBBBBBBBABAABABBBBBAAAAA', 3), [['0-6', '4-6'], 'B']),\n  ('regression: six game lead',\n   ('BBABAAAABBAAABBABAABABBAAABBBABBAAABAA', 3),\n   [['7-5', '7-6'], 'A']),\n  ('variant scenario 1', ('ABAABABBBABBBAABBBAAAAA', 5), [['5-7', '6-4', '1-0'], None]),\n  ('variant scenario 2', ('BAAABBAABABB', 3), [['6-4', '0-2'], None])],\n [('control bagel set', ('AAAAAA', 3), [['6-0'], None]),\n  ('boundary seven-five', ('AAAAABBBBBAA', 3), [['7-5'], None]),\n  ('boundary tiebreak set', ('AAAAABBBBBABB', 3), [['6-7'], None]),\n  ('control straight sets', ('AAAAAAAAAAAA', 3), [['6-0', '6-0'], 'A']),\n  ('control in-progress set', ('AAAAAAB', 3), [['6-0', '0-1'], None]),\n  ('control empty', ('', 5), [[], None]),\n  ('regression: six game lead',\n   ('BAAAAAAAAABBBAABBABBBBAABBBAA', 5),\n   [['6-1', '6-7', '4-5'], None]),\n  ('regression: six game lead',\n   ('BAABAAABBBABBABABBABBBBBAABBABBBABBAAAABABBABAA', 3),\n   [['6-7', '3-6'], 'B']),\n  ('variant scenario 1', ('AAABA', 5), [['4-1'], None]),\n  ('variant scenario 2', ('BBAAABABAABAAAAAAAAAAAABABB', 5), [['6-4', '6-1', '6-0'], 'A'])],\n [('control bagel set', ('AAAAAA', 3), [['6-0'], None]),\n  ('boundary seven-five', ('AAAAABBBBBAA', 3), [['7-5'], None]),\n  ('boundary tiebreak set', ('AAAAABBBBBABB', 3), [['6-7'], None]),\n  ('control straight sets', ('AAAAAAAAAAAA', 3), [['6-0', '6-0'], 'A']),\n  ('control in-progress set', ('AAAAAAB', 3), [['6-0', '0-1'], None]),\n  ('control empty', ('', 5), [[], None]),\n  ('regression: six game lead',\n   ('ABABBAABABAABAAAABAABAABBBAAAABAAAAAABBAAAABBBAAAABBAABBAB', 3),\n   [['7-5', '6-2'], 'A']),\n  ('regression: six game lead',\n   ('ABBAABBBBAABABABAAABBABAABAAAABBAAAA', 3),\n   [['3-6', '6-3', '6-4'], 'A']),\n  ('variant scenario 1', ('BAAABAABABAAABABAABABBBBBB', 3), [['6-3', '6-3'], 'A']),\n  ('variant scenario 2', ('AAABAAAAAABAAAABAAAABBABBAAABBAAABABAAA', 3), [['6-1', '6-1'], 'A'])]]\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":"a1fba748436c4d3567468b8108112ccac7ac52cc66cd8abdaa0d0f2af9bf0e44","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(games, best_of):\n    sets = []\n    a = b = 0\n    won = {'A': 0, 'B': 0}\n    need = best_of // 2 + 1\n    for g in games:\n        if g == 'A':\n            a += 1\n        else:\n            b += 1\n        if (max(a, b) >= 6) or max(a, b) == 7:\n            w = 'A' if a > b else 'B'\n            won[w] += 1\n            sets.append('%d-%d' % (a, b))\n            a = b = 0\n            if won[w] == need:\n                return [sets, w]\n    if a or b:\n        sets.append('%d-%d' % (a, b))\n    return [sets, None]\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 bagel set', ('AAAAAA', 3), [['6-0'], None]),\n  ('boundary seven-five', ('AAAAABBBBBAA', 3), [['7-5'], None]),\n  ('boundary tiebreak set', ('AAAAABBBBBABB', 3), [['6-7'], None]),\n  ('control straight sets', ('AAAAAAAAAAAA', 3), [['6-0', '6-0'], 'A']),\n  ('control in-progress set', ('AAAAAAB', 3), [['6-0', '0-1'], None]),\n  ('control empty', ('', 5), [[], None]),\n  ('regression: six game lead', ('BBAABAABABAABBBBBAAAAB', 3), [['7-5', '4-6'], None]),\n  ('regression: six game lead', ('BABBBBBABAABBBBAAAAABBA', 3), [['1-6', '7-5', '2-2'], None]),\n  ('variant scenario 1', ('AAABBAAAAAABB', 5), [['6-2', '3-2'], None]),\n  ('variant scenario 2', ('BAAAAABAABBBBAAAABABAABAABA', 3), [['6-2', '7-6'], 'A'])],\n [('control bagel set', ('AAAAAA', 3), [['6-0'], None]),\n  ('boundary seven-five', ('AAAAABBBBBAA', 3), [['7-5'], None]),\n  ('boundary tiebreak set', ('AAAAABBBBBABB', 3), [['6-7'], None]),\n  ('control straight sets', ('AAAAAAAAAAAA', 3), [['6-0', '6-0'], 'A']),\n  ('control in-progress set', ('AAAAAAB', 3), [['6-0', '0-1'], None]),\n  ('control empty', ('', 5), [[], None]),\n  ('regression: six game lead', ('AAAABAAABBBBAAABBAABBAABA', 5), [['6-1', '4-6', '5-3'], None]),\n  ('regression: six game lead', ('BAAAABBBABBAAAAA', 3), [['7-6', '3-0'], None]),\n  ('variant scenario 1', ('BAAAA', 3), [['4-1'], None]),\n  ('variant scenario 2',\n   ('BAAAABABABABAABBBABABAAAAAAAAAA', 5),\n   [['6-3', '4-6', '6-1', '5-0'], None])],\n [('control bagel set', ('AAAAAA', 3), [['6-0'], None]),\n  ('boundary seven-five', ('AAAAABBBBBAA', 3), [['7-5'], None]),\n  ('boundary tiebreak set', ('AAAAABBBBBABB', 3), [['6-7'], None]),\n  ('control straight sets', ('AAAAAAAAAAAA', 3), [['6-0', '6-0'], 'A']),\n  ('control in-progress set', ('AAAAAAB', 3), [['6-0', '0-1'], None]),\n  ('control empty', ('', 5), [[], None]),\n  ('regression: six game lead', ('BBBBBBBBBABAABABBBBBAAAAA', 3), [['0-6', '4-6'], 'B']),\n  ('regression: six game lead',\n   ('BBABAAAABBAAABBABAABABBAAABBBABBAAABAA', 3),\n   [['7-5', '7-6'], 'A']),\n  ('variant scenario 1', ('ABAABABBBABBBAABBBAAAAA', 5), [['5-7', '6-4', '1-0'], None]),\n  ('variant scenario 2', ('BAAABBAABABB', 3), [['6-4', '0-2'], None])],\n [('control bagel set', ('AAAAAA', 3), [['6-0'], None]),\n  ('boundary seven-five', ('AAAAABBBBBAA', 3), [['7-5'], None]),\n  ('boundary tiebreak set', ('AAAAABBBBBABB', 3), [['6-7'], None]),\n  ('control straight sets', ('AAAAAAAAAAAA', 3), [['6-0', '6-0'], 'A']),\n  ('control in-progress set', ('AAAAAAB', 3), [['6-0', '0-1'], None]),\n  ('control empty', ('', 5), [[], None]),\n  ('regression: six game lead',\n   ('BAAAAAAAAABBBAABBABBBBAABBBAA', 5),\n   [['6-1', '6-7', '4-5'], None]),\n  ('regression: six game lead',\n   ('BAABAAABBBABBABABBABBBBBAABBABBBABBAAAABABBABAA', 3),\n   [['6-7', '3-6'], 'B']),\n  ('variant scenario 1', ('AAABA', 5), [['4-1'], None]),\n  ('variant scenario 2', ('BBAAABABAABAAAAAAAAAAAABABB', 5), [['6-4', '6-1', '6-0'], 'A'])],\n [('control bagel set', ('AAAAAA', 3), [['6-0'], None]),\n  ('boundary seven-five', ('AAAAABBBBBAA', 3), [['7-5'], None]),\n  ('boundary tiebreak set', ('AAAAABBBBBABB', 3), [['6-7'], None]),\n  ('control straight sets', ('AAAAAAAAAAAA', 3), [['6-0', '6-0'], 'A']),\n  ('control in-progress set', ('AAAAAAB', 3), [['6-0', '0-1'], None]),\n  ('control empty', ('', 5), [[], None]),\n  ('regression: six game lead',\n   ('ABABBAABABAABAAAABAABAABBBAAAABAAAAAABBAAAABBBAAAABBAABBAB', 3),\n   [['7-5', '6-2'], 'A']),\n  ('regression: six game lead',\n   ('ABBAABBBBAABABABAAABBABAABAAAABBAAAA', 3),\n   [['3-6', '6-3', '6-4'], 'A']),\n  ('variant scenario 1', ('BAAABAABABAAABABAABABBBBBB', 3), [['6-3', '6-3'], 'A']),\n  ('variant scenario 2', ('AAABAAAAAABAAAABAAAABBABBAAABBAAABABAAA', 3), [['6-1', '6-1'], 'A'])]]\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-tennis-set-and-match-six-game-lead","generated_at":"2026-09-29T14:50:25.857791+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tournament live-results feeds reconstruct set scores from game-level events.","root_cause":"The set closure only requires six games, not a two-game lead.","sha256":"5d754dc4cc2fac454d5f96a59f584f9f56fc2a2592115107a12a740aa5f9b7c3","title":"Set closed at six games without a two-game lead · 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.325,"exit_code":1,"observations":[{"actual":[["6-0"],null],"check":"control bagel set","expected":[["6-0"],null],"passed":true},{"actual":[["7-5"],null],"check":"boundary seven-five","expected":[["7-5"],null],"passed":true},{"actual":[["6-7"],null],"check":"boundary tiebreak set","expected":[["6-7"],null],"passed":true},{"actual":[["6-0","6-0"],"A"],"check":"control straight sets","expected":[["6-0","6-0"],"A"],"passed":true},{"actual":[["6-0","0-1"],null],"check":"control in-progress set","expected":[["6-0","0-1"],null],"passed":true},{"actual":[[],null],"check":"control empty","expected":[[],null],"passed":true},{"actual":[["7-5","4-6"],null],"check":"regression: six game lead","expected":[["7-5","4-6"],null],"passed":true},{"actual":[["2-7","6-4","2-2"],null],"check":"regression: six game lead","expected":[["1-6","7-5","2-2"],null],"passed":false},{"actual":[["6-2","3-2"],null],"check":"variant scenario 1","expected":[["6-2","3-2"],null],"passed":true},{"actual":[["6-2","7-6"],"A"],"check":"variant scenario 2","expected":[["6-2","7-6"],"A"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control bagel set\", \"actual\": [[\"6-0\"], null], \"expected\": [[\"6-0\"], null], \"passed\": true}, {\"check\": \"boundary seven-five\", \"actual\": [[\"7-5\"], null], \"expected\": [[\"7-5\"], null], \"passed\": true}, {\"check\": \"boundary tiebreak set\", \"actual\": [[\"6-7\"], null], \"expected\": [[\"6-7\"], null], \"passed\": true}, {\"check\": \"control straight sets\", \"actual\": [[\"6-0\", \"6-0\"], \"A\"], \"expected\": [[\"6-0\", \"6-0\"], \"A\"], \"passed\": true}, {\"check\": \"control in-progress set\", \"actual\": [[\"6-0\", \"0-1\"], null], \"expected\": [[\"6-0\", \"0-1\"], null], \"passed\": true}, {\"check\": \"control empty\", \"actual\": [[], null], \"expected\": [[], null], \"passed\": true}, {\"check\": \"regression: six game lead\", \"actual\": [[\"7-5\", \"4-6\"], null], \"expected\": [[\"7-5\", \"4-6\"], null], \"passed\": true}, {\"check\": \"regression: six game lead\", \"actual\": [[\"2-7\", \"6-4\", \"2-2\"], null], \"expected\": [[\"1-6\", \"7-5\", \"2-2\"], null], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [[\"6-2\", \"3-2\"], null], \"expected\": [[\"6-2\", \"3-2\"], null], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [[\"6-2\", \"7-6\"], \"A\"], \"expected\": [[\"6-2\", \"7-6\"], \"A\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.959,"exit_code":1,"observations":[{"actual":[["6-0"],null],"check":"control bagel set","expected":[["6-0"],null],"passed":true},{"actual":[["6-5","1-0"],null],"check":"boundary seven-five","expected":[["7-5"],null],"passed":false},{"actual":[["6-5","0-2"],null],"check":"boundary tiebreak set","expected":[["6-7"],null],"passed":false},{"actual":[["6-0","6-0"],"A"],"check":"control straight sets","expected":[["6-0","6-0"],"A"],"passed":true},{"actual":[["6-0","0-1"],null],"check":"control in-progress set","expected":[["6-0","0-1"],null],"passed":true},{"actual":[[],null],"check":"control empty","expected":[[],null],"passed":true},{"actual":[["6-5","5-6"],null],"check":"regression: six game lead","expected":[["7-5","4-6"],null],"passed":false},{"actual":[["1-6","6-5","3-2"],null],"check":"regression: six game lead","expected":[["1-6","7-5","2-2"],null],"passed":false},{"actual":[["6-2","3-2"],null],"check":"variant scenario 1","expected":[["6-2","3-2"],null],"passed":true},{"actual":[["6-2","6-5"],"A"],"check":"variant scenario 2","expected":[["6-2","7-6"],"A"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control bagel set\", \"actual\": [[\"6-0\"], null], \"expected\": [[\"6-0\"], null], \"passed\": true}, {\"check\": \"boundary seven-five\", \"actual\": [[\"6-5\", \"1-0\"], null], \"expected\": [[\"7-5\"], null], \"passed\": false}, {\"check\": \"boundary tiebreak set\", \"actual\": [[\"6-5\", \"0-2\"], null], \"expected\": [[\"6-7\"], null], \"passed\": false}, {\"check\": \"control straight sets\", \"actual\": [[\"6-0\", \"6-0\"], \"A\"], \"expected\": [[\"6-0\", \"6-0\"], \"A\"], \"passed\": true}, {\"check\": \"control in-progress set\", \"actual\": [[\"6-0\", \"0-1\"], null], \"expected\": [[\"6-0\", \"0-1\"], null], \"passed\": true}, {\"check\": \"control empty\", \"actual\": [[], null], \"expected\": [[], null], \"passed\": true}, {\"check\": \"regression: six game lead\", \"actual\": [[\"6-5\", \"5-6\"], null], \"expected\": [[\"7-5\", \"4-6\"], null], \"passed\": false}, {\"check\": \"regression: six game lead\", \"actual\": [[\"1-6\", \"6-5\", \"3-2\"], null], \"expected\": [[\"1-6\", \"7-5\", \"2-2\"], null], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [[\"6-2\", \"3-2\"], null], \"expected\": [[\"6-2\", \"3-2\"], null], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [[\"6-2\", \"6-5\"], \"A\"], \"expected\": [[\"6-2\", \"7-6\"], \"A\"], \"passed\": false}], \"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."}}