FA-85466 / Ride-hailing fare and surge pricing / Open access
Driver considered late the moment the ETA passes · case 01
Riders cancelling a few seconds after the ETA get a free cancel.
ROOT CAUSE
The lateness check omits the late margin.
VERIFIED REPAIR
Waive only when the driver is more than the margin past the accepted ETA.
Unsuccessful approach: Measuring from the latest ETA moves the promise with each delay.
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['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']:
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: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': 1680,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 900,
'eta_latest': 500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1429,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1500,
'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 2',
[{'accept_t': 1000,
'arrived_t': 1240,
'cancel_by': 'driver',
'cancel_t': 2200,
'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 3',
[{'accept_t': 1000,
'arrived_t': 2100,
'cancel_by': 'rider',
'cancel_t': 2401,
'eta_at_accept': 900,
'eta_latest': 500},
{'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': 1680,
'cancel_by': 'rider',
'cancel_t': 1709,
'eta_at_accept': 480,
'eta_latest': 80},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'after_arrival'])],
[('regression: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 240,
'eta_latest': 240},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver_late']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 80},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1300,
'cancel_by': 'driver',
'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']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 2200,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver_late']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1440,
'cancel_by': 'rider',
'cancel_t': 1540,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'after_arrival']),
('normal control 4',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 480,
'eta_latest': 781},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window'])],
[('regression: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver_late']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 2200,
'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 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'driver',
'cancel_t': 1600,
'eta_at_accept': 900,
'eta_latest': 1200},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': 1240,
'cancel_by': 'rider',
'cancel_t': 1541,
'eta_at_accept': 240,
'eta_latest': 120},
{'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': 1121,
'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': 2100,
'cancel_by': 'rider',
'cancel_t': 2100,
'eta_at_accept': 900,
'eta_latest': 1500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'after_arrival'])],
[('regression: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': 1680,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1724,
'eta_at_accept': 480,
'eta_latest': 80},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1580,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 300,
'eta_latest': -100},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 240,
'eta_latest': 240},
{'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': 'driver',
'cancel_t': 2200,
'eta_at_accept': 900,
'eta_latest': 1201},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 4',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'driver',
'cancel_t': 1580,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver'])],
[('regression: past-eta lateness',
[{'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']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 2200,
'eta_at_accept': 900,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'rider',
'cancel_t': 2200,
'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 3',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'rider',
'cancel_t': 1600,
'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 4',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'driver',
'cancel_t': 1121,
'eta_at_accept': 900,
'eta_latest': 1500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver'])]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: past-eta lateness | [0, 'driver_late'] | [500, 'late_cancel'] | Failed |
| partial repair probe: past-eta lateness | [500, 'late_cancel'] | [500, 'late_cancel'] | Passed |
| second regression | [0, 'driver_late'] | [500, 'late_cancel'] | Failed |
| normal control 1 | [0, 'driver'] | [0, 'driver'] | Passed |
| normal control 2 | [0, 'driver'] | [0, 'driver'] | Passed |
| normal control 3 | [700, 'no_show'] | [700, 'no_show'] | Passed |
| normal control 4 | [500, 'after_arrival'] | [500, 'after_arrival'] | Passed |
SHA-256 / 5edcdd77de25c22fd2dfec679c18ee65d97a9ae92bc1583cba1eef29e8f3aff5
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':
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_latest'] + 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: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': 1680,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 900,
'eta_latest': 500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1429,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1500,
'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 2',
[{'accept_t': 1000,
'arrived_t': 1240,
'cancel_by': 'driver',
'cancel_t': 2200,
'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 3',
[{'accept_t': 1000,
'arrived_t': 2100,
'cancel_by': 'rider',
'cancel_t': 2401,
'eta_at_accept': 900,
'eta_latest': 500},
{'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': 1680,
'cancel_by': 'rider',
'cancel_t': 1709,
'eta_at_accept': 480,
'eta_latest': 80},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'after_arrival'])],
[('regression: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 240,
'eta_latest': 240},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver_late']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 80},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1300,
'cancel_by': 'driver',
'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']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 2200,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver_late']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1440,
'cancel_by': 'rider',
'cancel_t': 1540,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'after_arrival']),
('normal control 4',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 480,
'eta_latest': 781},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window'])],
[('regression: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver_late']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 2200,
'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 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'driver',
'cancel_t': 1600,
'eta_at_accept': 900,
'eta_latest': 1200},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': 1240,
'cancel_by': 'rider',
'cancel_t': 1541,
'eta_at_accept': 240,
'eta_latest': 120},
{'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': 1121,
'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': 2100,
'cancel_by': 'rider',
'cancel_t': 2100,
'eta_at_accept': 900,
'eta_latest': 1500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'after_arrival'])],
[('regression: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': 1680,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1724,
'eta_at_accept': 480,
'eta_latest': 80},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1580,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 300,
'eta_latest': -100},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 240,
'eta_latest': 240},
{'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': 'driver',
'cancel_t': 2200,
'eta_at_accept': 900,
'eta_latest': 1201},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 4',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'driver',
'cancel_t': 1580,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver'])],
[('regression: past-eta lateness',
[{'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']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 2200,
'eta_at_accept': 900,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'rider',
'cancel_t': 2200,
'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 3',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'rider',
'cancel_t': 1600,
'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 4',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'driver',
'cancel_t': 1121,
'eta_at_accept': 900,
'eta_latest': 1500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver'])]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: past-eta lateness | [500, 'late_cancel'] | [500, 'late_cancel'] | Passed |
| partial repair probe: past-eta lateness | [0, 'driver_late'] | [500, 'late_cancel'] | Failed |
| second regression | [500, 'late_cancel'] | [500, 'late_cancel'] | Passed |
| normal control 1 | [0, 'driver'] | [0, 'driver'] | Passed |
| normal control 2 | [0, 'driver'] | [0, 'driver'] | Passed |
| normal control 3 | [700, 'no_show'] | [700, 'no_show'] | Passed |
| normal control 4 | [500, 'after_arrival'] | [500, 'after_arrival'] | Passed |
SHA-256 / 9c6bde5e01adec3e224b22bd2b0514c36e963882aebdd9e02a7a53365cca34c8
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: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': 1680,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 900,
'eta_latest': 500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1429,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1500,
'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 2',
[{'accept_t': 1000,
'arrived_t': 1240,
'cancel_by': 'driver',
'cancel_t': 2200,
'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 3',
[{'accept_t': 1000,
'arrived_t': 2100,
'cancel_by': 'rider',
'cancel_t': 2401,
'eta_at_accept': 900,
'eta_latest': 500},
{'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': 1680,
'cancel_by': 'rider',
'cancel_t': 1709,
'eta_at_accept': 480,
'eta_latest': 80},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'after_arrival'])],
[('regression: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 240,
'eta_latest': 240},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver_late']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 80},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1300,
'cancel_by': 'driver',
'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']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 2200,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver_late']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1440,
'cancel_by': 'rider',
'cancel_t': 1540,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'after_arrival']),
('normal control 4',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 480,
'eta_latest': 781},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window'])],
[('regression: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver_late']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 2200,
'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 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'driver',
'cancel_t': 1600,
'eta_at_accept': 900,
'eta_latest': 1200},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': 1240,
'cancel_by': 'rider',
'cancel_t': 1541,
'eta_at_accept': 240,
'eta_latest': 120},
{'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': 1121,
'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': 2100,
'cancel_by': 'rider',
'cancel_t': 2100,
'eta_at_accept': 900,
'eta_latest': 1500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'after_arrival'])],
[('regression: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': 1680,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1724,
'eta_at_accept': 480,
'eta_latest': 80},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1580,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 300,
'eta_latest': -100},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 240,
'eta_latest': 240},
{'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': 'driver',
'cancel_t': 2200,
'eta_at_accept': 900,
'eta_latest': 1201},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 4',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'driver',
'cancel_t': 1580,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver'])],
[('regression: past-eta lateness',
[{'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']),
('partial repair probe: past-eta lateness',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 2200,
'eta_at_accept': 900,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel']),
('normal control 2',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'rider',
'cancel_t': 2200,
'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 3',
[{'accept_t': 1000,
'arrived_t': 1480,
'cancel_by': 'rider',
'cancel_t': 1600,
'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 4',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'driver',
'cancel_t': 1121,
'eta_at_accept': 900,
'eta_latest': 1500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver'])]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: past-eta lateness | [500, 'late_cancel'] | [500, 'late_cancel'] | Passed |
| partial repair probe: past-eta lateness | [500, 'late_cancel'] | [500, 'late_cancel'] | Passed |
| second regression | [500, 'late_cancel'] | [500, 'late_cancel'] | Passed |
| normal control 1 | [0, 'driver'] | [0, 'driver'] | Passed |
| normal control 2 | [0, 'driver'] | [0, 'driver'] | Passed |
| normal control 3 | [700, 'no_show'] | [700, 'no_show'] | Passed |
| normal control 4 | [500, 'after_arrival'] | [500, 'after_arrival'] | Passed |
SHA-256 / fe14e11e8cc7ec06aaf7f3183a45b825ed4c8c836dea10193a65d54ff779c6cb
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.583256+00:00.
Case digest / 1c2792b0ab3aa52477c737020c7eba544cdce4d51f0d6b3ce72170a6de51de18