{"abstract":"Non-existent terminal buttons register calls that no car will answer.","category":"Elevator dispatch scheduling","checks":8,"contract":"Hall buttons exist on floors 0..floors-1, except no up button at the top floor and no down button at the bottom floor; other presses are ignored. A registered call lights. A car arriving at a floor serves calls matching its direction; an idle car or a car arriving at a terminal floor (where it must reverse) serves both directions. Log lit/ignored and served:<dirs> (sorted), and list pending calls sorted.","evaluation_group":"w2-elevator_dispatch_scheduling-hall-button-lamps","failed_approach":"Rejecting only the top floor still accepts a down call at the lobby.","family":"w2-elevator_dispatch_scheduling-hall-button-lamps-terminal-button-validity","id":"FA-67781","implementations":{"attempt":{"sha256":"bb128feaf618a80b6f1998fc4d9d0ca5a8ddfa0f39198d6916fbc4e761adeb95","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    top = x['floors'] - 1\n    calls = set()\n    out = []\n    for kind, f, d in x['events']:\n        if kind == 'press':\n            if not (0 <= f <= top) or (f == top and d == 'up'):\n                out.append('ignored')\n                continue\n            calls.add((f, d))\n            out.append('lit')\n        else:\n            both = d == 'idle' or f in (0, top)\n            served = sorted(c for c in calls if c[0] == f and (both or c[1] == d))\n            for c in served:\n                calls.discard(c)\n            out.append('served:' + ','.join(c[1] for c in served))\n    return {'log': out, 'pending': sorted([list(c) for c in calls])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 11', {'floors': 9, 'events': [['arrive', 2, 'down'], ['arrive', 5, 'idle'], ['press', 8, 'down'], ['press', 9, 'up'], ['press', 5, 'down'], ['press', 4, 'down'], ['press', 8, 'up'], ['press', 9, 'down']]}, {'log': ['served:', 'served:', 'lit', 'ignored', 'lit', 'lit', 'ignored', 'ignored'], 'pending': [[4, 'down'], [5, 'down'], [8, 'down']]}), ('sampled regression 4', {'floors': 6, 'events': [['arrive', 2, 'up'], ['press', 1, 'up'], ['press', 5, 'down'], ['press', 1, 'down'], ['arrive', 4, 'up'], ['arrive', 3, 'up'], ['arrive', 0, 'idle'], ['arrive', 0, 'idle'], ['arrive', 5, 'down'], ['press', 0, 'down']]}, {'log': ['served:', 'lit', 'lit', 'lit', 'served:', 'served:', 'served:', 'served:', 'served:down', 'ignored'], 'pending': [[1, 'down'], [1, 'up']]}), ('boundary: idle car serves both lamps', {'floors': 6, 'events': [['press', 3, 'up'], ['press', 3, 'down'], ['arrive', 3, 'idle']]}, {'log': ['lit', 'lit', 'served:down,up'], 'pending': []}), ('control 1', {'floors': 5, 'events': [['press', -1, 'down'], ['press', 4, 'down'], ['press', 4, 'down'], ['arrive', 3, 'idle'], ['press', 0, 'up'], ['press', 1, 'down'], ['press', 2, 'up'], ['arrive', 4, 'up']]}, {'log': ['ignored', 'lit', 'lit', 'served:', 'lit', 'lit', 'lit', 'served:down'], 'pending': [[0, 'up'], [1, 'down'], [2, 'up']]}), ('control 7', {'floors': 5, 'events': [['arrive', 4, 'idle'], ['press', 3, 'down'], ['arrive', 2, 'down'], ['arrive', 3, 'idle'], ['arrive', 3, 'up'], ['press', 1, 'down']]}, {'log': ['served:', 'lit', 'served:', 'served:down', 'served:', 'lit'], 'pending': [[1, 'down']]}), ('control 10', {'floors': 10, 'events': [['press', 7, 'down'], ['press', 3, 'up'], ['press', 3, 'up']]}, {'log': ['lit', 'lit', 'lit'], 'pending': [[3, 'up'], [7, 'down']]})], [('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 23', {'floors': 10, 'events': [['press', 5, 'up'], ['press', 1, 'up'], ['arrive', 9, 'up'], ['arrive', 9, 'idle'], ['press', 9, 'up'], ['press', 9, 'up'], ['arrive', 1, 'down'], ['arrive', 9, 'up'], ['press', 4, 'up'], ['press', 4, 'down']]}, {'log': ['lit', 'lit', 'served:', 'served:', 'ignored', 'ignored', 'served:', 'served:', 'lit', 'lit'], 'pending': [[1, 'up'], [4, 'down'], [4, 'up'], [5, 'up']]}), ('sampled regression 26', {'floors': 5, 'events': [['press', 4, 'down'], ['press', 0, 'down'], ['arrive', 0, 'up'], ['press', 3, 'up'], ['press', 3, 'up'], ['press', 0, 'up'], ['arrive', 4, 'idle'], ['arrive', 0, 'down'], ['press', 4, 'down']]}, {'log': ['lit', 'ignored', 'served:', 'lit', 'lit', 'lit', 'served:down', 'served:up', 'lit'], 'pending': [[3, 'up'], [4, 'down']]}), ('boundary: idle car serves both lamps', {'floors': 6, 'events': [['press', 3, 'up'], ['press', 3, 'down'], ['arrive', 3, 'idle']]}, {'log': ['lit', 'lit', 'served:down,up'], 'pending': []}), ('boundary: up car at the top floor reverses', {'floors': 6, 'events': [['press', 5, 'down'], ['arrive', 5, 'up']]}, {'log': ['lit', 'served:down'], 'pending': []}), ('sampled regression 12', {'floors': 7, 'events': [['press', 5, 'up'], ['press', 6, 'down'], ['arrive', 2, 'idle'], ['arrive', 5, 'down'], ['press', 6, 'up']]}, {'log': ['lit', 'lit', 'served:', 'served:', 'ignored'], 'pending': [[5, 'up'], [6, 'down']]}), ('sampled regression 15', {'floors': 10, 'events': [['press', 9, 'up'], ['arrive', 5, 'down'], ['arrive', 9, 'up'], ['press', 0, 'down'], ['press', 10, 'down'], ['press', 2, 'down']]}, {'log': ['ignored', 'served:', 'served:', 'ignored', 'ignored', 'lit'], 'pending': [[2, 'down']]}), ('sampled regression 18', {'floors': 9, 'events': [['press', 5, 'down'], ['press', 1, 'down'], ['press', 7, 'down'], ['arrive', 0, 'up'], ['arrive', 3, 'up'], ['press', 7, 'up'], ['press', 5, 'up'], ['press', 8, 'up'], ['arrive', 8, 'up']]}, {'log': ['lit', 'lit', 'lit', 'served:', 'served:', 'lit', 'lit', 'ignored', 'served:'], 'pending': [[1, 'down'], [5, 'down'], [5, 'up'], [7, 'down'], [7, 'up']]})], [('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 36', {'floors': 9, 'events': [['press', 5, 'down'], ['press', -1, 'down'], ['press', 0, 'down']]}, {'log': ['lit', 'ignored', 'ignored'], 'pending': [[5, 'down']]}), ('sampled regression 54', {'floors': 9, 'events': [['press', 3, 'down'], ['press', 7, 'down'], ['arrive', 2, 'idle'], ['press', 4, 'down'], ['arrive', 0, 'idle'], ['press', 1, 'down'], ['arrive', 4, 'down'], ['press', 8, 'up'], ['press', 0, 'down'], ['press', 3, 'down']]}, {'log': ['lit', 'lit', 'served:', 'lit', 'served:', 'lit', 'served:down', 'ignored', 'ignored', 'lit'], 'pending': [[1, 'down'], [3, 'down'], [7, 'down']]}), ('boundary: down car at the lobby reverses', {'floors': 6, 'events': [['press', 0, 'up'], ['arrive', 0, 'down']]}, {'log': ['lit', 'served:up'], 'pending': []}), ('sampled regression 23', {'floors': 10, 'events': [['press', 5, 'up'], ['press', 1, 'up'], ['arrive', 9, 'up'], ['arrive', 9, 'idle'], ['press', 9, 'up'], ['press', 9, 'up'], ['arrive', 1, 'down'], ['arrive', 9, 'up'], ['press', 4, 'up'], ['press', 4, 'down']]}, {'log': ['lit', 'lit', 'served:', 'served:', 'ignored', 'ignored', 'served:', 'served:', 'lit', 'lit'], 'pending': [[1, 'up'], [4, 'down'], [4, 'up'], [5, 'up']]}), ('sampled regression 26', {'floors': 5, 'events': [['press', 4, 'down'], ['press', 0, 'down'], ['arrive', 0, 'up'], ['press', 3, 'up'], ['press', 3, 'up'], ['press', 0, 'up'], ['arrive', 4, 'idle'], ['arrive', 0, 'down'], ['press', 4, 'down']]}, {'log': ['lit', 'ignored', 'served:', 'lit', 'lit', 'lit', 'served:down', 'served:up', 'lit'], 'pending': [[3, 'up'], [4, 'down']]}), ('sampled regression 29', {'floors': 6, 'events': [['press', 0, 'up'], ['arrive', 0, 'idle'], ['press', 5, 'up'], ['press', 6, 'down'], ['press', 0, 'up'], ['arrive', 5, 'down']]}, {'log': ['lit', 'served:up', 'ignored', 'ignored', 'lit', 'served:'], 'pending': [[0, 'up']]})], [('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 56', {'floors': 5, 'events': [['arrive', 3, 'down'], ['press', 2, 'up'], ['press', 0, 'down'], ['press', 4, 'down'], ['arrive', 0, 'up'], ['press', 0, 'down'], ['arrive', 1, 'down'], ['press', 4, 'up'], ['press', 5, 'down'], ['arrive', 4, 'up']]}, {'log': ['served:', 'lit', 'ignored', 'lit', 'served:', 'ignored', 'served:', 'ignored', 'ignored', 'served:down'], 'pending': [[2, 'up']]}), ('sampled regression 61', {'floors': 7, 'events': [['arrive', 5, 'up'], ['press', 0, 'down'], ['press', 6, 'up'], ['press', 0, 'down'], ['arrive', 6, 'down'], ['arrive', 2, 'down'], ['press', 3, 'up'], ['press', 0, 'down']]}, {'log': ['served:', 'ignored', 'ignored', 'ignored', 'served:', 'served:', 'lit', 'ignored'], 'pending': [[3, 'up']]}), ('boundary: passing car in the other direction', {'floors': 6, 'events': [['press', 2, 'down'], ['arrive', 2, 'up']]}, {'log': ['lit', 'served:'], 'pending': [[2, 'down']]}), ('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('sampled regression 34', {'floors': 5, 'events': [['arrive', 3, 'up'], ['arrive', 0, 'idle'], ['arrive', 3, 'idle'], ['arrive', 1, 'idle'], ['arrive', 0, 'down'], ['arrive', 2, 'down'], ['arrive', 1, 'down'], ['press', 1, 'down'], ['press', 4, 'up'], ['arrive', 3, 'down']]}, {'log': ['served:', 'served:', 'served:', 'served:', 'served:', 'served:', 'served:', 'lit', 'ignored', 'served:'], 'pending': [[1, 'down']]}), ('control 37', {'floors': 7, 'events': [['arrive', 4, 'up'], ['press', 1, 'up'], ['arrive', 2, 'down'], ['press', 4, 'down'], ['arrive', 0, 'idle'], ['press', 4, 'down']]}, {'log': ['served:', 'lit', 'served:', 'lit', 'served:', 'lit'], 'pending': [[1, 'up'], [4, 'down']]}), ('control 40', {'floors': 9, 'events': [['arrive', 1, 'idle'], ['press', 7, 'down'], ['arrive', 0, 'down'], ['press', -1, 'up']]}, {'log': ['served:', 'lit', 'served:', 'ignored'], 'pending': [[7, 'down']]})], [('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 67', {'floors': 5, 'events': [['arrive', 1, 'idle'], ['press', 4, 'up'], ['press', 5, 'up'], ['press', 1, 'down'], ['press', 1, 'up'], ['press', 2, 'up'], ['arrive', 3, 'idle']]}, {'log': ['served:', 'ignored', 'ignored', 'lit', 'lit', 'lit', 'served:'], 'pending': [[1, 'down'], [1, 'up'], [2, 'up']]}), ('boundary: idle car serves both lamps', {'floors': 6, 'events': [['press', 3, 'up'], ['press', 3, 'down'], ['arrive', 3, 'idle']]}, {'log': ['lit', 'lit', 'served:down,up'], 'pending': []}), ('boundary: up car at the top floor reverses', {'floors': 6, 'events': [['press', 5, 'down'], ['arrive', 5, 'up']]}, {'log': ['lit', 'served:down'], 'pending': []}), ('control 45', {'floors': 5, 'events': [['arrive', 4, 'up'], ['arrive', 2, 'up'], ['press', -1, 'up'], ['press', 4, 'down'], ['press', 3, 'up'], ['press', 4, 'down'], ['arrive', 2, 'up']]}, {'log': ['served:', 'served:', 'ignored', 'lit', 'lit', 'lit', 'served:'], 'pending': [[3, 'up'], [4, 'down']]}), ('control 48', {'floors': 9, 'events': [['arrive', 8, 'idle'], ['press', 2, 'down'], ['press', 2, 'down'], ['press', 9, 'down'], ['press', -1, 'up'], ['arrive', 0, 'idle'], ['press', 8, 'down']]}, {'log': ['served:', 'lit', 'lit', 'ignored', 'ignored', 'served:', 'lit'], 'pending': [[2, 'down'], [8, 'down']]}), ('control 51', {'floors': 7, 'events': [['press', 7, 'down'], ['press', 4, 'down'], ['press', 6, 'down']]}, {'log': ['ignored', 'lit', 'lit'], 'pending': [[4, 'down'], [6, 'down']]})]]\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":"0b8ce941a46c2df28a994754906971b0435fdbb68d2ad3b064d111fd0d78ede5","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    top = x['floors'] - 1\n    calls = set()\n    out = []\n    for kind, f, d in x['events']:\n        if kind == 'press':\n            if not (0 <= f <= top) :\n                out.append('ignored')\n                continue\n            calls.add((f, d))\n            out.append('lit')\n        else:\n            both = d == 'idle' or f in (0, top)\n            served = sorted(c for c in calls if c[0] == f and (both or c[1] == d))\n            for c in served:\n                calls.discard(c)\n            out.append('served:' + ','.join(c[1] for c in served))\n    return {'log': out, 'pending': sorted([list(c) for c in calls])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 11', {'floors': 9, 'events': [['arrive', 2, 'down'], ['arrive', 5, 'idle'], ['press', 8, 'down'], ['press', 9, 'up'], ['press', 5, 'down'], ['press', 4, 'down'], ['press', 8, 'up'], ['press', 9, 'down']]}, {'log': ['served:', 'served:', 'lit', 'ignored', 'lit', 'lit', 'ignored', 'ignored'], 'pending': [[4, 'down'], [5, 'down'], [8, 'down']]}), ('sampled regression 4', {'floors': 6, 'events': [['arrive', 2, 'up'], ['press', 1, 'up'], ['press', 5, 'down'], ['press', 1, 'down'], ['arrive', 4, 'up'], ['arrive', 3, 'up'], ['arrive', 0, 'idle'], ['arrive', 0, 'idle'], ['arrive', 5, 'down'], ['press', 0, 'down']]}, {'log': ['served:', 'lit', 'lit', 'lit', 'served:', 'served:', 'served:', 'served:', 'served:down', 'ignored'], 'pending': [[1, 'down'], [1, 'up']]}), ('boundary: idle car serves both lamps', {'floors': 6, 'events': [['press', 3, 'up'], ['press', 3, 'down'], ['arrive', 3, 'idle']]}, {'log': ['lit', 'lit', 'served:down,up'], 'pending': []}), ('control 1', {'floors': 5, 'events': [['press', -1, 'down'], ['press', 4, 'down'], ['press', 4, 'down'], ['arrive', 3, 'idle'], ['press', 0, 'up'], ['press', 1, 'down'], ['press', 2, 'up'], ['arrive', 4, 'up']]}, {'log': ['ignored', 'lit', 'lit', 'served:', 'lit', 'lit', 'lit', 'served:down'], 'pending': [[0, 'up'], [1, 'down'], [2, 'up']]}), ('control 7', {'floors': 5, 'events': [['arrive', 4, 'idle'], ['press', 3, 'down'], ['arrive', 2, 'down'], ['arrive', 3, 'idle'], ['arrive', 3, 'up'], ['press', 1, 'down']]}, {'log': ['served:', 'lit', 'served:', 'served:down', 'served:', 'lit'], 'pending': [[1, 'down']]}), ('control 10', {'floors': 10, 'events': [['press', 7, 'down'], ['press', 3, 'up'], ['press', 3, 'up']]}, {'log': ['lit', 'lit', 'lit'], 'pending': [[3, 'up'], [7, 'down']]})], [('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 23', {'floors': 10, 'events': [['press', 5, 'up'], ['press', 1, 'up'], ['arrive', 9, 'up'], ['arrive', 9, 'idle'], ['press', 9, 'up'], ['press', 9, 'up'], ['arrive', 1, 'down'], ['arrive', 9, 'up'], ['press', 4, 'up'], ['press', 4, 'down']]}, {'log': ['lit', 'lit', 'served:', 'served:', 'ignored', 'ignored', 'served:', 'served:', 'lit', 'lit'], 'pending': [[1, 'up'], [4, 'down'], [4, 'up'], [5, 'up']]}), ('sampled regression 26', {'floors': 5, 'events': [['press', 4, 'down'], ['press', 0, 'down'], ['arrive', 0, 'up'], ['press', 3, 'up'], ['press', 3, 'up'], ['press', 0, 'up'], ['arrive', 4, 'idle'], ['arrive', 0, 'down'], ['press', 4, 'down']]}, {'log': ['lit', 'ignored', 'served:', 'lit', 'lit', 'lit', 'served:down', 'served:up', 'lit'], 'pending': [[3, 'up'], [4, 'down']]}), ('boundary: idle car serves both lamps', {'floors': 6, 'events': [['press', 3, 'up'], ['press', 3, 'down'], ['arrive', 3, 'idle']]}, {'log': ['lit', 'lit', 'served:down,up'], 'pending': []}), ('boundary: up car at the top floor reverses', {'floors': 6, 'events': [['press', 5, 'down'], ['arrive', 5, 'up']]}, {'log': ['lit', 'served:down'], 'pending': []}), ('sampled regression 12', {'floors': 7, 'events': [['press', 5, 'up'], ['press', 6, 'down'], ['arrive', 2, 'idle'], ['arrive', 5, 'down'], ['press', 6, 'up']]}, {'log': ['lit', 'lit', 'served:', 'served:', 'ignored'], 'pending': [[5, 'up'], [6, 'down']]}), ('sampled regression 15', {'floors': 10, 'events': [['press', 9, 'up'], ['arrive', 5, 'down'], ['arrive', 9, 'up'], ['press', 0, 'down'], ['press', 10, 'down'], ['press', 2, 'down']]}, {'log': ['ignored', 'served:', 'served:', 'ignored', 'ignored', 'lit'], 'pending': [[2, 'down']]}), ('sampled regression 18', {'floors': 9, 'events': [['press', 5, 'down'], ['press', 1, 'down'], ['press', 7, 'down'], ['arrive', 0, 'up'], ['arrive', 3, 'up'], ['press', 7, 'up'], ['press', 5, 'up'], ['press', 8, 'up'], ['arrive', 8, 'up']]}, {'log': ['lit', 'lit', 'lit', 'served:', 'served:', 'lit', 'lit', 'ignored', 'served:'], 'pending': [[1, 'down'], [5, 'down'], [5, 'up'], [7, 'down'], [7, 'up']]})], [('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 36', {'floors': 9, 'events': [['press', 5, 'down'], ['press', -1, 'down'], ['press', 0, 'down']]}, {'log': ['lit', 'ignored', 'ignored'], 'pending': [[5, 'down']]}), ('sampled regression 54', {'floors': 9, 'events': [['press', 3, 'down'], ['press', 7, 'down'], ['arrive', 2, 'idle'], ['press', 4, 'down'], ['arrive', 0, 'idle'], ['press', 1, 'down'], ['arrive', 4, 'down'], ['press', 8, 'up'], ['press', 0, 'down'], ['press', 3, 'down']]}, {'log': ['lit', 'lit', 'served:', 'lit', 'served:', 'lit', 'served:down', 'ignored', 'ignored', 'lit'], 'pending': [[1, 'down'], [3, 'down'], [7, 'down']]}), ('boundary: down car at the lobby reverses', {'floors': 6, 'events': [['press', 0, 'up'], ['arrive', 0, 'down']]}, {'log': ['lit', 'served:up'], 'pending': []}), ('sampled regression 23', {'floors': 10, 'events': [['press', 5, 'up'], ['press', 1, 'up'], ['arrive', 9, 'up'], ['arrive', 9, 'idle'], ['press', 9, 'up'], ['press', 9, 'up'], ['arrive', 1, 'down'], ['arrive', 9, 'up'], ['press', 4, 'up'], ['press', 4, 'down']]}, {'log': ['lit', 'lit', 'served:', 'served:', 'ignored', 'ignored', 'served:', 'served:', 'lit', 'lit'], 'pending': [[1, 'up'], [4, 'down'], [4, 'up'], [5, 'up']]}), ('sampled regression 26', {'floors': 5, 'events': [['press', 4, 'down'], ['press', 0, 'down'], ['arrive', 0, 'up'], ['press', 3, 'up'], ['press', 3, 'up'], ['press', 0, 'up'], ['arrive', 4, 'idle'], ['arrive', 0, 'down'], ['press', 4, 'down']]}, {'log': ['lit', 'ignored', 'served:', 'lit', 'lit', 'lit', 'served:down', 'served:up', 'lit'], 'pending': [[3, 'up'], [4, 'down']]}), ('sampled regression 29', {'floors': 6, 'events': [['press', 0, 'up'], ['arrive', 0, 'idle'], ['press', 5, 'up'], ['press', 6, 'down'], ['press', 0, 'up'], ['arrive', 5, 'down']]}, {'log': ['lit', 'served:up', 'ignored', 'ignored', 'lit', 'served:'], 'pending': [[0, 'up']]})], [('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 56', {'floors': 5, 'events': [['arrive', 3, 'down'], ['press', 2, 'up'], ['press', 0, 'down'], ['press', 4, 'down'], ['arrive', 0, 'up'], ['press', 0, 'down'], ['arrive', 1, 'down'], ['press', 4, 'up'], ['press', 5, 'down'], ['arrive', 4, 'up']]}, {'log': ['served:', 'lit', 'ignored', 'lit', 'served:', 'ignored', 'served:', 'ignored', 'ignored', 'served:down'], 'pending': [[2, 'up']]}), ('sampled regression 61', {'floors': 7, 'events': [['arrive', 5, 'up'], ['press', 0, 'down'], ['press', 6, 'up'], ['press', 0, 'down'], ['arrive', 6, 'down'], ['arrive', 2, 'down'], ['press', 3, 'up'], ['press', 0, 'down']]}, {'log': ['served:', 'ignored', 'ignored', 'ignored', 'served:', 'served:', 'lit', 'ignored'], 'pending': [[3, 'up']]}), ('boundary: passing car in the other direction', {'floors': 6, 'events': [['press', 2, 'down'], ['arrive', 2, 'up']]}, {'log': ['lit', 'served:'], 'pending': [[2, 'down']]}), ('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('sampled regression 34', {'floors': 5, 'events': [['arrive', 3, 'up'], ['arrive', 0, 'idle'], ['arrive', 3, 'idle'], ['arrive', 1, 'idle'], ['arrive', 0, 'down'], ['arrive', 2, 'down'], ['arrive', 1, 'down'], ['press', 1, 'down'], ['press', 4, 'up'], ['arrive', 3, 'down']]}, {'log': ['served:', 'served:', 'served:', 'served:', 'served:', 'served:', 'served:', 'lit', 'ignored', 'served:'], 'pending': [[1, 'down']]}), ('control 37', {'floors': 7, 'events': [['arrive', 4, 'up'], ['press', 1, 'up'], ['arrive', 2, 'down'], ['press', 4, 'down'], ['arrive', 0, 'idle'], ['press', 4, 'down']]}, {'log': ['served:', 'lit', 'served:', 'lit', 'served:', 'lit'], 'pending': [[1, 'up'], [4, 'down']]}), ('control 40', {'floors': 9, 'events': [['arrive', 1, 'idle'], ['press', 7, 'down'], ['arrive', 0, 'down'], ['press', -1, 'up']]}, {'log': ['served:', 'lit', 'served:', 'ignored'], 'pending': [[7, 'down']]})], [('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 67', {'floors': 5, 'events': [['arrive', 1, 'idle'], ['press', 4, 'up'], ['press', 5, 'up'], ['press', 1, 'down'], ['press', 1, 'up'], ['press', 2, 'up'], ['arrive', 3, 'idle']]}, {'log': ['served:', 'ignored', 'ignored', 'lit', 'lit', 'lit', 'served:'], 'pending': [[1, 'down'], [1, 'up'], [2, 'up']]}), ('boundary: idle car serves both lamps', {'floors': 6, 'events': [['press', 3, 'up'], ['press', 3, 'down'], ['arrive', 3, 'idle']]}, {'log': ['lit', 'lit', 'served:down,up'], 'pending': []}), ('boundary: up car at the top floor reverses', {'floors': 6, 'events': [['press', 5, 'down'], ['arrive', 5, 'up']]}, {'log': ['lit', 'served:down'], 'pending': []}), ('control 45', {'floors': 5, 'events': [['arrive', 4, 'up'], ['arrive', 2, 'up'], ['press', -1, 'up'], ['press', 4, 'down'], ['press', 3, 'up'], ['press', 4, 'down'], ['arrive', 2, 'up']]}, {'log': ['served:', 'served:', 'ignored', 'lit', 'lit', 'lit', 'served:'], 'pending': [[3, 'up'], [4, 'down']]}), ('control 48', {'floors': 9, 'events': [['arrive', 8, 'idle'], ['press', 2, 'down'], ['press', 2, 'down'], ['press', 9, 'down'], ['press', -1, 'up'], ['arrive', 0, 'idle'], ['press', 8, 'down']]}, {'log': ['served:', 'lit', 'lit', 'ignored', 'ignored', 'served:', 'lit'], 'pending': [[2, 'down'], [8, 'down']]}), ('control 51', {'floors': 7, 'events': [['press', 7, 'down'], ['press', 4, 'down'], ['press', 6, 'down']]}, {'log': ['ignored', 'lit', 'lit'], 'pending': [[4, 'down'], [6, 'down']]})]]\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":"29f3314559a03a5b228c540d28aff8768e4323ceabcdf8fc628cd11b2298f4b8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    top = x['floors'] - 1\n    calls = set()\n    out = []\n    for kind, f, d in x['events']:\n        if kind == 'press':\n            if not (0 <= f <= top) or (f == top and d == 'up') or (f == 0 and d == 'down'):\n                out.append('ignored')\n                continue\n            calls.add((f, d))\n            out.append('lit')\n        else:\n            both = d == 'idle' or f in (0, top)\n            served = sorted(c for c in calls if c[0] == f and (both or c[1] == d))\n            for c in served:\n                calls.discard(c)\n            out.append('served:' + ','.join(c[1] for c in served))\n    return {'log': out, 'pending': sorted([list(c) for c in calls])}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 11', {'floors': 9, 'events': [['arrive', 2, 'down'], ['arrive', 5, 'idle'], ['press', 8, 'down'], ['press', 9, 'up'], ['press', 5, 'down'], ['press', 4, 'down'], ['press', 8, 'up'], ['press', 9, 'down']]}, {'log': ['served:', 'served:', 'lit', 'ignored', 'lit', 'lit', 'ignored', 'ignored'], 'pending': [[4, 'down'], [5, 'down'], [8, 'down']]}), ('sampled regression 4', {'floors': 6, 'events': [['arrive', 2, 'up'], ['press', 1, 'up'], ['press', 5, 'down'], ['press', 1, 'down'], ['arrive', 4, 'up'], ['arrive', 3, 'up'], ['arrive', 0, 'idle'], ['arrive', 0, 'idle'], ['arrive', 5, 'down'], ['press', 0, 'down']]}, {'log': ['served:', 'lit', 'lit', 'lit', 'served:', 'served:', 'served:', 'served:', 'served:down', 'ignored'], 'pending': [[1, 'down'], [1, 'up']]}), ('boundary: idle car serves both lamps', {'floors': 6, 'events': [['press', 3, 'up'], ['press', 3, 'down'], ['arrive', 3, 'idle']]}, {'log': ['lit', 'lit', 'served:down,up'], 'pending': []}), ('control 1', {'floors': 5, 'events': [['press', -1, 'down'], ['press', 4, 'down'], ['press', 4, 'down'], ['arrive', 3, 'idle'], ['press', 0, 'up'], ['press', 1, 'down'], ['press', 2, 'up'], ['arrive', 4, 'up']]}, {'log': ['ignored', 'lit', 'lit', 'served:', 'lit', 'lit', 'lit', 'served:down'], 'pending': [[0, 'up'], [1, 'down'], [2, 'up']]}), ('control 7', {'floors': 5, 'events': [['arrive', 4, 'idle'], ['press', 3, 'down'], ['arrive', 2, 'down'], ['arrive', 3, 'idle'], ['arrive', 3, 'up'], ['press', 1, 'down']]}, {'log': ['served:', 'lit', 'served:', 'served:down', 'served:', 'lit'], 'pending': [[1, 'down']]}), ('control 10', {'floors': 10, 'events': [['press', 7, 'down'], ['press', 3, 'up'], ['press', 3, 'up']]}, {'log': ['lit', 'lit', 'lit'], 'pending': [[3, 'up'], [7, 'down']]})], [('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 23', {'floors': 10, 'events': [['press', 5, 'up'], ['press', 1, 'up'], ['arrive', 9, 'up'], ['arrive', 9, 'idle'], ['press', 9, 'up'], ['press', 9, 'up'], ['arrive', 1, 'down'], ['arrive', 9, 'up'], ['press', 4, 'up'], ['press', 4, 'down']]}, {'log': ['lit', 'lit', 'served:', 'served:', 'ignored', 'ignored', 'served:', 'served:', 'lit', 'lit'], 'pending': [[1, 'up'], [4, 'down'], [4, 'up'], [5, 'up']]}), ('sampled regression 26', {'floors': 5, 'events': [['press', 4, 'down'], ['press', 0, 'down'], ['arrive', 0, 'up'], ['press', 3, 'up'], ['press', 3, 'up'], ['press', 0, 'up'], ['arrive', 4, 'idle'], ['arrive', 0, 'down'], ['press', 4, 'down']]}, {'log': ['lit', 'ignored', 'served:', 'lit', 'lit', 'lit', 'served:down', 'served:up', 'lit'], 'pending': [[3, 'up'], [4, 'down']]}), ('boundary: idle car serves both lamps', {'floors': 6, 'events': [['press', 3, 'up'], ['press', 3, 'down'], ['arrive', 3, 'idle']]}, {'log': ['lit', 'lit', 'served:down,up'], 'pending': []}), ('boundary: up car at the top floor reverses', {'floors': 6, 'events': [['press', 5, 'down'], ['arrive', 5, 'up']]}, {'log': ['lit', 'served:down'], 'pending': []}), ('sampled regression 12', {'floors': 7, 'events': [['press', 5, 'up'], ['press', 6, 'down'], ['arrive', 2, 'idle'], ['arrive', 5, 'down'], ['press', 6, 'up']]}, {'log': ['lit', 'lit', 'served:', 'served:', 'ignored'], 'pending': [[5, 'up'], [6, 'down']]}), ('sampled regression 15', {'floors': 10, 'events': [['press', 9, 'up'], ['arrive', 5, 'down'], ['arrive', 9, 'up'], ['press', 0, 'down'], ['press', 10, 'down'], ['press', 2, 'down']]}, {'log': ['ignored', 'served:', 'served:', 'ignored', 'ignored', 'lit'], 'pending': [[2, 'down']]}), ('sampled regression 18', {'floors': 9, 'events': [['press', 5, 'down'], ['press', 1, 'down'], ['press', 7, 'down'], ['arrive', 0, 'up'], ['arrive', 3, 'up'], ['press', 7, 'up'], ['press', 5, 'up'], ['press', 8, 'up'], ['arrive', 8, 'up']]}, {'log': ['lit', 'lit', 'lit', 'served:', 'served:', 'lit', 'lit', 'ignored', 'served:'], 'pending': [[1, 'down'], [5, 'down'], [5, 'up'], [7, 'down'], [7, 'up']]})], [('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 36', {'floors': 9, 'events': [['press', 5, 'down'], ['press', -1, 'down'], ['press', 0, 'down']]}, {'log': ['lit', 'ignored', 'ignored'], 'pending': [[5, 'down']]}), ('sampled regression 54', {'floors': 9, 'events': [['press', 3, 'down'], ['press', 7, 'down'], ['arrive', 2, 'idle'], ['press', 4, 'down'], ['arrive', 0, 'idle'], ['press', 1, 'down'], ['arrive', 4, 'down'], ['press', 8, 'up'], ['press', 0, 'down'], ['press', 3, 'down']]}, {'log': ['lit', 'lit', 'served:', 'lit', 'served:', 'lit', 'served:down', 'ignored', 'ignored', 'lit'], 'pending': [[1, 'down'], [3, 'down'], [7, 'down']]}), ('boundary: down car at the lobby reverses', {'floors': 6, 'events': [['press', 0, 'up'], ['arrive', 0, 'down']]}, {'log': ['lit', 'served:up'], 'pending': []}), ('sampled regression 23', {'floors': 10, 'events': [['press', 5, 'up'], ['press', 1, 'up'], ['arrive', 9, 'up'], ['arrive', 9, 'idle'], ['press', 9, 'up'], ['press', 9, 'up'], ['arrive', 1, 'down'], ['arrive', 9, 'up'], ['press', 4, 'up'], ['press', 4, 'down']]}, {'log': ['lit', 'lit', 'served:', 'served:', 'ignored', 'ignored', 'served:', 'served:', 'lit', 'lit'], 'pending': [[1, 'up'], [4, 'down'], [4, 'up'], [5, 'up']]}), ('sampled regression 26', {'floors': 5, 'events': [['press', 4, 'down'], ['press', 0, 'down'], ['arrive', 0, 'up'], ['press', 3, 'up'], ['press', 3, 'up'], ['press', 0, 'up'], ['arrive', 4, 'idle'], ['arrive', 0, 'down'], ['press', 4, 'down']]}, {'log': ['lit', 'ignored', 'served:', 'lit', 'lit', 'lit', 'served:down', 'served:up', 'lit'], 'pending': [[3, 'up'], [4, 'down']]}), ('sampled regression 29', {'floors': 6, 'events': [['press', 0, 'up'], ['arrive', 0, 'idle'], ['press', 5, 'up'], ['press', 6, 'down'], ['press', 0, 'up'], ['arrive', 5, 'down']]}, {'log': ['lit', 'served:up', 'ignored', 'ignored', 'lit', 'served:'], 'pending': [[0, 'up']]})], [('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 56', {'floors': 5, 'events': [['arrive', 3, 'down'], ['press', 2, 'up'], ['press', 0, 'down'], ['press', 4, 'down'], ['arrive', 0, 'up'], ['press', 0, 'down'], ['arrive', 1, 'down'], ['press', 4, 'up'], ['press', 5, 'down'], ['arrive', 4, 'up']]}, {'log': ['served:', 'lit', 'ignored', 'lit', 'served:', 'ignored', 'served:', 'ignored', 'ignored', 'served:down'], 'pending': [[2, 'up']]}), ('sampled regression 61', {'floors': 7, 'events': [['arrive', 5, 'up'], ['press', 0, 'down'], ['press', 6, 'up'], ['press', 0, 'down'], ['arrive', 6, 'down'], ['arrive', 2, 'down'], ['press', 3, 'up'], ['press', 0, 'down']]}, {'log': ['served:', 'ignored', 'ignored', 'ignored', 'served:', 'served:', 'lit', 'ignored'], 'pending': [[3, 'up']]}), ('boundary: passing car in the other direction', {'floors': 6, 'events': [['press', 2, 'down'], ['arrive', 2, 'up']]}, {'log': ['lit', 'served:'], 'pending': [[2, 'down']]}), ('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('sampled regression 34', {'floors': 5, 'events': [['arrive', 3, 'up'], ['arrive', 0, 'idle'], ['arrive', 3, 'idle'], ['arrive', 1, 'idle'], ['arrive', 0, 'down'], ['arrive', 2, 'down'], ['arrive', 1, 'down'], ['press', 1, 'down'], ['press', 4, 'up'], ['arrive', 3, 'down']]}, {'log': ['served:', 'served:', 'served:', 'served:', 'served:', 'served:', 'served:', 'lit', 'ignored', 'served:'], 'pending': [[1, 'down']]}), ('control 37', {'floors': 7, 'events': [['arrive', 4, 'up'], ['press', 1, 'up'], ['arrive', 2, 'down'], ['press', 4, 'down'], ['arrive', 0, 'idle'], ['press', 4, 'down']]}, {'log': ['served:', 'lit', 'served:', 'lit', 'served:', 'lit'], 'pending': [[1, 'up'], [4, 'down']]}), ('control 40', {'floors': 9, 'events': [['arrive', 1, 'idle'], ['press', 7, 'down'], ['arrive', 0, 'down'], ['press', -1, 'up']]}, {'log': ['served:', 'lit', 'served:', 'ignored'], 'pending': [[7, 'down']]})], [('regression: up button at the top floor', {'floors': 6, 'events': [['press', 5, 'up'], ['press', 5, 'down']]}, {'log': ['ignored', 'lit'], 'pending': [[5, 'down']]}), ('regression: down button at the lobby', {'floors': 6, 'events': [['press', 0, 'down'], ['press', 0, 'up']]}, {'log': ['ignored', 'lit'], 'pending': [[0, 'up']]}), ('sampled regression 67', {'floors': 5, 'events': [['arrive', 1, 'idle'], ['press', 4, 'up'], ['press', 5, 'up'], ['press', 1, 'down'], ['press', 1, 'up'], ['press', 2, 'up'], ['arrive', 3, 'idle']]}, {'log': ['served:', 'ignored', 'ignored', 'lit', 'lit', 'lit', 'served:'], 'pending': [[1, 'down'], [1, 'up'], [2, 'up']]}), ('boundary: idle car serves both lamps', {'floors': 6, 'events': [['press', 3, 'up'], ['press', 3, 'down'], ['arrive', 3, 'idle']]}, {'log': ['lit', 'lit', 'served:down,up'], 'pending': []}), ('boundary: up car at the top floor reverses', {'floors': 6, 'events': [['press', 5, 'down'], ['arrive', 5, 'up']]}, {'log': ['lit', 'served:down'], 'pending': []}), ('control 45', {'floors': 5, 'events': [['arrive', 4, 'up'], ['arrive', 2, 'up'], ['press', -1, 'up'], ['press', 4, 'down'], ['press', 3, 'up'], ['press', 4, 'down'], ['arrive', 2, 'up']]}, {'log': ['served:', 'served:', 'ignored', 'lit', 'lit', 'lit', 'served:'], 'pending': [[3, 'up'], [4, 'down']]}), ('control 48', {'floors': 9, 'events': [['arrive', 8, 'idle'], ['press', 2, 'down'], ['press', 2, 'down'], ['press', 9, 'down'], ['press', -1, 'up'], ['arrive', 0, 'idle'], ['press', 8, 'down']]}, {'log': ['served:', 'lit', 'lit', 'ignored', 'ignored', 'served:', 'lit'], 'pending': [[2, 'down'], [8, 'down']]}), ('control 51', {'floors': 7, 'events': [['press', 7, 'down'], ['press', 4, 'down'], ['press', 6, 'down']]}, {'log': ['ignored', 'lit', 'lit'], 'pending': [[4, 'down'], [6, 'down']]})]]\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 lift-control contract for a bounded teaching model; it makes no claim of conformance to any lift code or vendor dispatcher and omits real safety cases. 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-elevator_dispatch_scheduling-hall-button-lamps-terminal-button-validity","generated_at":"2026-09-29T14:47:55.949381+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Lift group controllers make these decisions many times per minute; a wrong answer strands passengers, wastes trips or overrides a safety rule.","repair":"Ignore up at the top floor and down at the bottom floor.","root_cause":"Presses of the missing terminal buttons are accepted.","sha256":"5d62cdf40d07ea6cfa917afeaaee36a57d461f2d5007178c6832856dd3e9eb59","title":"Hall button registration and cancellation: terminal button validity · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.651,"exit_code":1,"observations":[{"actual":{"log":["ignored","lit"],"pending":[[5,"down"]]},"check":"regression: up button at the top floor","expected":{"log":["ignored","lit"],"pending":[[5,"down"]]},"passed":true},{"actual":{"log":["lit","lit"],"pending":[[0,"down"],[0,"up"]]},"check":"regression: down button at the lobby","expected":{"log":["ignored","lit"],"pending":[[0,"up"]]},"passed":false},{"actual":{"log":["served:","served:","lit","ignored","lit","lit","ignored","ignored"],"pending":[[4,"down"],[5,"down"],[8,"down"]]},"check":"sampled regression 11","expected":{"log":["served:","served:","lit","ignored","lit","lit","ignored","ignored"],"pending":[[4,"down"],[5,"down"],[8,"down"]]},"passed":true},{"actual":{"log":["served:","lit","lit","lit","served:","served:","served:","served:","served:down","lit"],"pending":[[0,"down"],[1,"down"],[1,"up"]]},"check":"sampled regression 4","expected":{"log":["served:","lit","lit","lit","served:","served:","served:","served:","served:down","ignored"],"pending":[[1,"down"],[1,"up"]]},"passed":false},{"actual":{"log":["lit","lit","served:down,up"],"pending":[]},"check":"boundary: idle car serves both lamps","expected":{"log":["lit","lit","served:down,up"],"pending":[]},"passed":true},{"actual":{"log":["ignored","lit","lit","served:","lit","lit","lit","served:down"],"pending":[[0,"up"],[1,"down"],[2,"up"]]},"check":"control 1","expected":{"log":["ignored","lit","lit","served:","lit","lit","lit","served:down"],"pending":[[0,"up"],[1,"down"],[2,"up"]]},"passed":true},{"actual":{"log":["served:","lit","served:","served:down","served:","lit"],"pending":[[1,"down"]]},"check":"control 7","expected":{"log":["served:","lit","served:","served:down","served:","lit"],"pending":[[1,"down"]]},"passed":true},{"actual":{"log":["lit","lit","lit"],"pending":[[3,"up"],[7,"down"]]},"check":"control 10","expected":{"log":["lit","lit","lit"],"pending":[[3,"up"],[7,"down"]]},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: up button at the top floor\", \"actual\": {\"log\": [\"ignored\", \"lit\"], \"pending\": [[5, \"down\"]]}, \"expected\": {\"log\": [\"ignored\", \"lit\"], \"pending\": [[5, \"down\"]]}, \"passed\": true}, {\"check\": \"regression: down button at the lobby\", \"actual\": {\"log\": [\"lit\", \"lit\"], \"pending\": [[0, \"down\"], [0, \"up\"]]}, \"expected\": {\"log\": [\"ignored\", \"lit\"], \"pending\": [[0, \"up\"]]}, \"passed\": false}, {\"check\": \"sampled regression 11\", \"actual\": {\"log\": [\"served:\", \"served:\", \"lit\", \"ignored\", \"lit\", \"lit\", \"ignored\", \"ignored\"], \"pending\": [[4, \"down\"], [5, \"down\"], [8, \"down\"]]}, \"expected\": {\"log\": [\"served:\", \"served:\", \"lit\", \"ignored\", \"lit\", \"lit\", \"ignored\", \"ignored\"], \"pending\": [[4, \"down\"], [5, \"down\"], [8, \"down\"]]}, \"passed\": true}, {\"check\": \"sampled regression 4\", \"actual\": {\"log\": [\"served:\", \"lit\", \"lit\", \"lit\", \"served:\", \"served:\", \"served:\", \"served:\", \"served:down\", \"lit\"], \"pending\": [[0, \"down\"], [1, \"down\"], [1, \"up\"]]}, \"expected\": {\"log\": [\"served:\", \"lit\", \"lit\", \"lit\", \"served:\", \"served:\", \"served:\", \"served:\", \"served:down\", \"ignored\"], \"pending\": [[1, \"down\"], [1, \"up\"]]}, \"passed\": false}, {\"check\": \"boundary: idle car serves both lamps\", \"actual\": {\"log\": [\"lit\", \"lit\", \"served:down,up\"], \"pending\": []}, \"expected\": {\"log\": [\"lit\", \"lit\", \"served:down,up\"], \"pending\": []}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"log\": [\"ignored\", \"lit\", \"lit\", \"served:\", \"lit\", \"lit\", \"lit\", \"served:down\"], \"pending\": [[0, \"up\"], [1, \"down\"], [2, \"up\"]]}, \"expected\": {\"log\": [\"ignored\", \"lit\", \"lit\", \"served:\", \"lit\", \"lit\", \"lit\", \"served:down\"], \"pending\": [[0, \"up\"], [1, \"down\"], [2, \"up\"]]}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"log\": [\"served:\", \"lit\", \"served:\", \"served:down\", \"served:\", \"lit\"], \"pending\": [[1, \"down\"]]}, \"expected\": {\"log\": [\"served:\", \"lit\", \"served:\", \"served:down\", \"served:\", \"lit\"], \"pending\": [[1, \"down\"]]}, \"passed\": true}, {\"check\": \"control 10\", \"actual\": {\"log\": [\"lit\", \"lit\", \"lit\"], \"pending\": [[3, \"up\"], [7, \"down\"]]}, \"expected\": {\"log\": [\"lit\", \"lit\", \"lit\"], \"pending\": [[3, \"up\"], [7, \"down\"]]}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.606,"exit_code":1,"observations":[{"actual":{"log":["lit","lit"],"pending":[[5,"down"],[5,"up"]]},"check":"regression: up button at the top floor","expected":{"log":["ignored","lit"],"pending":[[5,"down"]]},"passed":false},{"actual":{"log":["lit","lit"],"pending":[[0,"down"],[0,"up"]]},"check":"regression: down button at the lobby","expected":{"log":["ignored","lit"],"pending":[[0,"up"]]},"passed":false},{"actual":{"log":["served:","served:","lit","ignored","lit","lit","lit","ignored"],"pending":[[4,"down"],[5,"down"],[8,"down"],[8,"up"]]},"check":"sampled regression 11","expected":{"log":["served:","served:","lit","ignored","lit","lit","ignored","ignored"],"pending":[[4,"down"],[5,"down"],[8,"down"]]},"passed":false},{"actual":{"log":["served:","lit","lit","lit","served:","served:","served:","served:","served:down","lit"],"pending":[[0,"down"],[1,"down"],[1,"up"]]},"check":"sampled regression 4","expected":{"log":["served:","lit","lit","lit","served:","served:","served:","served:","served:down","ignored"],"pending":[[1,"down"],[1,"up"]]},"passed":false},{"actual":{"log":["lit","lit","served:down,up"],"pending":[]},"check":"boundary: idle car serves both lamps","expected":{"log":["lit","lit","served:down,up"],"pending":[]},"passed":true},{"actual":{"log":["ignored","lit","lit","served:","lit","lit","lit","served:down"],"pending":[[0,"up"],[1,"down"],[2,"up"]]},"check":"control 1","expected":{"log":["ignored","lit","lit","served:","lit","lit","lit","served:down"],"pending":[[0,"up"],[1,"down"],[2,"up"]]},"passed":true},{"actual":{"log":["served:","lit","served:","served:down","served:","lit"],"pending":[[1,"down"]]},"check":"control 7","expected":{"log":["served:","lit","served:","served:down","served:","lit"],"pending":[[1,"down"]]},"passed":true},{"actual":{"log":["lit","lit","lit"],"pending":[[3,"up"],[7,"down"]]},"check":"control 10","expected":{"log":["lit","lit","lit"],"pending":[[3,"up"],[7,"down"]]},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: up button at the top floor\", \"actual\": {\"log\": [\"lit\", \"lit\"], \"pending\": [[5, \"down\"], [5, \"up\"]]}, \"expected\": {\"log\": [\"ignored\", \"lit\"], \"pending\": [[5, \"down\"]]}, \"passed\": false}, {\"check\": \"regression: down button at the lobby\", \"actual\": {\"log\": [\"lit\", \"lit\"], \"pending\": [[0, \"down\"], [0, \"up\"]]}, \"expected\": {\"log\": [\"ignored\", \"lit\"], \"pending\": [[0, \"up\"]]}, \"passed\": false}, {\"check\": \"sampled regression 11\", \"actual\": {\"log\": [\"served:\", \"served:\", \"lit\", \"ignored\", \"lit\", \"lit\", \"lit\", \"ignored\"], \"pending\": [[4, \"down\"], [5, \"down\"], [8, \"down\"], [8, \"up\"]]}, \"expected\": {\"log\": [\"served:\", \"served:\", \"lit\", \"ignored\", \"lit\", \"lit\", \"ignored\", \"ignored\"], \"pending\": [[4, \"down\"], [5, \"down\"], [8, \"down\"]]}, \"passed\": false}, {\"check\": \"sampled regression 4\", \"actual\": {\"log\": [\"served:\", \"lit\", \"lit\", \"lit\", \"served:\", \"served:\", \"served:\", \"served:\", \"served:down\", \"lit\"], \"pending\": [[0, \"down\"], [1, \"down\"], [1, \"up\"]]}, \"expected\": {\"log\": [\"served:\", \"lit\", \"lit\", \"lit\", \"served:\", \"served:\", \"served:\", \"served:\", \"served:down\", \"ignored\"], \"pending\": [[1, \"down\"], [1, \"up\"]]}, \"passed\": false}, {\"check\": \"boundary: idle car serves both lamps\", \"actual\": {\"log\": [\"lit\", \"lit\", \"served:down,up\"], \"pending\": []}, \"expected\": {\"log\": [\"lit\", \"lit\", \"served:down,up\"], \"pending\": []}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"log\": [\"ignored\", \"lit\", \"lit\", \"served:\", \"lit\", \"lit\", \"lit\", \"served:down\"], \"pending\": [[0, \"up\"], [1, \"down\"], [2, \"up\"]]}, \"expected\": {\"log\": [\"ignored\", \"lit\", \"lit\", \"served:\", \"lit\", \"lit\", \"lit\", \"served:down\"], \"pending\": [[0, \"up\"], [1, \"down\"], [2, \"up\"]]}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"log\": [\"served:\", \"lit\", \"served:\", \"served:down\", \"served:\", \"lit\"], \"pending\": [[1, \"down\"]]}, \"expected\": {\"log\": [\"served:\", \"lit\", \"served:\", \"served:down\", \"served:\", \"lit\"], \"pending\": [[1, \"down\"]]}, \"passed\": true}, {\"check\": \"control 10\", \"actual\": {\"log\": [\"lit\", \"lit\", \"lit\"], \"pending\": [[3, \"up\"], [7, \"down\"]]}, \"expected\": {\"log\": [\"lit\", \"lit\", \"lit\"], \"pending\": [[3, \"up\"], [7, \"down\"]]}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.724,"exit_code":0,"observations":[{"actual":{"log":["ignored","lit"],"pending":[[5,"down"]]},"check":"regression: up button at the top floor","expected":{"log":["ignored","lit"],"pending":[[5,"down"]]},"passed":true},{"actual":{"log":["ignored","lit"],"pending":[[0,"up"]]},"check":"regression: down button at the lobby","expected":{"log":["ignored","lit"],"pending":[[0,"up"]]},"passed":true},{"actual":{"log":["served:","served:","lit","ignored","lit","lit","ignored","ignored"],"pending":[[4,"down"],[5,"down"],[8,"down"]]},"check":"sampled regression 11","expected":{"log":["served:","served:","lit","ignored","lit","lit","ignored","ignored"],"pending":[[4,"down"],[5,"down"],[8,"down"]]},"passed":true},{"actual":{"log":["served:","lit","lit","lit","served:","served:","served:","served:","served:down","ignored"],"pending":[[1,"down"],[1,"up"]]},"check":"sampled regression 4","expected":{"log":["served:","lit","lit","lit","served:","served:","served:","served:","served:down","ignored"],"pending":[[1,"down"],[1,"up"]]},"passed":true},{"actual":{"log":["lit","lit","served:down,up"],"pending":[]},"check":"boundary: idle car serves both lamps","expected":{"log":["lit","lit","served:down,up"],"pending":[]},"passed":true},{"actual":{"log":["ignored","lit","lit","served:","lit","lit","lit","served:down"],"pending":[[0,"up"],[1,"down"],[2,"up"]]},"check":"control 1","expected":{"log":["ignored","lit","lit","served:","lit","lit","lit","served:down"],"pending":[[0,"up"],[1,"down"],[2,"up"]]},"passed":true},{"actual":{"log":["served:","lit","served:","served:down","served:","lit"],"pending":[[1,"down"]]},"check":"control 7","expected":{"log":["served:","lit","served:","served:down","served:","lit"],"pending":[[1,"down"]]},"passed":true},{"actual":{"log":["lit","lit","lit"],"pending":[[3,"up"],[7,"down"]]},"check":"control 10","expected":{"log":["lit","lit","lit"],"pending":[[3,"up"],[7,"down"]]},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: up button at the top floor\", \"actual\": {\"log\": [\"ignored\", \"lit\"], \"pending\": [[5, \"down\"]]}, \"expected\": {\"log\": [\"ignored\", \"lit\"], \"pending\": [[5, \"down\"]]}, \"passed\": true}, {\"check\": \"regression: down button at the lobby\", \"actual\": {\"log\": [\"ignored\", \"lit\"], \"pending\": [[0, \"up\"]]}, \"expected\": {\"log\": [\"ignored\", \"lit\"], \"pending\": [[0, \"up\"]]}, \"passed\": true}, {\"check\": \"sampled regression 11\", \"actual\": {\"log\": [\"served:\", \"served:\", \"lit\", \"ignored\", \"lit\", \"lit\", \"ignored\", \"ignored\"], \"pending\": [[4, \"down\"], [5, \"down\"], [8, \"down\"]]}, \"expected\": {\"log\": [\"served:\", \"served:\", \"lit\", \"ignored\", \"lit\", \"lit\", \"ignored\", \"ignored\"], \"pending\": [[4, \"down\"], [5, \"down\"], [8, \"down\"]]}, \"passed\": true}, {\"check\": \"sampled regression 4\", \"actual\": {\"log\": [\"served:\", \"lit\", \"lit\", \"lit\", \"served:\", \"served:\", \"served:\", \"served:\", \"served:down\", \"ignored\"], \"pending\": [[1, \"down\"], [1, \"up\"]]}, \"expected\": {\"log\": [\"served:\", \"lit\", \"lit\", \"lit\", \"served:\", \"served:\", \"served:\", \"served:\", \"served:down\", \"ignored\"], \"pending\": [[1, \"down\"], [1, \"up\"]]}, \"passed\": true}, {\"check\": \"boundary: idle car serves both lamps\", \"actual\": {\"log\": [\"lit\", \"lit\", \"served:down,up\"], \"pending\": []}, \"expected\": {\"log\": [\"lit\", \"lit\", \"served:down,up\"], \"pending\": []}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"log\": [\"ignored\", \"lit\", \"lit\", \"served:\", \"lit\", \"lit\", \"lit\", \"served:down\"], \"pending\": [[0, \"up\"], [1, \"down\"], [2, \"up\"]]}, \"expected\": {\"log\": [\"ignored\", \"lit\", \"lit\", \"served:\", \"lit\", \"lit\", \"lit\", \"served:down\"], \"pending\": [[0, \"up\"], [1, \"down\"], [2, \"up\"]]}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"log\": [\"served:\", \"lit\", \"served:\", \"served:down\", \"served:\", \"lit\"], \"pending\": [[1, \"down\"]]}, \"expected\": {\"log\": [\"served:\", \"lit\", \"served:\", \"served:down\", \"served:\", \"lit\"], \"pending\": [[1, \"down\"]]}, \"passed\": true}, {\"check\": \"control 10\", \"actual\": {\"log\": [\"lit\", \"lit\", \"lit\"], \"pending\": [[3, \"up\"], [7, \"down\"]]}, \"expected\": {\"log\": [\"lit\", \"lit\", \"lit\"], \"pending\": [[3, \"up\"], [7, \"down\"]]}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}