{"abstract":"Cancelling exactly two minutes after acceptance incurs the fee.","category":"Ride-hailing fare and surge pricing","checks":7,"contract":"Decide a cancellation charge [cents, reason]. Driver cancellations are free. A rider cancelling at or after driver arrival pays the no-show fee if at least noshow_wait seconds passed since arrival, else the regular fee. Before arrival, cancelling within free_window seconds of acceptance is free; it is also free if the ETA grew by more than late_margin since acceptance, or if the driver is more than late_margin past the ETA promised at acceptance; otherwise the regular fee applies.","evaluation_group":"w2-ride-hailing-fare-surge-cancellation-fee","failed_approach":"Requiring a non-increasing ETA voids the free window whenever the ETA ticks up.","family":"w2-ride-hailing-fare-surge-cancellation-fee-free-window-edge","id":"FA-85451","implementations":{"attempt":{"sha256":"2a9d81c2068fdec8313d95fd3c9e4603362551b67c7f6b7c0ea17c4826295292","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ev, policy):\n    if ev['cancel_by'] == 'driver':\n        return [0, 'driver']\n    if ev['arrived_t'] is not None and ev['cancel_t'] >= ev['arrived_t']:\n        if ev['cancel_t'] - ev['arrived_t'] >= policy['noshow_wait']:\n            return [policy['noshow_fee'], 'no_show']\n        return [policy['fee'], 'after_arrival']\n    if ev['cancel_t'] - ev['accept_t'] <= policy['free_window'] and ev['eta_latest'] <= ev['eta_at_accept']:\n        return [0, 'free_window']\n    if ev['eta_latest'] - ev['eta_at_accept'] > policy['late_margin']:\n        return [0, 'driver_late']\n    if ev['cancel_t'] > ev['accept_t'] + ev['eta_at_accept'] + policy['late_margin']:\n        return [0, 'driver_late']\n    return [policy['fee'], 'late_cancel']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': 1900,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 1500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 480},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1600,\n     'eta_at_accept': 480,\n     'eta_latest': 360},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1674,\n     'eta_at_accept': 240,\n     'eta_latest': 540},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': 1440,\n     'cancel_by': 'rider',\n     'cancel_t': 1740,\n     'eta_at_accept': 240,\n     'eta_latest': 240},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': 1480,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': 1480,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 480},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1300,\n     'eta_at_accept': 300,\n     'eta_latest': 180},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1300,\n     'eta_at_accept': 300,\n     'eta_latest': 300},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1600,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1121,\n     'eta_at_accept': 480,\n     'eta_latest': 781},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver_late'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 1200},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 1201},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 240,\n     'eta_latest': 240},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': 1440,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 240,\n     'eta_latest': 840},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': 1480,\n     'cancel_by': 'driver',\n     'cancel_t': 1300,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': 1500,\n     'cancel_by': 'rider',\n     'cancel_t': 1600,\n     'eta_at_accept': 300,\n     'eta_latest': 900},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'after_arrival']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 300,\n     'eta_latest': 300},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 900},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 480,\n     'eta_latest': 1080},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver_late']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 900,\n     'eta_latest': 500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': 1500,\n     'cancel_by': 'rider',\n     'cancel_t': 2301,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1900,\n     'eta_at_accept': 900,\n     'eta_latest': 500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': 1680,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 240,\n     'eta_latest': 540},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 240,\n     'eta_latest': 240},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': 1500,\n     'cancel_by': 'rider',\n     'cancel_t': 2200,\n     'eta_at_accept': 300,\n     'eta_latest': 300},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1300,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1900,\n     'eta_at_accept': 240,\n     'eta_latest': 541},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1300,\n     'eta_at_accept': 480,\n     'eta_latest': 480},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel'])]]\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":"1f224e5427248d52bbb55ae14f08e5a916f261f3dc5497a4a3c4713928951994","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ev, policy):\n    if ev['cancel_by'] == 'driver':\n        return [0, 'driver']\n    if ev['arrived_t'] is not None and ev['cancel_t'] >= ev['arrived_t']:\n        if ev['cancel_t'] - ev['arrived_t'] >= policy['noshow_wait']:\n            return [policy['noshow_fee'], 'no_show']\n        return [policy['fee'], 'after_arrival']\n    if ev['cancel_t'] - ev['accept_t'] < policy['free_window']:\n        return [0, 'free_window']\n    if ev['eta_latest'] - ev['eta_at_accept'] > policy['late_margin']:\n        return [0, 'driver_late']\n    if ev['cancel_t'] > ev['accept_t'] + ev['eta_at_accept'] + policy['late_margin']:\n        return [0, 'driver_late']\n    return [policy['fee'], 'late_cancel']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': 1900,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 1500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 480},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1600,\n     'eta_at_accept': 480,\n     'eta_latest': 360},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1674,\n     'eta_at_accept': 240,\n     'eta_latest': 540},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': 1440,\n     'cancel_by': 'rider',\n     'cancel_t': 1740,\n     'eta_at_accept': 240,\n     'eta_latest': 240},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': 1480,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': 1480,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 480},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1300,\n     'eta_at_accept': 300,\n     'eta_latest': 180},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1300,\n     'eta_at_accept': 300,\n     'eta_latest': 300},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1600,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1121,\n     'eta_at_accept': 480,\n     'eta_latest': 781},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver_late'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 1200},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 1201},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 240,\n     'eta_latest': 240},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': 1440,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 240,\n     'eta_latest': 840},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': 1480,\n     'cancel_by': 'driver',\n     'cancel_t': 1300,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': 1500,\n     'cancel_by': 'rider',\n     'cancel_t': 1600,\n     'eta_at_accept': 300,\n     'eta_latest': 900},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'after_arrival']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 300,\n     'eta_latest': 300},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 900},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 480,\n     'eta_latest': 1080},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver_late']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 900,\n     'eta_latest': 500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': 1500,\n     'cancel_by': 'rider',\n     'cancel_t': 2301,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1900,\n     'eta_at_accept': 900,\n     'eta_latest': 500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': 1680,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 240,\n     'eta_latest': 540},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 240,\n     'eta_latest': 240},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': 1500,\n     'cancel_by': 'rider',\n     'cancel_t': 2200,\n     'eta_at_accept': 300,\n     'eta_latest': 300},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1300,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1900,\n     'eta_at_accept': 240,\n     'eta_latest': 541},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1300,\n     'eta_at_accept': 480,\n     'eta_latest': 480},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel'])]]\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":"001b6ec5c4d22741e537df69d1aa7cba8fe6ae0267acae031c6a229adfa30b7f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ev, policy):\n    if ev['cancel_by'] == 'driver':\n        return [0, 'driver']\n    if ev['arrived_t'] is not None and ev['cancel_t'] >= ev['arrived_t']:\n        if ev['cancel_t'] - ev['arrived_t'] >= policy['noshow_wait']:\n            return [policy['noshow_fee'], 'no_show']\n        return [policy['fee'], 'after_arrival']\n    if ev['cancel_t'] - ev['accept_t'] <= policy['free_window']:\n        return [0, 'free_window']\n    if ev['eta_latest'] - ev['eta_at_accept'] > policy['late_margin']:\n        return [0, 'driver_late']\n    if ev['cancel_t'] > ev['accept_t'] + ev['eta_at_accept'] + policy['late_margin']:\n        return [0, 'driver_late']\n    return [policy['fee'], 'late_cancel']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': 1900,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 1500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 480},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1600,\n     'eta_at_accept': 480,\n     'eta_latest': 360},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1674,\n     'eta_at_accept': 240,\n     'eta_latest': 540},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': 1440,\n     'cancel_by': 'rider',\n     'cancel_t': 1740,\n     'eta_at_accept': 240,\n     'eta_latest': 240},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': 1480,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': 1480,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 480},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1300,\n     'eta_at_accept': 300,\n     'eta_latest': 180},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1300,\n     'eta_at_accept': 300,\n     'eta_latest': 300},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1600,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1121,\n     'eta_at_accept': 480,\n     'eta_latest': 781},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver_late'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 1200},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 1201},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 240,\n     'eta_latest': 240},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': 1440,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 240,\n     'eta_latest': 840},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': 1480,\n     'cancel_by': 'driver',\n     'cancel_t': 1300,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': 1500,\n     'cancel_by': 'rider',\n     'cancel_t': 1600,\n     'eta_at_accept': 300,\n     'eta_latest': 900},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'after_arrival']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 300,\n     'eta_latest': 300},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 900},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 480,\n     'eta_latest': 1080},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 900,\n     'eta_latest': 500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver_late']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1900,\n     'eta_at_accept': 900,\n     'eta_latest': 500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': 1500,\n     'cancel_by': 'rider',\n     'cancel_t': 2301,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1900,\n     'eta_at_accept': 900,\n     'eta_latest': 500},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver'])],\n [('regression: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': 1680,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 480,\n     'eta_latest': 780},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('partial repair probe: free window edge',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1060,\n     'eta_at_accept': 240,\n     'eta_latest': 540},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('second regression',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1120,\n     'eta_at_accept': 240,\n     'eta_latest': 240},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'free_window']),\n  ('normal control 1',\n   [{'accept_t': 1000,\n     'arrived_t': 1500,\n     'cancel_by': 'rider',\n     'cancel_t': 2200,\n     'eta_at_accept': 300,\n     'eta_latest': 300},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [700, 'no_show']),\n  ('normal control 2',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1300,\n     'eta_at_accept': 300,\n     'eta_latest': 600},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 3',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'driver',\n     'cancel_t': 1900,\n     'eta_at_accept': 240,\n     'eta_latest': 541},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [0, 'driver']),\n  ('normal control 4',\n   [{'accept_t': 1000,\n     'arrived_t': None,\n     'cancel_by': 'rider',\n     'cancel_t': 1300,\n     'eta_at_accept': 480,\n     'eta_latest': 480},\n    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],\n   [500, 'late_cancel'])]]\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":"A deterministic toy pricing contract stipulated for this example; it does not reproduce the pricing of any real ride-hailing operator or regulator. 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-ride-hailing-fare-surge-cancellation-fee-free-window-edge","generated_at":"2026-09-29T14:50:40.507304+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Ride-hailing prices are computed per trip at scale; ordering, unit and boundary slips become systematic over- or under-charging.","repair":"Treat elapsed time equal to the window as free.","root_cause":"The free window uses a strict comparison.","sha256":"87c7252c4d70783158fbf9496470c95d3895818cd9c52590bbac8bd768d3db4d","title":"Cancel at the last second of the free window charged · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.378,"exit_code":1,"observations":[{"actual":[0,"driver_late"],"check":"regression: free window edge","expected":[0,"free_window"],"passed":false},{"actual":[500,"late_cancel"],"check":"partial repair probe: free window edge","expected":[0,"free_window"],"passed":false},{"actual":[0,"free_window"],"check":"second regression","expected":[0,"free_window"],"passed":true},{"actual":[500,"late_cancel"],"check":"normal control 1","expected":[500,"late_cancel"],"passed":true},{"actual":[0,"driver"],"check":"normal control 2","expected":[0,"driver"],"passed":true},{"actual":[700,"no_show"],"check":"normal control 3","expected":[700,"no_show"],"passed":true},{"actual":[700,"no_show"],"check":"normal control 4","expected":[700,"no_show"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: free window edge\", \"actual\": [0, \"driver_late\"], \"expected\": [0, \"free_window\"], \"passed\": false}, {\"check\": \"partial repair probe: free window edge\", \"actual\": [500, \"late_cancel\"], \"expected\": [0, \"free_window\"], \"passed\": false}, {\"check\": \"second regression\", \"actual\": [0, \"free_window\"], \"expected\": [0, \"free_window\"], \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [500, \"late_cancel\"], \"expected\": [500, \"late_cancel\"], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [0, \"driver\"], \"expected\": [0, \"driver\"], \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": [700, \"no_show\"], \"expected\": [700, \"no_show\"], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [700, \"no_show\"], \"expected\": [700, \"no_show\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.037,"exit_code":1,"observations":[{"actual":[0,"driver_late"],"check":"regression: free window edge","expected":[0,"free_window"],"passed":false},{"actual":[0,"free_window"],"check":"partial repair probe: free window edge","expected":[0,"free_window"],"passed":true},{"actual":[500,"late_cancel"],"check":"second regression","expected":[0,"free_window"],"passed":false},{"actual":[500,"late_cancel"],"check":"normal control 1","expected":[500,"late_cancel"],"passed":true},{"actual":[0,"driver"],"check":"normal control 2","expected":[0,"driver"],"passed":true},{"actual":[700,"no_show"],"check":"normal control 3","expected":[700,"no_show"],"passed":true},{"actual":[700,"no_show"],"check":"normal control 4","expected":[700,"no_show"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: free window edge\", \"actual\": [0, \"driver_late\"], \"expected\": [0, \"free_window\"], \"passed\": false}, {\"check\": \"partial repair probe: free window edge\", \"actual\": [0, \"free_window\"], \"expected\": [0, \"free_window\"], \"passed\": true}, {\"check\": \"second regression\", \"actual\": [500, \"late_cancel\"], \"expected\": [0, \"free_window\"], \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": [500, \"late_cancel\"], \"expected\": [500, \"late_cancel\"], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [0, \"driver\"], \"expected\": [0, \"driver\"], \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": [700, \"no_show\"], \"expected\": [700, \"no_show\"], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [700, \"no_show\"], \"expected\": [700, \"no_show\"], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.259,"exit_code":0,"observations":[{"actual":[0,"free_window"],"check":"regression: free window edge","expected":[0,"free_window"],"passed":true},{"actual":[0,"free_window"],"check":"partial repair probe: free window edge","expected":[0,"free_window"],"passed":true},{"actual":[0,"free_window"],"check":"second regression","expected":[0,"free_window"],"passed":true},{"actual":[500,"late_cancel"],"check":"normal control 1","expected":[500,"late_cancel"],"passed":true},{"actual":[0,"driver"],"check":"normal control 2","expected":[0,"driver"],"passed":true},{"actual":[700,"no_show"],"check":"normal control 3","expected":[700,"no_show"],"passed":true},{"actual":[700,"no_show"],"check":"normal control 4","expected":[700,"no_show"],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: free window edge\", \"actual\": [0, \"free_window\"], \"expected\": [0, \"free_window\"], \"passed\": true}, {\"check\": \"partial repair probe: free window edge\", \"actual\": [0, \"free_window\"], \"expected\": [0, \"free_window\"], \"passed\": true}, {\"check\": \"second regression\", \"actual\": [0, \"free_window\"], \"expected\": [0, \"free_window\"], \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": [500, \"late_cancel\"], \"expected\": [500, \"late_cancel\"], \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": [0, \"driver\"], \"expected\": [0, \"driver\"], \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": [700, \"no_show\"], \"expected\": [700, \"no_show\"], \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": [700, \"no_show\"], \"expected\": [700, \"no_show\"], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}