{"abstract":"Yellow and all-red intervals returns a wrong result when reaction time in tenths is read as hundredths.","category":"Traffic signal timing plans","checks":8,"contract":"Input {speed_mph, grade_pct (uphill positive), reaction_tenths, decel ft/s^2, width_ft, veh_len_ft, crosswalk_ft, ped}. v = 1.467*speed ft/s; yellow = t + v/(2a + 2*32.2*grade/100), rounded UP to 0.1 s and clamped to [3.0, 6.0]; a non-positive denominator returns 'invalid'. All-red = (W + vehicle length)/v where W includes the far crosswalk when ped is true, rounded UP to 0.1 s and clamped to [1.0, 6.0]. Return tenths.","evaluation_group":"w2-traffic_signal_timing_plans-change-clearance","failed_approach":"Integer-dividing to whole seconds drops fractional reaction times such as 1.5 s.","family":"w2-traffic_signal_timing_plans-change-clearance-reaction-units","id":"FA-67921","implementations":{"attempt":{"sha256":"c3bafd014d76cc62da0940edc131dfbd4ad01b5d8c1a8a134a115e11b2763e58","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    v = Fraction(x['speed_mph']) * Fraction(1467, 1000)\n    t = Fraction(x['reaction_tenths'] // 10)\n    den = 2 * x['decel'] + 2 * Fraction(322, 10) * Fraction(x['grade_pct'], 100)\n    if den <= 0:\n        return 'invalid'\n    yl = max(30, min(60, math.ceil((t + v / den) * 10)))\n    w = x['width_ft'] + (x['crosswalk_ft'] if x['ped'] else 0)\n    rd = max(10, min(60, math.ceil((w + x['veh_len_ft']) / v * 10)))\n    return {'yellow_tenths': yl, 'red_tenths': rd}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'speed_mph': 55, 'grade_pct': -7, 'reaction_tenths': 12, 'decel': 11, 'width_ft': 81, 'veh_len_ft': 40, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 59, 'red_tenths': 17}), ({'speed_mph': 30, 'grade_pct': 4, 'reaction_tenths': 15, 'decel': 11, 'width_ft': 62, 'veh_len_ft': 16, 'crosswalk_ft': 8, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 18}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 20, 'grade_pct': -2, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 95, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 40}), ({'speed_mph': 30, 'grade_pct': 4, 'reaction_tenths': 8, 'decel': 10, 'width_ft': 97, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 27}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 20, 'grade_pct': -4, 'reaction_tenths': 12, 'decel': 11, 'width_ft': 61, 'veh_len_ft': 16, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 27}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19})], [({'speed_mph': 30, 'grade_pct': 6, 'reaction_tenths': 10, 'decel': 11, 'width_ft': 63, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 23}), ({'speed_mph': 20, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 49, 'veh_len_ft': 25, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 31}), ({'speed_mph': 20, 'grade_pct': -8, 'reaction_tenths': 10, 'decel': 11, 'width_ft': 61, 'veh_len_ft': 40, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 40}), ({'speed_mph': 45, 'grade_pct': 2, 'reaction_tenths': 12, 'decel': 10, 'width_ft': 65, 'veh_len_ft': 25, 'crosswalk_ft': 10, 'ped': False}, {'yellow_tenths': 44, 'red_tenths': 14}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 25, 'grade_pct': 3, 'reaction_tenths': 15, 'decel': 11, 'width_ft': 74, 'veh_len_ft': 20, 'crosswalk_ft': 8, 'ped': False}, {'yellow_tenths': 31, 'red_tenths': 26}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19})], [({'speed_mph': 65, 'grade_pct': 6, 'reaction_tenths': 8, 'decel': 12, 'width_ft': 78, 'veh_len_ft': 16, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 43, 'red_tenths': 10}), ({'speed_mph': 60, 'grade_pct': -6, 'reaction_tenths': 12, 'decel': 8, 'width_ft': 103, 'veh_len_ft': 40, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 18}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 70, 'grade_pct': -6, 'reaction_tenths': 10, 'decel': 8, 'width_ft': 114, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 60, 'red_tenths': 14}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 50, 'grade_pct': 5, 'reaction_tenths': 12, 'decel': 8, 'width_ft': 120, 'veh_len_ft': 16, 'crosswalk_ft': 12, 'ped': True}, {'yellow_tenths': 51, 'red_tenths': 21}), ({'speed_mph': 20, 'grade_pct': 1, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 118, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 48}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19})], [({'speed_mph': 20, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 12, 'width_ft': 112, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 51}), ({'speed_mph': 45, 'grade_pct': -8, 'reaction_tenths': 12, 'decel': 8, 'width_ft': 44, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 60, 'red_tenths': 10}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 20, 'grade_pct': 8, 'reaction_tenths': 15, 'decel': 10, 'width_ft': 117, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 51}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 70, 'grade_pct': 6, 'reaction_tenths': 15, 'decel': 11, 'width_ft': 56, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 55, 'red_tenths': 10}), ({'speed_mph': 65, 'grade_pct': -4, 'reaction_tenths': 8, 'decel': 11, 'width_ft': 126, 'veh_len_ft': 40, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 58, 'red_tenths': 18})], [({'speed_mph': 25, 'grade_pct': -6, 'reaction_tenths': 15, 'decel': 8, 'width_ft': 126, 'veh_len_ft': 25, 'crosswalk_ft': 12, 'ped': True}, {'yellow_tenths': 46, 'red_tenths': 45}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 20, 'grade_pct': 6, 'reaction_tenths': 8, 'decel': 10, 'width_ft': 66, 'veh_len_ft': 40, 'crosswalk_ft': 12, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 41}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19}), ({'speed_mph': 65, 'grade_pct': 0, 'reaction_tenths': 15, 'decel': 12, 'width_ft': 55, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 55, 'red_tenths': 10}), ({'speed_mph': 25, 'grade_pct': 7, 'reaction_tenths': 12, 'decel': 11, 'width_ft': 93, 'veh_len_ft': 25, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 33}), ({'speed_mph': 25, 'grade_pct': 7, 'reaction_tenths': 10, 'decel': 8, 'width_ft': 96, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 32})]]\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":"9ec6fdbf6b4e53fba5b0c7a24714fd9d8a4611a6ca138a8af0e3a1ce7b2f4d9d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    v = Fraction(x['speed_mph']) * Fraction(1467, 1000)\n    t = Fraction(x['reaction_tenths'], 100)\n    den = 2 * x['decel'] + 2 * Fraction(322, 10) * Fraction(x['grade_pct'], 100)\n    if den <= 0:\n        return 'invalid'\n    yl = max(30, min(60, math.ceil((t + v / den) * 10)))\n    w = x['width_ft'] + (x['crosswalk_ft'] if x['ped'] else 0)\n    rd = max(10, min(60, math.ceil((w + x['veh_len_ft']) / v * 10)))\n    return {'yellow_tenths': yl, 'red_tenths': rd}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'speed_mph': 55, 'grade_pct': -7, 'reaction_tenths': 12, 'decel': 11, 'width_ft': 81, 'veh_len_ft': 40, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 59, 'red_tenths': 17}), ({'speed_mph': 30, 'grade_pct': 4, 'reaction_tenths': 15, 'decel': 11, 'width_ft': 62, 'veh_len_ft': 16, 'crosswalk_ft': 8, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 18}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 20, 'grade_pct': -2, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 95, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 40}), ({'speed_mph': 30, 'grade_pct': 4, 'reaction_tenths': 8, 'decel': 10, 'width_ft': 97, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 27}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 20, 'grade_pct': -4, 'reaction_tenths': 12, 'decel': 11, 'width_ft': 61, 'veh_len_ft': 16, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 27}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19})], [({'speed_mph': 30, 'grade_pct': 6, 'reaction_tenths': 10, 'decel': 11, 'width_ft': 63, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 23}), ({'speed_mph': 20, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 49, 'veh_len_ft': 25, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 31}), ({'speed_mph': 20, 'grade_pct': -8, 'reaction_tenths': 10, 'decel': 11, 'width_ft': 61, 'veh_len_ft': 40, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 40}), ({'speed_mph': 45, 'grade_pct': 2, 'reaction_tenths': 12, 'decel': 10, 'width_ft': 65, 'veh_len_ft': 25, 'crosswalk_ft': 10, 'ped': False}, {'yellow_tenths': 44, 'red_tenths': 14}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 25, 'grade_pct': 3, 'reaction_tenths': 15, 'decel': 11, 'width_ft': 74, 'veh_len_ft': 20, 'crosswalk_ft': 8, 'ped': False}, {'yellow_tenths': 31, 'red_tenths': 26}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19})], [({'speed_mph': 65, 'grade_pct': 6, 'reaction_tenths': 8, 'decel': 12, 'width_ft': 78, 'veh_len_ft': 16, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 43, 'red_tenths': 10}), ({'speed_mph': 60, 'grade_pct': -6, 'reaction_tenths': 12, 'decel': 8, 'width_ft': 103, 'veh_len_ft': 40, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 18}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 70, 'grade_pct': -6, 'reaction_tenths': 10, 'decel': 8, 'width_ft': 114, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 60, 'red_tenths': 14}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 50, 'grade_pct': 5, 'reaction_tenths': 12, 'decel': 8, 'width_ft': 120, 'veh_len_ft': 16, 'crosswalk_ft': 12, 'ped': True}, {'yellow_tenths': 51, 'red_tenths': 21}), ({'speed_mph': 20, 'grade_pct': 1, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 118, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 48}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19})], [({'speed_mph': 20, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 12, 'width_ft': 112, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 51}), ({'speed_mph': 45, 'grade_pct': -8, 'reaction_tenths': 12, 'decel': 8, 'width_ft': 44, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 60, 'red_tenths': 10}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 20, 'grade_pct': 8, 'reaction_tenths': 15, 'decel': 10, 'width_ft': 117, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 51}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 70, 'grade_pct': 6, 'reaction_tenths': 15, 'decel': 11, 'width_ft': 56, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 55, 'red_tenths': 10}), ({'speed_mph': 65, 'grade_pct': -4, 'reaction_tenths': 8, 'decel': 11, 'width_ft': 126, 'veh_len_ft': 40, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 58, 'red_tenths': 18})], [({'speed_mph': 25, 'grade_pct': -6, 'reaction_tenths': 15, 'decel': 8, 'width_ft': 126, 'veh_len_ft': 25, 'crosswalk_ft': 12, 'ped': True}, {'yellow_tenths': 46, 'red_tenths': 45}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 20, 'grade_pct': 6, 'reaction_tenths': 8, 'decel': 10, 'width_ft': 66, 'veh_len_ft': 40, 'crosswalk_ft': 12, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 41}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19}), ({'speed_mph': 65, 'grade_pct': 0, 'reaction_tenths': 15, 'decel': 12, 'width_ft': 55, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 55, 'red_tenths': 10}), ({'speed_mph': 25, 'grade_pct': 7, 'reaction_tenths': 12, 'decel': 11, 'width_ft': 93, 'veh_len_ft': 25, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 33}), ({'speed_mph': 25, 'grade_pct': 7, 'reaction_tenths': 10, 'decel': 8, 'width_ft': 96, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 32})]]\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":"ab592d4cb0bcca772c34507c3d6d5cbbdc24d7d399fc7810c2f9dcb787b804ee","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nimport math\nN = 1\nobservations = []\ndef solve(x):\n    v = Fraction(x['speed_mph']) * Fraction(1467, 1000)\n    t = Fraction(x['reaction_tenths'], 10)\n    den = 2 * x['decel'] + 2 * Fraction(322, 10) * Fraction(x['grade_pct'], 100)\n    if den <= 0:\n        return 'invalid'\n    yl = max(30, min(60, math.ceil((t + v / den) * 10)))\n    w = x['width_ft'] + (x['crosswalk_ft'] if x['ped'] else 0)\n    rd = max(10, min(60, math.ceil((w + x['veh_len_ft']) / v * 10)))\n    return {'yellow_tenths': yl, 'red_tenths': rd}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[({'speed_mph': 55, 'grade_pct': -7, 'reaction_tenths': 12, 'decel': 11, 'width_ft': 81, 'veh_len_ft': 40, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 59, 'red_tenths': 17}), ({'speed_mph': 30, 'grade_pct': 4, 'reaction_tenths': 15, 'decel': 11, 'width_ft': 62, 'veh_len_ft': 16, 'crosswalk_ft': 8, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 18}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 20, 'grade_pct': -2, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 95, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 40}), ({'speed_mph': 30, 'grade_pct': 4, 'reaction_tenths': 8, 'decel': 10, 'width_ft': 97, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 27}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 20, 'grade_pct': -4, 'reaction_tenths': 12, 'decel': 11, 'width_ft': 61, 'veh_len_ft': 16, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 27}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19})], [({'speed_mph': 30, 'grade_pct': 6, 'reaction_tenths': 10, 'decel': 11, 'width_ft': 63, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 23}), ({'speed_mph': 20, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 49, 'veh_len_ft': 25, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 31}), ({'speed_mph': 20, 'grade_pct': -8, 'reaction_tenths': 10, 'decel': 11, 'width_ft': 61, 'veh_len_ft': 40, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 40}), ({'speed_mph': 45, 'grade_pct': 2, 'reaction_tenths': 12, 'decel': 10, 'width_ft': 65, 'veh_len_ft': 25, 'crosswalk_ft': 10, 'ped': False}, {'yellow_tenths': 44, 'red_tenths': 14}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 25, 'grade_pct': 3, 'reaction_tenths': 15, 'decel': 11, 'width_ft': 74, 'veh_len_ft': 20, 'crosswalk_ft': 8, 'ped': False}, {'yellow_tenths': 31, 'red_tenths': 26}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19})], [({'speed_mph': 65, 'grade_pct': 6, 'reaction_tenths': 8, 'decel': 12, 'width_ft': 78, 'veh_len_ft': 16, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 43, 'red_tenths': 10}), ({'speed_mph': 60, 'grade_pct': -6, 'reaction_tenths': 12, 'decel': 8, 'width_ft': 103, 'veh_len_ft': 40, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 18}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 70, 'grade_pct': -6, 'reaction_tenths': 10, 'decel': 8, 'width_ft': 114, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 60, 'red_tenths': 14}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 50, 'grade_pct': 5, 'reaction_tenths': 12, 'decel': 8, 'width_ft': 120, 'veh_len_ft': 16, 'crosswalk_ft': 12, 'ped': True}, {'yellow_tenths': 51, 'red_tenths': 21}), ({'speed_mph': 20, 'grade_pct': 1, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 118, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 48}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19})], [({'speed_mph': 20, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 12, 'width_ft': 112, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 51}), ({'speed_mph': 45, 'grade_pct': -8, 'reaction_tenths': 12, 'decel': 8, 'width_ft': 44, 'veh_len_ft': 20, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 60, 'red_tenths': 10}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 20, 'grade_pct': 8, 'reaction_tenths': 15, 'decel': 10, 'width_ft': 117, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 51}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 70, 'grade_pct': 6, 'reaction_tenths': 15, 'decel': 11, 'width_ft': 56, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 55, 'red_tenths': 10}), ({'speed_mph': 65, 'grade_pct': -4, 'reaction_tenths': 8, 'decel': 11, 'width_ft': 126, 'veh_len_ft': 40, 'crosswalk_ft': 15, 'ped': False}, {'yellow_tenths': 58, 'red_tenths': 18})], [({'speed_mph': 25, 'grade_pct': -6, 'reaction_tenths': 15, 'decel': 8, 'width_ft': 126, 'veh_len_ft': 25, 'crosswalk_ft': 12, 'ped': True}, {'yellow_tenths': 46, 'red_tenths': 45}), ({'speed_mph': 65, 'grade_pct': -7, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 120, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 60, 'red_tenths': 16}), ({'speed_mph': 20, 'grade_pct': 6, 'reaction_tenths': 8, 'decel': 10, 'width_ft': 66, 'veh_len_ft': 40, 'crosswalk_ft': 12, 'ped': True}, {'yellow_tenths': 30, 'red_tenths': 41}), ({'speed_mph': 45, 'grade_pct': -4, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 80, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 48, 'red_tenths': 17}), ({'speed_mph': 30, 'grade_pct': 0, 'reaction_tenths': 10, 'decel': 10, 'width_ft': 60, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 33, 'red_tenths': 19}), ({'speed_mph': 65, 'grade_pct': 0, 'reaction_tenths': 15, 'decel': 12, 'width_ft': 55, 'veh_len_ft': 20, 'crosswalk_ft': 10, 'ped': True}, {'yellow_tenths': 55, 'red_tenths': 10}), ({'speed_mph': 25, 'grade_pct': 7, 'reaction_tenths': 12, 'decel': 11, 'width_ft': 93, 'veh_len_ft': 25, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 33}), ({'speed_mph': 25, 'grade_pct': 7, 'reaction_tenths': 10, 'decel': 8, 'width_ft': 96, 'veh_len_ft': 20, 'crosswalk_ft': 12, 'ped': False}, {'yellow_tenths': 30, 'red_tenths': 32})]]\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-change-clearance-reaction-units","generated_at":"2026-09-29T14:47:57.249682+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 perception reaction time rule so that the step reads `Fraction(x['reaction_tenths'], 10)`.","root_cause":"Dividing by 100 makes a 1.0 s reaction time 0.1 s, shortening every yellow.","sha256":"24f16b5c0e79cc3f38615989b2fcba1b764bbc7dd903d4c0c0b27d4095a7f441","title":"Yellow and all-red intervals: reaction time in tenths is read as hundredths · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.308,"exit_code":1,"observations":[{"actual":{"red_tenths":17,"yellow_tenths":57},"check":"timing oracle 0","expected":{"red_tenths":17,"yellow_tenths":59},"passed":false},{"actual":{"red_tenths":18,"yellow_tenths":30},"check":"timing oracle 1","expected":{"red_tenths":18,"yellow_tenths":33},"passed":false},{"actual":{"red_tenths":16,"yellow_tenths":60},"check":"timing oracle 2","expected":{"red_tenths":16,"yellow_tenths":60},"passed":true},{"actual":{"red_tenths":40,"yellow_tenths":30},"check":"timing oracle 3","expected":{"red_tenths":40,"yellow_tenths":30},"passed":true},{"actual":{"red_tenths":27,"yellow_tenths":30},"check":"timing oracle 4","expected":{"red_tenths":27,"yellow_tenths":30},"passed":true},{"actual":{"red_tenths":17,"yellow_tenths":48},"check":"timing oracle 5","expected":{"red_tenths":17,"yellow_tenths":48},"passed":true},{"actual":{"red_tenths":27,"yellow_tenths":30},"check":"timing oracle 6","expected":{"red_tenths":27,"yellow_tenths":30},"passed":true},{"actual":{"red_tenths":19,"yellow_tenths":33},"check":"timing oracle 7","expected":{"red_tenths":19,"yellow_tenths":33},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"timing oracle 0\", \"actual\": {\"yellow_tenths\": 57, \"red_tenths\": 17}, \"expected\": {\"yellow_tenths\": 59, \"red_tenths\": 17}, \"passed\": false}, {\"check\": \"timing oracle 1\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 18}, \"expected\": {\"yellow_tenths\": 33, \"red_tenths\": 18}, \"passed\": false}, {\"check\": \"timing oracle 2\", \"actual\": {\"yellow_tenths\": 60, \"red_tenths\": 16}, \"expected\": {\"yellow_tenths\": 60, \"red_tenths\": 16}, \"passed\": true}, {\"check\": \"timing oracle 3\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 40}, \"expected\": {\"yellow_tenths\": 30, \"red_tenths\": 40}, \"passed\": true}, {\"check\": \"timing oracle 4\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"expected\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"passed\": true}, {\"check\": \"timing oracle 5\", \"actual\": {\"yellow_tenths\": 48, \"red_tenths\": 17}, \"expected\": {\"yellow_tenths\": 48, \"red_tenths\": 17}, \"passed\": true}, {\"check\": \"timing oracle 6\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"expected\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"passed\": true}, {\"check\": \"timing oracle 7\", \"actual\": {\"yellow_tenths\": 33, \"red_tenths\": 19}, \"expected\": {\"yellow_tenths\": 33, \"red_tenths\": 19}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.704,"exit_code":1,"observations":[{"actual":{"red_tenths":17,"yellow_tenths":48},"check":"timing oracle 0","expected":{"red_tenths":17,"yellow_tenths":59},"passed":false},{"actual":{"red_tenths":18,"yellow_tenths":30},"check":"timing oracle 1","expected":{"red_tenths":18,"yellow_tenths":33},"passed":false},{"actual":{"red_tenths":16,"yellow_tenths":60},"check":"timing oracle 2","expected":{"red_tenths":16,"yellow_tenths":60},"passed":true},{"actual":{"red_tenths":40,"yellow_tenths":30},"check":"timing oracle 3","expected":{"red_tenths":40,"yellow_tenths":30},"passed":true},{"actual":{"red_tenths":27,"yellow_tenths":30},"check":"timing oracle 4","expected":{"red_tenths":27,"yellow_tenths":30},"passed":true},{"actual":{"red_tenths":17,"yellow_tenths":39},"check":"timing oracle 5","expected":{"red_tenths":17,"yellow_tenths":48},"passed":false},{"actual":{"red_tenths":27,"yellow_tenths":30},"check":"timing oracle 6","expected":{"red_tenths":27,"yellow_tenths":30},"passed":true},{"actual":{"red_tenths":19,"yellow_tenths":30},"check":"timing oracle 7","expected":{"red_tenths":19,"yellow_tenths":33},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"timing oracle 0\", \"actual\": {\"yellow_tenths\": 48, \"red_tenths\": 17}, \"expected\": {\"yellow_tenths\": 59, \"red_tenths\": 17}, \"passed\": false}, {\"check\": \"timing oracle 1\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 18}, \"expected\": {\"yellow_tenths\": 33, \"red_tenths\": 18}, \"passed\": false}, {\"check\": \"timing oracle 2\", \"actual\": {\"yellow_tenths\": 60, \"red_tenths\": 16}, \"expected\": {\"yellow_tenths\": 60, \"red_tenths\": 16}, \"passed\": true}, {\"check\": \"timing oracle 3\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 40}, \"expected\": {\"yellow_tenths\": 30, \"red_tenths\": 40}, \"passed\": true}, {\"check\": \"timing oracle 4\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"expected\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"passed\": true}, {\"check\": \"timing oracle 5\", \"actual\": {\"yellow_tenths\": 39, \"red_tenths\": 17}, \"expected\": {\"yellow_tenths\": 48, \"red_tenths\": 17}, \"passed\": false}, {\"check\": \"timing oracle 6\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"expected\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"passed\": true}, {\"check\": \"timing oracle 7\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 19}, \"expected\": {\"yellow_tenths\": 33, \"red_tenths\": 19}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.65,"exit_code":0,"observations":[{"actual":{"red_tenths":17,"yellow_tenths":59},"check":"timing oracle 0","expected":{"red_tenths":17,"yellow_tenths":59},"passed":true},{"actual":{"red_tenths":18,"yellow_tenths":33},"check":"timing oracle 1","expected":{"red_tenths":18,"yellow_tenths":33},"passed":true},{"actual":{"red_tenths":16,"yellow_tenths":60},"check":"timing oracle 2","expected":{"red_tenths":16,"yellow_tenths":60},"passed":true},{"actual":{"red_tenths":40,"yellow_tenths":30},"check":"timing oracle 3","expected":{"red_tenths":40,"yellow_tenths":30},"passed":true},{"actual":{"red_tenths":27,"yellow_tenths":30},"check":"timing oracle 4","expected":{"red_tenths":27,"yellow_tenths":30},"passed":true},{"actual":{"red_tenths":17,"yellow_tenths":48},"check":"timing oracle 5","expected":{"red_tenths":17,"yellow_tenths":48},"passed":true},{"actual":{"red_tenths":27,"yellow_tenths":30},"check":"timing oracle 6","expected":{"red_tenths":27,"yellow_tenths":30},"passed":true},{"actual":{"red_tenths":19,"yellow_tenths":33},"check":"timing oracle 7","expected":{"red_tenths":19,"yellow_tenths":33},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"timing oracle 0\", \"actual\": {\"yellow_tenths\": 59, \"red_tenths\": 17}, \"expected\": {\"yellow_tenths\": 59, \"red_tenths\": 17}, \"passed\": true}, {\"check\": \"timing oracle 1\", \"actual\": {\"yellow_tenths\": 33, \"red_tenths\": 18}, \"expected\": {\"yellow_tenths\": 33, \"red_tenths\": 18}, \"passed\": true}, {\"check\": \"timing oracle 2\", \"actual\": {\"yellow_tenths\": 60, \"red_tenths\": 16}, \"expected\": {\"yellow_tenths\": 60, \"red_tenths\": 16}, \"passed\": true}, {\"check\": \"timing oracle 3\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 40}, \"expected\": {\"yellow_tenths\": 30, \"red_tenths\": 40}, \"passed\": true}, {\"check\": \"timing oracle 4\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"expected\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"passed\": true}, {\"check\": \"timing oracle 5\", \"actual\": {\"yellow_tenths\": 48, \"red_tenths\": 17}, \"expected\": {\"yellow_tenths\": 48, \"red_tenths\": 17}, \"passed\": true}, {\"check\": \"timing oracle 6\", \"actual\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"expected\": {\"yellow_tenths\": 30, \"red_tenths\": 27}, \"passed\": true}, {\"check\": \"timing oracle 7\", \"actual\": {\"yellow_tenths\": 33, \"red_tenths\": 19}, \"expected\": {\"yellow_tenths\": 33, \"red_tenths\": 19}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}