FAILURE MAP
← Case archive

FA-85446 / Ride-hailing fare and surge pricing / Open access

Rider charged when the driver cancels · case 01

Riders receive cancellation fees for trips the driver cancelled.

Verified by executionVariant 1 · 7 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The driver-cancel exemption is missing.

VERIFIED REPAIR

Return no charge for every driver cancellation.

Unsuccessful approach: Exempting driver cancels only before arrival still charges riders when the driver cancels at the curb.

Case 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.

Why this case matters

Ride-hailing prices are computed per trip at scale; ordering, unit and boundary slips become systematic over- or under-charging.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(ev, policy):
    if ev['arrived_t'] is not None and ev['cancel_t'] >= ev['arrived_t']:
        if ev['cancel_t'] - ev['arrived_t'] >= policy['noshow_wait']:
            return [policy['noshow_fee'], 'no_show']
        return [policy['fee'], 'after_arrival']
    if ev['cancel_t'] - ev['accept_t'] <= policy['free_window']:
        return [0, 'free_window']
    if ev['eta_latest'] - ev['eta_at_accept'] > policy['late_margin']:
        return [0, 'driver_late']
    if ev['cancel_t'] > ev['accept_t'] + ev['eta_at_accept'] + policy['late_margin']:
        return [0, 'driver_late']
    return [policy['fee'], 'late_cancel']
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1440,
     'cancel_by': 'driver',
     'cancel_t': 1740,
     'eta_at_accept': 240,
     'eta_latest': 541},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1240,
     'cancel_by': 'driver',
     'cancel_t': 1541,
     'eta_at_accept': 240,
     'eta_latest': 120},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 2200,
     'eta_at_accept': 240,
     'eta_latest': -160},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'rider',
     'cancel_t': 1979,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1121,
     'eta_at_accept': 900,
     'eta_latest': 780},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'late_cancel']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 2200,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'late_cancel']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': 1900,
     'cancel_by': 'rider',
     'cancel_t': 2201,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1120,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1440,
     'cancel_by': 'driver',
     'cancel_t': 1060,
     'eta_at_accept': 240,
     'eta_latest': 120},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1121,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1781,
     'eta_at_accept': 480,
     'eta_latest': 781},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': 1300,
     'cancel_by': 'rider',
     'cancel_t': 1600,
     'eta_at_accept': 300,
     'eta_latest': 900},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'rider',
     'cancel_t': 1300,
     'eta_at_accept': 480,
     'eta_latest': 1080},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'rider',
     'cancel_t': 2180,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'driver',
     'cancel_t': 1780,
     'eta_at_accept': 480,
     'eta_latest': 80},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 2100,
     'cancel_by': 'driver',
     'cancel_t': 2401,
     'eta_at_accept': 900,
     'eta_latest': 1201},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1600,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1900,
     'cancel_by': 'rider',
     'cancel_t': 1900,
     'eta_at_accept': 900,
     'eta_latest': 780},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1980,
     'eta_at_accept': 480,
     'eta_latest': 80},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1120,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'free_window']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1300,
     'eta_at_accept': 480,
     'eta_latest': 781},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1120,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'driver',
     'cancel_t': 1600,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1120,
     'eta_at_accept': 240,
     'eta_latest': 240},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1240,
     'cancel_by': 'rider',
     'cancel_t': 1340,
     'eta_at_accept': 240,
     'eta_latest': 840},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': 2100,
     'cancel_by': 'rider',
     'cancel_t': 2399,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1780,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1300,
     'eta_at_accept': 300,
     'eta_latest': 601},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 2100,
     'cancel_by': 'driver',
     'cancel_t': 2200,
     'eta_at_accept': 900,
     'eta_latest': 1200},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1240,
     'cancel_by': 'driver',
     'cancel_t': 1060,
     'eta_at_accept': 240,
     'eta_latest': 541},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1900,
     'eta_at_accept': 240,
     'eta_latest': 541},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 2200,
     'eta_at_accept': 300,
     'eta_latest': 601},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1120,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'free_window']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1600,
     'eta_at_accept': 300,
     'eta_latest': 900},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1900,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: driver-initiated cancel[700, 'no_show'][0, 'driver']Failed
partial repair probe: driver-initiated cancel[700, 'no_show'][0, 'driver']Failed
second regression[0, 'driver_late'][0, 'driver']Failed
normal control 1[500, 'after_arrival'][500, 'after_arrival']Passed
normal control 2[500, 'late_cancel'][500, 'late_cancel']Passed
normal control 3[500, 'late_cancel'][500, 'late_cancel']Passed
normal control 4[700, 'no_show'][700, 'no_show']Passed

SHA-256 / ce55f21d5fc4a1724d9fbb19718be8aa182c063970d7a6c7947b0080afd7181a

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(ev, policy):
    if ev['cancel_by'] == 'driver' and ev['arrived_t'] is None:
        return [0, 'driver']
    if ev['arrived_t'] is not None and ev['cancel_t'] >= ev['arrived_t']:
        if ev['cancel_t'] - ev['arrived_t'] >= policy['noshow_wait']:
            return [policy['noshow_fee'], 'no_show']
        return [policy['fee'], 'after_arrival']
    if ev['cancel_t'] - ev['accept_t'] <= policy['free_window']:
        return [0, 'free_window']
    if ev['eta_latest'] - ev['eta_at_accept'] > policy['late_margin']:
        return [0, 'driver_late']
    if ev['cancel_t'] > ev['accept_t'] + ev['eta_at_accept'] + policy['late_margin']:
        return [0, 'driver_late']
    return [policy['fee'], 'late_cancel']
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1440,
     'cancel_by': 'driver',
     'cancel_t': 1740,
     'eta_at_accept': 240,
     'eta_latest': 541},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1240,
     'cancel_by': 'driver',
     'cancel_t': 1541,
     'eta_at_accept': 240,
     'eta_latest': 120},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 2200,
     'eta_at_accept': 240,
     'eta_latest': -160},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'rider',
     'cancel_t': 1979,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1121,
     'eta_at_accept': 900,
     'eta_latest': 780},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'late_cancel']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 2200,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'late_cancel']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': 1900,
     'cancel_by': 'rider',
     'cancel_t': 2201,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1120,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1440,
     'cancel_by': 'driver',
     'cancel_t': 1060,
     'eta_at_accept': 240,
     'eta_latest': 120},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1121,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1781,
     'eta_at_accept': 480,
     'eta_latest': 781},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': 1300,
     'cancel_by': 'rider',
     'cancel_t': 1600,
     'eta_at_accept': 300,
     'eta_latest': 900},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'rider',
     'cancel_t': 1300,
     'eta_at_accept': 480,
     'eta_latest': 1080},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'rider',
     'cancel_t': 2180,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'driver',
     'cancel_t': 1780,
     'eta_at_accept': 480,
     'eta_latest': 80},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 2100,
     'cancel_by': 'driver',
     'cancel_t': 2401,
     'eta_at_accept': 900,
     'eta_latest': 1201},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1600,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1900,
     'cancel_by': 'rider',
     'cancel_t': 1900,
     'eta_at_accept': 900,
     'eta_latest': 780},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1980,
     'eta_at_accept': 480,
     'eta_latest': 80},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1120,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'free_window']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1300,
     'eta_at_accept': 480,
     'eta_latest': 781},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1120,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'driver',
     'cancel_t': 1600,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1120,
     'eta_at_accept': 240,
     'eta_latest': 240},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1240,
     'cancel_by': 'rider',
     'cancel_t': 1340,
     'eta_at_accept': 240,
     'eta_latest': 840},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': 2100,
     'cancel_by': 'rider',
     'cancel_t': 2399,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1780,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1300,
     'eta_at_accept': 300,
     'eta_latest': 601},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 2100,
     'cancel_by': 'driver',
     'cancel_t': 2200,
     'eta_at_accept': 900,
     'eta_latest': 1200},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1240,
     'cancel_by': 'driver',
     'cancel_t': 1060,
     'eta_at_accept': 240,
     'eta_latest': 541},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1900,
     'eta_at_accept': 240,
     'eta_latest': 541},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 2200,
     'eta_at_accept': 300,
     'eta_latest': 601},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1120,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'free_window']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1600,
     'eta_at_accept': 300,
     'eta_latest': 900},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1900,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: driver-initiated cancel[700, 'no_show'][0, 'driver']Failed
partial repair probe: driver-initiated cancel[700, 'no_show'][0, 'driver']Failed
second regression[0, 'driver'][0, 'driver']Passed
normal control 1[500, 'after_arrival'][500, 'after_arrival']Passed
normal control 2[500, 'late_cancel'][500, 'late_cancel']Passed
normal control 3[500, 'late_cancel'][500, 'late_cancel']Passed
normal control 4[700, 'no_show'][700, 'no_show']Passed

SHA-256 / 158556d1e6cc13c7a60d1e81780db6f36637b91022510f74a523da065d5909ef

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(ev, policy):
    if ev['cancel_by'] == 'driver':
        return [0, 'driver']
    if ev['arrived_t'] is not None and ev['cancel_t'] >= ev['arrived_t']:
        if ev['cancel_t'] - ev['arrived_t'] >= policy['noshow_wait']:
            return [policy['noshow_fee'], 'no_show']
        return [policy['fee'], 'after_arrival']
    if ev['cancel_t'] - ev['accept_t'] <= policy['free_window']:
        return [0, 'free_window']
    if ev['eta_latest'] - ev['eta_at_accept'] > policy['late_margin']:
        return [0, 'driver_late']
    if ev['cancel_t'] > ev['accept_t'] + ev['eta_at_accept'] + policy['late_margin']:
        return [0, 'driver_late']
    return [policy['fee'], 'late_cancel']
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1440,
     'cancel_by': 'driver',
     'cancel_t': 1740,
     'eta_at_accept': 240,
     'eta_latest': 541},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1240,
     'cancel_by': 'driver',
     'cancel_t': 1541,
     'eta_at_accept': 240,
     'eta_latest': 120},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 2200,
     'eta_at_accept': 240,
     'eta_latest': -160},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'rider',
     'cancel_t': 1979,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1121,
     'eta_at_accept': 900,
     'eta_latest': 780},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'late_cancel']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 2200,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'late_cancel']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': 1900,
     'cancel_by': 'rider',
     'cancel_t': 2201,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1120,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1440,
     'cancel_by': 'driver',
     'cancel_t': 1060,
     'eta_at_accept': 240,
     'eta_latest': 120},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1121,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1781,
     'eta_at_accept': 480,
     'eta_latest': 781},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': 1300,
     'cancel_by': 'rider',
     'cancel_t': 1600,
     'eta_at_accept': 300,
     'eta_latest': 900},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'rider',
     'cancel_t': 1300,
     'eta_at_accept': 480,
     'eta_latest': 1080},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'rider',
     'cancel_t': 2180,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'driver',
     'cancel_t': 1780,
     'eta_at_accept': 480,
     'eta_latest': 80},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 2100,
     'cancel_by': 'driver',
     'cancel_t': 2401,
     'eta_at_accept': 900,
     'eta_latest': 1201},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1600,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1900,
     'cancel_by': 'rider',
     'cancel_t': 1900,
     'eta_at_accept': 900,
     'eta_latest': 780},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1980,
     'eta_at_accept': 480,
     'eta_latest': 80},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1120,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'free_window']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1300,
     'eta_at_accept': 480,
     'eta_latest': 781},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1120,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1680,
     'cancel_by': 'driver',
     'cancel_t': 1600,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1120,
     'eta_at_accept': 240,
     'eta_latest': 240},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': 1240,
     'cancel_by': 'rider',
     'cancel_t': 1340,
     'eta_at_accept': 240,
     'eta_latest': 840},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': 2100,
     'cancel_by': 'rider',
     'cancel_t': 2399,
     'eta_at_accept': 900,
     'eta_latest': 500},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [500, 'after_arrival']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': 1480,
     'cancel_by': 'rider',
     'cancel_t': 1780,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [700, 'no_show']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1300,
     'eta_at_accept': 300,
     'eta_latest': 601},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late'])],
 [('regression: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 2100,
     'cancel_by': 'driver',
     'cancel_t': 2200,
     'eta_at_accept': 900,
     'eta_latest': 1200},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('partial repair probe: driver-initiated cancel',
   [{'accept_t': 1000,
     'arrived_t': 1240,
     'cancel_by': 'driver',
     'cancel_t': 1060,
     'eta_at_accept': 240,
     'eta_latest': 541},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('second regression',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'driver',
     'cancel_t': 1900,
     'eta_at_accept': 240,
     'eta_latest': 541},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver']),
  ('normal control 1',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 2200,
     'eta_at_accept': 300,
     'eta_latest': 601},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late']),
  ('normal control 2',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1120,
     'eta_at_accept': 480,
     'eta_latest': 480},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'free_window']),
  ('normal control 3',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1600,
     'eta_at_accept': 300,
     'eta_latest': 900},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late']),
  ('normal control 4',
   [{'accept_t': 1000,
     'arrived_t': None,
     'cancel_by': 'rider',
     'cancel_t': 1900,
     'eta_at_accept': 300,
     'eta_latest': 300},
    {'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
   [0, 'driver_late'])]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: driver-initiated cancel[0, 'driver'][0, 'driver']Passed
partial repair probe: driver-initiated cancel[0, 'driver'][0, 'driver']Passed
second regression[0, 'driver'][0, 'driver']Passed
normal control 1[500, 'after_arrival'][500, 'after_arrival']Passed
normal control 2[500, 'late_cancel'][500, 'late_cancel']Passed
normal control 3[500, 'late_cancel'][500, 'late_cancel']Passed
normal control 4[700, 'no_show'][700, 'no_show']Passed

SHA-256 / a568955d3dfadfc655e5a89b914aa8e5bcffd5aaa4113a45a4805ec47aaaeb10

Verification & scope

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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:50:40.496352+00:00.

Case digest / e3a788d61378c16a1de909763fd31643f05f0a19c3bc7be19208d9f6151db414