{"abstract":"Shortway offset transition returns a wrong result when the per-cycle shortening limit is rounded up.","category":"Traffic signal timing plans","checks":8,"contract":"Input {cycle, current_offset, target_offset, lengthen_pct, shorten_pct}. The needed correction e = (target - current) mod cycle can be made by lengthening cycles by a total of e or shortening them by cycle - e. Per-cycle limits are floor(cycle*pct/100). Choose the direction needing fewer cycles (ties lengthen) and front-load the maximum adjustment each cycle. Return the list of transition cycle lengths ([] when already in step).","evaluation_group":"w2-traffic_signal_timing_plans-offset-transition","failed_approach":"Rounding to nearest still exceeds the limit when the fractional part is at least one half.","family":"w2-traffic_signal_timing_plans-offset-transition-limit-rounding","id":"FA-68071","implementations":{"attempt":{"sha256":"3ea069d0986c7ddd390e71156b2e8a958ee3f5a2d1d89798556237498b85bd5c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    C = x['cycle']\n    e = (x['target_offset'] - x['current_offset']) % C\n    if e == 0:\n        return []\n    L = C * x['lengthen_pct'] // 100\n    S = round(C * x['shorten_pct'] / 100)\n    nl = -(-e // L)\n    ns = -(-(C - e) // S)\n    if nl <= ns:\n        amt, step, sign = e, L, 1\n    else:\n        amt, step, sign = C - e, S, -1\n    out = []\n    while amt > 0:\n        d = min(step, amt)\n        out.append(C + sign * d)\n        amt -= d\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 47, 'target_offset': 25, 'lengthen_pct': 10, 'shorten_pct': 17}, [59, 59]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 90, 'current_offset': 78, 'target_offset': 67, 'lengthen_pct': 25, 'shorten_pct': 13}, [79]), ({'cycle': 110, 'current_offset': 48, 'target_offset': 34, 'lengthen_pct': 25, 'shorten_pct': 13}, [96]), ({'cycle': 80, 'current_offset': 54, 'target_offset': 32, 'lengthen_pct': 10, 'shorten_pct': 13}, [70, 70, 78]), ({'cycle': 80, 'current_offset': 2, 'target_offset': 66, 'lengthen_pct': 20, 'shorten_pct': 17}, [67, 77]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130])], [({'cycle': 150, 'current_offset': 93, 'target_offset': 41, 'lengthen_pct': 20, 'shorten_pct': 13}, [131, 131, 136]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 3, 'target_offset': 56, 'lengthen_pct': 10, 'shorten_pct': 13}, [61, 62]), ({'cycle': 140, 'current_offset': 132, 'target_offset': 106, 'lengthen_pct': 10, 'shorten_pct': 13}, [122, 132]), ({'cycle': 150, 'current_offset': 73, 'target_offset': 8, 'lengthen_pct': 10, 'shorten_pct': 13}, [131, 131, 131, 142]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 90, 'current_offset': 25, 'target_offset': 12, 'lengthen_pct': 20, 'shorten_pct': 20}, [77]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, [])], [({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 130, 'current_offset': 45, 'target_offset': 22, 'lengthen_pct': 25, 'shorten_pct': 17}, [108, 129]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 140, 'current_offset': 49, 'target_offset': 7, 'lengthen_pct': 20, 'shorten_pct': 13}, [122, 122, 134]), ({'cycle': 130, 'current_offset': 11, 'target_offset': 106, 'lengthen_pct': 20, 'shorten_pct': 13}, [114, 114, 127]), ({'cycle': 70, 'current_offset': 25, 'target_offset': 64, 'lengthen_pct': 10, 'shorten_pct': 17}, [59, 59, 61]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 90, 'current_offset': 40, 'target_offset': 20, 'lengthen_pct': 10, 'shorten_pct': 17}, [75, 85])], [({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 2, 'target_offset': 34, 'lengthen_pct': 10, 'shorten_pct': 10}, [77, 77, 77, 77, 74]), ({'cycle': 80, 'current_offset': 13, 'target_offset': 76, 'lengthen_pct': 17, 'shorten_pct': 17}, [67, 76]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 120, 'current_offset': 74, 'target_offset': 53, 'lengthen_pct': 20, 'shorten_pct': 13}, [105, 114]), ({'cycle': 90, 'current_offset': 52, 'target_offset': 61, 'lengthen_pct': 20, 'shorten_pct': 13}, [99]), ({'cycle': 130, 'current_offset': 40, 'target_offset': 93, 'lengthen_pct': 10, 'shorten_pct': 17}, [108, 108, 108, 119])], [({'cycle': 70, 'current_offset': 61, 'target_offset': 45, 'lengthen_pct': 20, 'shorten_pct': 17}, [59, 65]), ({'cycle': 150, 'current_offset': 106, 'target_offset': 139, 'lengthen_pct': 10, 'shorten_pct': 10}, [165, 165, 153]), ({'cycle': 140, 'current_offset': 12, 'target_offset': 108, 'lengthen_pct': 25, 'shorten_pct': 17}, [117, 119]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 80, 'current_offset': 12, 'target_offset': 23, 'lengthen_pct': 25, 'shorten_pct': 10}, [91]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 80, 'current_offset': 56, 'target_offset': 28, 'lengthen_pct': 10, 'shorten_pct': 17}, [67, 67, 78])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check('timing oracle' + ' %d' % i, 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":"fe0d07f565516beb36c82bab3bc611f0c8ad3cef3e6cd0e4f81c12ac83cc7d04","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    C = x['cycle']\n    e = (x['target_offset'] - x['current_offset']) % C\n    if e == 0:\n        return []\n    L = C * x['lengthen_pct'] // 100\n    S = -(-C * x['shorten_pct'] // 100)\n    nl = -(-e // L)\n    ns = -(-(C - e) // S)\n    if nl <= ns:\n        amt, step, sign = e, L, 1\n    else:\n        amt, step, sign = C - e, S, -1\n    out = []\n    while amt > 0:\n        d = min(step, amt)\n        out.append(C + sign * d)\n        amt -= d\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 47, 'target_offset': 25, 'lengthen_pct': 10, 'shorten_pct': 17}, [59, 59]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 90, 'current_offset': 78, 'target_offset': 67, 'lengthen_pct': 25, 'shorten_pct': 13}, [79]), ({'cycle': 110, 'current_offset': 48, 'target_offset': 34, 'lengthen_pct': 25, 'shorten_pct': 13}, [96]), ({'cycle': 80, 'current_offset': 54, 'target_offset': 32, 'lengthen_pct': 10, 'shorten_pct': 13}, [70, 70, 78]), ({'cycle': 80, 'current_offset': 2, 'target_offset': 66, 'lengthen_pct': 20, 'shorten_pct': 17}, [67, 77]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130])], [({'cycle': 150, 'current_offset': 93, 'target_offset': 41, 'lengthen_pct': 20, 'shorten_pct': 13}, [131, 131, 136]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 3, 'target_offset': 56, 'lengthen_pct': 10, 'shorten_pct': 13}, [61, 62]), ({'cycle': 140, 'current_offset': 132, 'target_offset': 106, 'lengthen_pct': 10, 'shorten_pct': 13}, [122, 132]), ({'cycle': 150, 'current_offset': 73, 'target_offset': 8, 'lengthen_pct': 10, 'shorten_pct': 13}, [131, 131, 131, 142]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 90, 'current_offset': 25, 'target_offset': 12, 'lengthen_pct': 20, 'shorten_pct': 20}, [77]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, [])], [({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 130, 'current_offset': 45, 'target_offset': 22, 'lengthen_pct': 25, 'shorten_pct': 17}, [108, 129]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 140, 'current_offset': 49, 'target_offset': 7, 'lengthen_pct': 20, 'shorten_pct': 13}, [122, 122, 134]), ({'cycle': 130, 'current_offset': 11, 'target_offset': 106, 'lengthen_pct': 20, 'shorten_pct': 13}, [114, 114, 127]), ({'cycle': 70, 'current_offset': 25, 'target_offset': 64, 'lengthen_pct': 10, 'shorten_pct': 17}, [59, 59, 61]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 90, 'current_offset': 40, 'target_offset': 20, 'lengthen_pct': 10, 'shorten_pct': 17}, [75, 85])], [({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 2, 'target_offset': 34, 'lengthen_pct': 10, 'shorten_pct': 10}, [77, 77, 77, 77, 74]), ({'cycle': 80, 'current_offset': 13, 'target_offset': 76, 'lengthen_pct': 17, 'shorten_pct': 17}, [67, 76]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 120, 'current_offset': 74, 'target_offset': 53, 'lengthen_pct': 20, 'shorten_pct': 13}, [105, 114]), ({'cycle': 90, 'current_offset': 52, 'target_offset': 61, 'lengthen_pct': 20, 'shorten_pct': 13}, [99]), ({'cycle': 130, 'current_offset': 40, 'target_offset': 93, 'lengthen_pct': 10, 'shorten_pct': 17}, [108, 108, 108, 119])], [({'cycle': 70, 'current_offset': 61, 'target_offset': 45, 'lengthen_pct': 20, 'shorten_pct': 17}, [59, 65]), ({'cycle': 150, 'current_offset': 106, 'target_offset': 139, 'lengthen_pct': 10, 'shorten_pct': 10}, [165, 165, 153]), ({'cycle': 140, 'current_offset': 12, 'target_offset': 108, 'lengthen_pct': 25, 'shorten_pct': 17}, [117, 119]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 80, 'current_offset': 12, 'target_offset': 23, 'lengthen_pct': 25, 'shorten_pct': 10}, [91]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 80, 'current_offset': 56, 'target_offset': 28, 'lengthen_pct': 10, 'shorten_pct': 17}, [67, 67, 78])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check('timing oracle' + ' %d' % i, 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":"f34a1f2e8da9f6f73c93f442091e51a5c2ae49249218c2a0c3e2d93d83fd4b30","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    C = x['cycle']\n    e = (x['target_offset'] - x['current_offset']) % C\n    if e == 0:\n        return []\n    L = C * x['lengthen_pct'] // 100\n    S = C * x['shorten_pct'] // 100\n    nl = -(-e // L)\n    ns = -(-(C - e) // S)\n    if nl <= ns:\n        amt, step, sign = e, L, 1\n    else:\n        amt, step, sign = C - e, S, -1\n    out = []\n    while amt > 0:\n        d = min(step, amt)\n        out.append(C + sign * d)\n        amt -= d\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 47, 'target_offset': 25, 'lengthen_pct': 10, 'shorten_pct': 17}, [59, 59]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 90, 'current_offset': 78, 'target_offset': 67, 'lengthen_pct': 25, 'shorten_pct': 13}, [79]), ({'cycle': 110, 'current_offset': 48, 'target_offset': 34, 'lengthen_pct': 25, 'shorten_pct': 13}, [96]), ({'cycle': 80, 'current_offset': 54, 'target_offset': 32, 'lengthen_pct': 10, 'shorten_pct': 13}, [70, 70, 78]), ({'cycle': 80, 'current_offset': 2, 'target_offset': 66, 'lengthen_pct': 20, 'shorten_pct': 17}, [67, 77]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130])], [({'cycle': 150, 'current_offset': 93, 'target_offset': 41, 'lengthen_pct': 20, 'shorten_pct': 13}, [131, 131, 136]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 3, 'target_offset': 56, 'lengthen_pct': 10, 'shorten_pct': 13}, [61, 62]), ({'cycle': 140, 'current_offset': 132, 'target_offset': 106, 'lengthen_pct': 10, 'shorten_pct': 13}, [122, 132]), ({'cycle': 150, 'current_offset': 73, 'target_offset': 8, 'lengthen_pct': 10, 'shorten_pct': 13}, [131, 131, 131, 142]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 90, 'current_offset': 25, 'target_offset': 12, 'lengthen_pct': 20, 'shorten_pct': 20}, [77]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, [])], [({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 130, 'current_offset': 45, 'target_offset': 22, 'lengthen_pct': 25, 'shorten_pct': 17}, [108, 129]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 140, 'current_offset': 49, 'target_offset': 7, 'lengthen_pct': 20, 'shorten_pct': 13}, [122, 122, 134]), ({'cycle': 130, 'current_offset': 11, 'target_offset': 106, 'lengthen_pct': 20, 'shorten_pct': 13}, [114, 114, 127]), ({'cycle': 70, 'current_offset': 25, 'target_offset': 64, 'lengthen_pct': 10, 'shorten_pct': 17}, [59, 59, 61]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 90, 'current_offset': 40, 'target_offset': 20, 'lengthen_pct': 10, 'shorten_pct': 17}, [75, 85])], [({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 2, 'target_offset': 34, 'lengthen_pct': 10, 'shorten_pct': 10}, [77, 77, 77, 77, 74]), ({'cycle': 80, 'current_offset': 13, 'target_offset': 76, 'lengthen_pct': 17, 'shorten_pct': 17}, [67, 76]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 120, 'current_offset': 74, 'target_offset': 53, 'lengthen_pct': 20, 'shorten_pct': 13}, [105, 114]), ({'cycle': 90, 'current_offset': 52, 'target_offset': 61, 'lengthen_pct': 20, 'shorten_pct': 13}, [99]), ({'cycle': 130, 'current_offset': 40, 'target_offset': 93, 'lengthen_pct': 10, 'shorten_pct': 17}, [108, 108, 108, 119])], [({'cycle': 70, 'current_offset': 61, 'target_offset': 45, 'lengthen_pct': 20, 'shorten_pct': 17}, [59, 65]), ({'cycle': 150, 'current_offset': 106, 'target_offset': 139, 'lengthen_pct': 10, 'shorten_pct': 10}, [165, 165, 153]), ({'cycle': 140, 'current_offset': 12, 'target_offset': 108, 'lengthen_pct': 25, 'shorten_pct': 17}, [117, 119]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 80, 'current_offset': 12, 'target_offset': 23, 'lengthen_pct': 25, 'shorten_pct': 10}, [91]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 80, 'current_offset': 56, 'target_offset': 28, 'lengthen_pct': 10, 'shorten_pct': 17}, [67, 67, 78])]]\nfor i, (args, expected) in enumerate(fixtures[N-1]):\n    check('timing oracle' + ' %d' % i, 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":"A deterministic, bounded toy model with a stipulated contract; it makes no claim of conformance to any agency manual or standard. 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-traffic_signal_timing_plans-offset-transition-limit-rounding","generated_at":"2026-09-29T14:47:58.810764+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Signal timing arithmetic is exact and integer or rational; a wrong rule silently produces unsafe or inefficient timing plans.","repair":"Restore the per-cycle shortening limit rule so that the step reads `S = C * x['shorten_pct'] // 100`.","root_cause":"Rounding the limit up lets a transition cycle shorten more than the permitted percentage.","sha256":"f8a64751e37490bf4dfacffc18466436ef96575c4f50bf4dbc1f9da14ca51e4b","title":"Shortway offset transition: the per-cycle shortening limit is rounded up · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.068,"exit_code":1,"observations":[{"actual":[120,120],"check":"timing oracle 0","expected":[120,120],"passed":true},{"actual":[58,60],"check":"timing oracle 1","expected":[59,59],"passed":false},{"actual":[],"check":"timing oracle 2","expected":[],"passed":true},{"actual":[79],"check":"timing oracle 3","expected":[79],"passed":true},{"actual":[96],"check":"timing oracle 4","expected":[96],"passed":true},{"actual":[70,70,78],"check":"timing oracle 5","expected":[70,70,78],"passed":true},{"actual":[66,78],"check":"timing oracle 6","expected":[67,77],"passed":false},{"actual":[140,140,130],"check":"timing oracle 7","expected":[140,140,130],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"timing oracle 0\", \"actual\": [120, 120], \"expected\": [120, 120], \"passed\": true}, {\"check\": \"timing oracle 1\", \"actual\": [58, 60], \"expected\": [59, 59], \"passed\": false}, {\"check\": \"timing oracle 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"timing oracle 3\", \"actual\": [79], \"expected\": [79], \"passed\": true}, {\"check\": \"timing oracle 4\", \"actual\": [96], \"expected\": [96], \"passed\": true}, {\"check\": \"timing oracle 5\", \"actual\": [70, 70, 78], \"expected\": [70, 70, 78], \"passed\": true}, {\"check\": \"timing oracle 6\", \"actual\": [66, 78], \"expected\": [67, 77], \"passed\": false}, {\"check\": \"timing oracle 7\", \"actual\": [140, 140, 130], \"expected\": [140, 140, 130], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.121,"exit_code":1,"observations":[{"actual":[120,120],"check":"timing oracle 0","expected":[120,120],"passed":true},{"actual":[58,60],"check":"timing oracle 1","expected":[59,59],"passed":false},{"actual":[],"check":"timing oracle 2","expected":[],"passed":true},{"actual":[79],"check":"timing oracle 3","expected":[79],"passed":true},{"actual":[96],"check":"timing oracle 4","expected":[96],"passed":true},{"actual":[69,69],"check":"timing oracle 5","expected":[70,70,78],"passed":false},{"actual":[66,78],"check":"timing oracle 6","expected":[67,77],"passed":false},{"actual":[140,140,130],"check":"timing oracle 7","expected":[140,140,130],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"timing oracle 0\", \"actual\": [120, 120], \"expected\": [120, 120], \"passed\": true}, {\"check\": \"timing oracle 1\", \"actual\": [58, 60], \"expected\": [59, 59], \"passed\": false}, {\"check\": \"timing oracle 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"timing oracle 3\", \"actual\": [79], \"expected\": [79], \"passed\": true}, {\"check\": \"timing oracle 4\", \"actual\": [96], \"expected\": [96], \"passed\": true}, {\"check\": \"timing oracle 5\", \"actual\": [69, 69], \"expected\": [70, 70, 78], \"passed\": false}, {\"check\": \"timing oracle 6\", \"actual\": [66, 78], \"expected\": [67, 77], \"passed\": false}, {\"check\": \"timing oracle 7\", \"actual\": [140, 140, 130], \"expected\": [140, 140, 130], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.663,"exit_code":0,"observations":[{"actual":[120,120],"check":"timing oracle 0","expected":[120,120],"passed":true},{"actual":[59,59],"check":"timing oracle 1","expected":[59,59],"passed":true},{"actual":[],"check":"timing oracle 2","expected":[],"passed":true},{"actual":[79],"check":"timing oracle 3","expected":[79],"passed":true},{"actual":[96],"check":"timing oracle 4","expected":[96],"passed":true},{"actual":[70,70,78],"check":"timing oracle 5","expected":[70,70,78],"passed":true},{"actual":[67,77],"check":"timing oracle 6","expected":[67,77],"passed":true},{"actual":[140,140,130],"check":"timing oracle 7","expected":[140,140,130],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"timing oracle 0\", \"actual\": [120, 120], \"expected\": [120, 120], \"passed\": true}, {\"check\": \"timing oracle 1\", \"actual\": [59, 59], \"expected\": [59, 59], \"passed\": true}, {\"check\": \"timing oracle 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"timing oracle 3\", \"actual\": [79], \"expected\": [79], \"passed\": true}, {\"check\": \"timing oracle 4\", \"actual\": [96], \"expected\": [96], \"passed\": true}, {\"check\": \"timing oracle 5\", \"actual\": [70, 70, 78], \"expected\": [70, 70, 78], \"passed\": true}, {\"check\": \"timing oracle 6\", \"actual\": [67, 77], \"expected\": [67, 77], \"passed\": true}, {\"check\": \"timing oracle 7\", \"actual\": [140, 140, 130], \"expected\": [140, 140, 130], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}