FAILURE MAP
← Case archive

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

Rider attributed to their first requested zone · case 01

Demand stays in the zone the rider left.

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

ROOT CAUSE

The first request per rider is kept.

VERIFIED REPAIR

Replace with a request at the same or later time.

Unsuccessful approach: A strict comparison keeps the earlier-listed request on timestamp ties.

Case contract

Surge demand counts ride requests [t, rider, zone] in the window (now - window, now]. Each rider counts once, in the zone of their latest request in the window (a later-listed request wins a timestamp tie). Return zone -> count for zones with demand.

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(requests, now, window):
    latest = {}
    for t, rider, zone in requests:
        if now - window < t <= now:
            key = rider
            if key not in latest:
                latest[key] = (t, zone)
    out = {}
    for t, zone in latest.values():
        out[zone] = out.get(zone, 0) + 1
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: latest request wins',
   [[[999, 'u2', 'Z1'], [999, 'u2', 'Z1'], [401, 'u1', 'Z2'], [999, 'u2', 'Z1'], [1001, 'u2', 'Z1'],
     [1000, 'u1', 'Z1'], [500, 'u1', 'Z2']],
    1000, 600],
   {'Z1': 2}),
  ('partial repair probe: latest request wins',
   [[[401, 'u4', 'Z2'], [401, 'u2', 'Z2'], [1001, 'u1', 'Z2'], [401, 'u4', 'Z1'], [999, 'u3', 'Z1'],
     [999, 'u1', 'Z2'], [401, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 2}),
  ('second regression',
   [[[500, 'u2', 'Z2'], [1001, 'u3', 'Z1'], [500, 'u1', 'Z1'], [500, 'u4', 'Z1'], [401, 'u4', 'Z2'],
     [999, 'u4', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('normal control 1',
   [[[999, 'u2', 'Z1'], [1000, 'u3', 'Z2'], [400, 'u3', 'Z1'], [400, 'u1', 'Z1'], [999, 'u1', 'Z1'],
     [401, 'u2', 'Z2'], [400, 'u3', 'Z1'], [400, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('normal control 2', [[[1000, 'u4', 'Z2'], [400, 'u1', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 3', [[[400, 'u3', 'Z1'], [1001, 'u1', 'Z1'], [1000, 'u2', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 4',
   [[[400, 'u1', 'Z2'], [1000, 'u2', 'Z1'], [401, 'u4', 'Z2'], [999, 'u4', 'Z1'], [500, 'u4', 'Z2'],
     [500, 'u2', 'Z1'], [1000, 'u4', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 1})],
 [('regression: latest request wins',
   [[[700, 'u4', 'Z2'], [1000, 'u1', 'Z2'], [700, 'u2', 'Z2'], [700, 'u1', 'Z2'], [1000, 'u1', 'Z1']], 1000,
    600],
   {'Z1': 1, 'Z2': 2}),
  ('partial repair probe: latest request wins',
   [[[500, 'u1', 'Z2'], [1000, 'u2', 'Z1'], [500, 'u3', 'Z1'], [1001, 'u2', 'Z2'], [1000, 'u1', 'Z1'],
     [500, 'u3', 'Z2'], [700, 'u4', 'Z1'], [401, 'u1', 'Z1']],
    1000, 600],
   {'Z1': 3, 'Z2': 1}),
  ('second regression',
   [[[700, 'u2', 'Z2'], [1000, 'u4', 'Z1'], [400, 'u4', 'Z2'], [999, 'u2', 'Z1']], 1000, 600], {'Z1': 2}),
  ('normal control 1',
   [[[1001, 'u1', 'Z2'], [700, 'u2', 'Z1'], [1001, 'u2', 'Z2'], [401, 'u2', 'Z1'], [999, 'u1', 'Z1'],
     [999, 'u3', 'Z2'], [400, 'u4', 'Z1'], [700, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('normal control 2',
   [[[700, 'u2', 'Z1'], [500, 'u1', 'Z1'], [500, 'u2', 'Z2'], [400, 'u3', 'Z1'], [700, 'u4', 'Z1'],
     [1001, 'u2', 'Z1']],
    1000, 600],
   {'Z1': 3}),
  ('normal control 3',
   [[[400, 'u2', 'Z1'], [700, 'u3', 'Z1'], [999, 'u4', 'Z1'], [400, 'u3', 'Z2'], [400, 'u3', 'Z1'],
     [401, 'u1', 'Z1'], [500, 'u3', 'Z1']],
    1000, 600],
   {'Z1': 3}),
  ('normal control 4',
   [[[500, 'u4', 'Z1'], [700, 'u4', 'Z2'], [1000, 'u2', 'Z1'], [1000, 'u4', 'Z1'], [999, 'u1', 'Z2']], 1000,
    600],
   {'Z1': 2, 'Z2': 1})],
 [('regression: latest request wins',
   [[[700, 'u4', 'Z2'], [400, 'u2', 'Z2'], [400, 'u4', 'Z2'], [999, 'u3', 'Z1'], [401, 'u4', 'Z1'],
     [700, 'u4', 'Z1'], [1001, 'u4', 'Z2'], [500, 'u2', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('partial repair probe: latest request wins',
   [[[700, 'u3', 'Z2'], [700, 'u3', 'Z1'], [500, 'u4', 'Z1'], [700, 'u1', 'Z2'], [700, 'u1', 'Z2'],
     [1000, 'u3', 'Z1'], [1000, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('second regression',
   [[[700, 'u2', 'Z2'], [700, 'u2', 'Z1'], [999, 'u4', 'Z1'], [500, 'u1', 'Z2'], [500, 'u1', 'Z1'],
     [700, 'u2', 'Z1']],
    1000, 600],
   {'Z1': 3}),
  ('normal control 1', [[[999, 'u4', 'Z2'], [400, 'u2', 'Z2'], [400, 'u1', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 2',
   [[[999, 'u4', 'Z1'], [999, 'u2', 'Z1'], [700, 'u1', 'Z1'], [1000, 'u1', 'Z1'], [1000, 'u2', 'Z1'],
     [700, 'u3', 'Z2'], [999, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 3, 'Z2': 1}),
  ('normal control 3',
   [[[999, 'u1', 'Z1'], [1000, 'u2', 'Z1'], [400, 'u2', 'Z1'], [500, 'u3', 'Z1'], [1000, 'u1', 'Z1'],
     [999, 'u2', 'Z1'], [999, 'u4', 'Z1']],
    1000, 600],
   {'Z1': 4}),
  ('normal control 4',
   [[[999, 'u1', 'Z1'], [1000, 'u2', 'Z1'], [400, 'u2', 'Z2'], [999, 'u3', 'Z1'], [401, 'u3', 'Z2'],
     [700, 'u4', 'Z2']],
    1000, 600],
   {'Z1': 3, 'Z2': 1})],
 [('regression: latest request wins',
   [[[1001, 'u4', 'Z1'], [700, 'u1', 'Z1'], [700, 'u2', 'Z1'], [700, 'u2', 'Z2'], [1001, 'u2', 'Z2']], 1000,
    600],
   {'Z1': 1, 'Z2': 1}),
  ('partial repair probe: latest request wins',
   [[[500, 'u3', 'Z2'], [401, 'u1', 'Z1'], [401, 'u1', 'Z2'], [401, 'u2', 'Z1'], [401, 'u4', 'Z1']], 1000,
    600],
   {'Z1': 2, 'Z2': 2}),
  ('second regression',
   [[[999, 'u2', 'Z2'], [1001, 'u3', 'Z2'], [400, 'u2', 'Z2'], [700, 'u2', 'Z2'], [1000, 'u2', 'Z1'],
     [700, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 1}),
  ('normal control 1', [[[1000, 'u2', 'Z1'], [500, 'u4', 'Z2'], [999, 'u3', 'Z2']], 1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('normal control 2',
   [[[400, 'u2', 'Z1'], [1000, 'u1', 'Z1'], [1000, 'u3', 'Z2'], [700, 'u1', 'Z2']], 1000, 600],
   {'Z1': 1, 'Z2': 1}),
  ('normal control 3',
   [[[999, 'u4', 'Z2'], [401, 'u4', 'Z2'], [400, 'u1', 'Z1'], [401, 'u1', 'Z1'], [401, 'u1', 'Z1']], 1000,
    600],
   {'Z1': 1, 'Z2': 1}),
  ('normal control 4',
   [[[1001, 'u2', 'Z1'], [700, 'u4', 'Z1'], [999, 'u1', 'Z1'], [500, 'u1', 'Z1']], 1000, 600], {'Z1': 2})],
 [('regression: latest request wins',
   [[[500, 'u2', 'Z1'], [700, 'u1', 'Z2'], [700, 'u2', 'Z2'], [999, 'u3', 'Z1'], [401, 'u1', 'Z2'],
     [1000, 'u2', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('partial repair probe: latest request wins',
   [[[1001, 'u4', 'Z2'], [999, 'u2', 'Z1'], [700, 'u4', 'Z2'], [700, 'u4', 'Z1'], [1001, 'u3', 'Z2']], 1000,
    600],
   {'Z1': 2}),
  ('second regression',
   [[[401, 'u1', 'Z2'], [400, 'u4', 'Z2'], [700, 'u1', 'Z1'], [500, 'u3', 'Z2'], [700, 'u2', 'Z2'],
     [500, 'u1', 'Z2'], [999, 'u2', 'Z1'], [1001, 'u1', 'Z1']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('normal control 1',
   [[[401, 'u3', 'Z2'], [400, 'u4', 'Z1'], [999, 'u4', 'Z2'], [400, 'u1', 'Z1'], [400, 'u4', 'Z2'],
     [999, 'u4', 'Z2']],
    1000, 600],
   {'Z2': 2}),
  ('normal control 2', [[[1001, 'u2', 'Z1'], [1001, 'u3', 'Z1']], 1000, 600], {}),
  ('normal control 3', [[[1001, 'u2', 'Z2'], [700, 'u1', 'Z2'], [1001, 'u3', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 4', [[[500, 'u4', 'Z2'], [1000, 'u2', 'Z1'], [1000, 'u2', 'Z1']], 1000, 600],
   {'Z1': 1, 'Z2': 1})]]
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: latest request wins{'Z1': 1, 'Z2': 1}{'Z1': 2}Failed
partial repair probe: latest request wins{'Z1': 1, 'Z2': 3}{'Z1': 2, 'Z2': 2}Failed
second regression{'Z1': 2, 'Z2': 1}{'Z1': 1, 'Z2': 2}Failed
normal control 1{'Z1': 2, 'Z2': 1}{'Z1': 2, 'Z2': 1}Passed
normal control 2{'Z2': 1}{'Z2': 1}Passed
normal control 3{'Z2': 1}{'Z2': 1}Passed
normal control 4{'Z1': 1, 'Z2': 1}{'Z1': 1, 'Z2': 1}Passed

SHA-256 / 84597d94af3fe74925d06de301000c551161d4f9f09ea66b0d8215cc1b13d019

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(requests, now, window):
    latest = {}
    for t, rider, zone in requests:
        if now - window < t <= now:
            key = rider
            if key not in latest or t > latest[key][0]:
                latest[key] = (t, zone)
    out = {}
    for t, zone in latest.values():
        out[zone] = out.get(zone, 0) + 1
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: latest request wins',
   [[[999, 'u2', 'Z1'], [999, 'u2', 'Z1'], [401, 'u1', 'Z2'], [999, 'u2', 'Z1'], [1001, 'u2', 'Z1'],
     [1000, 'u1', 'Z1'], [500, 'u1', 'Z2']],
    1000, 600],
   {'Z1': 2}),
  ('partial repair probe: latest request wins',
   [[[401, 'u4', 'Z2'], [401, 'u2', 'Z2'], [1001, 'u1', 'Z2'], [401, 'u4', 'Z1'], [999, 'u3', 'Z1'],
     [999, 'u1', 'Z2'], [401, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 2}),
  ('second regression',
   [[[500, 'u2', 'Z2'], [1001, 'u3', 'Z1'], [500, 'u1', 'Z1'], [500, 'u4', 'Z1'], [401, 'u4', 'Z2'],
     [999, 'u4', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('normal control 1',
   [[[999, 'u2', 'Z1'], [1000, 'u3', 'Z2'], [400, 'u3', 'Z1'], [400, 'u1', 'Z1'], [999, 'u1', 'Z1'],
     [401, 'u2', 'Z2'], [400, 'u3', 'Z1'], [400, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('normal control 2', [[[1000, 'u4', 'Z2'], [400, 'u1', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 3', [[[400, 'u3', 'Z1'], [1001, 'u1', 'Z1'], [1000, 'u2', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 4',
   [[[400, 'u1', 'Z2'], [1000, 'u2', 'Z1'], [401, 'u4', 'Z2'], [999, 'u4', 'Z1'], [500, 'u4', 'Z2'],
     [500, 'u2', 'Z1'], [1000, 'u4', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 1})],
 [('regression: latest request wins',
   [[[700, 'u4', 'Z2'], [1000, 'u1', 'Z2'], [700, 'u2', 'Z2'], [700, 'u1', 'Z2'], [1000, 'u1', 'Z1']], 1000,
    600],
   {'Z1': 1, 'Z2': 2}),
  ('partial repair probe: latest request wins',
   [[[500, 'u1', 'Z2'], [1000, 'u2', 'Z1'], [500, 'u3', 'Z1'], [1001, 'u2', 'Z2'], [1000, 'u1', 'Z1'],
     [500, 'u3', 'Z2'], [700, 'u4', 'Z1'], [401, 'u1', 'Z1']],
    1000, 600],
   {'Z1': 3, 'Z2': 1}),
  ('second regression',
   [[[700, 'u2', 'Z2'], [1000, 'u4', 'Z1'], [400, 'u4', 'Z2'], [999, 'u2', 'Z1']], 1000, 600], {'Z1': 2}),
  ('normal control 1',
   [[[1001, 'u1', 'Z2'], [700, 'u2', 'Z1'], [1001, 'u2', 'Z2'], [401, 'u2', 'Z1'], [999, 'u1', 'Z1'],
     [999, 'u3', 'Z2'], [400, 'u4', 'Z1'], [700, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('normal control 2',
   [[[700, 'u2', 'Z1'], [500, 'u1', 'Z1'], [500, 'u2', 'Z2'], [400, 'u3', 'Z1'], [700, 'u4', 'Z1'],
     [1001, 'u2', 'Z1']],
    1000, 600],
   {'Z1': 3}),
  ('normal control 3',
   [[[400, 'u2', 'Z1'], [700, 'u3', 'Z1'], [999, 'u4', 'Z1'], [400, 'u3', 'Z2'], [400, 'u3', 'Z1'],
     [401, 'u1', 'Z1'], [500, 'u3', 'Z1']],
    1000, 600],
   {'Z1': 3}),
  ('normal control 4',
   [[[500, 'u4', 'Z1'], [700, 'u4', 'Z2'], [1000, 'u2', 'Z1'], [1000, 'u4', 'Z1'], [999, 'u1', 'Z2']], 1000,
    600],
   {'Z1': 2, 'Z2': 1})],
 [('regression: latest request wins',
   [[[700, 'u4', 'Z2'], [400, 'u2', 'Z2'], [400, 'u4', 'Z2'], [999, 'u3', 'Z1'], [401, 'u4', 'Z1'],
     [700, 'u4', 'Z1'], [1001, 'u4', 'Z2'], [500, 'u2', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('partial repair probe: latest request wins',
   [[[700, 'u3', 'Z2'], [700, 'u3', 'Z1'], [500, 'u4', 'Z1'], [700, 'u1', 'Z2'], [700, 'u1', 'Z2'],
     [1000, 'u3', 'Z1'], [1000, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('second regression',
   [[[700, 'u2', 'Z2'], [700, 'u2', 'Z1'], [999, 'u4', 'Z1'], [500, 'u1', 'Z2'], [500, 'u1', 'Z1'],
     [700, 'u2', 'Z1']],
    1000, 600],
   {'Z1': 3}),
  ('normal control 1', [[[999, 'u4', 'Z2'], [400, 'u2', 'Z2'], [400, 'u1', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 2',
   [[[999, 'u4', 'Z1'], [999, 'u2', 'Z1'], [700, 'u1', 'Z1'], [1000, 'u1', 'Z1'], [1000, 'u2', 'Z1'],
     [700, 'u3', 'Z2'], [999, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 3, 'Z2': 1}),
  ('normal control 3',
   [[[999, 'u1', 'Z1'], [1000, 'u2', 'Z1'], [400, 'u2', 'Z1'], [500, 'u3', 'Z1'], [1000, 'u1', 'Z1'],
     [999, 'u2', 'Z1'], [999, 'u4', 'Z1']],
    1000, 600],
   {'Z1': 4}),
  ('normal control 4',
   [[[999, 'u1', 'Z1'], [1000, 'u2', 'Z1'], [400, 'u2', 'Z2'], [999, 'u3', 'Z1'], [401, 'u3', 'Z2'],
     [700, 'u4', 'Z2']],
    1000, 600],
   {'Z1': 3, 'Z2': 1})],
 [('regression: latest request wins',
   [[[1001, 'u4', 'Z1'], [700, 'u1', 'Z1'], [700, 'u2', 'Z1'], [700, 'u2', 'Z2'], [1001, 'u2', 'Z2']], 1000,
    600],
   {'Z1': 1, 'Z2': 1}),
  ('partial repair probe: latest request wins',
   [[[500, 'u3', 'Z2'], [401, 'u1', 'Z1'], [401, 'u1', 'Z2'], [401, 'u2', 'Z1'], [401, 'u4', 'Z1']], 1000,
    600],
   {'Z1': 2, 'Z2': 2}),
  ('second regression',
   [[[999, 'u2', 'Z2'], [1001, 'u3', 'Z2'], [400, 'u2', 'Z2'], [700, 'u2', 'Z2'], [1000, 'u2', 'Z1'],
     [700, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 1}),
  ('normal control 1', [[[1000, 'u2', 'Z1'], [500, 'u4', 'Z2'], [999, 'u3', 'Z2']], 1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('normal control 2',
   [[[400, 'u2', 'Z1'], [1000, 'u1', 'Z1'], [1000, 'u3', 'Z2'], [700, 'u1', 'Z2']], 1000, 600],
   {'Z1': 1, 'Z2': 1}),
  ('normal control 3',
   [[[999, 'u4', 'Z2'], [401, 'u4', 'Z2'], [400, 'u1', 'Z1'], [401, 'u1', 'Z1'], [401, 'u1', 'Z1']], 1000,
    600],
   {'Z1': 1, 'Z2': 1}),
  ('normal control 4',
   [[[1001, 'u2', 'Z1'], [700, 'u4', 'Z1'], [999, 'u1', 'Z1'], [500, 'u1', 'Z1']], 1000, 600], {'Z1': 2})],
 [('regression: latest request wins',
   [[[500, 'u2', 'Z1'], [700, 'u1', 'Z2'], [700, 'u2', 'Z2'], [999, 'u3', 'Z1'], [401, 'u1', 'Z2'],
     [1000, 'u2', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('partial repair probe: latest request wins',
   [[[1001, 'u4', 'Z2'], [999, 'u2', 'Z1'], [700, 'u4', 'Z2'], [700, 'u4', 'Z1'], [1001, 'u3', 'Z2']], 1000,
    600],
   {'Z1': 2}),
  ('second regression',
   [[[401, 'u1', 'Z2'], [400, 'u4', 'Z2'], [700, 'u1', 'Z1'], [500, 'u3', 'Z2'], [700, 'u2', 'Z2'],
     [500, 'u1', 'Z2'], [999, 'u2', 'Z1'], [1001, 'u1', 'Z1']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('normal control 1',
   [[[401, 'u3', 'Z2'], [400, 'u4', 'Z1'], [999, 'u4', 'Z2'], [400, 'u1', 'Z1'], [400, 'u4', 'Z2'],
     [999, 'u4', 'Z2']],
    1000, 600],
   {'Z2': 2}),
  ('normal control 2', [[[1001, 'u2', 'Z1'], [1001, 'u3', 'Z1']], 1000, 600], {}),
  ('normal control 3', [[[1001, 'u2', 'Z2'], [700, 'u1', 'Z2'], [1001, 'u3', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 4', [[[500, 'u4', 'Z2'], [1000, 'u2', 'Z1'], [1000, 'u2', 'Z1']], 1000, 600],
   {'Z1': 1, 'Z2': 1})]]
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: latest request wins{'Z1': 2}{'Z1': 2}Passed
partial repair probe: latest request wins{'Z1': 1, 'Z2': 3}{'Z1': 2, 'Z2': 2}Failed
second regression{'Z1': 1, 'Z2': 2}{'Z1': 1, 'Z2': 2}Passed
normal control 1{'Z1': 2, 'Z2': 1}{'Z1': 2, 'Z2': 1}Passed
normal control 2{'Z2': 1}{'Z2': 1}Passed
normal control 3{'Z2': 1}{'Z2': 1}Passed
normal control 4{'Z1': 1, 'Z2': 1}{'Z1': 1, 'Z2': 1}Passed

SHA-256 / a9d0b8d3002ead025f43514346f6eae291118294d04799401d4374b64ff7d8c0

3 / The verified repair

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

N = 1
observations = []
def solve(requests, now, window):
    latest = {}
    for t, rider, zone in requests:
        if now - window < t <= now:
            key = rider
            if key not in latest or t >= latest[key][0]:
                latest[key] = (t, zone)
    out = {}
    for t, zone in latest.values():
        out[zone] = out.get(zone, 0) + 1
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: latest request wins',
   [[[999, 'u2', 'Z1'], [999, 'u2', 'Z1'], [401, 'u1', 'Z2'], [999, 'u2', 'Z1'], [1001, 'u2', 'Z1'],
     [1000, 'u1', 'Z1'], [500, 'u1', 'Z2']],
    1000, 600],
   {'Z1': 2}),
  ('partial repair probe: latest request wins',
   [[[401, 'u4', 'Z2'], [401, 'u2', 'Z2'], [1001, 'u1', 'Z2'], [401, 'u4', 'Z1'], [999, 'u3', 'Z1'],
     [999, 'u1', 'Z2'], [401, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 2}),
  ('second regression',
   [[[500, 'u2', 'Z2'], [1001, 'u3', 'Z1'], [500, 'u1', 'Z1'], [500, 'u4', 'Z1'], [401, 'u4', 'Z2'],
     [999, 'u4', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('normal control 1',
   [[[999, 'u2', 'Z1'], [1000, 'u3', 'Z2'], [400, 'u3', 'Z1'], [400, 'u1', 'Z1'], [999, 'u1', 'Z1'],
     [401, 'u2', 'Z2'], [400, 'u3', 'Z1'], [400, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('normal control 2', [[[1000, 'u4', 'Z2'], [400, 'u1', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 3', [[[400, 'u3', 'Z1'], [1001, 'u1', 'Z1'], [1000, 'u2', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 4',
   [[[400, 'u1', 'Z2'], [1000, 'u2', 'Z1'], [401, 'u4', 'Z2'], [999, 'u4', 'Z1'], [500, 'u4', 'Z2'],
     [500, 'u2', 'Z1'], [1000, 'u4', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 1})],
 [('regression: latest request wins',
   [[[700, 'u4', 'Z2'], [1000, 'u1', 'Z2'], [700, 'u2', 'Z2'], [700, 'u1', 'Z2'], [1000, 'u1', 'Z1']], 1000,
    600],
   {'Z1': 1, 'Z2': 2}),
  ('partial repair probe: latest request wins',
   [[[500, 'u1', 'Z2'], [1000, 'u2', 'Z1'], [500, 'u3', 'Z1'], [1001, 'u2', 'Z2'], [1000, 'u1', 'Z1'],
     [500, 'u3', 'Z2'], [700, 'u4', 'Z1'], [401, 'u1', 'Z1']],
    1000, 600],
   {'Z1': 3, 'Z2': 1}),
  ('second regression',
   [[[700, 'u2', 'Z2'], [1000, 'u4', 'Z1'], [400, 'u4', 'Z2'], [999, 'u2', 'Z1']], 1000, 600], {'Z1': 2}),
  ('normal control 1',
   [[[1001, 'u1', 'Z2'], [700, 'u2', 'Z1'], [1001, 'u2', 'Z2'], [401, 'u2', 'Z1'], [999, 'u1', 'Z1'],
     [999, 'u3', 'Z2'], [400, 'u4', 'Z1'], [700, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('normal control 2',
   [[[700, 'u2', 'Z1'], [500, 'u1', 'Z1'], [500, 'u2', 'Z2'], [400, 'u3', 'Z1'], [700, 'u4', 'Z1'],
     [1001, 'u2', 'Z1']],
    1000, 600],
   {'Z1': 3}),
  ('normal control 3',
   [[[400, 'u2', 'Z1'], [700, 'u3', 'Z1'], [999, 'u4', 'Z1'], [400, 'u3', 'Z2'], [400, 'u3', 'Z1'],
     [401, 'u1', 'Z1'], [500, 'u3', 'Z1']],
    1000, 600],
   {'Z1': 3}),
  ('normal control 4',
   [[[500, 'u4', 'Z1'], [700, 'u4', 'Z2'], [1000, 'u2', 'Z1'], [1000, 'u4', 'Z1'], [999, 'u1', 'Z2']], 1000,
    600],
   {'Z1': 2, 'Z2': 1})],
 [('regression: latest request wins',
   [[[700, 'u4', 'Z2'], [400, 'u2', 'Z2'], [400, 'u4', 'Z2'], [999, 'u3', 'Z1'], [401, 'u4', 'Z1'],
     [700, 'u4', 'Z1'], [1001, 'u4', 'Z2'], [500, 'u2', 'Z2']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('partial repair probe: latest request wins',
   [[[700, 'u3', 'Z2'], [700, 'u3', 'Z1'], [500, 'u4', 'Z1'], [700, 'u1', 'Z2'], [700, 'u1', 'Z2'],
     [1000, 'u3', 'Z1'], [1000, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('second regression',
   [[[700, 'u2', 'Z2'], [700, 'u2', 'Z1'], [999, 'u4', 'Z1'], [500, 'u1', 'Z2'], [500, 'u1', 'Z1'],
     [700, 'u2', 'Z1']],
    1000, 600],
   {'Z1': 3}),
  ('normal control 1', [[[999, 'u4', 'Z2'], [400, 'u2', 'Z2'], [400, 'u1', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 2',
   [[[999, 'u4', 'Z1'], [999, 'u2', 'Z1'], [700, 'u1', 'Z1'], [1000, 'u1', 'Z1'], [1000, 'u2', 'Z1'],
     [700, 'u3', 'Z2'], [999, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 3, 'Z2': 1}),
  ('normal control 3',
   [[[999, 'u1', 'Z1'], [1000, 'u2', 'Z1'], [400, 'u2', 'Z1'], [500, 'u3', 'Z1'], [1000, 'u1', 'Z1'],
     [999, 'u2', 'Z1'], [999, 'u4', 'Z1']],
    1000, 600],
   {'Z1': 4}),
  ('normal control 4',
   [[[999, 'u1', 'Z1'], [1000, 'u2', 'Z1'], [400, 'u2', 'Z2'], [999, 'u3', 'Z1'], [401, 'u3', 'Z2'],
     [700, 'u4', 'Z2']],
    1000, 600],
   {'Z1': 3, 'Z2': 1})],
 [('regression: latest request wins',
   [[[1001, 'u4', 'Z1'], [700, 'u1', 'Z1'], [700, 'u2', 'Z1'], [700, 'u2', 'Z2'], [1001, 'u2', 'Z2']], 1000,
    600],
   {'Z1': 1, 'Z2': 1}),
  ('partial repair probe: latest request wins',
   [[[500, 'u3', 'Z2'], [401, 'u1', 'Z1'], [401, 'u1', 'Z2'], [401, 'u2', 'Z1'], [401, 'u4', 'Z1']], 1000,
    600],
   {'Z1': 2, 'Z2': 2}),
  ('second regression',
   [[[999, 'u2', 'Z2'], [1001, 'u3', 'Z2'], [400, 'u2', 'Z2'], [700, 'u2', 'Z2'], [1000, 'u2', 'Z1'],
     [700, 'u3', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 1}),
  ('normal control 1', [[[1000, 'u2', 'Z1'], [500, 'u4', 'Z2'], [999, 'u3', 'Z2']], 1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('normal control 2',
   [[[400, 'u2', 'Z1'], [1000, 'u1', 'Z1'], [1000, 'u3', 'Z2'], [700, 'u1', 'Z2']], 1000, 600],
   {'Z1': 1, 'Z2': 1}),
  ('normal control 3',
   [[[999, 'u4', 'Z2'], [401, 'u4', 'Z2'], [400, 'u1', 'Z1'], [401, 'u1', 'Z1'], [401, 'u1', 'Z1']], 1000,
    600],
   {'Z1': 1, 'Z2': 1}),
  ('normal control 4',
   [[[1001, 'u2', 'Z1'], [700, 'u4', 'Z1'], [999, 'u1', 'Z1'], [500, 'u1', 'Z1']], 1000, 600], {'Z1': 2})],
 [('regression: latest request wins',
   [[[500, 'u2', 'Z1'], [700, 'u1', 'Z2'], [700, 'u2', 'Z2'], [999, 'u3', 'Z1'], [401, 'u1', 'Z2'],
     [1000, 'u2', 'Z2']],
    1000, 600],
   {'Z1': 1, 'Z2': 2}),
  ('partial repair probe: latest request wins',
   [[[1001, 'u4', 'Z2'], [999, 'u2', 'Z1'], [700, 'u4', 'Z2'], [700, 'u4', 'Z1'], [1001, 'u3', 'Z2']], 1000,
    600],
   {'Z1': 2}),
  ('second regression',
   [[[401, 'u1', 'Z2'], [400, 'u4', 'Z2'], [700, 'u1', 'Z1'], [500, 'u3', 'Z2'], [700, 'u2', 'Z2'],
     [500, 'u1', 'Z2'], [999, 'u2', 'Z1'], [1001, 'u1', 'Z1']],
    1000, 600],
   {'Z1': 2, 'Z2': 1}),
  ('normal control 1',
   [[[401, 'u3', 'Z2'], [400, 'u4', 'Z1'], [999, 'u4', 'Z2'], [400, 'u1', 'Z1'], [400, 'u4', 'Z2'],
     [999, 'u4', 'Z2']],
    1000, 600],
   {'Z2': 2}),
  ('normal control 2', [[[1001, 'u2', 'Z1'], [1001, 'u3', 'Z1']], 1000, 600], {}),
  ('normal control 3', [[[1001, 'u2', 'Z2'], [700, 'u1', 'Z2'], [1001, 'u3', 'Z2']], 1000, 600], {'Z2': 1}),
  ('normal control 4', [[[500, 'u4', 'Z2'], [1000, 'u2', 'Z1'], [1000, 'u2', 'Z1']], 1000, 600],
   {'Z1': 1, 'Z2': 1})]]
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: latest request wins{'Z1': 2}{'Z1': 2}Passed
partial repair probe: latest request wins{'Z1': 2, 'Z2': 2}{'Z1': 2, 'Z2': 2}Passed
second regression{'Z1': 1, 'Z2': 2}{'Z1': 1, 'Z2': 2}Passed
normal control 1{'Z1': 2, 'Z2': 1}{'Z1': 2, 'Z2': 1}Passed
normal control 2{'Z2': 1}{'Z2': 1}Passed
normal control 3{'Z2': 1}{'Z2': 1}Passed
normal control 4{'Z1': 1, 'Z2': 1}{'Z1': 1, 'Z2': 1}Passed

SHA-256 / 98614918d7a4c4d2d3415494e8d7ab85e8f5990a7ff377d32a12ac2896df6724

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:42.447629+00:00.

Case digest / 45b59288dc580934ed3cd6c7ff06b8e29f5143c1f6fd59c19364c93f244bf9f3