FA-85451 / Ride-hailing fare and surge pricing / Open access
Cancel at the last second of the free window charged · case 01
Cancelling exactly two minutes after acceptance incurs the fee.
ROOT CAUSE
The free window uses a strict comparison.
VERIFIED REPAIR
Treat elapsed time equal to the window as free.
Unsuccessful approach: Requiring a non-increasing ETA voids the free window whenever the ETA ticks up.
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'] + 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: free window edge',
[{'accept_t': 1000,
'arrived_t': 1900,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 1500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'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 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 360},
{'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': None,
'cancel_by': 'driver',
'cancel_t': 1674,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1440,
'cancel_by': 'rider',
'cancel_t': 1740,
'eta_at_accept': 240,
'eta_latest': 240},
{'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': 1480,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[700, 'no_show'])],
[('regression: free window edge',
[{'accept_t': 1000,
'arrived_t': 1480,
'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']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 180},
{'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': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 300},
{'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': 1600,
'eta_at_accept': 480,
'eta_latest': 780},
{'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': None,
'cancel_by': 'rider',
'cancel_t': 1121,
'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: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 1200},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 1201},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'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, 'free_window']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1440,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 240,
'eta_latest': 840},
{'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': 1480,
'cancel_by': 'driver',
'cancel_t': 1300,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1500,
'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}],
[500, 'after_arrival']),
('normal control 4',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 300,
'eta_latest': 300},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window'])],
[('regression: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 900},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 480,
'eta_latest': 1080},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'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, 'free_window']),
('normal control 1',
[{'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']),
('normal control 2',
[{'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']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1500,
'cancel_by': 'rider',
'cancel_t': 2301,
'eta_at_accept': 300,
'eta_latest': 600},
{'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': 'driver',
'cancel_t': 1900,
'eta_at_accept': 900,
'eta_latest': 500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver'])],
[('regression: free window edge',
[{'accept_t': 1000,
'arrived_t': 1680,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'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, 'free_window']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1500,
'cancel_by': 'rider',
'cancel_t': 2200,
'eta_at_accept': 300,
'eta_latest': 300},
{'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': None,
'cancel_by': 'driver',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 3',
[{'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 4',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel'])]]
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: free window edge | [0, 'driver_late'] | [0, 'free_window'] | Failed |
| partial repair probe: free window edge | [0, 'free_window'] | [0, 'free_window'] | Passed |
| second regression | [500, 'late_cancel'] | [0, 'free_window'] | Failed |
| normal control 1 | [500, 'late_cancel'] | [500, 'late_cancel'] | Passed |
| normal control 2 | [0, 'driver'] | [0, 'driver'] | Passed |
| normal control 3 | [700, 'no_show'] | [700, 'no_show'] | Passed |
| normal control 4 | [700, 'no_show'] | [700, 'no_show'] | Passed |
SHA-256 / 1f224e5427248d52bbb55ae14f08e5a916f261f3dc5497a4a3c4713928951994
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'] and ev['eta_latest'] <= ev['eta_at_accept']:
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: free window edge',
[{'accept_t': 1000,
'arrived_t': 1900,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 1500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'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 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 360},
{'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': None,
'cancel_by': 'driver',
'cancel_t': 1674,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1440,
'cancel_by': 'rider',
'cancel_t': 1740,
'eta_at_accept': 240,
'eta_latest': 240},
{'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': 1480,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[700, 'no_show'])],
[('regression: free window edge',
[{'accept_t': 1000,
'arrived_t': 1480,
'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']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 180},
{'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': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 300},
{'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': 1600,
'eta_at_accept': 480,
'eta_latest': 780},
{'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': None,
'cancel_by': 'rider',
'cancel_t': 1121,
'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: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 1200},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 1201},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'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, 'free_window']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1440,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 240,
'eta_latest': 840},
{'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': 1480,
'cancel_by': 'driver',
'cancel_t': 1300,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1500,
'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}],
[500, 'after_arrival']),
('normal control 4',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 300,
'eta_latest': 300},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window'])],
[('regression: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 900},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 480,
'eta_latest': 1080},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'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, 'free_window']),
('normal control 1',
[{'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']),
('normal control 2',
[{'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']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1500,
'cancel_by': 'rider',
'cancel_t': 2301,
'eta_at_accept': 300,
'eta_latest': 600},
{'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': 'driver',
'cancel_t': 1900,
'eta_at_accept': 900,
'eta_latest': 500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver'])],
[('regression: free window edge',
[{'accept_t': 1000,
'arrived_t': 1680,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'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, 'free_window']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1500,
'cancel_by': 'rider',
'cancel_t': 2200,
'eta_at_accept': 300,
'eta_latest': 300},
{'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': None,
'cancel_by': 'driver',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 3',
[{'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 4',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel'])]]
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: free window edge | [0, 'driver_late'] | [0, 'free_window'] | Failed |
| partial repair probe: free window edge | [500, 'late_cancel'] | [0, 'free_window'] | Failed |
| second regression | [0, 'free_window'] | [0, 'free_window'] | Passed |
| normal control 1 | [500, 'late_cancel'] | [500, 'late_cancel'] | Passed |
| normal control 2 | [0, 'driver'] | [0, 'driver'] | Passed |
| normal control 3 | [700, 'no_show'] | [700, 'no_show'] | Passed |
| normal control 4 | [700, 'no_show'] | [700, 'no_show'] | Passed |
SHA-256 / 2a9d81c2068fdec8313d95fd3c9e4603362551b67c7f6b7c0ea17c4826295292
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: free window edge',
[{'accept_t': 1000,
'arrived_t': 1900,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 1500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'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 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1600,
'eta_at_accept': 480,
'eta_latest': 360},
{'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': None,
'cancel_by': 'driver',
'cancel_t': 1674,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1440,
'cancel_by': 'rider',
'cancel_t': 1740,
'eta_at_accept': 240,
'eta_latest': 240},
{'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': 1480,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[700, 'no_show'])],
[('regression: free window edge',
[{'accept_t': 1000,
'arrived_t': 1480,
'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']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 180},
{'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': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 300},
{'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': 1600,
'eta_at_accept': 480,
'eta_latest': 780},
{'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': None,
'cancel_by': 'rider',
'cancel_t': 1121,
'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: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 1200},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 1201},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'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, 'free_window']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1440,
'cancel_by': 'rider',
'cancel_t': 1900,
'eta_at_accept': 240,
'eta_latest': 840},
{'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': 1480,
'cancel_by': 'driver',
'cancel_t': 1300,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1500,
'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}],
[500, 'after_arrival']),
('normal control 4',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 300,
'eta_latest': 300},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window'])],
[('regression: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 900,
'eta_latest': 900},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 480,
'eta_latest': 1080},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'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, 'free_window']),
('normal control 1',
[{'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']),
('normal control 2',
[{'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']),
('normal control 3',
[{'accept_t': 1000,
'arrived_t': 1500,
'cancel_by': 'rider',
'cancel_t': 2301,
'eta_at_accept': 300,
'eta_latest': 600},
{'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': 'driver',
'cancel_t': 1900,
'eta_at_accept': 900,
'eta_latest': 500},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver'])],
[('regression: free window edge',
[{'accept_t': 1000,
'arrived_t': 1680,
'cancel_by': 'rider',
'cancel_t': 1120,
'eta_at_accept': 480,
'eta_latest': 780},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('partial repair probe: free window edge',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1060,
'eta_at_accept': 240,
'eta_latest': 540},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'free_window']),
('second regression',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'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, 'free_window']),
('normal control 1',
[{'accept_t': 1000,
'arrived_t': 1500,
'cancel_by': 'rider',
'cancel_t': 2200,
'eta_at_accept': 300,
'eta_latest': 300},
{'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': None,
'cancel_by': 'driver',
'cancel_t': 1300,
'eta_at_accept': 300,
'eta_latest': 600},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[0, 'driver']),
('normal control 3',
[{'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 4',
[{'accept_t': 1000,
'arrived_t': None,
'cancel_by': 'rider',
'cancel_t': 1300,
'eta_at_accept': 480,
'eta_latest': 480},
{'fee': 500, 'free_window': 120, 'late_margin': 300, 'noshow_fee': 700, 'noshow_wait': 300}],
[500, 'late_cancel'])]]
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: free window edge | [0, 'free_window'] | [0, 'free_window'] | Passed |
| partial repair probe: free window edge | [0, 'free_window'] | [0, 'free_window'] | Passed |
| second regression | [0, 'free_window'] | [0, 'free_window'] | Passed |
| normal control 1 | [500, 'late_cancel'] | [500, 'late_cancel'] | Passed |
| normal control 2 | [0, 'driver'] | [0, 'driver'] | Passed |
| normal control 3 | [700, 'no_show'] | [700, 'no_show'] | Passed |
| normal control 4 | [700, 'no_show'] | [700, 'no_show'] | Passed |
SHA-256 / 001b6ec5c4d22741e537df69d1aa7cba8fe6ae0267acae031c6a229adfa30b7f
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.507304+00:00.
Case digest / 87c7252c4d70783158fbf9496470c95d3895818cd9c52590bbac8bd768d3db4d