{"abstract":"After a set the team that won the last rally keeps serving instead of the alternating first server.","category":"Sports scoring and tiebreakers","checks":9,"contract":"Best-of-five volleyball with rally scoring. rallies is a string of rally winners (A/B). Sets 1-4 are played to 25 and set 5 to 15, always win by two with no cap. The rally winner serves next; when the receiving team wins a rally (side-out) that team rotates once (rotation counter modulo 6). At the start of each set both rotation counters reset to 0 and the first server is first_serve in odd-numbered sets and the other team in even-numbered sets. Return [completed and current set scores as [a, b], match winner or None, rotation counters].","evaluation_group":"w2-sports-scoring-volleyball-rally-rotation","failed_approach":"Giving the serve to the set winner still ignores the alternation rule.","family":"w2-sports-scoring-volleyball-rally-rotation-set-first-server","id":"FA-83921","implementations":{"attempt":{"sha256":"3f2eb078edc64bd4e271c1a046d5c10b1f517a5ca71426431755fa22a2a1f9bd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rallies, first_serve):\n    won = {'A': 0, 'B': 0}\n    sets = []\n    a = b = 0\n    set_index = 0\n    server = first_serve\n    rot = {'A': 0, 'B': 0}\n    for r in rallies:\n        if r == 'A':\n            a += 1\n        else:\n            b += 1\n        if r != server:\n            rot[r] = (rot[r] + 1) % 6\n            server = r\n        target = 15 if set_index == 4 else 25\n        if max(a, b) >= target and abs(a - b) >= 2:\n            w = 'A' if a > b else 'B'\n            won[w] += 1\n            sets.append([a, b])\n            if won[w] == 3:\n                return [sets, w, rot]\n            a = b = 0\n            set_index += 1\n            rot = {'A': 0, 'B': 0}\n            server = w\n    return [sets + ([[a, b]] if a or b else []), None, rot]\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 first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAABAAABABABAAABABABABAAABBBBABAABBBABAABBBAABBAAAABAABAABBA', 'A'),\n   [[[25, 20], [9, 6]], None, {'A': 4, 'B': 3}]),\n  ('variant scenario 1',\n   ('BABBBAABBABABBBABAABAAAAABAABBABABABAABBABBABBAABBAB', 'A'),\n   [[[24, 26], [1, 1]], None, {'A': 1, 'B': 1}]),\n  ('variant scenario 2',\n   ('ABAABAAAAABAABBBBAABBAABBAABABAAAAAABAABBAA', 'B'),\n   [[[25, 14], [2, 2]], None, {'A': 1, 'B': 1}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('ABAABAAAAAAABABABAABBBAABBAAABBABAAAAABBAAAAAABABABABABBBBAAAABAABBBAAABAAAAAABABAAAA', 'B'),\n   [[[25, 13], [25, 15], [5, 2]], None, {'A': 2, 'B': 1}]),\n  ('variant scenario 1',\n   ('BAAAAABABBAABBABBAAAAABBBBBAABA', 'A'),\n   [[[17, 14]], None, {'A': 1, 'B': 1}]),\n  ('variant scenario 2',\n   ('AAABBAAAABAAAAABBAAAABBBAAAABBAAABBAAAAAABBAABAAAAABBAAABBABBABABABBAAABAAAABAABAABBBBABBAABAAAAABBA',\n    'A'),\n   [[[25, 12], [25, 14], [13, 11]], None, {'A': 0, 'B': 0}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAAAAAAAAAAABBAABAAAAABBAABAAAABBAABBAAAAAABAABABBBBABAAABBAABAAAAABAAABABBAAABABBAAAAAABABABAAAABBABAB',\n    'B'),\n   [[[25, 6], [25, 15], [19, 13]], None, {'A': 3, 'B': 3}]),\n  ('variant scenario 1',\n   ('ABAABAAAAABAABBABBBAAAAAAABAABBBAAABBABABBBAAABAAAAAABAABBABBAABBAABAAABAABABABAAAAABAAAABAAABABBBBAAABAA',\n    'A'),\n   [[[25, 15], [25, 16], [16, 8]], None, {'A': 5, 'B': 5}]),\n  ('variant scenario 2',\n   ('ABABABAAAABAAAAABAAABAABBAAAAABAAABBBBABBAABAAABAABBAAAAABAAABAA', 'A'),\n   [[[25, 9], [18, 12]], None, {'A': 1, 'B': 0}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAABBAAAAAAAABABAAABABAAABABBAABAABBABBBBBABA', 'A'),\n   [[[25, 12], [2, 6]], None, {'A': 2, 'B': 1}]),\n  ('variant scenario 1',\n   ('BAAABAAAAAAABAABBAAAABAAAAAABAAAAAAAAAAABAAABABAAABABABBAAABAAAAABAABBAAABABABBBBAAABAAAABBABAABBABABBBBABAAAAAABBAAAAAAABBABABBAB',\n    'A'),\n   [[[25, 7], [25, 8], [25, 21]], 'A', {'A': 0, 'B': 0}]),\n  ('variant scenario 2',\n   ('ABAAAAAAAABBBABAAAAAAABBBBBAAABAAAABBABABAABAABBABBAAAAAABAABAABAA', 'B'),\n   [[[25, 13], [18, 10]], None, {'A': 2, 'B': 2}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAAAAABAABABABAAABBABBAAAAAABAABAAAAABAAAABAAAABABBAABAABBABABAABAABBBABAABABBAABAAAAAAABAA',\n    'B'),\n   [[[25, 10], [25, 16], [11, 4]], None, {'A': 3, 'B': 2}]),\n  ('variant scenario 1',\n   ('ABAABAABAAAABAAABBBBAAAAABBABABABAAABBBAAAAABAABBABABABAAABAAAAAAAABAAAAAAAABAAAAAAAABBAAAABABABAABABAABAABAAABBBAAABAAAABAAAAAAABAAAABAABBBBAABBAABAABBAAAABBAABBAAA',\n    'A'),\n   [[[25, 16], [25, 8], [25, 10]], 'A', {'A': 3, 'B': 3}]),\n  ('variant scenario 2',\n   ('AAABBAABBBBBAAAAABBAAABBAABAAABAAABAABBAAABAABBBBBBBAABBAAAAABAAAABBAABBAABABBBAAAAAABAABAAAAABBBBBBABAABABAAAAABB',\n    'A'),\n   [[[25, 16], [25, 19], [16, 13]], None, {'A': 0, 'B': 1}])]]\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":"cbb5411c7b867b9a6c0d4e61eddc8f6c356cff45b19ba00febae72f3a88e6847","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rallies, first_serve):\n    won = {'A': 0, 'B': 0}\n    sets = []\n    a = b = 0\n    set_index = 0\n    server = first_serve\n    rot = {'A': 0, 'B': 0}\n    for r in rallies:\n        if r == 'A':\n            a += 1\n        else:\n            b += 1\n        if r != server:\n            rot[r] = (rot[r] + 1) % 6\n            server = r\n        target = 15 if set_index == 4 else 25\n        if max(a, b) >= target and abs(a - b) >= 2:\n            w = 'A' if a > b else 'B'\n            won[w] += 1\n            sets.append([a, b])\n            if won[w] == 3:\n                return [sets, w, rot]\n            a = b = 0\n            set_index += 1\n            rot = {'A': 0, 'B': 0}\n    return [sets + ([[a, b]] if a or b else []), None, rot]\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 first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAABAAABABABAAABABABABAAABBBBABAABBBABAABBBAABBAAAABAABAABBA', 'A'),\n   [[[25, 20], [9, 6]], None, {'A': 4, 'B': 3}]),\n  ('variant scenario 1',\n   ('BABBBAABBABABBBABAABAAAAABAABBABABABAABBABBABBAABBAB', 'A'),\n   [[[24, 26], [1, 1]], None, {'A': 1, 'B': 1}]),\n  ('variant scenario 2',\n   ('ABAABAAAAABAABBBBAABBAABBAABABAAAAAABAABBAA', 'B'),\n   [[[25, 14], [2, 2]], None, {'A': 1, 'B': 1}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('ABAABAAAAAAABABABAABBBAABBAAABBABAAAAABBAAAAAABABABABABBBBAAAABAABBBAAABAAAAAABABAAAA', 'B'),\n   [[[25, 13], [25, 15], [5, 2]], None, {'A': 2, 'B': 1}]),\n  ('variant scenario 1',\n   ('BAAAAABABBAABBABBAAAAABBBBBAABA', 'A'),\n   [[[17, 14]], None, {'A': 1, 'B': 1}]),\n  ('variant scenario 2',\n   ('AAABBAAAABAAAAABBAAAABBBAAAABBAAABBAAAAAABBAABAAAAABBAAABBABBABABABBAAABAAAABAABAABBBBABBAABAAAAABBA',\n    'A'),\n   [[[25, 12], [25, 14], [13, 11]], None, {'A': 0, 'B': 0}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAAAAAAAAAAABBAABAAAAABBAABAAAABBAABBAAAAAABAABABBBBABAAABBAABAAAAABAAABABBAAABABBAAAAAABABABAAAABBABAB',\n    'B'),\n   [[[25, 6], [25, 15], [19, 13]], None, {'A': 3, 'B': 3}]),\n  ('variant scenario 1',\n   ('ABAABAAAAABAABBABBBAAAAAAABAABBBAAABBABABBBAAABAAAAAABAABBABBAABBAABAAABAABABABAAAAABAAAABAAABABBBBAAABAA',\n    'A'),\n   [[[25, 15], [25, 16], [16, 8]], None, {'A': 5, 'B': 5}]),\n  ('variant scenario 2',\n   ('ABABABAAAABAAAAABAAABAABBAAAAABAAABBBBABBAABAAABAABBAAAAABAAABAA', 'A'),\n   [[[25, 9], [18, 12]], None, {'A': 1, 'B': 0}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAABBAAAAAAAABABAAABABAAABABBAABAABBABBBBBABA', 'A'),\n   [[[25, 12], [2, 6]], None, {'A': 2, 'B': 1}]),\n  ('variant scenario 1',\n   ('BAAABAAAAAAABAABBAAAABAAAAAABAAAAAAAAAAABAAABABAAABABABBAAABAAAAABAABBAAABABABBBBAAABAAAABBABAABBABABBBBABAAAAAABBAAAAAAABBABABBAB',\n    'A'),\n   [[[25, 7], [25, 8], [25, 21]], 'A', {'A': 0, 'B': 0}]),\n  ('variant scenario 2',\n   ('ABAAAAAAAABBBABAAAAAAABBBBBAAABAAAABBABABAABAABBABBAAAAAABAABAABAA', 'B'),\n   [[[25, 13], [18, 10]], None, {'A': 2, 'B': 2}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAAAAABAABABABAAABBABBAAAAAABAABAAAAABAAAABAAAABABBAABAABBABABAABAABBBABAABABBAABAAAAAAABAA',\n    'B'),\n   [[[25, 10], [25, 16], [11, 4]], None, {'A': 3, 'B': 2}]),\n  ('variant scenario 1',\n   ('ABAABAABAAAABAAABBBBAAAAABBABABABAAABBBAAAAABAABBABABABAAABAAAAAAAABAAAAAAAABAAAAAAAABBAAAABABABAABABAABAABAAABBBAAABAAAABAAAAAAABAAAABAABBBBAABBAABAABBAAAABBAABBAAA',\n    'A'),\n   [[[25, 16], [25, 8], [25, 10]], 'A', {'A': 3, 'B': 3}]),\n  ('variant scenario 2',\n   ('AAABBAABBBBBAAAAABBAAABBAABAAABAAABAABBAAABAABBBBBBBAABBAAAAABAAAABBAABBAABABBBAAAAAABAABAAAAABBBBBBABAABABAAAAABB',\n    'A'),\n   [[[25, 16], [25, 19], [16, 13]], None, {'A': 0, 'B': 1}])]]\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"},"fixed":{"sha256":"1e17ec6f1418b445182521c43a40721e050d5d97a13fc2e523e9880893116978","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(rallies, first_serve):\n    won = {'A': 0, 'B': 0}\n    sets = []\n    a = b = 0\n    set_index = 0\n    server = first_serve\n    rot = {'A': 0, 'B': 0}\n    for r in rallies:\n        if r == 'A':\n            a += 1\n        else:\n            b += 1\n        if r != server:\n            rot[r] = (rot[r] + 1) % 6\n            server = r\n        target = 15 if set_index == 4 else 25\n        if max(a, b) >= target and abs(a - b) >= 2:\n            w = 'A' if a > b else 'B'\n            won[w] += 1\n            sets.append([a, b])\n            if won[w] == 3:\n                return [sets, w, rot]\n            a = b = 0\n            set_index += 1\n            rot = {'A': 0, 'B': 0}\n            server = first_serve if set_index % 2 == 0 else ('B' if first_serve == 'A' else 'A')\n    return [sets + ([[a, b]] if a or b else []), None, rot]\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 first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAABAAABABABAAABABABABAAABBBBABAABBBABAABBBAABBAAAABAABAABBA', 'A'),\n   [[[25, 20], [9, 6]], None, {'A': 4, 'B': 3}]),\n  ('variant scenario 1',\n   ('BABBBAABBABABBBABAABAAAAABAABBABABABAABBABBABBAABBAB', 'A'),\n   [[[24, 26], [1, 1]], None, {'A': 1, 'B': 1}]),\n  ('variant scenario 2',\n   ('ABAABAAAAABAABBBBAABBAABBAABABAAAAAABAABBAA', 'B'),\n   [[[25, 14], [2, 2]], None, {'A': 1, 'B': 1}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('ABAABAAAAAAABABABAABBBAABBAAABBABAAAAABBAAAAAABABABABABBBBAAAABAABBBAAABAAAAAABABAAAA', 'B'),\n   [[[25, 13], [25, 15], [5, 2]], None, {'A': 2, 'B': 1}]),\n  ('variant scenario 1',\n   ('BAAAAABABBAABBABBAAAAABBBBBAABA', 'A'),\n   [[[17, 14]], None, {'A': 1, 'B': 1}]),\n  ('variant scenario 2',\n   ('AAABBAAAABAAAAABBAAAABBBAAAABBAAABBAAAAAABBAABAAAAABBAAABBABBABABABBAAABAAAABAABAABBBBABBAABAAAAABBA',\n    'A'),\n   [[[25, 12], [25, 14], [13, 11]], None, {'A': 0, 'B': 0}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAAAAAAAAAAABBAABAAAAABBAABAAAABBAABBAAAAAABAABABBBBABAAABBAABAAAAABAAABABBAAABABBAAAAAABABABAAAABBABAB',\n    'B'),\n   [[[25, 6], [25, 15], [19, 13]], None, {'A': 3, 'B': 3}]),\n  ('variant scenario 1',\n   ('ABAABAAAAABAABBABBBAAAAAAABAABBBAAABBABABBBAAABAAAAAABAABBABBAABBAABAAABAABABABAAAAABAAAABAAABABBBBAAABAA',\n    'A'),\n   [[[25, 15], [25, 16], [16, 8]], None, {'A': 5, 'B': 5}]),\n  ('variant scenario 2',\n   ('ABABABAAAABAAAAABAAABAABBAAAAABAAABBBBABBAABAAABAABBAAAAABAAABAA', 'A'),\n   [[[25, 9], [18, 12]], None, {'A': 1, 'B': 0}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAABBAAAAAAAABABAAABABAAABABBAABAABBABBBBBABA', 'A'),\n   [[[25, 12], [2, 6]], None, {'A': 2, 'B': 1}]),\n  ('variant scenario 1',\n   ('BAAABAAAAAAABAABBAAAABAAAAAABAAAAAAAAAAABAAABABAAABABABBAAABAAAAABAABBAAABABABBBBAAABAAAABBABAABBABABBBBABAAAAAABBAAAAAAABBABABBAB',\n    'A'),\n   [[[25, 7], [25, 8], [25, 21]], 'A', {'A': 0, 'B': 0}]),\n  ('variant scenario 2',\n   ('ABAAAAAAAABBBABAAAAAAABBBBBAAABAAAABBABABAABAABBABBAAAAAABAABAABAA', 'B'),\n   [[[25, 13], [18, 10]], None, {'A': 2, 'B': 2}])],\n [('control first rally held by server', ('A', 'A'), [[[1, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary side-out rotates receiver', ('B', 'A'), [[[0, 1]], None, {'A': 0, 'B': 1}]),\n  ('control clean set', ('AAAAAAAAAAAAAAAAAAAAAAAAA', 'A'), [[[25, 0]], None, {'A': 0, 'B': 0}]),\n  ('boundary second set served by other team',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAA', 'A'),\n   [[[25, 0], [1, 0]], None, {'A': 1, 'B': 0}]),\n  ('boundary deuce in set',\n   ('ABABABABABABABABABABABABABABABABABABABABABABABABAA', 'A'),\n   [[[26, 24]], None, {'A': 0, 'B': 0}]),\n  ('control straight-sets match',\n   ('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', 'B'),\n   [[[25, 0], [25, 0], [25, 0]], 'A', {'A': 1, 'B': 0}]),\n  ('regression: set first server',\n   ('AAAAAABAABABABAAABBABBAAAAAABAABAAAAABAAAABAAAABABBAABAABBABABAABAABBBABAABABBAABAAAAAAABAA',\n    'B'),\n   [[[25, 10], [25, 16], [11, 4]], None, {'A': 3, 'B': 2}]),\n  ('variant scenario 1',\n   ('ABAABAABAAAABAAABBBBAAAAABBABABABAAABBBAAAAABAABBABABABAAABAAAAAAAABAAAAAAAABAAAAAAAABBAAAABABABAABABAABAABAAABBBAAABAAAABAAAAAAABAAAABAABBBBAABBAABAABBAAAABBAABBAAA',\n    'A'),\n   [[[25, 16], [25, 8], [25, 10]], 'A', {'A': 3, 'B': 3}]),\n  ('variant scenario 2',\n   ('AAABBAABBBBBAAAAABBAAABBAABAAABAAABAABBAAABAABBBBBBBAABBAAAAABAAAABBAABBAABABBBAAAAAABAABAAAAABBBBBBABAABABAAAAABB',\n    'A'),\n   [[[25, 16], [25, 19], [16, 13]], None, {'A': 0, 'B': 1}])]]\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-volleyball-rally-rotation-set-first-server","generated_at":"2026-09-29T14:50:25.949045+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Scoresheet apps track rotations to flag out-of-rotation faults and must reset them each set.","repair":"Alternate the first server by set number.","root_cause":"The server is not reassigned at the start of each set.","sha256":"c5de58d9b3981d0903874b6f8ea6fb3cc830a3039bf0ef0cd64422ee7c3b3e01","title":"Next set opened by the wrong server · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.481,"exit_code":1,"observations":[{"actual":[[[1,0]],null,{"A":0,"B":0}],"check":"control first rally held by server","expected":[[[1,0]],null,{"A":0,"B":0}],"passed":true},{"actual":[[[0,1]],null,{"A":0,"B":1}],"check":"boundary side-out rotates receiver","expected":[[[0,1]],null,{"A":0,"B":1}],"passed":true},{"actual":[[[25,0]],null,{"A":0,"B":0}],"check":"control clean set","expected":[[[25,0]],null,{"A":0,"B":0}],"passed":true},{"actual":[[[25,0],[1,0]],null,{"A":0,"B":0}],"check":"boundary second set served by other team","expected":[[[25,0],[1,0]],null,{"A":1,"B":0}],"passed":false},{"actual":[[[26,24]],null,{"A":0,"B":0}],"check":"boundary deuce in set","expected":[[[26,24]],null,{"A":0,"B":0}],"passed":true},{"actual":[[[25,0],[25,0],[25,0]],"A",{"A":0,"B":0}],"check":"control straight-sets match","expected":[[[25,0],[25,0],[25,0]],"A",{"A":1,"B":0}],"passed":false},{"actual":[[[25,20],[9,6]],null,{"A":4,"B":4}],"check":"regression: set first server","expected":[[[25,20],[9,6]],null,{"A":4,"B":3}],"passed":false},{"actual":[[[24,26],[1,1]],null,{"A":1,"B":1}],"check":"variant scenario 1","expected":[[[24,26],[1,1]],null,{"A":1,"B":1}],"passed":true},{"actual":[[[25,14],[2,2]],null,{"A":1,"B":1}],"check":"variant scenario 2","expected":[[[25,14],[2,2]],null,{"A":1,"B":1}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control first rally held by server\", \"actual\": [[[1, 0]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[1, 0]], null, {\"A\": 0, \"B\": 0}], \"passed\": true}, {\"check\": \"boundary side-out rotates receiver\", \"actual\": [[[0, 1]], null, {\"A\": 0, \"B\": 1}], \"expected\": [[[0, 1]], null, {\"A\": 0, \"B\": 1}], \"passed\": true}, {\"check\": \"control clean set\", \"actual\": [[[25, 0]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[25, 0]], null, {\"A\": 0, \"B\": 0}], \"passed\": true}, {\"check\": \"boundary second set served by other team\", \"actual\": [[[25, 0], [1, 0]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[25, 0], [1, 0]], null, {\"A\": 1, \"B\": 0}], \"passed\": false}, {\"check\": \"boundary deuce in set\", \"actual\": [[[26, 24]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[26, 24]], null, {\"A\": 0, \"B\": 0}], \"passed\": true}, {\"check\": \"control straight-sets match\", \"actual\": [[[25, 0], [25, 0], [25, 0]], \"A\", {\"A\": 0, \"B\": 0}], \"expected\": [[[25, 0], [25, 0], [25, 0]], \"A\", {\"A\": 1, \"B\": 0}], \"passed\": false}, {\"check\": \"regression: set first server\", \"actual\": [[[25, 20], [9, 6]], null, {\"A\": 4, \"B\": 4}], \"expected\": [[[25, 20], [9, 6]], null, {\"A\": 4, \"B\": 3}], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [[[24, 26], [1, 1]], null, {\"A\": 1, \"B\": 1}], \"expected\": [[[24, 26], [1, 1]], null, {\"A\": 1, \"B\": 1}], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [[[25, 14], [2, 2]], null, {\"A\": 1, \"B\": 1}], \"expected\": [[[25, 14], [2, 2]], null, {\"A\": 1, \"B\": 1}], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.648,"exit_code":1,"observations":[{"actual":[[[1,0]],null,{"A":0,"B":0}],"check":"control first rally held by server","expected":[[[1,0]],null,{"A":0,"B":0}],"passed":true},{"actual":[[[0,1]],null,{"A":0,"B":1}],"check":"boundary side-out rotates receiver","expected":[[[0,1]],null,{"A":0,"B":1}],"passed":true},{"actual":[[[25,0]],null,{"A":0,"B":0}],"check":"control clean set","expected":[[[25,0]],null,{"A":0,"B":0}],"passed":true},{"actual":[[[25,0],[1,0]],null,{"A":0,"B":0}],"check":"boundary second set served by other team","expected":[[[25,0],[1,0]],null,{"A":1,"B":0}],"passed":false},{"actual":[[[26,24]],null,{"A":0,"B":0}],"check":"boundary deuce in set","expected":[[[26,24]],null,{"A":0,"B":0}],"passed":true},{"actual":[[[25,0],[25,0],[25,0]],"A",{"A":0,"B":0}],"check":"control straight-sets match","expected":[[[25,0],[25,0],[25,0]],"A",{"A":1,"B":0}],"passed":false},{"actual":[[[25,20],[9,6]],null,{"A":4,"B":4}],"check":"regression: set first server","expected":[[[25,20],[9,6]],null,{"A":4,"B":3}],"passed":false},{"actual":[[[24,26],[1,1]],null,{"A":1,"B":1}],"check":"variant scenario 1","expected":[[[24,26],[1,1]],null,{"A":1,"B":1}],"passed":true},{"actual":[[[25,14],[2,2]],null,{"A":1,"B":1}],"check":"variant scenario 2","expected":[[[25,14],[2,2]],null,{"A":1,"B":1}],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control first rally held by server\", \"actual\": [[[1, 0]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[1, 0]], null, {\"A\": 0, \"B\": 0}], \"passed\": true}, {\"check\": \"boundary side-out rotates receiver\", \"actual\": [[[0, 1]], null, {\"A\": 0, \"B\": 1}], \"expected\": [[[0, 1]], null, {\"A\": 0, \"B\": 1}], \"passed\": true}, {\"check\": \"control clean set\", \"actual\": [[[25, 0]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[25, 0]], null, {\"A\": 0, \"B\": 0}], \"passed\": true}, {\"check\": \"boundary second set served by other team\", \"actual\": [[[25, 0], [1, 0]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[25, 0], [1, 0]], null, {\"A\": 1, \"B\": 0}], \"passed\": false}, {\"check\": \"boundary deuce in set\", \"actual\": [[[26, 24]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[26, 24]], null, {\"A\": 0, \"B\": 0}], \"passed\": true}, {\"check\": \"control straight-sets match\", \"actual\": [[[25, 0], [25, 0], [25, 0]], \"A\", {\"A\": 0, \"B\": 0}], \"expected\": [[[25, 0], [25, 0], [25, 0]], \"A\", {\"A\": 1, \"B\": 0}], \"passed\": false}, {\"check\": \"regression: set first server\", \"actual\": [[[25, 20], [9, 6]], null, {\"A\": 4, \"B\": 4}], \"expected\": [[[25, 20], [9, 6]], null, {\"A\": 4, \"B\": 3}], \"passed\": false}, {\"check\": \"variant scenario 1\", \"actual\": [[[24, 26], [1, 1]], null, {\"A\": 1, \"B\": 1}], \"expected\": [[[24, 26], [1, 1]], null, {\"A\": 1, \"B\": 1}], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [[[25, 14], [2, 2]], null, {\"A\": 1, \"B\": 1}], \"expected\": [[[25, 14], [2, 2]], null, {\"A\": 1, \"B\": 1}], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.306,"exit_code":0,"observations":[{"actual":[[[1,0]],null,{"A":0,"B":0}],"check":"control first rally held by server","expected":[[[1,0]],null,{"A":0,"B":0}],"passed":true},{"actual":[[[0,1]],null,{"A":0,"B":1}],"check":"boundary side-out rotates receiver","expected":[[[0,1]],null,{"A":0,"B":1}],"passed":true},{"actual":[[[25,0]],null,{"A":0,"B":0}],"check":"control clean set","expected":[[[25,0]],null,{"A":0,"B":0}],"passed":true},{"actual":[[[25,0],[1,0]],null,{"A":1,"B":0}],"check":"boundary second set served by other team","expected":[[[25,0],[1,0]],null,{"A":1,"B":0}],"passed":true},{"actual":[[[26,24]],null,{"A":0,"B":0}],"check":"boundary deuce in set","expected":[[[26,24]],null,{"A":0,"B":0}],"passed":true},{"actual":[[[25,0],[25,0],[25,0]],"A",{"A":1,"B":0}],"check":"control straight-sets match","expected":[[[25,0],[25,0],[25,0]],"A",{"A":1,"B":0}],"passed":true},{"actual":[[[25,20],[9,6]],null,{"A":4,"B":3}],"check":"regression: set first server","expected":[[[25,20],[9,6]],null,{"A":4,"B":3}],"passed":true},{"actual":[[[24,26],[1,1]],null,{"A":1,"B":1}],"check":"variant scenario 1","expected":[[[24,26],[1,1]],null,{"A":1,"B":1}],"passed":true},{"actual":[[[25,14],[2,2]],null,{"A":1,"B":1}],"check":"variant scenario 2","expected":[[[25,14],[2,2]],null,{"A":1,"B":1}],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"control first rally held by server\", \"actual\": [[[1, 0]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[1, 0]], null, {\"A\": 0, \"B\": 0}], \"passed\": true}, {\"check\": \"boundary side-out rotates receiver\", \"actual\": [[[0, 1]], null, {\"A\": 0, \"B\": 1}], \"expected\": [[[0, 1]], null, {\"A\": 0, \"B\": 1}], \"passed\": true}, {\"check\": \"control clean set\", \"actual\": [[[25, 0]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[25, 0]], null, {\"A\": 0, \"B\": 0}], \"passed\": true}, {\"check\": \"boundary second set served by other team\", \"actual\": [[[25, 0], [1, 0]], null, {\"A\": 1, \"B\": 0}], \"expected\": [[[25, 0], [1, 0]], null, {\"A\": 1, \"B\": 0}], \"passed\": true}, {\"check\": \"boundary deuce in set\", \"actual\": [[[26, 24]], null, {\"A\": 0, \"B\": 0}], \"expected\": [[[26, 24]], null, {\"A\": 0, \"B\": 0}], \"passed\": true}, {\"check\": \"control straight-sets match\", \"actual\": [[[25, 0], [25, 0], [25, 0]], \"A\", {\"A\": 1, \"B\": 0}], \"expected\": [[[25, 0], [25, 0], [25, 0]], \"A\", {\"A\": 1, \"B\": 0}], \"passed\": true}, {\"check\": \"regression: set first server\", \"actual\": [[[25, 20], [9, 6]], null, {\"A\": 4, \"B\": 3}], \"expected\": [[[25, 20], [9, 6]], null, {\"A\": 4, \"B\": 3}], \"passed\": true}, {\"check\": \"variant scenario 1\", \"actual\": [[[24, 26], [1, 1]], null, {\"A\": 1, \"B\": 1}], \"expected\": [[[24, 26], [1, 1]], null, {\"A\": 1, \"B\": 1}], \"passed\": true}, {\"check\": \"variant scenario 2\", \"actual\": [[[25, 14], [2, 2]], null, {\"A\": 1, \"B\": 1}], \"expected\": [[[25, 14], [2, 2]], null, {\"A\": 1, \"B\": 1}], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}