{"abstract":"Siblings or common surnames are seated out of alphabetical order.","category":"Exam timetabling constraints","checks":8,"contract":"Candidates [id, surname, given, access flag], rooms [room, rows, cols]. Non-access candidates are sorted by case-folded surname, case-folded given name, then id, and take alternate seats (even row and even column indices) room by room in row-major order, labelled room-<row letter><column number>; candidates beyond the seats are UNSEATED. Access candidates go to SEP-1, SEP-2... in the same order. Return id -> seat.","evaluation_group":"w2-exam-timetabling-constraints-alphabetical-alternate-seating","failed_approach":"An unfolded given name sorts lower-case names after capitalised ones.","family":"w2-exam-timetabling-constraints-alphabetical-alternate-seating-given-name-tie-break","id":"FA-94546","implementations":{"attempt":{"sha256":"4a8b0d369a70cf134ea3128f76f2067bc294441a0b5786006bacc9b36eabb200","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cands, rooms):\n    def key(c):\n        return (c[1].casefold(), c[2], c[0])\n    main = sorted([c for c in cands if not c[3]], key=key)\n    sep = sorted([c for c in cands if c[3]], key=key)\n    seats = []\n    for room, rows, cols in rooms:\n        for r in range(0, rows, 2):\n            for c in range(0, cols, 2):\n                seats.append('%s-%s%d' % (room, chr(65 + r), c + 1))\n    out = {}\n    for k, c in enumerate(main):\n        out[c[0]] = seats[k] if k < len(seats) else 'UNSEATED'\n    for k, c in enumerate(sep):\n        out[c[0]] = 'SEP-%d' % (k + 1)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: given name tie break 1',\n   [[['C29', 'Strausz', 'Ben', 0], ['C34', 'Strauß', 'Anna', 1], ['C35', 'Zhou', 'Li', 0],\n     ['C31', 'Mason', 'Amy', 0], ['C13', 'Mason', 'Zed', 0], ['C53', 'Öberg', 'Ola', 0],\n     ['C48', 'strauss', 'Cara', 0], ['C28', 'Mason', 'amy', 0]],\n    [['H0', 2, 4]]],\n   {'C28': 'H0-A1',\n    'C31': 'H0-A3',\n    'C13': 'UNSEATED',\n    'C48': 'UNSEATED',\n    'C29': 'UNSEATED',\n    'C35': 'UNSEATED',\n    'C53': 'UNSEATED',\n    'C34': 'SEP-1'}),\n  ('regression variant: given name tie break 2',\n   [[['C31', 'Mason', 'Zed', 0], ['C68', 'adams', 'Dan', 0], ['C00', 'Adams', 'eve', 0],\n     ['C61', 'strauss', 'Cara', 0]],\n    [['H0', 1, 5], ['H1', 4, 3]]],\n   {'C68': 'H0-A1', 'C00': 'H0-A3', 'C31': 'H0-A5', 'C61': 'H1-A1'}),\n  ('partial repair guard 3',\n   [[['C35', 'Adams', 'eve', 0], ['C28', 'Öberg', 'Ola', 0], ['C93', 'strauss', 'Cara', 0],\n     ['C58', 'Zhou', 'Li', 0], ['C61', 'Mason', 'amy', 0], ['C45', 'Mason', 'Zed', 0]],\n    [['H0', 3, 2], ['H1', 5, 1]]],\n   {'C35': 'H0-A1', 'C61': 'H0-C1', 'C45': 'H1-A1', 'C93': 'H1-C1', 'C58': 'H1-E1', 'C28': 'UNSEATED'}),\n  ('boundary control 4', [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 1]], [['H1', 1, 1]]],\n   {'C1': 'H1-A1', 'C2': 'SEP-1'}),\n  ('boundary control 5',\n   [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 0], ['C3', 'Cole', 'Bo', 0]], [['H1', 3, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3', 'C3': 'H1-C1'}),\n  ('normal control 6',\n   [[['C45', 'Strauß', 'Anna', 0], ['C69', 'adams', 'Dan', 0], ['C56', 'Zhou', 'Li', 1],\n     ['C58', 'Strausz', 'Ben', 0], ['C99', 'Öberg', 'Ola', 0]],\n    [['H0', 5, 1]]],\n   {'C69': 'H0-A1', 'C45': 'H0-C1', 'C58': 'H0-E1', 'C99': 'UNSEATED', 'C56': 'SEP-1'}),\n  ('normal control 7',\n   [[['C01', 'Mason', 'Amy', 1], ['C07', 'Mason', 'amy', 0], ['C02', 'Adams', 'eve', 0],\n     ['C70', 'Öberg', 'Ola', 0]],\n    [['H0', 1, 3]]],\n   {'C02': 'H0-A1', 'C07': 'H0-A3', 'C70': 'UNSEATED', 'C01': 'SEP-1'}),\n  ('normal control 8',\n   [[['C83', 'Adams', 'eve', 1], ['C59', 'Strauß', 'Anna', 0], ['C08', 'adams', 'Dan', 0]],\n    [['H0', 3, 1], ['H1', 3, 1]]],\n   {'C08': 'H0-A1', 'C59': 'H0-C1', 'C83': 'SEP-1'})],\n [('regression: given name tie break 1',\n   [[['C18', 'Mason', 'Amy', 0], ['C17', 'strauss', 'Cara', 0], ['C06', 'Mason', 'Zed', 0],\n     ['C23', 'Zhou', 'Li', 0], ['C04', 'Strausz', 'Ben', 0]],\n    [['H0', 4, 4]]],\n   {'C18': 'H0-A1', 'C06': 'H0-A3', 'C17': 'H0-C1', 'C04': 'H0-C3', 'C23': 'UNSEATED'}),\n  ('regression variant: given name tie break 2',\n   [[['C47', 'Zhou', 'Li', 0], ['C80', 'Mason', 'Amy', 0], ['C46', 'strauss', 'Cara', 0],\n     ['C39', 'adams', 'Dan', 0], ['C17', 'Adams', 'eve', 0], ['C08', 'Strauß', 'Anna', 1],\n     ['C83', 'Strausz', 'Ben', 0], ['C84', 'Öberg', 'Ola', 0]],\n    [['H0', 4, 5], ['H1', 5, 5]]],\n   {'C39': 'H0-A1',\n    'C17': 'H0-A3',\n    'C80': 'H0-A5',\n    'C46': 'H0-C1',\n    'C83': 'H0-C3',\n    'C47': 'H0-C5',\n    'C84': 'H1-A1',\n    'C08': 'SEP-1'}),\n  ('partial repair guard 3',\n   [[['C98', 'Mason', 'Zed', 0], ['C54', 'Mason', 'amy', 0], ['C38', 'Adams', 'eve', 0],\n     ['C75', 'Strauß', 'Anna', 0], ['C29', 'Strausz', 'Ben', 0], ['C10', 'adams', 'Dan', 0],\n     ['C13', 'Zhou', 'Li', 1]],\n    [['H0', 1, 5], ['H1', 3, 3]]],\n   {'C10': 'H0-A1',\n    'C38': 'H0-A3',\n    'C54': 'H0-A5',\n    'C98': 'H1-A1',\n    'C75': 'H1-A3',\n    'C29': 'H1-C1',\n    'C13': 'SEP-1'}),\n  ('boundary control 4', [[['C1', 'Strauß', 'Anna', 0], ['C2', 'Strausz', 'Ben', 0]], [['H1', 1, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3'}),\n  ('boundary control 5', [[['C9', 'Mason', 'Amy', 0], ['C1', 'Mason', 'Amy', 0]], [['H1', 2, 3]]],\n   {'C1': 'H1-A1', 'C9': 'H1-A3'}),\n  ('normal control 6',\n   [[['C23', 'Zhou', 'Li', 1], ['C36', 'strauss', 'Cara', 1], ['C32', 'Strauß', 'Anna', 0],\n     ['C49', 'adams', 'Dan', 0]],\n    [['H0', 3, 5]]],\n   {'C49': 'H0-A1', 'C32': 'H0-A3', 'C36': 'SEP-1', 'C23': 'SEP-2'}),\n  ('normal control 7',\n   [[['C99', 'strauss', 'Cara', 0], ['C20', 'Adams', 'eve', 0], ['C62', 'Mason', 'Zed', 0],\n     ['C82', 'Öberg', 'Ola', 1], ['C73', 'Zhou', 'Li', 1], ['C08', 'adams', 'Dan', 0]],\n    [['H0', 5, 4], ['H1', 1, 2]]],\n   {'C08': 'H0-A1', 'C20': 'H0-A3', 'C62': 'H0-C1', 'C99': 'H0-C3', 'C73': 'SEP-1', 'C82': 'SEP-2'}),\n  ('normal control 8',\n   [[['C43', 'Adams', 'eve', 0], ['C78', 'Mason', 'amy', 0]], [['H0', 4, 1], ['H1', 5, 4]]],\n   {'C43': 'H0-A1', 'C78': 'H0-C1'})],\n [('regression: given name tie break 1',\n   [[['C46', 'Öberg', 'Ola', 1], ['C81', 'Mason', 'amy', 1], ['C07', 'Strauß', 'Anna', 0],\n     ['C30', 'Zhou', 'Li', 0], ['C83', 'adams', 'Dan', 0], ['C99', 'Strausz', 'Ben', 0],\n     ['C19', 'Adams', 'eve', 0]],\n    [['H0', 5, 4], ['H1', 2, 2]]],\n   {'C83': 'H0-A1',\n    'C19': 'H0-A3',\n    'C07': 'H0-C1',\n    'C99': 'H0-C3',\n    'C30': 'H0-E1',\n    'C81': 'SEP-1',\n    'C46': 'SEP-2'}),\n  ('regression variant: given name tie break 2',\n   [[['C28', 'adams', 'Dan', 0], ['C05', 'Mason', 'Amy', 0], ['C43', 'Strauß', 'Anna', 1],\n     ['C77', 'Strausz', 'Ben', 0], ['C06', 'Adams', 'eve', 1], ['C83', 'Mason', 'amy', 0],\n     ['C22', 'Öberg', 'Ola', 0], ['C39', 'Mason', 'Zed', 0]],\n    [['H0', 4, 1], ['H1', 2, 4]]],\n   {'C28': 'H0-A1',\n    'C05': 'H0-C1',\n    'C83': 'H1-A1',\n    'C39': 'H1-A3',\n    'C77': 'UNSEATED',\n    'C22': 'UNSEATED',\n    'C06': 'SEP-1',\n    'C43': 'SEP-2'}),\n  ('partial repair guard 3',\n   [[['C49', 'Strauß', 'Anna', 0], ['C46', 'strauss', 'Cara', 1], ['C55', 'Strausz', 'Ben', 0],\n     ['C79', 'Mason', 'Zed', 0], ['C74', 'Mason', 'amy', 0], ['C03', 'Zhou', 'Li', 0],\n     ['C29', 'Mason', 'Amy', 0], ['C11', 'adams', 'Dan', 0]],\n    [['H0', 2, 5]]],\n   {'C11': 'H0-A1',\n    'C29': 'H0-A3',\n    'C74': 'H0-A5',\n    'C79': 'UNSEATED',\n    'C49': 'UNSEATED',\n    'C55': 'UNSEATED',\n    'C03': 'UNSEATED',\n    'C46': 'SEP-1'}),\n  ('boundary control 4', [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 1]], [['H1', 1, 1]]],\n   {'C1': 'H1-A1', 'C2': 'SEP-1'}),\n  ('boundary control 5',\n   [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 0], ['C3', 'Cole', 'Bo', 0]], [['H1', 3, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3', 'C3': 'H1-C1'}),\n  ('normal control 6',\n   [[['C66', 'Mason', 'Amy', 0], ['C29', 'Mason', 'amy', 0], ['C78', 'Zhou', 'Li', 1],\n     ['C88', 'Strausz', 'Ben', 0], ['C47', 'Strauß', 'Anna', 0]],\n    [['H0', 5, 1], ['H1', 2, 1]]],\n   {'C29': 'H0-A1', 'C66': 'H0-C1', 'C47': 'H0-E1', 'C88': 'H1-A1', 'C78': 'SEP-1'}),\n  ('normal control 7',\n   [[['C44', 'Zhou', 'Li', 0], ['C27', 'Strauß', 'Anna', 0], ['C18', 'Mason', 'Zed', 1],\n     ['C97', 'Strausz', 'Ben', 1], ['C39', 'Mason', 'Amy', 1]],\n    [['H0', 1, 3], ['H1', 4, 4]]],\n   {'C27': 'H0-A1', 'C44': 'H0-A3', 'C39': 'SEP-1', 'C18': 'SEP-2', 'C97': 'SEP-3'}),\n  ('normal control 8',\n   [[['C34', 'Mason', 'Zed', 1], ['C68', 'strauss', 'Cara', 0], ['C61', 'Mason', 'amy', 0]], [['H0', 2, 3]]],\n   {'C61': 'H0-A1', 'C68': 'H0-A3', 'C34': 'SEP-1'})],\n [('regression: given name tie break 1',\n   [[['C18', 'Adams', 'eve', 0], ['C47', 'adams', 'Dan', 0], ['C42', 'Strauß', 'Anna', 0],\n     ['C69', 'strauss', 'Cara', 1], ['C55', 'Strausz', 'Ben', 0], ['C61', 'Mason', 'Zed', 0],\n     ['C71', 'Zhou', 'Li', 0]],\n    [['H0', 5, 2]]],\n   {'C47': 'H0-A1',\n    'C18': 'H0-C1',\n    'C61': 'H0-E1',\n    'C42': 'UNSEATED',\n    'C55': 'UNSEATED',\n    'C71': 'UNSEATED',\n    'C69': 'SEP-1'}),\n  ('regression variant: given name tie break 2',\n   [[['C11', 'adams', 'Dan', 0], ['C45', 'Strauß', 'Anna', 1], ['C43', 'Mason', 'Zed', 0],\n     ['C58', 'Zhou', 'Li', 0], ['C85', 'strauss', 'Cara', 0], ['C51', 'Mason', 'amy', 0]],\n    [['H0', 1, 2], ['H1', 4, 1]]],\n   {'C11': 'H0-A1', 'C51': 'H1-A1', 'C43': 'H1-C1', 'C85': 'UNSEATED', 'C58': 'UNSEATED', 'C45': 'SEP-1'}),\n  ('partial repair guard 3',\n   [[['C30', 'Zhou', 'Li', 0], ['C34', 'Mason', 'amy', 0], ['C58', 'Adams', 'eve', 0],\n     ['C32', 'Öberg', 'Ola', 0], ['C84', 'Strausz', 'Ben', 0], ['C22', 'strauss', 'Cara', 0],\n     ['C69', 'Mason', 'Amy', 0]],\n    [['H0', 5, 5]]],\n   {'C58': 'H0-A1',\n    'C34': 'H0-A3',\n    'C69': 'H0-A5',\n    'C22': 'H0-C1',\n    'C84': 'H0-C3',\n    'C30': 'H0-C5',\n    'C32': 'H0-E1'}),\n  ('boundary control 4', [[['C1', 'Strauß', 'Anna', 0], ['C2', 'Strausz', 'Ben', 0]], [['H1', 1, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3'}),\n  ('boundary control 5', [[['C9', 'Mason', 'Amy', 0], ['C1', 'Mason', 'Amy', 0]], [['H1', 2, 3]]],\n   {'C1': 'H1-A1', 'C9': 'H1-A3'}),\n  ('normal control 6',\n   [[['C17', 'Strauß', 'Anna', 0], ['C46', 'Strausz', 'Ben', 0], ['C87', 'Adams', 'eve', 0],\n     ['C91', 'Zhou', 'Li', 0], ['C82', 'Mason', 'Amy', 0], ['C66', 'Mason', 'amy', 0]],\n    [['H0', 1, 5], ['H1', 1, 1]]],\n   {'C87': 'H0-A1', 'C66': 'H0-A3', 'C82': 'H0-A5', 'C17': 'H1-A1', 'C46': 'UNSEATED', 'C91': 'UNSEATED'}),\n  ('normal control 7',\n   [[['C74', 'Mason', 'amy', 0], ['C73', 'Strausz', 'Ben', 0], ['C01', 'Zhou', 'Li', 0],\n     ['C14', 'Strauß', 'Anna', 1], ['C41', 'Mason', 'Amy', 0], ['C37', 'Öberg', 'Ola', 0],\n     ['C25', 'strauss', 'Cara', 0], ['C86', 'Mason', 'Zed', 0]],\n    [['H0', 5, 4]]],\n   {'C41': 'H0-A1',\n    'C74': 'H0-A3',\n    'C86': 'H0-C1',\n    'C25': 'H0-C3',\n    'C73': 'H0-E1',\n    'C01': 'H0-E3',\n    'C37': 'UNSEATED',\n    'C14': 'SEP-1'}),\n  ('normal control 8',\n   [[['C77', 'Zhou', 'Li', 1], ['C33', 'Adams', 'eve', 0], ['C11', 'Mason', 'amy', 0],\n     ['C15', 'Mason', 'Amy', 0], ['C12', 'Öberg', 'Ola', 0], ['C52', 'Strauß', 'Anna', 0],\n     ['C72', 'Mason', 'Zed', 0], ['C81', 'strauss', 'Cara', 0]],\n    [['H0', 2, 3]]],\n   {'C33': 'H0-A1',\n    'C11': 'H0-A3',\n    'C15': 'UNSEATED',\n    'C72': 'UNSEATED',\n    'C52': 'UNSEATED',\n    'C81': 'UNSEATED',\n    'C12': 'UNSEATED',\n    'C77': 'SEP-1'})],\n [('regression: given name tie break 1',\n   [[['C35', 'Adams', 'eve', 0], ['C28', 'Öberg', 'Ola', 0], ['C93', 'strauss', 'Cara', 0],\n     ['C58', 'Zhou', 'Li', 0], ['C61', 'Mason', 'amy', 0], ['C45', 'Mason', 'Zed', 0]],\n    [['H0', 3, 2], ['H1', 5, 1]]],\n   {'C35': 'H0-A1', 'C61': 'H0-C1', 'C45': 'H1-A1', 'C93': 'H1-C1', 'C58': 'H1-E1', 'C28': 'UNSEATED'}),\n  ('regression variant: given name tie break 2',\n   [[['C72', 'Mason', 'Zed', 0], ['C88', 'Mason', 'Amy', 0], ['C24', 'Zhou', 'Li', 0],\n     ['C33', 'Öberg', 'Ola', 0]],\n    [['H0', 3, 3], ['H1', 3, 3]]],\n   {'C88': 'H0-A1', 'C72': 'H0-A3', 'C24': 'H0-C1', 'C33': 'H0-C3'}),\n  ('partial repair guard 3',\n   [[['C46', 'Mason', 'Zed', 0], ['C28', 'strauss', 'Cara', 0], ['C11', 'Zhou', 'Li', 0],\n     ['C58', 'Mason', 'Amy', 1], ['C08', 'Strauß', 'Anna', 0], ['C07', 'Mason', 'amy', 0],\n     ['C09', 'Öberg', 'Ola', 1]],\n    [['H0', 1, 3]]],\n   {'C07': 'H0-A1',\n    'C46': 'H0-A3',\n    'C08': 'UNSEATED',\n    'C28': 'UNSEATED',\n    'C11': 'UNSEATED',\n    'C58': 'SEP-1',\n    'C09': 'SEP-2'}),\n  ('boundary control 4', [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 1]], [['H1', 1, 1]]],\n   {'C1': 'H1-A1', 'C2': 'SEP-1'}),\n  ('boundary control 5',\n   [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 0], ['C3', 'Cole', 'Bo', 0]], [['H1', 3, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3', 'C3': 'H1-C1'}),\n  ('normal control 6',\n   [[['C11', 'Mason', 'amy', 0], ['C85', 'Zhou', 'Li', 0], ['C29', 'adams', 'Dan', 0],\n     ['C31', 'Öberg', 'Ola', 1], ['C73', 'Adams', 'eve', 0]],\n    [['H0', 1, 2], ['H1', 1, 5]]],\n   {'C29': 'H0-A1', 'C73': 'H1-A1', 'C11': 'H1-A3', 'C85': 'H1-A5', 'C31': 'SEP-1'}),\n  ('normal control 7',\n   [[['C42', 'strauss', 'Cara', 0], ['C15', 'Mason', 'Zed', 0], ['C32', 'Zhou', 'Li', 0]], [['H0', 4, 2]]],\n   {'C15': 'H0-A1', 'C42': 'H0-C1', 'C32': 'UNSEATED'}),\n  ('normal control 8',\n   [[['C25', 'strauss', 'Cara', 0], ['C88', 'Mason', 'Amy', 1], ['C73', 'Adams', 'eve', 0]],\n    [['H0', 3, 5], ['H1', 2, 5]]],\n   {'C73': 'H0-A1', 'C25': 'H0-A3', 'C88': 'SEP-1'})]]\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":"23609dd8659734b8163ddd02a666b5d4ac4fe7a5a41f83bce73d09a823ac5c14","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cands, rooms):\n    def key(c):\n        return (c[1].casefold(), c[0])\n    main = sorted([c for c in cands if not c[3]], key=key)\n    sep = sorted([c for c in cands if c[3]], key=key)\n    seats = []\n    for room, rows, cols in rooms:\n        for r in range(0, rows, 2):\n            for c in range(0, cols, 2):\n                seats.append('%s-%s%d' % (room, chr(65 + r), c + 1))\n    out = {}\n    for k, c in enumerate(main):\n        out[c[0]] = seats[k] if k < len(seats) else 'UNSEATED'\n    for k, c in enumerate(sep):\n        out[c[0]] = 'SEP-%d' % (k + 1)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: given name tie break 1',\n   [[['C29', 'Strausz', 'Ben', 0], ['C34', 'Strauß', 'Anna', 1], ['C35', 'Zhou', 'Li', 0],\n     ['C31', 'Mason', 'Amy', 0], ['C13', 'Mason', 'Zed', 0], ['C53', 'Öberg', 'Ola', 0],\n     ['C48', 'strauss', 'Cara', 0], ['C28', 'Mason', 'amy', 0]],\n    [['H0', 2, 4]]],\n   {'C28': 'H0-A1',\n    'C31': 'H0-A3',\n    'C13': 'UNSEATED',\n    'C48': 'UNSEATED',\n    'C29': 'UNSEATED',\n    'C35': 'UNSEATED',\n    'C53': 'UNSEATED',\n    'C34': 'SEP-1'}),\n  ('regression variant: given name tie break 2',\n   [[['C31', 'Mason', 'Zed', 0], ['C68', 'adams', 'Dan', 0], ['C00', 'Adams', 'eve', 0],\n     ['C61', 'strauss', 'Cara', 0]],\n    [['H0', 1, 5], ['H1', 4, 3]]],\n   {'C68': 'H0-A1', 'C00': 'H0-A3', 'C31': 'H0-A5', 'C61': 'H1-A1'}),\n  ('partial repair guard 3',\n   [[['C35', 'Adams', 'eve', 0], ['C28', 'Öberg', 'Ola', 0], ['C93', 'strauss', 'Cara', 0],\n     ['C58', 'Zhou', 'Li', 0], ['C61', 'Mason', 'amy', 0], ['C45', 'Mason', 'Zed', 0]],\n    [['H0', 3, 2], ['H1', 5, 1]]],\n   {'C35': 'H0-A1', 'C61': 'H0-C1', 'C45': 'H1-A1', 'C93': 'H1-C1', 'C58': 'H1-E1', 'C28': 'UNSEATED'}),\n  ('boundary control 4', [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 1]], [['H1', 1, 1]]],\n   {'C1': 'H1-A1', 'C2': 'SEP-1'}),\n  ('boundary control 5',\n   [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 0], ['C3', 'Cole', 'Bo', 0]], [['H1', 3, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3', 'C3': 'H1-C1'}),\n  ('normal control 6',\n   [[['C45', 'Strauß', 'Anna', 0], ['C69', 'adams', 'Dan', 0], ['C56', 'Zhou', 'Li', 1],\n     ['C58', 'Strausz', 'Ben', 0], ['C99', 'Öberg', 'Ola', 0]],\n    [['H0', 5, 1]]],\n   {'C69': 'H0-A1', 'C45': 'H0-C1', 'C58': 'H0-E1', 'C99': 'UNSEATED', 'C56': 'SEP-1'}),\n  ('normal control 7',\n   [[['C01', 'Mason', 'Amy', 1], ['C07', 'Mason', 'amy', 0], ['C02', 'Adams', 'eve', 0],\n     ['C70', 'Öberg', 'Ola', 0]],\n    [['H0', 1, 3]]],\n   {'C02': 'H0-A1', 'C07': 'H0-A3', 'C70': 'UNSEATED', 'C01': 'SEP-1'}),\n  ('normal control 8',\n   [[['C83', 'Adams', 'eve', 1], ['C59', 'Strauß', 'Anna', 0], ['C08', 'adams', 'Dan', 0]],\n    [['H0', 3, 1], ['H1', 3, 1]]],\n   {'C08': 'H0-A1', 'C59': 'H0-C1', 'C83': 'SEP-1'})],\n [('regression: given name tie break 1',\n   [[['C18', 'Mason', 'Amy', 0], ['C17', 'strauss', 'Cara', 0], ['C06', 'Mason', 'Zed', 0],\n     ['C23', 'Zhou', 'Li', 0], ['C04', 'Strausz', 'Ben', 0]],\n    [['H0', 4, 4]]],\n   {'C18': 'H0-A1', 'C06': 'H0-A3', 'C17': 'H0-C1', 'C04': 'H0-C3', 'C23': 'UNSEATED'}),\n  ('regression variant: given name tie break 2',\n   [[['C47', 'Zhou', 'Li', 0], ['C80', 'Mason', 'Amy', 0], ['C46', 'strauss', 'Cara', 0],\n     ['C39', 'adams', 'Dan', 0], ['C17', 'Adams', 'eve', 0], ['C08', 'Strauß', 'Anna', 1],\n     ['C83', 'Strausz', 'Ben', 0], ['C84', 'Öberg', 'Ola', 0]],\n    [['H0', 4, 5], ['H1', 5, 5]]],\n   {'C39': 'H0-A1',\n    'C17': 'H0-A3',\n    'C80': 'H0-A5',\n    'C46': 'H0-C1',\n    'C83': 'H0-C3',\n    'C47': 'H0-C5',\n    'C84': 'H1-A1',\n    'C08': 'SEP-1'}),\n  ('partial repair guard 3',\n   [[['C98', 'Mason', 'Zed', 0], ['C54', 'Mason', 'amy', 0], ['C38', 'Adams', 'eve', 0],\n     ['C75', 'Strauß', 'Anna', 0], ['C29', 'Strausz', 'Ben', 0], ['C10', 'adams', 'Dan', 0],\n     ['C13', 'Zhou', 'Li', 1]],\n    [['H0', 1, 5], ['H1', 3, 3]]],\n   {'C10': 'H0-A1',\n    'C38': 'H0-A3',\n    'C54': 'H0-A5',\n    'C98': 'H1-A1',\n    'C75': 'H1-A3',\n    'C29': 'H1-C1',\n    'C13': 'SEP-1'}),\n  ('boundary control 4', [[['C1', 'Strauß', 'Anna', 0], ['C2', 'Strausz', 'Ben', 0]], [['H1', 1, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3'}),\n  ('boundary control 5', [[['C9', 'Mason', 'Amy', 0], ['C1', 'Mason', 'Amy', 0]], [['H1', 2, 3]]],\n   {'C1': 'H1-A1', 'C9': 'H1-A3'}),\n  ('normal control 6',\n   [[['C23', 'Zhou', 'Li', 1], ['C36', 'strauss', 'Cara', 1], ['C32', 'Strauß', 'Anna', 0],\n     ['C49', 'adams', 'Dan', 0]],\n    [['H0', 3, 5]]],\n   {'C49': 'H0-A1', 'C32': 'H0-A3', 'C36': 'SEP-1', 'C23': 'SEP-2'}),\n  ('normal control 7',\n   [[['C99', 'strauss', 'Cara', 0], ['C20', 'Adams', 'eve', 0], ['C62', 'Mason', 'Zed', 0],\n     ['C82', 'Öberg', 'Ola', 1], ['C73', 'Zhou', 'Li', 1], ['C08', 'adams', 'Dan', 0]],\n    [['H0', 5, 4], ['H1', 1, 2]]],\n   {'C08': 'H0-A1', 'C20': 'H0-A3', 'C62': 'H0-C1', 'C99': 'H0-C3', 'C73': 'SEP-1', 'C82': 'SEP-2'}),\n  ('normal control 8',\n   [[['C43', 'Adams', 'eve', 0], ['C78', 'Mason', 'amy', 0]], [['H0', 4, 1], ['H1', 5, 4]]],\n   {'C43': 'H0-A1', 'C78': 'H0-C1'})],\n [('regression: given name tie break 1',\n   [[['C46', 'Öberg', 'Ola', 1], ['C81', 'Mason', 'amy', 1], ['C07', 'Strauß', 'Anna', 0],\n     ['C30', 'Zhou', 'Li', 0], ['C83', 'adams', 'Dan', 0], ['C99', 'Strausz', 'Ben', 0],\n     ['C19', 'Adams', 'eve', 0]],\n    [['H0', 5, 4], ['H1', 2, 2]]],\n   {'C83': 'H0-A1',\n    'C19': 'H0-A3',\n    'C07': 'H0-C1',\n    'C99': 'H0-C3',\n    'C30': 'H0-E1',\n    'C81': 'SEP-1',\n    'C46': 'SEP-2'}),\n  ('regression variant: given name tie break 2',\n   [[['C28', 'adams', 'Dan', 0], ['C05', 'Mason', 'Amy', 0], ['C43', 'Strauß', 'Anna', 1],\n     ['C77', 'Strausz', 'Ben', 0], ['C06', 'Adams', 'eve', 1], ['C83', 'Mason', 'amy', 0],\n     ['C22', 'Öberg', 'Ola', 0], ['C39', 'Mason', 'Zed', 0]],\n    [['H0', 4, 1], ['H1', 2, 4]]],\n   {'C28': 'H0-A1',\n    'C05': 'H0-C1',\n    'C83': 'H1-A1',\n    'C39': 'H1-A3',\n    'C77': 'UNSEATED',\n    'C22': 'UNSEATED',\n    'C06': 'SEP-1',\n    'C43': 'SEP-2'}),\n  ('partial repair guard 3',\n   [[['C49', 'Strauß', 'Anna', 0], ['C46', 'strauss', 'Cara', 1], ['C55', 'Strausz', 'Ben', 0],\n     ['C79', 'Mason', 'Zed', 0], ['C74', 'Mason', 'amy', 0], ['C03', 'Zhou', 'Li', 0],\n     ['C29', 'Mason', 'Amy', 0], ['C11', 'adams', 'Dan', 0]],\n    [['H0', 2, 5]]],\n   {'C11': 'H0-A1',\n    'C29': 'H0-A3',\n    'C74': 'H0-A5',\n    'C79': 'UNSEATED',\n    'C49': 'UNSEATED',\n    'C55': 'UNSEATED',\n    'C03': 'UNSEATED',\n    'C46': 'SEP-1'}),\n  ('boundary control 4', [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 1]], [['H1', 1, 1]]],\n   {'C1': 'H1-A1', 'C2': 'SEP-1'}),\n  ('boundary control 5',\n   [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 0], ['C3', 'Cole', 'Bo', 0]], [['H1', 3, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3', 'C3': 'H1-C1'}),\n  ('normal control 6',\n   [[['C66', 'Mason', 'Amy', 0], ['C29', 'Mason', 'amy', 0], ['C78', 'Zhou', 'Li', 1],\n     ['C88', 'Strausz', 'Ben', 0], ['C47', 'Strauß', 'Anna', 0]],\n    [['H0', 5, 1], ['H1', 2, 1]]],\n   {'C29': 'H0-A1', 'C66': 'H0-C1', 'C47': 'H0-E1', 'C88': 'H1-A1', 'C78': 'SEP-1'}),\n  ('normal control 7',\n   [[['C44', 'Zhou', 'Li', 0], ['C27', 'Strauß', 'Anna', 0], ['C18', 'Mason', 'Zed', 1],\n     ['C97', 'Strausz', 'Ben', 1], ['C39', 'Mason', 'Amy', 1]],\n    [['H0', 1, 3], ['H1', 4, 4]]],\n   {'C27': 'H0-A1', 'C44': 'H0-A3', 'C39': 'SEP-1', 'C18': 'SEP-2', 'C97': 'SEP-3'}),\n  ('normal control 8',\n   [[['C34', 'Mason', 'Zed', 1], ['C68', 'strauss', 'Cara', 0], ['C61', 'Mason', 'amy', 0]], [['H0', 2, 3]]],\n   {'C61': 'H0-A1', 'C68': 'H0-A3', 'C34': 'SEP-1'})],\n [('regression: given name tie break 1',\n   [[['C18', 'Adams', 'eve', 0], ['C47', 'adams', 'Dan', 0], ['C42', 'Strauß', 'Anna', 0],\n     ['C69', 'strauss', 'Cara', 1], ['C55', 'Strausz', 'Ben', 0], ['C61', 'Mason', 'Zed', 0],\n     ['C71', 'Zhou', 'Li', 0]],\n    [['H0', 5, 2]]],\n   {'C47': 'H0-A1',\n    'C18': 'H0-C1',\n    'C61': 'H0-E1',\n    'C42': 'UNSEATED',\n    'C55': 'UNSEATED',\n    'C71': 'UNSEATED',\n    'C69': 'SEP-1'}),\n  ('regression variant: given name tie break 2',\n   [[['C11', 'adams', 'Dan', 0], ['C45', 'Strauß', 'Anna', 1], ['C43', 'Mason', 'Zed', 0],\n     ['C58', 'Zhou', 'Li', 0], ['C85', 'strauss', 'Cara', 0], ['C51', 'Mason', 'amy', 0]],\n    [['H0', 1, 2], ['H1', 4, 1]]],\n   {'C11': 'H0-A1', 'C51': 'H1-A1', 'C43': 'H1-C1', 'C85': 'UNSEATED', 'C58': 'UNSEATED', 'C45': 'SEP-1'}),\n  ('partial repair guard 3',\n   [[['C30', 'Zhou', 'Li', 0], ['C34', 'Mason', 'amy', 0], ['C58', 'Adams', 'eve', 0],\n     ['C32', 'Öberg', 'Ola', 0], ['C84', 'Strausz', 'Ben', 0], ['C22', 'strauss', 'Cara', 0],\n     ['C69', 'Mason', 'Amy', 0]],\n    [['H0', 5, 5]]],\n   {'C58': 'H0-A1',\n    'C34': 'H0-A3',\n    'C69': 'H0-A5',\n    'C22': 'H0-C1',\n    'C84': 'H0-C3',\n    'C30': 'H0-C5',\n    'C32': 'H0-E1'}),\n  ('boundary control 4', [[['C1', 'Strauß', 'Anna', 0], ['C2', 'Strausz', 'Ben', 0]], [['H1', 1, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3'}),\n  ('boundary control 5', [[['C9', 'Mason', 'Amy', 0], ['C1', 'Mason', 'Amy', 0]], [['H1', 2, 3]]],\n   {'C1': 'H1-A1', 'C9': 'H1-A3'}),\n  ('normal control 6',\n   [[['C17', 'Strauß', 'Anna', 0], ['C46', 'Strausz', 'Ben', 0], ['C87', 'Adams', 'eve', 0],\n     ['C91', 'Zhou', 'Li', 0], ['C82', 'Mason', 'Amy', 0], ['C66', 'Mason', 'amy', 0]],\n    [['H0', 1, 5], ['H1', 1, 1]]],\n   {'C87': 'H0-A1', 'C66': 'H0-A3', 'C82': 'H0-A5', 'C17': 'H1-A1', 'C46': 'UNSEATED', 'C91': 'UNSEATED'}),\n  ('normal control 7',\n   [[['C74', 'Mason', 'amy', 0], ['C73', 'Strausz', 'Ben', 0], ['C01', 'Zhou', 'Li', 0],\n     ['C14', 'Strauß', 'Anna', 1], ['C41', 'Mason', 'Amy', 0], ['C37', 'Öberg', 'Ola', 0],\n     ['C25', 'strauss', 'Cara', 0], ['C86', 'Mason', 'Zed', 0]],\n    [['H0', 5, 4]]],\n   {'C41': 'H0-A1',\n    'C74': 'H0-A3',\n    'C86': 'H0-C1',\n    'C25': 'H0-C3',\n    'C73': 'H0-E1',\n    'C01': 'H0-E3',\n    'C37': 'UNSEATED',\n    'C14': 'SEP-1'}),\n  ('normal control 8',\n   [[['C77', 'Zhou', 'Li', 1], ['C33', 'Adams', 'eve', 0], ['C11', 'Mason', 'amy', 0],\n     ['C15', 'Mason', 'Amy', 0], ['C12', 'Öberg', 'Ola', 0], ['C52', 'Strauß', 'Anna', 0],\n     ['C72', 'Mason', 'Zed', 0], ['C81', 'strauss', 'Cara', 0]],\n    [['H0', 2, 3]]],\n   {'C33': 'H0-A1',\n    'C11': 'H0-A3',\n    'C15': 'UNSEATED',\n    'C72': 'UNSEATED',\n    'C52': 'UNSEATED',\n    'C81': 'UNSEATED',\n    'C12': 'UNSEATED',\n    'C77': 'SEP-1'})],\n [('regression: given name tie break 1',\n   [[['C35', 'Adams', 'eve', 0], ['C28', 'Öberg', 'Ola', 0], ['C93', 'strauss', 'Cara', 0],\n     ['C58', 'Zhou', 'Li', 0], ['C61', 'Mason', 'amy', 0], ['C45', 'Mason', 'Zed', 0]],\n    [['H0', 3, 2], ['H1', 5, 1]]],\n   {'C35': 'H0-A1', 'C61': 'H0-C1', 'C45': 'H1-A1', 'C93': 'H1-C1', 'C58': 'H1-E1', 'C28': 'UNSEATED'}),\n  ('regression variant: given name tie break 2',\n   [[['C72', 'Mason', 'Zed', 0], ['C88', 'Mason', 'Amy', 0], ['C24', 'Zhou', 'Li', 0],\n     ['C33', 'Öberg', 'Ola', 0]],\n    [['H0', 3, 3], ['H1', 3, 3]]],\n   {'C88': 'H0-A1', 'C72': 'H0-A3', 'C24': 'H0-C1', 'C33': 'H0-C3'}),\n  ('partial repair guard 3',\n   [[['C46', 'Mason', 'Zed', 0], ['C28', 'strauss', 'Cara', 0], ['C11', 'Zhou', 'Li', 0],\n     ['C58', 'Mason', 'Amy', 1], ['C08', 'Strauß', 'Anna', 0], ['C07', 'Mason', 'amy', 0],\n     ['C09', 'Öberg', 'Ola', 1]],\n    [['H0', 1, 3]]],\n   {'C07': 'H0-A1',\n    'C46': 'H0-A3',\n    'C08': 'UNSEATED',\n    'C28': 'UNSEATED',\n    'C11': 'UNSEATED',\n    'C58': 'SEP-1',\n    'C09': 'SEP-2'}),\n  ('boundary control 4', [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 1]], [['H1', 1, 1]]],\n   {'C1': 'H1-A1', 'C2': 'SEP-1'}),\n  ('boundary control 5',\n   [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 0], ['C3', 'Cole', 'Bo', 0]], [['H1', 3, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3', 'C3': 'H1-C1'}),\n  ('normal control 6',\n   [[['C11', 'Mason', 'amy', 0], ['C85', 'Zhou', 'Li', 0], ['C29', 'adams', 'Dan', 0],\n     ['C31', 'Öberg', 'Ola', 1], ['C73', 'Adams', 'eve', 0]],\n    [['H0', 1, 2], ['H1', 1, 5]]],\n   {'C29': 'H0-A1', 'C73': 'H1-A1', 'C11': 'H1-A3', 'C85': 'H1-A5', 'C31': 'SEP-1'}),\n  ('normal control 7',\n   [[['C42', 'strauss', 'Cara', 0], ['C15', 'Mason', 'Zed', 0], ['C32', 'Zhou', 'Li', 0]], [['H0', 4, 2]]],\n   {'C15': 'H0-A1', 'C42': 'H0-C1', 'C32': 'UNSEATED'}),\n  ('normal control 8',\n   [[['C25', 'strauss', 'Cara', 0], ['C88', 'Mason', 'Amy', 1], ['C73', 'Adams', 'eve', 0]],\n    [['H0', 3, 5], ['H1', 2, 5]]],\n   {'C73': 'H0-A1', 'C25': 'H0-A3', 'C88': 'SEP-1'})]]\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"},"fixed":{"sha256":"0bf9369ee7d293d5f403cc322153ecfcb7bced70c0863ad8f6273df1342cb71a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(cands, rooms):\n    def key(c):\n        return (c[1].casefold(), c[2].casefold(), c[0])\n    main = sorted([c for c in cands if not c[3]], key=key)\n    sep = sorted([c for c in cands if c[3]], key=key)\n    seats = []\n    for room, rows, cols in rooms:\n        for r in range(0, rows, 2):\n            for c in range(0, cols, 2):\n                seats.append('%s-%s%d' % (room, chr(65 + r), c + 1))\n    out = {}\n    for k, c in enumerate(main):\n        out[c[0]] = seats[k] if k < len(seats) else 'UNSEATED'\n    for k, c in enumerate(sep):\n        out[c[0]] = 'SEP-%d' % (k + 1)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: given name tie break 1',\n   [[['C29', 'Strausz', 'Ben', 0], ['C34', 'Strauß', 'Anna', 1], ['C35', 'Zhou', 'Li', 0],\n     ['C31', 'Mason', 'Amy', 0], ['C13', 'Mason', 'Zed', 0], ['C53', 'Öberg', 'Ola', 0],\n     ['C48', 'strauss', 'Cara', 0], ['C28', 'Mason', 'amy', 0]],\n    [['H0', 2, 4]]],\n   {'C28': 'H0-A1',\n    'C31': 'H0-A3',\n    'C13': 'UNSEATED',\n    'C48': 'UNSEATED',\n    'C29': 'UNSEATED',\n    'C35': 'UNSEATED',\n    'C53': 'UNSEATED',\n    'C34': 'SEP-1'}),\n  ('regression variant: given name tie break 2',\n   [[['C31', 'Mason', 'Zed', 0], ['C68', 'adams', 'Dan', 0], ['C00', 'Adams', 'eve', 0],\n     ['C61', 'strauss', 'Cara', 0]],\n    [['H0', 1, 5], ['H1', 4, 3]]],\n   {'C68': 'H0-A1', 'C00': 'H0-A3', 'C31': 'H0-A5', 'C61': 'H1-A1'}),\n  ('partial repair guard 3',\n   [[['C35', 'Adams', 'eve', 0], ['C28', 'Öberg', 'Ola', 0], ['C93', 'strauss', 'Cara', 0],\n     ['C58', 'Zhou', 'Li', 0], ['C61', 'Mason', 'amy', 0], ['C45', 'Mason', 'Zed', 0]],\n    [['H0', 3, 2], ['H1', 5, 1]]],\n   {'C35': 'H0-A1', 'C61': 'H0-C1', 'C45': 'H1-A1', 'C93': 'H1-C1', 'C58': 'H1-E1', 'C28': 'UNSEATED'}),\n  ('boundary control 4', [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 1]], [['H1', 1, 1]]],\n   {'C1': 'H1-A1', 'C2': 'SEP-1'}),\n  ('boundary control 5',\n   [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 0], ['C3', 'Cole', 'Bo', 0]], [['H1', 3, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3', 'C3': 'H1-C1'}),\n  ('normal control 6',\n   [[['C45', 'Strauß', 'Anna', 0], ['C69', 'adams', 'Dan', 0], ['C56', 'Zhou', 'Li', 1],\n     ['C58', 'Strausz', 'Ben', 0], ['C99', 'Öberg', 'Ola', 0]],\n    [['H0', 5, 1]]],\n   {'C69': 'H0-A1', 'C45': 'H0-C1', 'C58': 'H0-E1', 'C99': 'UNSEATED', 'C56': 'SEP-1'}),\n  ('normal control 7',\n   [[['C01', 'Mason', 'Amy', 1], ['C07', 'Mason', 'amy', 0], ['C02', 'Adams', 'eve', 0],\n     ['C70', 'Öberg', 'Ola', 0]],\n    [['H0', 1, 3]]],\n   {'C02': 'H0-A1', 'C07': 'H0-A3', 'C70': 'UNSEATED', 'C01': 'SEP-1'}),\n  ('normal control 8',\n   [[['C83', 'Adams', 'eve', 1], ['C59', 'Strauß', 'Anna', 0], ['C08', 'adams', 'Dan', 0]],\n    [['H0', 3, 1], ['H1', 3, 1]]],\n   {'C08': 'H0-A1', 'C59': 'H0-C1', 'C83': 'SEP-1'})],\n [('regression: given name tie break 1',\n   [[['C18', 'Mason', 'Amy', 0], ['C17', 'strauss', 'Cara', 0], ['C06', 'Mason', 'Zed', 0],\n     ['C23', 'Zhou', 'Li', 0], ['C04', 'Strausz', 'Ben', 0]],\n    [['H0', 4, 4]]],\n   {'C18': 'H0-A1', 'C06': 'H0-A3', 'C17': 'H0-C1', 'C04': 'H0-C3', 'C23': 'UNSEATED'}),\n  ('regression variant: given name tie break 2',\n   [[['C47', 'Zhou', 'Li', 0], ['C80', 'Mason', 'Amy', 0], ['C46', 'strauss', 'Cara', 0],\n     ['C39', 'adams', 'Dan', 0], ['C17', 'Adams', 'eve', 0], ['C08', 'Strauß', 'Anna', 1],\n     ['C83', 'Strausz', 'Ben', 0], ['C84', 'Öberg', 'Ola', 0]],\n    [['H0', 4, 5], ['H1', 5, 5]]],\n   {'C39': 'H0-A1',\n    'C17': 'H0-A3',\n    'C80': 'H0-A5',\n    'C46': 'H0-C1',\n    'C83': 'H0-C3',\n    'C47': 'H0-C5',\n    'C84': 'H1-A1',\n    'C08': 'SEP-1'}),\n  ('partial repair guard 3',\n   [[['C98', 'Mason', 'Zed', 0], ['C54', 'Mason', 'amy', 0], ['C38', 'Adams', 'eve', 0],\n     ['C75', 'Strauß', 'Anna', 0], ['C29', 'Strausz', 'Ben', 0], ['C10', 'adams', 'Dan', 0],\n     ['C13', 'Zhou', 'Li', 1]],\n    [['H0', 1, 5], ['H1', 3, 3]]],\n   {'C10': 'H0-A1',\n    'C38': 'H0-A3',\n    'C54': 'H0-A5',\n    'C98': 'H1-A1',\n    'C75': 'H1-A3',\n    'C29': 'H1-C1',\n    'C13': 'SEP-1'}),\n  ('boundary control 4', [[['C1', 'Strauß', 'Anna', 0], ['C2', 'Strausz', 'Ben', 0]], [['H1', 1, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3'}),\n  ('boundary control 5', [[['C9', 'Mason', 'Amy', 0], ['C1', 'Mason', 'Amy', 0]], [['H1', 2, 3]]],\n   {'C1': 'H1-A1', 'C9': 'H1-A3'}),\n  ('normal control 6',\n   [[['C23', 'Zhou', 'Li', 1], ['C36', 'strauss', 'Cara', 1], ['C32', 'Strauß', 'Anna', 0],\n     ['C49', 'adams', 'Dan', 0]],\n    [['H0', 3, 5]]],\n   {'C49': 'H0-A1', 'C32': 'H0-A3', 'C36': 'SEP-1', 'C23': 'SEP-2'}),\n  ('normal control 7',\n   [[['C99', 'strauss', 'Cara', 0], ['C20', 'Adams', 'eve', 0], ['C62', 'Mason', 'Zed', 0],\n     ['C82', 'Öberg', 'Ola', 1], ['C73', 'Zhou', 'Li', 1], ['C08', 'adams', 'Dan', 0]],\n    [['H0', 5, 4], ['H1', 1, 2]]],\n   {'C08': 'H0-A1', 'C20': 'H0-A3', 'C62': 'H0-C1', 'C99': 'H0-C3', 'C73': 'SEP-1', 'C82': 'SEP-2'}),\n  ('normal control 8',\n   [[['C43', 'Adams', 'eve', 0], ['C78', 'Mason', 'amy', 0]], [['H0', 4, 1], ['H1', 5, 4]]],\n   {'C43': 'H0-A1', 'C78': 'H0-C1'})],\n [('regression: given name tie break 1',\n   [[['C46', 'Öberg', 'Ola', 1], ['C81', 'Mason', 'amy', 1], ['C07', 'Strauß', 'Anna', 0],\n     ['C30', 'Zhou', 'Li', 0], ['C83', 'adams', 'Dan', 0], ['C99', 'Strausz', 'Ben', 0],\n     ['C19', 'Adams', 'eve', 0]],\n    [['H0', 5, 4], ['H1', 2, 2]]],\n   {'C83': 'H0-A1',\n    'C19': 'H0-A3',\n    'C07': 'H0-C1',\n    'C99': 'H0-C3',\n    'C30': 'H0-E1',\n    'C81': 'SEP-1',\n    'C46': 'SEP-2'}),\n  ('regression variant: given name tie break 2',\n   [[['C28', 'adams', 'Dan', 0], ['C05', 'Mason', 'Amy', 0], ['C43', 'Strauß', 'Anna', 1],\n     ['C77', 'Strausz', 'Ben', 0], ['C06', 'Adams', 'eve', 1], ['C83', 'Mason', 'amy', 0],\n     ['C22', 'Öberg', 'Ola', 0], ['C39', 'Mason', 'Zed', 0]],\n    [['H0', 4, 1], ['H1', 2, 4]]],\n   {'C28': 'H0-A1',\n    'C05': 'H0-C1',\n    'C83': 'H1-A1',\n    'C39': 'H1-A3',\n    'C77': 'UNSEATED',\n    'C22': 'UNSEATED',\n    'C06': 'SEP-1',\n    'C43': 'SEP-2'}),\n  ('partial repair guard 3',\n   [[['C49', 'Strauß', 'Anna', 0], ['C46', 'strauss', 'Cara', 1], ['C55', 'Strausz', 'Ben', 0],\n     ['C79', 'Mason', 'Zed', 0], ['C74', 'Mason', 'amy', 0], ['C03', 'Zhou', 'Li', 0],\n     ['C29', 'Mason', 'Amy', 0], ['C11', 'adams', 'Dan', 0]],\n    [['H0', 2, 5]]],\n   {'C11': 'H0-A1',\n    'C29': 'H0-A3',\n    'C74': 'H0-A5',\n    'C79': 'UNSEATED',\n    'C49': 'UNSEATED',\n    'C55': 'UNSEATED',\n    'C03': 'UNSEATED',\n    'C46': 'SEP-1'}),\n  ('boundary control 4', [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 1]], [['H1', 1, 1]]],\n   {'C1': 'H1-A1', 'C2': 'SEP-1'}),\n  ('boundary control 5',\n   [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 0], ['C3', 'Cole', 'Bo', 0]], [['H1', 3, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3', 'C3': 'H1-C1'}),\n  ('normal control 6',\n   [[['C66', 'Mason', 'Amy', 0], ['C29', 'Mason', 'amy', 0], ['C78', 'Zhou', 'Li', 1],\n     ['C88', 'Strausz', 'Ben', 0], ['C47', 'Strauß', 'Anna', 0]],\n    [['H0', 5, 1], ['H1', 2, 1]]],\n   {'C29': 'H0-A1', 'C66': 'H0-C1', 'C47': 'H0-E1', 'C88': 'H1-A1', 'C78': 'SEP-1'}),\n  ('normal control 7',\n   [[['C44', 'Zhou', 'Li', 0], ['C27', 'Strauß', 'Anna', 0], ['C18', 'Mason', 'Zed', 1],\n     ['C97', 'Strausz', 'Ben', 1], ['C39', 'Mason', 'Amy', 1]],\n    [['H0', 1, 3], ['H1', 4, 4]]],\n   {'C27': 'H0-A1', 'C44': 'H0-A3', 'C39': 'SEP-1', 'C18': 'SEP-2', 'C97': 'SEP-3'}),\n  ('normal control 8',\n   [[['C34', 'Mason', 'Zed', 1], ['C68', 'strauss', 'Cara', 0], ['C61', 'Mason', 'amy', 0]], [['H0', 2, 3]]],\n   {'C61': 'H0-A1', 'C68': 'H0-A3', 'C34': 'SEP-1'})],\n [('regression: given name tie break 1',\n   [[['C18', 'Adams', 'eve', 0], ['C47', 'adams', 'Dan', 0], ['C42', 'Strauß', 'Anna', 0],\n     ['C69', 'strauss', 'Cara', 1], ['C55', 'Strausz', 'Ben', 0], ['C61', 'Mason', 'Zed', 0],\n     ['C71', 'Zhou', 'Li', 0]],\n    [['H0', 5, 2]]],\n   {'C47': 'H0-A1',\n    'C18': 'H0-C1',\n    'C61': 'H0-E1',\n    'C42': 'UNSEATED',\n    'C55': 'UNSEATED',\n    'C71': 'UNSEATED',\n    'C69': 'SEP-1'}),\n  ('regression variant: given name tie break 2',\n   [[['C11', 'adams', 'Dan', 0], ['C45', 'Strauß', 'Anna', 1], ['C43', 'Mason', 'Zed', 0],\n     ['C58', 'Zhou', 'Li', 0], ['C85', 'strauss', 'Cara', 0], ['C51', 'Mason', 'amy', 0]],\n    [['H0', 1, 2], ['H1', 4, 1]]],\n   {'C11': 'H0-A1', 'C51': 'H1-A1', 'C43': 'H1-C1', 'C85': 'UNSEATED', 'C58': 'UNSEATED', 'C45': 'SEP-1'}),\n  ('partial repair guard 3',\n   [[['C30', 'Zhou', 'Li', 0], ['C34', 'Mason', 'amy', 0], ['C58', 'Adams', 'eve', 0],\n     ['C32', 'Öberg', 'Ola', 0], ['C84', 'Strausz', 'Ben', 0], ['C22', 'strauss', 'Cara', 0],\n     ['C69', 'Mason', 'Amy', 0]],\n    [['H0', 5, 5]]],\n   {'C58': 'H0-A1',\n    'C34': 'H0-A3',\n    'C69': 'H0-A5',\n    'C22': 'H0-C1',\n    'C84': 'H0-C3',\n    'C30': 'H0-C5',\n    'C32': 'H0-E1'}),\n  ('boundary control 4', [[['C1', 'Strauß', 'Anna', 0], ['C2', 'Strausz', 'Ben', 0]], [['H1', 1, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3'}),\n  ('boundary control 5', [[['C9', 'Mason', 'Amy', 0], ['C1', 'Mason', 'Amy', 0]], [['H1', 2, 3]]],\n   {'C1': 'H1-A1', 'C9': 'H1-A3'}),\n  ('normal control 6',\n   [[['C17', 'Strauß', 'Anna', 0], ['C46', 'Strausz', 'Ben', 0], ['C87', 'Adams', 'eve', 0],\n     ['C91', 'Zhou', 'Li', 0], ['C82', 'Mason', 'Amy', 0], ['C66', 'Mason', 'amy', 0]],\n    [['H0', 1, 5], ['H1', 1, 1]]],\n   {'C87': 'H0-A1', 'C66': 'H0-A3', 'C82': 'H0-A5', 'C17': 'H1-A1', 'C46': 'UNSEATED', 'C91': 'UNSEATED'}),\n  ('normal control 7',\n   [[['C74', 'Mason', 'amy', 0], ['C73', 'Strausz', 'Ben', 0], ['C01', 'Zhou', 'Li', 0],\n     ['C14', 'Strauß', 'Anna', 1], ['C41', 'Mason', 'Amy', 0], ['C37', 'Öberg', 'Ola', 0],\n     ['C25', 'strauss', 'Cara', 0], ['C86', 'Mason', 'Zed', 0]],\n    [['H0', 5, 4]]],\n   {'C41': 'H0-A1',\n    'C74': 'H0-A3',\n    'C86': 'H0-C1',\n    'C25': 'H0-C3',\n    'C73': 'H0-E1',\n    'C01': 'H0-E3',\n    'C37': 'UNSEATED',\n    'C14': 'SEP-1'}),\n  ('normal control 8',\n   [[['C77', 'Zhou', 'Li', 1], ['C33', 'Adams', 'eve', 0], ['C11', 'Mason', 'amy', 0],\n     ['C15', 'Mason', 'Amy', 0], ['C12', 'Öberg', 'Ola', 0], ['C52', 'Strauß', 'Anna', 0],\n     ['C72', 'Mason', 'Zed', 0], ['C81', 'strauss', 'Cara', 0]],\n    [['H0', 2, 3]]],\n   {'C33': 'H0-A1',\n    'C11': 'H0-A3',\n    'C15': 'UNSEATED',\n    'C72': 'UNSEATED',\n    'C52': 'UNSEATED',\n    'C81': 'UNSEATED',\n    'C12': 'UNSEATED',\n    'C77': 'SEP-1'})],\n [('regression: given name tie break 1',\n   [[['C35', 'Adams', 'eve', 0], ['C28', 'Öberg', 'Ola', 0], ['C93', 'strauss', 'Cara', 0],\n     ['C58', 'Zhou', 'Li', 0], ['C61', 'Mason', 'amy', 0], ['C45', 'Mason', 'Zed', 0]],\n    [['H0', 3, 2], ['H1', 5, 1]]],\n   {'C35': 'H0-A1', 'C61': 'H0-C1', 'C45': 'H1-A1', 'C93': 'H1-C1', 'C58': 'H1-E1', 'C28': 'UNSEATED'}),\n  ('regression variant: given name tie break 2',\n   [[['C72', 'Mason', 'Zed', 0], ['C88', 'Mason', 'Amy', 0], ['C24', 'Zhou', 'Li', 0],\n     ['C33', 'Öberg', 'Ola', 0]],\n    [['H0', 3, 3], ['H1', 3, 3]]],\n   {'C88': 'H0-A1', 'C72': 'H0-A3', 'C24': 'H0-C1', 'C33': 'H0-C3'}),\n  ('partial repair guard 3',\n   [[['C46', 'Mason', 'Zed', 0], ['C28', 'strauss', 'Cara', 0], ['C11', 'Zhou', 'Li', 0],\n     ['C58', 'Mason', 'Amy', 1], ['C08', 'Strauß', 'Anna', 0], ['C07', 'Mason', 'amy', 0],\n     ['C09', 'Öberg', 'Ola', 1]],\n    [['H0', 1, 3]]],\n   {'C07': 'H0-A1',\n    'C46': 'H0-A3',\n    'C08': 'UNSEATED',\n    'C28': 'UNSEATED',\n    'C11': 'UNSEATED',\n    'C58': 'SEP-1',\n    'C09': 'SEP-2'}),\n  ('boundary control 4', [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 1]], [['H1', 1, 1]]],\n   {'C1': 'H1-A1', 'C2': 'SEP-1'}),\n  ('boundary control 5',\n   [[['C1', 'Adams', 'Eve', 0], ['C2', 'Baker', 'Al', 0], ['C3', 'Cole', 'Bo', 0]], [['H1', 3, 3]]],\n   {'C1': 'H1-A1', 'C2': 'H1-A3', 'C3': 'H1-C1'}),\n  ('normal control 6',\n   [[['C11', 'Mason', 'amy', 0], ['C85', 'Zhou', 'Li', 0], ['C29', 'adams', 'Dan', 0],\n     ['C31', 'Öberg', 'Ola', 1], ['C73', 'Adams', 'eve', 0]],\n    [['H0', 1, 2], ['H1', 1, 5]]],\n   {'C29': 'H0-A1', 'C73': 'H1-A1', 'C11': 'H1-A3', 'C85': 'H1-A5', 'C31': 'SEP-1'}),\n  ('normal control 7',\n   [[['C42', 'strauss', 'Cara', 0], ['C15', 'Mason', 'Zed', 0], ['C32', 'Zhou', 'Li', 0]], [['H0', 4, 2]]],\n   {'C15': 'H0-A1', 'C42': 'H0-C1', 'C32': 'UNSEATED'}),\n  ('normal control 8',\n   [[['C25', 'strauss', 'Cara', 0], ['C88', 'Mason', 'Amy', 1], ['C73', 'Adams', 'eve', 0]],\n    [['H0', 3, 5], ['H1', 2, 5]]],\n   {'C73': 'H0-A1', 'C25': 'H0-A3', 'C88': 'SEP-1'})]]\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":"Stipulated toy exam-timetabling rule set for a bounded model; it does not claim conformance with any institution's regulations or a benchmark specification, and it performs no search or optimisation. 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-exam-timetabling-constraints-alphabetical-alternate-seating-given-name-tie-break","generated_at":"2026-09-29T14:52:05.341217+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Seating plans are generated from the timetable's room allocation and must be deterministic and fair.","repair":"Break surname ties by case-folded given name, then id.","root_cause":"The sort key omits the given name.","sha256":"b4bd24b80bf48e3f56380fed4757b5b546e3db849cd09f2b680588f4c7313401","title":"Same-surname candidates ordered by id instead of given name · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.41,"exit_code":1,"observations":[{"actual":{"C13":"H0-A3","C28":"UNSEATED","C29":"UNSEATED","C31":"H0-A1","C34":"SEP-1","C35":"UNSEATED","C48":"UNSEATED","C53":"UNSEATED"},"check":"regression: given name tie break 1","expected":{"C13":"UNSEATED","C28":"H0-A1","C29":"UNSEATED","C31":"H0-A3","C34":"SEP-1","C35":"UNSEATED","C48":"UNSEATED","C53":"UNSEATED"},"passed":false},{"actual":{"C00":"H0-A3","C31":"H0-A5","C61":"H1-A1","C68":"H0-A1"},"check":"regression variant: given name tie break 2","expected":{"C00":"H0-A3","C31":"H0-A5","C61":"H1-A1","C68":"H0-A1"},"passed":true},{"actual":{"C28":"UNSEATED","C35":"H0-A1","C45":"H0-C1","C58":"H1-E1","C61":"H1-A1","C93":"H1-C1"},"check":"partial repair guard 3","expected":{"C28":"UNSEATED","C35":"H0-A1","C45":"H1-A1","C58":"H1-E1","C61":"H0-C1","C93":"H1-C1"},"passed":false},{"actual":{"C1":"H1-A1","C2":"SEP-1"},"check":"boundary control 4","expected":{"C1":"H1-A1","C2":"SEP-1"},"passed":true},{"actual":{"C1":"H1-A1","C2":"H1-A3","C3":"H1-C1"},"check":"boundary control 5","expected":{"C1":"H1-A1","C2":"H1-A3","C3":"H1-C1"},"passed":true},{"actual":{"C45":"H0-C1","C56":"SEP-1","C58":"H0-E1","C69":"H0-A1","C99":"UNSEATED"},"check":"normal control 6","expected":{"C45":"H0-C1","C56":"SEP-1","C58":"H0-E1","C69":"H0-A1","C99":"UNSEATED"},"passed":true},{"actual":{"C01":"SEP-1","C02":"H0-A1","C07":"H0-A3","C70":"UNSEATED"},"check":"normal control 7","expected":{"C01":"SEP-1","C02":"H0-A1","C07":"H0-A3","C70":"UNSEATED"},"passed":true},{"actual":{"C08":"H0-A1","C59":"H0-C1","C83":"SEP-1"},"check":"normal control 8","expected":{"C08":"H0-A1","C59":"H0-C1","C83":"SEP-1"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: given name tie break 1\", \"actual\": {\"C31\": \"H0-A1\", \"C13\": \"H0-A3\", \"C28\": \"UNSEATED\", \"C48\": \"UNSEATED\", \"C29\": \"UNSEATED\", \"C35\": \"UNSEATED\", \"C53\": \"UNSEATED\", \"C34\": \"SEP-1\"}, \"expected\": {\"C28\": \"H0-A1\", \"C31\": \"H0-A3\", \"C13\": \"UNSEATED\", \"C48\": \"UNSEATED\", \"C29\": \"UNSEATED\", \"C35\": \"UNSEATED\", \"C53\": \"UNSEATED\", \"C34\": \"SEP-1\"}, \"passed\": false}, {\"check\": \"regression variant: given name tie break 2\", \"actual\": {\"C68\": \"H0-A1\", \"C00\": \"H0-A3\", \"C31\": \"H0-A5\", \"C61\": \"H1-A1\"}, \"expected\": {\"C68\": \"H0-A1\", \"C00\": \"H0-A3\", \"C31\": \"H0-A5\", \"C61\": \"H1-A1\"}, \"passed\": true}, {\"check\": \"partial repair guard 3\", \"actual\": {\"C35\": \"H0-A1\", \"C45\": \"H0-C1\", \"C61\": \"H1-A1\", \"C93\": \"H1-C1\", \"C58\": \"H1-E1\", \"C28\": \"UNSEATED\"}, \"expected\": {\"C35\": \"H0-A1\", \"C61\": \"H0-C1\", \"C45\": \"H1-A1\", \"C93\": \"H1-C1\", \"C58\": \"H1-E1\", \"C28\": \"UNSEATED\"}, \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": {\"C1\": \"H1-A1\", \"C2\": \"SEP-1\"}, \"expected\": {\"C1\": \"H1-A1\", \"C2\": \"SEP-1\"}, \"passed\": true}, {\"check\": \"boundary control 5\", \"actual\": {\"C1\": \"H1-A1\", \"C2\": \"H1-A3\", \"C3\": \"H1-C1\"}, \"expected\": {\"C1\": \"H1-A1\", \"C2\": \"H1-A3\", \"C3\": \"H1-C1\"}, \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": {\"C69\": \"H0-A1\", \"C45\": \"H0-C1\", \"C58\": \"H0-E1\", \"C99\": \"UNSEATED\", \"C56\": \"SEP-1\"}, \"expected\": {\"C69\": \"H0-A1\", \"C45\": \"H0-C1\", \"C58\": \"H0-E1\", \"C99\": \"UNSEATED\", \"C56\": \"SEP-1\"}, \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": {\"C02\": \"H0-A1\", \"C07\": \"H0-A3\", \"C70\": \"UNSEATED\", \"C01\": \"SEP-1\"}, \"expected\": {\"C02\": \"H0-A1\", \"C07\": \"H0-A3\", \"C70\": \"UNSEATED\", \"C01\": \"SEP-1\"}, \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": {\"C08\": \"H0-A1\", \"C59\": \"H0-C1\", \"C83\": \"SEP-1\"}, \"expected\": {\"C08\": \"H0-A1\", \"C59\": \"H0-C1\", \"C83\": \"SEP-1\"}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.199,"exit_code":1,"observations":[{"actual":{"C13":"H0-A1","C28":"H0-A3","C29":"UNSEATED","C31":"UNSEATED","C34":"SEP-1","C35":"UNSEATED","C48":"UNSEATED","C53":"UNSEATED"},"check":"regression: given name tie break 1","expected":{"C13":"UNSEATED","C28":"H0-A1","C29":"UNSEATED","C31":"H0-A3","C34":"SEP-1","C35":"UNSEATED","C48":"UNSEATED","C53":"UNSEATED"},"passed":false},{"actual":{"C00":"H0-A1","C31":"H0-A5","C61":"H1-A1","C68":"H0-A3"},"check":"regression variant: given name tie break 2","expected":{"C00":"H0-A3","C31":"H0-A5","C61":"H1-A1","C68":"H0-A1"},"passed":false},{"actual":{"C28":"UNSEATED","C35":"H0-A1","C45":"H0-C1","C58":"H1-E1","C61":"H1-A1","C93":"H1-C1"},"check":"partial repair guard 3","expected":{"C28":"UNSEATED","C35":"H0-A1","C45":"H1-A1","C58":"H1-E1","C61":"H0-C1","C93":"H1-C1"},"passed":false},{"actual":{"C1":"H1-A1","C2":"SEP-1"},"check":"boundary control 4","expected":{"C1":"H1-A1","C2":"SEP-1"},"passed":true},{"actual":{"C1":"H1-A1","C2":"H1-A3","C3":"H1-C1"},"check":"boundary control 5","expected":{"C1":"H1-A1","C2":"H1-A3","C3":"H1-C1"},"passed":true},{"actual":{"C45":"H0-C1","C56":"SEP-1","C58":"H0-E1","C69":"H0-A1","C99":"UNSEATED"},"check":"normal control 6","expected":{"C45":"H0-C1","C56":"SEP-1","C58":"H0-E1","C69":"H0-A1","C99":"UNSEATED"},"passed":true},{"actual":{"C01":"SEP-1","C02":"H0-A1","C07":"H0-A3","C70":"UNSEATED"},"check":"normal control 7","expected":{"C01":"SEP-1","C02":"H0-A1","C07":"H0-A3","C70":"UNSEATED"},"passed":true},{"actual":{"C08":"H0-A1","C59":"H0-C1","C83":"SEP-1"},"check":"normal control 8","expected":{"C08":"H0-A1","C59":"H0-C1","C83":"SEP-1"},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: given name tie break 1\", \"actual\": {\"C13\": \"H0-A1\", \"C28\": \"H0-A3\", \"C31\": \"UNSEATED\", \"C48\": \"UNSEATED\", \"C29\": \"UNSEATED\", \"C35\": \"UNSEATED\", \"C53\": \"UNSEATED\", \"C34\": \"SEP-1\"}, \"expected\": {\"C28\": \"H0-A1\", \"C31\": \"H0-A3\", \"C13\": \"UNSEATED\", \"C48\": \"UNSEATED\", \"C29\": \"UNSEATED\", \"C35\": \"UNSEATED\", \"C53\": \"UNSEATED\", \"C34\": \"SEP-1\"}, \"passed\": false}, {\"check\": \"regression variant: given name tie break 2\", \"actual\": {\"C00\": \"H0-A1\", \"C68\": \"H0-A3\", \"C31\": \"H0-A5\", \"C61\": \"H1-A1\"}, \"expected\": {\"C68\": \"H0-A1\", \"C00\": \"H0-A3\", \"C31\": \"H0-A5\", \"C61\": \"H1-A1\"}, \"passed\": false}, {\"check\": \"partial repair guard 3\", \"actual\": {\"C35\": \"H0-A1\", \"C45\": \"H0-C1\", \"C61\": \"H1-A1\", \"C93\": \"H1-C1\", \"C58\": \"H1-E1\", \"C28\": \"UNSEATED\"}, \"expected\": {\"C35\": \"H0-A1\", \"C61\": \"H0-C1\", \"C45\": \"H1-A1\", \"C93\": \"H1-C1\", \"C58\": \"H1-E1\", \"C28\": \"UNSEATED\"}, \"passed\": false}, {\"check\": \"boundary control 4\", \"actual\": {\"C1\": \"H1-A1\", \"C2\": \"SEP-1\"}, \"expected\": {\"C1\": \"H1-A1\", \"C2\": \"SEP-1\"}, \"passed\": true}, {\"check\": \"boundary control 5\", \"actual\": {\"C1\": \"H1-A1\", \"C2\": \"H1-A3\", \"C3\": \"H1-C1\"}, \"expected\": {\"C1\": \"H1-A1\", \"C2\": \"H1-A3\", \"C3\": \"H1-C1\"}, \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": {\"C69\": \"H0-A1\", \"C45\": \"H0-C1\", \"C58\": \"H0-E1\", \"C99\": \"UNSEATED\", \"C56\": \"SEP-1\"}, \"expected\": {\"C69\": \"H0-A1\", \"C45\": \"H0-C1\", \"C58\": \"H0-E1\", \"C99\": \"UNSEATED\", \"C56\": \"SEP-1\"}, \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": {\"C02\": \"H0-A1\", \"C07\": \"H0-A3\", \"C70\": \"UNSEATED\", \"C01\": \"SEP-1\"}, \"expected\": {\"C02\": \"H0-A1\", \"C07\": \"H0-A3\", \"C70\": \"UNSEATED\", \"C01\": \"SEP-1\"}, \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": {\"C08\": \"H0-A1\", \"C59\": \"H0-C1\", \"C83\": \"SEP-1\"}, \"expected\": {\"C08\": \"H0-A1\", \"C59\": \"H0-C1\", \"C83\": \"SEP-1\"}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.349,"exit_code":0,"observations":[{"actual":{"C13":"UNSEATED","C28":"H0-A1","C29":"UNSEATED","C31":"H0-A3","C34":"SEP-1","C35":"UNSEATED","C48":"UNSEATED","C53":"UNSEATED"},"check":"regression: given name tie break 1","expected":{"C13":"UNSEATED","C28":"H0-A1","C29":"UNSEATED","C31":"H0-A3","C34":"SEP-1","C35":"UNSEATED","C48":"UNSEATED","C53":"UNSEATED"},"passed":true},{"actual":{"C00":"H0-A3","C31":"H0-A5","C61":"H1-A1","C68":"H0-A1"},"check":"regression variant: given name tie break 2","expected":{"C00":"H0-A3","C31":"H0-A5","C61":"H1-A1","C68":"H0-A1"},"passed":true},{"actual":{"C28":"UNSEATED","C35":"H0-A1","C45":"H1-A1","C58":"H1-E1","C61":"H0-C1","C93":"H1-C1"},"check":"partial repair guard 3","expected":{"C28":"UNSEATED","C35":"H0-A1","C45":"H1-A1","C58":"H1-E1","C61":"H0-C1","C93":"H1-C1"},"passed":true},{"actual":{"C1":"H1-A1","C2":"SEP-1"},"check":"boundary control 4","expected":{"C1":"H1-A1","C2":"SEP-1"},"passed":true},{"actual":{"C1":"H1-A1","C2":"H1-A3","C3":"H1-C1"},"check":"boundary control 5","expected":{"C1":"H1-A1","C2":"H1-A3","C3":"H1-C1"},"passed":true},{"actual":{"C45":"H0-C1","C56":"SEP-1","C58":"H0-E1","C69":"H0-A1","C99":"UNSEATED"},"check":"normal control 6","expected":{"C45":"H0-C1","C56":"SEP-1","C58":"H0-E1","C69":"H0-A1","C99":"UNSEATED"},"passed":true},{"actual":{"C01":"SEP-1","C02":"H0-A1","C07":"H0-A3","C70":"UNSEATED"},"check":"normal control 7","expected":{"C01":"SEP-1","C02":"H0-A1","C07":"H0-A3","C70":"UNSEATED"},"passed":true},{"actual":{"C08":"H0-A1","C59":"H0-C1","C83":"SEP-1"},"check":"normal control 8","expected":{"C08":"H0-A1","C59":"H0-C1","C83":"SEP-1"},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: given name tie break 1\", \"actual\": {\"C28\": \"H0-A1\", \"C31\": \"H0-A3\", \"C13\": \"UNSEATED\", \"C48\": \"UNSEATED\", \"C29\": \"UNSEATED\", \"C35\": \"UNSEATED\", \"C53\": \"UNSEATED\", \"C34\": \"SEP-1\"}, \"expected\": {\"C28\": \"H0-A1\", \"C31\": \"H0-A3\", \"C13\": \"UNSEATED\", \"C48\": \"UNSEATED\", \"C29\": \"UNSEATED\", \"C35\": \"UNSEATED\", \"C53\": \"UNSEATED\", \"C34\": \"SEP-1\"}, \"passed\": true}, {\"check\": \"regression variant: given name tie break 2\", \"actual\": {\"C68\": \"H0-A1\", \"C00\": \"H0-A3\", \"C31\": \"H0-A5\", \"C61\": \"H1-A1\"}, \"expected\": {\"C68\": \"H0-A1\", \"C00\": \"H0-A3\", \"C31\": \"H0-A5\", \"C61\": \"H1-A1\"}, \"passed\": true}, {\"check\": \"partial repair guard 3\", \"actual\": {\"C35\": \"H0-A1\", \"C61\": \"H0-C1\", \"C45\": \"H1-A1\", \"C93\": \"H1-C1\", \"C58\": \"H1-E1\", \"C28\": \"UNSEATED\"}, \"expected\": {\"C35\": \"H0-A1\", \"C61\": \"H0-C1\", \"C45\": \"H1-A1\", \"C93\": \"H1-C1\", \"C58\": \"H1-E1\", \"C28\": \"UNSEATED\"}, \"passed\": true}, {\"check\": \"boundary control 4\", \"actual\": {\"C1\": \"H1-A1\", \"C2\": \"SEP-1\"}, \"expected\": {\"C1\": \"H1-A1\", \"C2\": \"SEP-1\"}, \"passed\": true}, {\"check\": \"boundary control 5\", \"actual\": {\"C1\": \"H1-A1\", \"C2\": \"H1-A3\", \"C3\": \"H1-C1\"}, \"expected\": {\"C1\": \"H1-A1\", \"C2\": \"H1-A3\", \"C3\": \"H1-C1\"}, \"passed\": true}, {\"check\": \"normal control 6\", \"actual\": {\"C69\": \"H0-A1\", \"C45\": \"H0-C1\", \"C58\": \"H0-E1\", \"C99\": \"UNSEATED\", \"C56\": \"SEP-1\"}, \"expected\": {\"C69\": \"H0-A1\", \"C45\": \"H0-C1\", \"C58\": \"H0-E1\", \"C99\": \"UNSEATED\", \"C56\": \"SEP-1\"}, \"passed\": true}, {\"check\": \"normal control 7\", \"actual\": {\"C02\": \"H0-A1\", \"C07\": \"H0-A3\", \"C70\": \"UNSEATED\", \"C01\": \"SEP-1\"}, \"expected\": {\"C02\": \"H0-A1\", \"C07\": \"H0-A3\", \"C70\": \"UNSEATED\", \"C01\": \"SEP-1\"}, \"passed\": true}, {\"check\": \"normal control 8\", \"actual\": {\"C08\": \"H0-A1\", \"C59\": \"H0-C1\", \"C83\": \"SEP-1\"}, \"expected\": {\"C08\": \"H0-A1\", \"C59\": \"H0-C1\", \"C83\": \"SEP-1\"}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}