{"abstract":"Shortway offset transition returns a wrong result when ties between directions pick shortening.","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":"Choosing by raw distance ignores that the two directions have different per-cycle limits.","family":"w2-traffic_signal_timing_plans-offset-transition-direction-tie","id":"FA-68066","implementations":{"attempt":{"sha256":"551bc93d5528347be438e10c1bb37df712bfe54a341b56a2e0f2e6f7a3ae0539","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 e <= C - e:\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': 60, 'current_offset': 49, 'target_offset': 26, 'lengthen_pct': 20, 'shorten_pct': 13}, [72, 72, 72, 61]), ({'cycle': 150, 'current_offset': 76, 'target_offset': 139, 'lengthen_pct': 20, 'shorten_pct': 20}, [180, 180, 153]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 100, 'current_offset': 95, 'target_offset': 74, 'lengthen_pct': 10, 'shorten_pct': 10}, [90, 90, 99]), ({'cycle': 140, 'current_offset': 130, 'target_offset': 73, 'lengthen_pct': 20, 'shorten_pct': 17}, [168, 168, 167]), ({'cycle': 60, 'current_offset': 28, 'target_offset': 31, 'lengthen_pct': 17, 'shorten_pct': 13}, [63]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130])], [({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 5, 'target_offset': 46, 'lengthen_pct': 20, 'shorten_pct': 10}, [84, 84, 83]), ({'cycle': 120, 'current_offset': 24, 'target_offset': 105, 'lengthen_pct': 20, 'shorten_pct': 10}, [144, 144, 144, 129]), ({'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': 150, 'current_offset': 78, 'target_offset': 16, 'lengthen_pct': 17, 'shorten_pct': 13}, [175, 175, 175, 163]), ({'cycle': 90, 'current_offset': 74, 'target_offset': 23, 'lengthen_pct': 17, 'shorten_pct': 20}, [105, 105, 99]), ({'cycle': 90, 'current_offset': 77, 'target_offset': 35, 'lengthen_pct': 25, 'shorten_pct': 13}, [112, 112, 94])], [({'cycle': 100, 'current_offset': 96, 'target_offset': 58, 'lengthen_pct': 25, 'shorten_pct': 10}, [125, 125, 112]), ({'cycle': 120, 'current_offset': 110, 'target_offset': 48, 'lengthen_pct': 10, 'shorten_pct': 13}, [132, 132, 132, 132, 130]), ({'cycle': 110, 'current_offset': 4, 'target_offset': 71, 'lengthen_pct': 25, 'shorten_pct': 13}, [137, 137, 123]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 150, 'current_offset': 34, 'target_offset': 105, 'lengthen_pct': 17, 'shorten_pct': 20}, [175, 175, 171]), ({'cycle': 90, 'current_offset': 33, 'target_offset': 78, 'lengthen_pct': 25, 'shorten_pct': 17}, [112, 112, 91]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120])], [({'cycle': 90, 'current_offset': 57, 'target_offset': 2, 'lengthen_pct': 10, 'shorten_pct': 20}, [99, 99, 99, 98]), ({'cycle': 110, 'current_offset': 14, 'target_offset': 86, 'lengthen_pct': 25, 'shorten_pct': 10}, [137, 137, 128]), ({'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': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 90, 'current_offset': 13, 'target_offset': 68, 'lengthen_pct': 25, 'shorten_pct': 17}, [112, 112, 101]), ({'cycle': 140, 'current_offset': 52, 'target_offset': 120, 'lengthen_pct': 17, 'shorten_pct': 20}, [163, 163, 162]), ({'cycle': 60, 'current_offset': 16, 'target_offset': 18, 'lengthen_pct': 10, 'shorten_pct': 20}, [62])], [({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 90, 'current_offset': 26, 'target_offset': 75, 'lengthen_pct': 20, 'shorten_pct': 13}, [108, 108, 103]), ({'cycle': 70, 'current_offset': 20, 'target_offset': 49, 'lengthen_pct': 10, 'shorten_pct': 20}, [56, 56, 57]), ({'cycle': 80, 'current_offset': 58, 'target_offset': 37, 'lengthen_pct': 25, 'shorten_pct': 10}, [100, 100, 99]), ({'cycle': 100, 'current_offset': 66, 'target_offset': 1, 'lengthen_pct': 10, 'shorten_pct': 17}, [110, 110, 110, 105]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 60, 'current_offset': 11, 'target_offset': 44, 'lengthen_pct': 17, 'shorten_pct': 13}, [70, 70, 70, 63])]]\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":"5a9d41b24cfabe48a16d88b9c92f089a1765b04ec0c8f9a6c401f4bdc0857a4e","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': 60, 'current_offset': 49, 'target_offset': 26, 'lengthen_pct': 20, 'shorten_pct': 13}, [72, 72, 72, 61]), ({'cycle': 150, 'current_offset': 76, 'target_offset': 139, 'lengthen_pct': 20, 'shorten_pct': 20}, [180, 180, 153]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 100, 'current_offset': 95, 'target_offset': 74, 'lengthen_pct': 10, 'shorten_pct': 10}, [90, 90, 99]), ({'cycle': 140, 'current_offset': 130, 'target_offset': 73, 'lengthen_pct': 20, 'shorten_pct': 17}, [168, 168, 167]), ({'cycle': 60, 'current_offset': 28, 'target_offset': 31, 'lengthen_pct': 17, 'shorten_pct': 13}, [63]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130])], [({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 5, 'target_offset': 46, 'lengthen_pct': 20, 'shorten_pct': 10}, [84, 84, 83]), ({'cycle': 120, 'current_offset': 24, 'target_offset': 105, 'lengthen_pct': 20, 'shorten_pct': 10}, [144, 144, 144, 129]), ({'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': 150, 'current_offset': 78, 'target_offset': 16, 'lengthen_pct': 17, 'shorten_pct': 13}, [175, 175, 175, 163]), ({'cycle': 90, 'current_offset': 74, 'target_offset': 23, 'lengthen_pct': 17, 'shorten_pct': 20}, [105, 105, 99]), ({'cycle': 90, 'current_offset': 77, 'target_offset': 35, 'lengthen_pct': 25, 'shorten_pct': 13}, [112, 112, 94])], [({'cycle': 100, 'current_offset': 96, 'target_offset': 58, 'lengthen_pct': 25, 'shorten_pct': 10}, [125, 125, 112]), ({'cycle': 120, 'current_offset': 110, 'target_offset': 48, 'lengthen_pct': 10, 'shorten_pct': 13}, [132, 132, 132, 132, 130]), ({'cycle': 110, 'current_offset': 4, 'target_offset': 71, 'lengthen_pct': 25, 'shorten_pct': 13}, [137, 137, 123]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 150, 'current_offset': 34, 'target_offset': 105, 'lengthen_pct': 17, 'shorten_pct': 20}, [175, 175, 171]), ({'cycle': 90, 'current_offset': 33, 'target_offset': 78, 'lengthen_pct': 25, 'shorten_pct': 17}, [112, 112, 91]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120])], [({'cycle': 90, 'current_offset': 57, 'target_offset': 2, 'lengthen_pct': 10, 'shorten_pct': 20}, [99, 99, 99, 98]), ({'cycle': 110, 'current_offset': 14, 'target_offset': 86, 'lengthen_pct': 25, 'shorten_pct': 10}, [137, 137, 128]), ({'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': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 90, 'current_offset': 13, 'target_offset': 68, 'lengthen_pct': 25, 'shorten_pct': 17}, [112, 112, 101]), ({'cycle': 140, 'current_offset': 52, 'target_offset': 120, 'lengthen_pct': 17, 'shorten_pct': 20}, [163, 163, 162]), ({'cycle': 60, 'current_offset': 16, 'target_offset': 18, 'lengthen_pct': 10, 'shorten_pct': 20}, [62])], [({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 90, 'current_offset': 26, 'target_offset': 75, 'lengthen_pct': 20, 'shorten_pct': 13}, [108, 108, 103]), ({'cycle': 70, 'current_offset': 20, 'target_offset': 49, 'lengthen_pct': 10, 'shorten_pct': 20}, [56, 56, 57]), ({'cycle': 80, 'current_offset': 58, 'target_offset': 37, 'lengthen_pct': 25, 'shorten_pct': 10}, [100, 100, 99]), ({'cycle': 100, 'current_offset': 66, 'target_offset': 1, 'lengthen_pct': 10, 'shorten_pct': 17}, [110, 110, 110, 105]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 60, 'current_offset': 11, 'target_offset': 44, 'lengthen_pct': 17, 'shorten_pct': 13}, [70, 70, 70, 63])]]\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":"92827f7fdeaa1edcdde3d2bcb9a1a9b166e09c4114a6e69e97b029af28bb4e6d","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': 60, 'current_offset': 49, 'target_offset': 26, 'lengthen_pct': 20, 'shorten_pct': 13}, [72, 72, 72, 61]), ({'cycle': 150, 'current_offset': 76, 'target_offset': 139, 'lengthen_pct': 20, 'shorten_pct': 20}, [180, 180, 153]), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 100, 'current_offset': 95, 'target_offset': 74, 'lengthen_pct': 10, 'shorten_pct': 10}, [90, 90, 99]), ({'cycle': 140, 'current_offset': 130, 'target_offset': 73, 'lengthen_pct': 20, 'shorten_pct': 17}, [168, 168, 167]), ({'cycle': 60, 'current_offset': 28, 'target_offset': 31, 'lengthen_pct': 17, 'shorten_pct': 13}, [63]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130])], [({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 70, 'current_offset': 5, 'target_offset': 46, 'lengthen_pct': 20, 'shorten_pct': 10}, [84, 84, 83]), ({'cycle': 120, 'current_offset': 24, 'target_offset': 105, 'lengthen_pct': 20, 'shorten_pct': 10}, [144, 144, 144, 129]), ({'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': 150, 'current_offset': 78, 'target_offset': 16, 'lengthen_pct': 17, 'shorten_pct': 13}, [175, 175, 175, 163]), ({'cycle': 90, 'current_offset': 74, 'target_offset': 23, 'lengthen_pct': 17, 'shorten_pct': 20}, [105, 105, 99]), ({'cycle': 90, 'current_offset': 77, 'target_offset': 35, 'lengthen_pct': 25, 'shorten_pct': 13}, [112, 112, 94])], [({'cycle': 100, 'current_offset': 96, 'target_offset': 58, 'lengthen_pct': 25, 'shorten_pct': 10}, [125, 125, 112]), ({'cycle': 120, 'current_offset': 110, 'target_offset': 48, 'lengthen_pct': 10, 'shorten_pct': 13}, [132, 132, 132, 132, 130]), ({'cycle': 110, 'current_offset': 4, 'target_offset': 71, 'lengthen_pct': 25, 'shorten_pct': 13}, [137, 137, 123]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 150, 'current_offset': 34, 'target_offset': 105, 'lengthen_pct': 17, 'shorten_pct': 20}, [175, 175, 171]), ({'cycle': 90, 'current_offset': 33, 'target_offset': 78, 'lengthen_pct': 25, 'shorten_pct': 17}, [112, 112, 91]), ({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120])], [({'cycle': 90, 'current_offset': 57, 'target_offset': 2, 'lengthen_pct': 10, 'shorten_pct': 20}, [99, 99, 99, 98]), ({'cycle': 110, 'current_offset': 14, 'target_offset': 86, 'lengthen_pct': 25, 'shorten_pct': 10}, [137, 137, 128]), ({'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': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 90, 'current_offset': 13, 'target_offset': 68, 'lengthen_pct': 25, 'shorten_pct': 17}, [112, 112, 101]), ({'cycle': 140, 'current_offset': 52, 'target_offset': 120, 'lengthen_pct': 17, 'shorten_pct': 20}, [163, 163, 162]), ({'cycle': 60, 'current_offset': 16, 'target_offset': 18, 'lengthen_pct': 10, 'shorten_pct': 20}, [62])], [({'cycle': 90, 'current_offset': 30, 'target_offset': 30, 'lengthen_pct': 20, 'shorten_pct': 17}, []), ({'cycle': 100, 'current_offset': 10, 'target_offset': 50, 'lengthen_pct': 20, 'shorten_pct': 20}, [120, 120]), ({'cycle': 90, 'current_offset': 26, 'target_offset': 75, 'lengthen_pct': 20, 'shorten_pct': 13}, [108, 108, 103]), ({'cycle': 70, 'current_offset': 20, 'target_offset': 49, 'lengthen_pct': 10, 'shorten_pct': 20}, [56, 56, 57]), ({'cycle': 80, 'current_offset': 58, 'target_offset': 37, 'lengthen_pct': 25, 'shorten_pct': 10}, [100, 100, 99]), ({'cycle': 100, 'current_offset': 66, 'target_offset': 1, 'lengthen_pct': 10, 'shorten_pct': 17}, [110, 110, 110, 105]), ({'cycle': 120, 'current_offset': 90, 'target_offset': 20, 'lengthen_pct': 17, 'shorten_pct': 13}, [140, 140, 130]), ({'cycle': 60, 'current_offset': 11, 'target_offset': 44, 'lengthen_pct': 17, 'shorten_pct': 13}, [70, 70, 70, 63])]]\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-direction-tie","generated_at":"2026-09-29T14:47:58.708243+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 direction selection rule so that the step reads `if nl <= ns:`.","root_cause":"Equal cycle counts choose shortening although the contract resolves ties toward lengthening.","sha256":"adb6db4ab636bfeee9c115aa5c78ddba2af40c79b39fad71f3adc297ce413513","title":"Shortway offset transition: ties between directions pick shortening · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.833,"exit_code":1,"observations":[{"actual":[53,53,53,58],"check":"timing oracle 0","expected":[72,72,72,61],"passed":false},{"actual":[180,180,153],"check":"timing oracle 1","expected":[180,180,153],"passed":true},{"actual":[120,120],"check":"timing oracle 2","expected":[120,120],"passed":true},{"actual":[],"check":"timing oracle 3","expected":[],"passed":true},{"actual":[90,90,99],"check":"timing oracle 4","expected":[90,90,99],"passed":true},{"actual":[117,117,129],"check":"timing oracle 5","expected":[168,168,167],"passed":false},{"actual":[63],"check":"timing oracle 6","expected":[63],"passed":true},{"actual":[140,140,130],"check":"timing oracle 7","expected":[140,140,130],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"timing oracle 0\", \"actual\": [53, 53, 53, 58], \"expected\": [72, 72, 72, 61], \"passed\": false}, {\"check\": \"timing oracle 1\", \"actual\": [180, 180, 153], \"expected\": [180, 180, 153], \"passed\": true}, {\"check\": \"timing oracle 2\", \"actual\": [120, 120], \"expected\": [120, 120], \"passed\": true}, {\"check\": \"timing oracle 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"timing oracle 4\", \"actual\": [90, 90, 99], \"expected\": [90, 90, 99], \"passed\": true}, {\"check\": \"timing oracle 5\", \"actual\": [117, 117, 129], \"expected\": [168, 168, 167], \"passed\": false}, {\"check\": \"timing oracle 6\", \"actual\": [63], \"expected\": [63], \"passed\": true}, {\"check\": \"timing oracle 7\", \"actual\": [140, 140, 130], \"expected\": [140, 140, 130], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.433,"exit_code":1,"observations":[{"actual":[53,53,53,58],"check":"timing oracle 0","expected":[72,72,72,61],"passed":false},{"actual":[120,120,123],"check":"timing oracle 1","expected":[180,180,153],"passed":false},{"actual":[120,120],"check":"timing oracle 2","expected":[120,120],"passed":true},{"actual":[],"check":"timing oracle 3","expected":[],"passed":true},{"actual":[90,90,99],"check":"timing oracle 4","expected":[90,90,99],"passed":true},{"actual":[117,117,129],"check":"timing oracle 5","expected":[168,168,167],"passed":false},{"actual":[63],"check":"timing oracle 6","expected":[63],"passed":true},{"actual":[140,140,130],"check":"timing oracle 7","expected":[140,140,130],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"timing oracle 0\", \"actual\": [53, 53, 53, 58], \"expected\": [72, 72, 72, 61], \"passed\": false}, {\"check\": \"timing oracle 1\", \"actual\": [120, 120, 123], \"expected\": [180, 180, 153], \"passed\": false}, {\"check\": \"timing oracle 2\", \"actual\": [120, 120], \"expected\": [120, 120], \"passed\": true}, {\"check\": \"timing oracle 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"timing oracle 4\", \"actual\": [90, 90, 99], \"expected\": [90, 90, 99], \"passed\": true}, {\"check\": \"timing oracle 5\", \"actual\": [117, 117, 129], \"expected\": [168, 168, 167], \"passed\": false}, {\"check\": \"timing oracle 6\", \"actual\": [63], \"expected\": [63], \"passed\": true}, {\"check\": \"timing oracle 7\", \"actual\": [140, 140, 130], \"expected\": [140, 140, 130], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.011,"exit_code":0,"observations":[{"actual":[72,72,72,61],"check":"timing oracle 0","expected":[72,72,72,61],"passed":true},{"actual":[180,180,153],"check":"timing oracle 1","expected":[180,180,153],"passed":true},{"actual":[120,120],"check":"timing oracle 2","expected":[120,120],"passed":true},{"actual":[],"check":"timing oracle 3","expected":[],"passed":true},{"actual":[90,90,99],"check":"timing oracle 4","expected":[90,90,99],"passed":true},{"actual":[168,168,167],"check":"timing oracle 5","expected":[168,168,167],"passed":true},{"actual":[63],"check":"timing oracle 6","expected":[63],"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\": [72, 72, 72, 61], \"expected\": [72, 72, 72, 61], \"passed\": true}, {\"check\": \"timing oracle 1\", \"actual\": [180, 180, 153], \"expected\": [180, 180, 153], \"passed\": true}, {\"check\": \"timing oracle 2\", \"actual\": [120, 120], \"expected\": [120, 120], \"passed\": true}, {\"check\": \"timing oracle 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"timing oracle 4\", \"actual\": [90, 90, 99], \"expected\": [90, 90, 99], \"passed\": true}, {\"check\": \"timing oracle 5\", \"actual\": [168, 168, 167], \"expected\": [168, 168, 167], \"passed\": true}, {\"check\": \"timing oracle 6\", \"actual\": [63], \"expected\": [63], \"passed\": true}, {\"check\": \"timing oracle 7\", \"actual\": [140, 140, 130], \"expected\": [140, 140, 130], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}