{"abstract":"Calls answered in exactly sixty seconds count as long waits, or none ever do.","category":"Elevator dispatch scheduling","checks":8,"contract":"Each hall call has a registration time and an answer time (None if still unanswered at end_s). Waits are answer - registration clamped at zero (clock skew); unanswered calls count with the censored wait end_s - registration. Report the integer mean (floor), per-mille of waits over 60 s (floor), the maximum and the count; all zeros when there are no calls.","evaluation_group":"w2-elevator_dispatch_scheduling-waiting-time-statistics","failed_approach":"Treating the threshold as milliseconds never counts a long wait.","family":"w2-elevator_dispatch_scheduling-waiting-time-statistics-long-wait-threshold","id":"FA-67526","implementations":{"attempt":{"sha256":"fd2c9e2ba0ce573ded14ec9688d6d5e4ca7d7bba96904b38998beac2798bbc88","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    waits = []\n    for reg, ans in x['calls']:\n        if ans is None:\n            waits.append(x['end_s'] - reg)\n        else:\n            waits.append(max(0, ans - reg))\n    if not waits:\n        return {'avg': 0, 'long_permille': 0, 'max': 0, 'count': 0}\n    longs = sum(1 for w in waits if w > 60 * 1000)\n    return {'avg': sum(waits) // len(waits), 'long_permille': longs * 1000 // len(waits), 'max': max(waits), 'count': len(waits)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('boundary: unanswered call at the end', {'end_s': 600, 'calls': [[500, None], [10, 30]]}, {'avg': 60, 'long_permille': 500, 'max': 100, 'count': 2}), ('sampled regression 13', {'end_s': 600, 'calls': [[451, 511], [494, 539], [553, None], [26, None], [306, 367], [164, 314], [548, None], [406, 556]]}, {'avg': 142, 'long_permille': 500, 'max': 574, 'count': 8}), ('boundary: answer logged before registration', {'end_s': 600, 'calls': [[100, 98], [200, 230]]}, {'avg': 15, 'long_permille': 0, 'max': 30, 'count': 2}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('control 1', {'end_s': 600, 'calls': [[93, 138], [499, 519], [546, None], [485, None], [376, 526], [329, 419], [42, None], [303, None]]}, {'avg': 166, 'long_permille': 625, 'max': 558, 'count': 8}), ('control 4', {'end_s': 600, 'calls': [[15, None], [80, 100], [304, 324], [560, 557], [73, 78], [574, None]]}, {'avg': 109, 'long_permille': 166, 'max': 585, 'count': 6}), ('control 7', {'end_s': 600, 'calls': [[196, 216], [228, 248], [100, None], [381, 471], [370, 415], [56, 76]]}, {'avg': 115, 'long_permille': 333, 'max': 500, 'count': 6})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('sampled regression 40', {'end_s': 600, 'calls': [[286, 346], [342, None], [309, 308], [91, 96], [519, 524], [518, None], [12, 73]]}, {'avg': 67, 'long_permille': 428, 'max': 258, 'count': 7}), ('control 5', {'end_s': 600, 'calls': [[33, 123], [260, None], [120, 125], [150, 240], [547, 567], [556, 554], [207, 252], [567, 587]]}, {'avg': 76, 'long_permille': 375, 'max': 340, 'count': 8}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('boundary: mean with a remainder', {'end_s': 600, 'calls': [[0, 10], [0, 11], [0, 11]]}, {'avg': 10, 'long_permille': 0, 'max': 11, 'count': 3}), ('sampled regression 12', {'end_s': 600, 'calls': [[549, None], [34, 94], [153, 243]]}, {'avg': 67, 'long_permille': 333, 'max': 90, 'count': 3}), ('control 15', {'end_s': 600, 'calls': [[427, 472], [290, 440], [125, None], [18, 79], [88, 178], [156, 306], [7, None], [120, None]]}, {'avg': 255, 'long_permille': 875, 'max': 593, 'count': 8}), ('control 18', {'end_s': 600, 'calls': [[508, 528]]}, {'avg': 20, 'long_permille': 0, 'max': 20, 'count': 1})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('sampled regression 61', {'end_s': 600, 'calls': [[410, 415], [504, 564], [213, 258], [291, None], [359, None], [364, 369], [125, None]]}, {'avg': 162, 'long_permille': 428, 'max': 475, 'count': 7}), ('control 11', {'end_s': 600, 'calls': [[132, 152], [202, 247], [472, None], [462, 507], [80, 85], [378, None]]}, {'avg': 77, 'long_permille': 333, 'max': 222, 'count': 6}), ('boundary: mean with a remainder', {'end_s': 600, 'calls': [[0, 10], [0, 11], [0, 11]]}, {'avg': 10, 'long_permille': 0, 'max': 11, 'count': 3}), ('control 23', {'end_s': 600, 'calls': [[121, 141], [388, None], [577, None]]}, {'avg': 85, 'long_permille': 333, 'max': 212, 'count': 3}), ('control 26', {'end_s': 600, 'calls': [[205, 225], [336, 381]]}, {'avg': 32, 'long_permille': 0, 'max': 45, 'count': 2}), ('sampled regression 29', {'end_s': 600, 'calls': [[26, 31], [282, 287], [487, 577], [127, 187], [568, None], [130, 280], [335, 395], [184, 274]]}, {'avg': 61, 'long_permille': 375, 'max': 150, 'count': 8})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('boundary: unanswered call at the end', {'end_s': 600, 'calls': [[500, None], [10, 30]]}, {'avg': 60, 'long_permille': 500, 'max': 100, 'count': 2}), ('sampled regression 80', {'end_s': 600, 'calls': [[219, 280], [536, 541], [424, 484], [130, None], [104, 164], [442, 441], [286, 436]]}, {'avg': 115, 'long_permille': 428, 'max': 470, 'count': 7}), ('sampled regression 16', {'end_s': 600, 'calls': [[293, None], [565, None], [526, 586], [205, 202]]}, {'avg': 100, 'long_permille': 250, 'max': 307, 'count': 4}), ('boundary: answer logged before registration', {'end_s': 600, 'calls': [[100, 98], [200, 230]]}, {'avg': 15, 'long_permille': 0, 'max': 30, 'count': 2}), ('sampled regression 34', {'end_s': 600, 'calls': [[526, 531], [100, 160], [338, None], [152, 242], [413, 433], [56, 117]]}, {'avg': 83, 'long_permille': 500, 'max': 262, 'count': 6}), ('control 37', {'end_s': 600, 'calls': [[542, 547], [483, None], [421, 418], [216, None]]}, {'avg': 126, 'long_permille': 500, 'max': 384, 'count': 4}), ('sampled regression 40', {'end_s': 600, 'calls': [[286, 346], [342, None], [309, 308], [91, 96], [519, 524], [518, None], [12, 73]]}, {'avg': 67, 'long_permille': 428, 'max': 258, 'count': 7})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('sampled regression 20', {'end_s': 600, 'calls': [[520, None], [447, 467], [161, 221], [506, 511], [146, 296], [576, None], [73, 223], [194, 214]]}, {'avg': 63, 'long_permille': 375, 'max': 150, 'count': 8}), ('control 22', {'end_s': 600, 'calls': [[271, 421], [385, 446]]}, {'avg': 105, 'long_permille': 1000, 'max': 150, 'count': 2}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('boundary: mean with a remainder', {'end_s': 600, 'calls': [[0, 10], [0, 11], [0, 11]]}, {'avg': 10, 'long_permille': 0, 'max': 11, 'count': 3}), ('control 45', {'end_s': 600, 'calls': [[54, 204], [360, None], [102, None], [487, None], [396, None]]}, {'avg': 241, 'long_permille': 1000, 'max': 498, 'count': 5}), ('control 48', {'end_s': 600, 'calls': [[235, 234], [112, 202], [453, 498], [10, 30], [166, 186], [359, 358], [466, 471]]}, {'avg': 25, 'long_permille': 142, 'max': 90, 'count': 7}), ('control 51', {'end_s': 600, 'calls': [[553, None], [377, 422], [370, None], [180, 241]]}, {'avg': 95, 'long_permille': 500, 'max': 230, 'count': 4})]]\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":"c37db1dd540f39b340911ce61f5b3f8ec931ffb98986ee910760fb2bf7ea867e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    waits = []\n    for reg, ans in x['calls']:\n        if ans is None:\n            waits.append(x['end_s'] - reg)\n        else:\n            waits.append(max(0, ans - reg))\n    if not waits:\n        return {'avg': 0, 'long_permille': 0, 'max': 0, 'count': 0}\n    longs = sum(1 for w in waits if w >= 60)\n    return {'avg': sum(waits) // len(waits), 'long_permille': longs * 1000 // len(waits), 'max': max(waits), 'count': len(waits)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('boundary: unanswered call at the end', {'end_s': 600, 'calls': [[500, None], [10, 30]]}, {'avg': 60, 'long_permille': 500, 'max': 100, 'count': 2}), ('sampled regression 13', {'end_s': 600, 'calls': [[451, 511], [494, 539], [553, None], [26, None], [306, 367], [164, 314], [548, None], [406, 556]]}, {'avg': 142, 'long_permille': 500, 'max': 574, 'count': 8}), ('boundary: answer logged before registration', {'end_s': 600, 'calls': [[100, 98], [200, 230]]}, {'avg': 15, 'long_permille': 0, 'max': 30, 'count': 2}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('control 1', {'end_s': 600, 'calls': [[93, 138], [499, 519], [546, None], [485, None], [376, 526], [329, 419], [42, None], [303, None]]}, {'avg': 166, 'long_permille': 625, 'max': 558, 'count': 8}), ('control 4', {'end_s': 600, 'calls': [[15, None], [80, 100], [304, 324], [560, 557], [73, 78], [574, None]]}, {'avg': 109, 'long_permille': 166, 'max': 585, 'count': 6}), ('control 7', {'end_s': 600, 'calls': [[196, 216], [228, 248], [100, None], [381, 471], [370, 415], [56, 76]]}, {'avg': 115, 'long_permille': 333, 'max': 500, 'count': 6})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('sampled regression 40', {'end_s': 600, 'calls': [[286, 346], [342, None], [309, 308], [91, 96], [519, 524], [518, None], [12, 73]]}, {'avg': 67, 'long_permille': 428, 'max': 258, 'count': 7}), ('control 5', {'end_s': 600, 'calls': [[33, 123], [260, None], [120, 125], [150, 240], [547, 567], [556, 554], [207, 252], [567, 587]]}, {'avg': 76, 'long_permille': 375, 'max': 340, 'count': 8}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('boundary: mean with a remainder', {'end_s': 600, 'calls': [[0, 10], [0, 11], [0, 11]]}, {'avg': 10, 'long_permille': 0, 'max': 11, 'count': 3}), ('sampled regression 12', {'end_s': 600, 'calls': [[549, None], [34, 94], [153, 243]]}, {'avg': 67, 'long_permille': 333, 'max': 90, 'count': 3}), ('control 15', {'end_s': 600, 'calls': [[427, 472], [290, 440], [125, None], [18, 79], [88, 178], [156, 306], [7, None], [120, None]]}, {'avg': 255, 'long_permille': 875, 'max': 593, 'count': 8}), ('control 18', {'end_s': 600, 'calls': [[508, 528]]}, {'avg': 20, 'long_permille': 0, 'max': 20, 'count': 1})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('sampled regression 61', {'end_s': 600, 'calls': [[410, 415], [504, 564], [213, 258], [291, None], [359, None], [364, 369], [125, None]]}, {'avg': 162, 'long_permille': 428, 'max': 475, 'count': 7}), ('control 11', {'end_s': 600, 'calls': [[132, 152], [202, 247], [472, None], [462, 507], [80, 85], [378, None]]}, {'avg': 77, 'long_permille': 333, 'max': 222, 'count': 6}), ('boundary: mean with a remainder', {'end_s': 600, 'calls': [[0, 10], [0, 11], [0, 11]]}, {'avg': 10, 'long_permille': 0, 'max': 11, 'count': 3}), ('control 23', {'end_s': 600, 'calls': [[121, 141], [388, None], [577, None]]}, {'avg': 85, 'long_permille': 333, 'max': 212, 'count': 3}), ('control 26', {'end_s': 600, 'calls': [[205, 225], [336, 381]]}, {'avg': 32, 'long_permille': 0, 'max': 45, 'count': 2}), ('sampled regression 29', {'end_s': 600, 'calls': [[26, 31], [282, 287], [487, 577], [127, 187], [568, None], [130, 280], [335, 395], [184, 274]]}, {'avg': 61, 'long_permille': 375, 'max': 150, 'count': 8})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('boundary: unanswered call at the end', {'end_s': 600, 'calls': [[500, None], [10, 30]]}, {'avg': 60, 'long_permille': 500, 'max': 100, 'count': 2}), ('sampled regression 80', {'end_s': 600, 'calls': [[219, 280], [536, 541], [424, 484], [130, None], [104, 164], [442, 441], [286, 436]]}, {'avg': 115, 'long_permille': 428, 'max': 470, 'count': 7}), ('sampled regression 16', {'end_s': 600, 'calls': [[293, None], [565, None], [526, 586], [205, 202]]}, {'avg': 100, 'long_permille': 250, 'max': 307, 'count': 4}), ('boundary: answer logged before registration', {'end_s': 600, 'calls': [[100, 98], [200, 230]]}, {'avg': 15, 'long_permille': 0, 'max': 30, 'count': 2}), ('sampled regression 34', {'end_s': 600, 'calls': [[526, 531], [100, 160], [338, None], [152, 242], [413, 433], [56, 117]]}, {'avg': 83, 'long_permille': 500, 'max': 262, 'count': 6}), ('control 37', {'end_s': 600, 'calls': [[542, 547], [483, None], [421, 418], [216, None]]}, {'avg': 126, 'long_permille': 500, 'max': 384, 'count': 4}), ('sampled regression 40', {'end_s': 600, 'calls': [[286, 346], [342, None], [309, 308], [91, 96], [519, 524], [518, None], [12, 73]]}, {'avg': 67, 'long_permille': 428, 'max': 258, 'count': 7})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('sampled regression 20', {'end_s': 600, 'calls': [[520, None], [447, 467], [161, 221], [506, 511], [146, 296], [576, None], [73, 223], [194, 214]]}, {'avg': 63, 'long_permille': 375, 'max': 150, 'count': 8}), ('control 22', {'end_s': 600, 'calls': [[271, 421], [385, 446]]}, {'avg': 105, 'long_permille': 1000, 'max': 150, 'count': 2}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('boundary: mean with a remainder', {'end_s': 600, 'calls': [[0, 10], [0, 11], [0, 11]]}, {'avg': 10, 'long_permille': 0, 'max': 11, 'count': 3}), ('control 45', {'end_s': 600, 'calls': [[54, 204], [360, None], [102, None], [487, None], [396, None]]}, {'avg': 241, 'long_permille': 1000, 'max': 498, 'count': 5}), ('control 48', {'end_s': 600, 'calls': [[235, 234], [112, 202], [453, 498], [10, 30], [166, 186], [359, 358], [466, 471]]}, {'avg': 25, 'long_permille': 142, 'max': 90, 'count': 7}), ('control 51', {'end_s': 600, 'calls': [[553, None], [377, 422], [370, None], [180, 241]]}, {'avg': 95, 'long_permille': 500, 'max': 230, 'count': 4})]]\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":"22fd4575db04ac29420d8384b3c4dac032db98ccbcc50fbdc6ddeff8eb26e41f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    waits = []\n    for reg, ans in x['calls']:\n        if ans is None:\n            waits.append(x['end_s'] - reg)\n        else:\n            waits.append(max(0, ans - reg))\n    if not waits:\n        return {'avg': 0, 'long_permille': 0, 'max': 0, 'count': 0}\n    longs = sum(1 for w in waits if w > 60)\n    return {'avg': sum(waits) // len(waits), 'long_permille': longs * 1000 // len(waits), 'max': max(waits), 'count': len(waits)}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('boundary: unanswered call at the end', {'end_s': 600, 'calls': [[500, None], [10, 30]]}, {'avg': 60, 'long_permille': 500, 'max': 100, 'count': 2}), ('sampled regression 13', {'end_s': 600, 'calls': [[451, 511], [494, 539], [553, None], [26, None], [306, 367], [164, 314], [548, None], [406, 556]]}, {'avg': 142, 'long_permille': 500, 'max': 574, 'count': 8}), ('boundary: answer logged before registration', {'end_s': 600, 'calls': [[100, 98], [200, 230]]}, {'avg': 15, 'long_permille': 0, 'max': 30, 'count': 2}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('control 1', {'end_s': 600, 'calls': [[93, 138], [499, 519], [546, None], [485, None], [376, 526], [329, 419], [42, None], [303, None]]}, {'avg': 166, 'long_permille': 625, 'max': 558, 'count': 8}), ('control 4', {'end_s': 600, 'calls': [[15, None], [80, 100], [304, 324], [560, 557], [73, 78], [574, None]]}, {'avg': 109, 'long_permille': 166, 'max': 585, 'count': 6}), ('control 7', {'end_s': 600, 'calls': [[196, 216], [228, 248], [100, None], [381, 471], [370, 415], [56, 76]]}, {'avg': 115, 'long_permille': 333, 'max': 500, 'count': 6})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('sampled regression 40', {'end_s': 600, 'calls': [[286, 346], [342, None], [309, 308], [91, 96], [519, 524], [518, None], [12, 73]]}, {'avg': 67, 'long_permille': 428, 'max': 258, 'count': 7}), ('control 5', {'end_s': 600, 'calls': [[33, 123], [260, None], [120, 125], [150, 240], [547, 567], [556, 554], [207, 252], [567, 587]]}, {'avg': 76, 'long_permille': 375, 'max': 340, 'count': 8}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('boundary: mean with a remainder', {'end_s': 600, 'calls': [[0, 10], [0, 11], [0, 11]]}, {'avg': 10, 'long_permille': 0, 'max': 11, 'count': 3}), ('sampled regression 12', {'end_s': 600, 'calls': [[549, None], [34, 94], [153, 243]]}, {'avg': 67, 'long_permille': 333, 'max': 90, 'count': 3}), ('control 15', {'end_s': 600, 'calls': [[427, 472], [290, 440], [125, None], [18, 79], [88, 178], [156, 306], [7, None], [120, None]]}, {'avg': 255, 'long_permille': 875, 'max': 593, 'count': 8}), ('control 18', {'end_s': 600, 'calls': [[508, 528]]}, {'avg': 20, 'long_permille': 0, 'max': 20, 'count': 1})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('sampled regression 61', {'end_s': 600, 'calls': [[410, 415], [504, 564], [213, 258], [291, None], [359, None], [364, 369], [125, None]]}, {'avg': 162, 'long_permille': 428, 'max': 475, 'count': 7}), ('control 11', {'end_s': 600, 'calls': [[132, 152], [202, 247], [472, None], [462, 507], [80, 85], [378, None]]}, {'avg': 77, 'long_permille': 333, 'max': 222, 'count': 6}), ('boundary: mean with a remainder', {'end_s': 600, 'calls': [[0, 10], [0, 11], [0, 11]]}, {'avg': 10, 'long_permille': 0, 'max': 11, 'count': 3}), ('control 23', {'end_s': 600, 'calls': [[121, 141], [388, None], [577, None]]}, {'avg': 85, 'long_permille': 333, 'max': 212, 'count': 3}), ('control 26', {'end_s': 600, 'calls': [[205, 225], [336, 381]]}, {'avg': 32, 'long_permille': 0, 'max': 45, 'count': 2}), ('sampled regression 29', {'end_s': 600, 'calls': [[26, 31], [282, 287], [487, 577], [127, 187], [568, None], [130, 280], [335, 395], [184, 274]]}, {'avg': 61, 'long_permille': 375, 'max': 150, 'count': 8})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('boundary: unanswered call at the end', {'end_s': 600, 'calls': [[500, None], [10, 30]]}, {'avg': 60, 'long_permille': 500, 'max': 100, 'count': 2}), ('sampled regression 80', {'end_s': 600, 'calls': [[219, 280], [536, 541], [424, 484], [130, None], [104, 164], [442, 441], [286, 436]]}, {'avg': 115, 'long_permille': 428, 'max': 470, 'count': 7}), ('sampled regression 16', {'end_s': 600, 'calls': [[293, None], [565, None], [526, 586], [205, 202]]}, {'avg': 100, 'long_permille': 250, 'max': 307, 'count': 4}), ('boundary: answer logged before registration', {'end_s': 600, 'calls': [[100, 98], [200, 230]]}, {'avg': 15, 'long_permille': 0, 'max': 30, 'count': 2}), ('sampled regression 34', {'end_s': 600, 'calls': [[526, 531], [100, 160], [338, None], [152, 242], [413, 433], [56, 117]]}, {'avg': 83, 'long_permille': 500, 'max': 262, 'count': 6}), ('control 37', {'end_s': 600, 'calls': [[542, 547], [483, None], [421, 418], [216, None]]}, {'avg': 126, 'long_permille': 500, 'max': 384, 'count': 4}), ('sampled regression 40', {'end_s': 600, 'calls': [[286, 346], [342, None], [309, 308], [91, 96], [519, 524], [518, None], [12, 73]]}, {'avg': 67, 'long_permille': 428, 'max': 258, 'count': 7})], [('regression: wait of exactly sixty seconds', {'end_s': 600, 'calls': [[0, 60], [100, 161]]}, {'avg': 60, 'long_permille': 500, 'max': 61, 'count': 2}), ('sampled regression 20', {'end_s': 600, 'calls': [[520, None], [447, 467], [161, 221], [506, 511], [146, 296], [576, None], [73, 223], [194, 214]]}, {'avg': 63, 'long_permille': 375, 'max': 150, 'count': 8}), ('control 22', {'end_s': 600, 'calls': [[271, 421], [385, 446]]}, {'avg': 105, 'long_permille': 1000, 'max': 150, 'count': 2}), ('boundary: long unanswered call', {'end_s': 600, 'calls': [[400, None], [0, 10], [5, 15]]}, {'avg': 73, 'long_permille': 333, 'max': 200, 'count': 3}), ('boundary: mean with a remainder', {'end_s': 600, 'calls': [[0, 10], [0, 11], [0, 11]]}, {'avg': 10, 'long_permille': 0, 'max': 11, 'count': 3}), ('control 45', {'end_s': 600, 'calls': [[54, 204], [360, None], [102, None], [487, None], [396, None]]}, {'avg': 241, 'long_permille': 1000, 'max': 498, 'count': 5}), ('control 48', {'end_s': 600, 'calls': [[235, 234], [112, 202], [453, 498], [10, 30], [166, 186], [359, 358], [466, 471]]}, {'avg': 25, 'long_permille': 142, 'max': 90, 'count': 7}), ('control 51', {'end_s': 600, 'calls': [[553, None], [377, 422], [370, None], [180, 241]]}, {'avg': 95, 'long_permille': 500, 'max': 230, 'count': 4})]]\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-waiting-time-statistics-long-wait-threshold","generated_at":"2026-09-29T14:47:53.722361+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":"Count waits strictly over 60 s.","root_cause":"The long-wait comparison is inclusive.","sha256":"5b84cb2409692432dd363d2fe8f220121d1a6e423aadda460d6b7da374434fa9","title":"Hall call waiting time statistics: long wait threshold · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.808,"exit_code":1,"observations":[{"actual":{"avg":60,"count":2,"long_permille":0,"max":61},"check":"regression: wait of exactly sixty seconds","expected":{"avg":60,"count":2,"long_permille":500,"max":61},"passed":false},{"actual":{"avg":60,"count":2,"long_permille":0,"max":100},"check":"boundary: unanswered call at the end","expected":{"avg":60,"count":2,"long_permille":500,"max":100},"passed":false},{"actual":{"avg":142,"count":8,"long_permille":0,"max":574},"check":"sampled regression 13","expected":{"avg":142,"count":8,"long_permille":500,"max":574},"passed":false},{"actual":{"avg":15,"count":2,"long_permille":0,"max":30},"check":"boundary: answer logged before registration","expected":{"avg":15,"count":2,"long_permille":0,"max":30},"passed":true},{"actual":{"avg":73,"count":3,"long_permille":0,"max":200},"check":"boundary: long unanswered call","expected":{"avg":73,"count":3,"long_permille":333,"max":200},"passed":false},{"actual":{"avg":166,"count":8,"long_permille":0,"max":558},"check":"control 1","expected":{"avg":166,"count":8,"long_permille":625,"max":558},"passed":false},{"actual":{"avg":109,"count":6,"long_permille":0,"max":585},"check":"control 4","expected":{"avg":109,"count":6,"long_permille":166,"max":585},"passed":false},{"actual":{"avg":115,"count":6,"long_permille":0,"max":500},"check":"control 7","expected":{"avg":115,"count":6,"long_permille":333,"max":500},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: wait of exactly sixty seconds\", \"actual\": {\"avg\": 60, \"long_permille\": 0, \"max\": 61, \"count\": 2}, \"expected\": {\"avg\": 60, \"long_permille\": 500, \"max\": 61, \"count\": 2}, \"passed\": false}, {\"check\": \"boundary: unanswered call at the end\", \"actual\": {\"avg\": 60, \"long_permille\": 0, \"max\": 100, \"count\": 2}, \"expected\": {\"avg\": 60, \"long_permille\": 500, \"max\": 100, \"count\": 2}, \"passed\": false}, {\"check\": \"sampled regression 13\", \"actual\": {\"avg\": 142, \"long_permille\": 0, \"max\": 574, \"count\": 8}, \"expected\": {\"avg\": 142, \"long_permille\": 500, \"max\": 574, \"count\": 8}, \"passed\": false}, {\"check\": \"boundary: answer logged before registration\", \"actual\": {\"avg\": 15, \"long_permille\": 0, \"max\": 30, \"count\": 2}, \"expected\": {\"avg\": 15, \"long_permille\": 0, \"max\": 30, \"count\": 2}, \"passed\": true}, {\"check\": \"boundary: long unanswered call\", \"actual\": {\"avg\": 73, \"long_permille\": 0, \"max\": 200, \"count\": 3}, \"expected\": {\"avg\": 73, \"long_permille\": 333, \"max\": 200, \"count\": 3}, \"passed\": false}, {\"check\": \"control 1\", \"actual\": {\"avg\": 166, \"long_permille\": 0, \"max\": 558, \"count\": 8}, \"expected\": {\"avg\": 166, \"long_permille\": 625, \"max\": 558, \"count\": 8}, \"passed\": false}, {\"check\": \"control 4\", \"actual\": {\"avg\": 109, \"long_permille\": 0, \"max\": 585, \"count\": 6}, \"expected\": {\"avg\": 109, \"long_permille\": 166, \"max\": 585, \"count\": 6}, \"passed\": false}, {\"check\": \"control 7\", \"actual\": {\"avg\": 115, \"long_permille\": 0, \"max\": 500, \"count\": 6}, \"expected\": {\"avg\": 115, \"long_permille\": 333, \"max\": 500, \"count\": 6}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.439,"exit_code":1,"observations":[{"actual":{"avg":60,"count":2,"long_permille":1000,"max":61},"check":"regression: wait of exactly sixty seconds","expected":{"avg":60,"count":2,"long_permille":500,"max":61},"passed":false},{"actual":{"avg":60,"count":2,"long_permille":500,"max":100},"check":"boundary: unanswered call at the end","expected":{"avg":60,"count":2,"long_permille":500,"max":100},"passed":true},{"actual":{"avg":142,"count":8,"long_permille":625,"max":574},"check":"sampled regression 13","expected":{"avg":142,"count":8,"long_permille":500,"max":574},"passed":false},{"actual":{"avg":15,"count":2,"long_permille":0,"max":30},"check":"boundary: answer logged before registration","expected":{"avg":15,"count":2,"long_permille":0,"max":30},"passed":true},{"actual":{"avg":73,"count":3,"long_permille":333,"max":200},"check":"boundary: long unanswered call","expected":{"avg":73,"count":3,"long_permille":333,"max":200},"passed":true},{"actual":{"avg":166,"count":8,"long_permille":625,"max":558},"check":"control 1","expected":{"avg":166,"count":8,"long_permille":625,"max":558},"passed":true},{"actual":{"avg":109,"count":6,"long_permille":166,"max":585},"check":"control 4","expected":{"avg":109,"count":6,"long_permille":166,"max":585},"passed":true},{"actual":{"avg":115,"count":6,"long_permille":333,"max":500},"check":"control 7","expected":{"avg":115,"count":6,"long_permille":333,"max":500},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: wait of exactly sixty seconds\", \"actual\": {\"avg\": 60, \"long_permille\": 1000, \"max\": 61, \"count\": 2}, \"expected\": {\"avg\": 60, \"long_permille\": 500, \"max\": 61, \"count\": 2}, \"passed\": false}, {\"check\": \"boundary: unanswered call at the end\", \"actual\": {\"avg\": 60, \"long_permille\": 500, \"max\": 100, \"count\": 2}, \"expected\": {\"avg\": 60, \"long_permille\": 500, \"max\": 100, \"count\": 2}, \"passed\": true}, {\"check\": \"sampled regression 13\", \"actual\": {\"avg\": 142, \"long_permille\": 625, \"max\": 574, \"count\": 8}, \"expected\": {\"avg\": 142, \"long_permille\": 500, \"max\": 574, \"count\": 8}, \"passed\": false}, {\"check\": \"boundary: answer logged before registration\", \"actual\": {\"avg\": 15, \"long_permille\": 0, \"max\": 30, \"count\": 2}, \"expected\": {\"avg\": 15, \"long_permille\": 0, \"max\": 30, \"count\": 2}, \"passed\": true}, {\"check\": \"boundary: long unanswered call\", \"actual\": {\"avg\": 73, \"long_permille\": 333, \"max\": 200, \"count\": 3}, \"expected\": {\"avg\": 73, \"long_permille\": 333, \"max\": 200, \"count\": 3}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"avg\": 166, \"long_permille\": 625, \"max\": 558, \"count\": 8}, \"expected\": {\"avg\": 166, \"long_permille\": 625, \"max\": 558, \"count\": 8}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"avg\": 109, \"long_permille\": 166, \"max\": 585, \"count\": 6}, \"expected\": {\"avg\": 109, \"long_permille\": 166, \"max\": 585, \"count\": 6}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"avg\": 115, \"long_permille\": 333, \"max\": 500, \"count\": 6}, \"expected\": {\"avg\": 115, \"long_permille\": 333, \"max\": 500, \"count\": 6}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.663,"exit_code":0,"observations":[{"actual":{"avg":60,"count":2,"long_permille":500,"max":61},"check":"regression: wait of exactly sixty seconds","expected":{"avg":60,"count":2,"long_permille":500,"max":61},"passed":true},{"actual":{"avg":60,"count":2,"long_permille":500,"max":100},"check":"boundary: unanswered call at the end","expected":{"avg":60,"count":2,"long_permille":500,"max":100},"passed":true},{"actual":{"avg":142,"count":8,"long_permille":500,"max":574},"check":"sampled regression 13","expected":{"avg":142,"count":8,"long_permille":500,"max":574},"passed":true},{"actual":{"avg":15,"count":2,"long_permille":0,"max":30},"check":"boundary: answer logged before registration","expected":{"avg":15,"count":2,"long_permille":0,"max":30},"passed":true},{"actual":{"avg":73,"count":3,"long_permille":333,"max":200},"check":"boundary: long unanswered call","expected":{"avg":73,"count":3,"long_permille":333,"max":200},"passed":true},{"actual":{"avg":166,"count":8,"long_permille":625,"max":558},"check":"control 1","expected":{"avg":166,"count":8,"long_permille":625,"max":558},"passed":true},{"actual":{"avg":109,"count":6,"long_permille":166,"max":585},"check":"control 4","expected":{"avg":109,"count":6,"long_permille":166,"max":585},"passed":true},{"actual":{"avg":115,"count":6,"long_permille":333,"max":500},"check":"control 7","expected":{"avg":115,"count":6,"long_permille":333,"max":500},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: wait of exactly sixty seconds\", \"actual\": {\"avg\": 60, \"long_permille\": 500, \"max\": 61, \"count\": 2}, \"expected\": {\"avg\": 60, \"long_permille\": 500, \"max\": 61, \"count\": 2}, \"passed\": true}, {\"check\": \"boundary: unanswered call at the end\", \"actual\": {\"avg\": 60, \"long_permille\": 500, \"max\": 100, \"count\": 2}, \"expected\": {\"avg\": 60, \"long_permille\": 500, \"max\": 100, \"count\": 2}, \"passed\": true}, {\"check\": \"sampled regression 13\", \"actual\": {\"avg\": 142, \"long_permille\": 500, \"max\": 574, \"count\": 8}, \"expected\": {\"avg\": 142, \"long_permille\": 500, \"max\": 574, \"count\": 8}, \"passed\": true}, {\"check\": \"boundary: answer logged before registration\", \"actual\": {\"avg\": 15, \"long_permille\": 0, \"max\": 30, \"count\": 2}, \"expected\": {\"avg\": 15, \"long_permille\": 0, \"max\": 30, \"count\": 2}, \"passed\": true}, {\"check\": \"boundary: long unanswered call\", \"actual\": {\"avg\": 73, \"long_permille\": 333, \"max\": 200, \"count\": 3}, \"expected\": {\"avg\": 73, \"long_permille\": 333, \"max\": 200, \"count\": 3}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"avg\": 166, \"long_permille\": 625, \"max\": 558, \"count\": 8}, \"expected\": {\"avg\": 166, \"long_permille\": 625, \"max\": 558, \"count\": 8}, \"passed\": true}, {\"check\": \"control 4\", \"actual\": {\"avg\": 109, \"long_permille\": 166, \"max\": 585, \"count\": 6}, \"expected\": {\"avg\": 109, \"long_permille\": 166, \"max\": 585, \"count\": 6}, \"passed\": true}, {\"check\": \"control 7\", \"actual\": {\"avg\": 115, \"long_permille\": 333, \"max\": 500, \"count\": 6}, \"expected\": {\"avg\": 115, \"long_permille\": 333, \"max\": 500, \"count\": 6}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}