FAILURE MAP
← Case archive

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.

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

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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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