FA-85621 / Ride-hailing fare and surge pricing / Open access
Request stamped before its quote treated as locked · case 01
Replayed or skewed requests reuse quotes that were not yet issued.
ROOT CAUSE
Negative elapsed times pass the validity test.
VERIFIED REPAIR
Require elapsed to be non-negative.
Unsuccessful approach: Accepting absolute skew still honors requests that predate the quote.
Case contract
A fare quote locks its surge for 300 seconds: requests with 0 <= elapsed < 300 seconds are locked (a request timestamped before the quote, from clock skew, is not). A locked request uses the lower of the quoted and current surge; otherwise the current surge. Price = core x surge / 10, half up. Return [price, locked|requoted].
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(quote, request_t, current_surge):
elapsed = request_t - quote['t']
valid = elapsed < 300
used = min(quote['surge'], current_surge) if valid else current_surge
price = (quote['core'] * used * 2 + 10) // 20
return [price, 'locked' if valid else 'requoted']
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: clock skew', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 20], [1998, 'requoted']),
('partial repair probe: clock skew', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 25],
[2778, 'requoted']),
('second regression', [{'core': 2500, 'surge': 15, 't': 5000}, 4995, 25], [6250, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 10, 't': 5000}, 5000, 12], [999, 'locked']),
('normal control 2', [{'core': 2500, 'surge': 20, 't': 5000}, 5900, 15], [3750, 'requoted']),
('normal control 3', [{'core': 2500, 'surge': 10, 't': 5000}, 5000, 25], [2500, 'locked']),
('normal control 4', [{'core': 999, 'surge': 15, 't': 5000}, 5300, 12], [1199, 'requoted'])],
[('regression: clock skew', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 12], [1333, 'requoted']),
('partial repair probe: clock skew', [{'core': 999, 'surge': 20, 't': 5000}, 4995, 20], [1998, 'requoted']),
('second regression', [{'core': 2500, 'surge': 10, 't': 5000}, 4995, 10], [2500, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 10, 't': 5000}, 5300, 15], [1499, 'requoted']),
('normal control 2', [{'core': 1111, 'surge': 10, 't': 5000}, 5299, 12], [1111, 'locked']),
('normal control 3', [{'core': 2500, 'surge': 15, 't': 5000}, 5001, 10], [2500, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 20, 't': 5000}, 5120, 12], [1333, 'locked'])],
[('regression: clock skew', [{'core': 1111, 'surge': 15, 't': 5000}, 4995, 15], [1667, 'requoted']),
('partial repair probe: clock skew', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 25], [2498, 'requoted']),
('second regression', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 20], [2222, 'requoted']),
('normal control 1', [{'core': 2500, 'surge': 10, 't': 5000}, 5299, 10], [2500, 'locked']),
('normal control 2', [{'core': 999, 'surge': 10, 't': 5000}, 5300, 20], [1998, 'requoted']),
('normal control 3', [{'core': 999, 'surge': 10, 't': 5000}, 5299, 20], [999, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 20, 't': 5000}, 5900, 10], [1111, 'requoted'])],
[('regression: clock skew', [{'core': 999, 'surge': 20, 't': 5000}, 4995, 25], [2498, 'requoted']),
('partial repair probe: clock skew', [{'core': 999, 'surge': 20, 't': 5000}, 4995, 10], [999, 'requoted']),
('second regression', [{'core': 1111, 'surge': 20, 't': 5000}, 4995, 25], [2778, 'requoted']),
('normal control 1', [{'core': 2500, 'surge': 15, 't': 5000}, 5001, 10], [2500, 'locked']),
('normal control 2', [{'core': 1111, 'surge': 15, 't': 5000}, 5120, 20], [1667, 'locked']),
('normal control 3', [{'core': 999, 'surge': 10, 't': 5000}, 5301, 12], [1199, 'requoted']),
('normal control 4', [{'core': 1111, 'surge': 15, 't': 5000}, 5000, 15], [1667, 'locked'])],
[('regression: clock skew', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 20], [2222, 'requoted']),
('partial repair probe: clock skew', [{'core': 2500, 'surge': 10, 't': 5000}, 4995, 20],
[5000, 'requoted']),
('second regression', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 25], [2498, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 15, 't': 5000}, 5299, 10], [999, 'locked']),
('normal control 2', [{'core': 1111, 'surge': 15, 't': 5000}, 5120, 12], [1333, 'locked']),
('normal control 3', [{'core': 1111, 'surge': 15, 't': 5000}, 5300, 20], [2222, 'requoted']),
('normal control 4', [{'core': 2500, 'surge': 10, 't': 5000}, 5299, 15], [2500, 'locked'])]]
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: clock skew | [1499, 'locked'] | [1998, 'requoted'] | Failed |
| partial repair probe: clock skew | [1111, 'locked'] | [2778, 'requoted'] | Failed |
| second regression | [3750, 'locked'] | [6250, 'requoted'] | Failed |
| normal control 1 | [999, 'locked'] | [999, 'locked'] | Passed |
| normal control 2 | [3750, 'requoted'] | [3750, 'requoted'] | Passed |
| normal control 3 | [2500, 'locked'] | [2500, 'locked'] | Passed |
| normal control 4 | [1199, 'requoted'] | [1199, 'requoted'] | Passed |
SHA-256 / fb57cd7be42d6646d9c7f56d9972e831d7e8f46e7b018b73b7de374ec1a3f748
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(quote, request_t, current_surge):
elapsed = request_t - quote['t']
valid = abs(elapsed) < 300
used = min(quote['surge'], current_surge) if valid else current_surge
price = (quote['core'] * used * 2 + 10) // 20
return [price, 'locked' if valid else 'requoted']
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: clock skew', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 20], [1998, 'requoted']),
('partial repair probe: clock skew', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 25],
[2778, 'requoted']),
('second regression', [{'core': 2500, 'surge': 15, 't': 5000}, 4995, 25], [6250, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 10, 't': 5000}, 5000, 12], [999, 'locked']),
('normal control 2', [{'core': 2500, 'surge': 20, 't': 5000}, 5900, 15], [3750, 'requoted']),
('normal control 3', [{'core': 2500, 'surge': 10, 't': 5000}, 5000, 25], [2500, 'locked']),
('normal control 4', [{'core': 999, 'surge': 15, 't': 5000}, 5300, 12], [1199, 'requoted'])],
[('regression: clock skew', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 12], [1333, 'requoted']),
('partial repair probe: clock skew', [{'core': 999, 'surge': 20, 't': 5000}, 4995, 20], [1998, 'requoted']),
('second regression', [{'core': 2500, 'surge': 10, 't': 5000}, 4995, 10], [2500, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 10, 't': 5000}, 5300, 15], [1499, 'requoted']),
('normal control 2', [{'core': 1111, 'surge': 10, 't': 5000}, 5299, 12], [1111, 'locked']),
('normal control 3', [{'core': 2500, 'surge': 15, 't': 5000}, 5001, 10], [2500, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 20, 't': 5000}, 5120, 12], [1333, 'locked'])],
[('regression: clock skew', [{'core': 1111, 'surge': 15, 't': 5000}, 4995, 15], [1667, 'requoted']),
('partial repair probe: clock skew', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 25], [2498, 'requoted']),
('second regression', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 20], [2222, 'requoted']),
('normal control 1', [{'core': 2500, 'surge': 10, 't': 5000}, 5299, 10], [2500, 'locked']),
('normal control 2', [{'core': 999, 'surge': 10, 't': 5000}, 5300, 20], [1998, 'requoted']),
('normal control 3', [{'core': 999, 'surge': 10, 't': 5000}, 5299, 20], [999, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 20, 't': 5000}, 5900, 10], [1111, 'requoted'])],
[('regression: clock skew', [{'core': 999, 'surge': 20, 't': 5000}, 4995, 25], [2498, 'requoted']),
('partial repair probe: clock skew', [{'core': 999, 'surge': 20, 't': 5000}, 4995, 10], [999, 'requoted']),
('second regression', [{'core': 1111, 'surge': 20, 't': 5000}, 4995, 25], [2778, 'requoted']),
('normal control 1', [{'core': 2500, 'surge': 15, 't': 5000}, 5001, 10], [2500, 'locked']),
('normal control 2', [{'core': 1111, 'surge': 15, 't': 5000}, 5120, 20], [1667, 'locked']),
('normal control 3', [{'core': 999, 'surge': 10, 't': 5000}, 5301, 12], [1199, 'requoted']),
('normal control 4', [{'core': 1111, 'surge': 15, 't': 5000}, 5000, 15], [1667, 'locked'])],
[('regression: clock skew', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 20], [2222, 'requoted']),
('partial repair probe: clock skew', [{'core': 2500, 'surge': 10, 't': 5000}, 4995, 20],
[5000, 'requoted']),
('second regression', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 25], [2498, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 15, 't': 5000}, 5299, 10], [999, 'locked']),
('normal control 2', [{'core': 1111, 'surge': 15, 't': 5000}, 5120, 12], [1333, 'locked']),
('normal control 3', [{'core': 1111, 'surge': 15, 't': 5000}, 5300, 20], [2222, 'requoted']),
('normal control 4', [{'core': 2500, 'surge': 10, 't': 5000}, 5299, 15], [2500, 'locked'])]]
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: clock skew | [1499, 'locked'] | [1998, 'requoted'] | Failed |
| partial repair probe: clock skew | [1111, 'locked'] | [2778, 'requoted'] | Failed |
| second regression | [3750, 'locked'] | [6250, 'requoted'] | Failed |
| normal control 1 | [999, 'locked'] | [999, 'locked'] | Passed |
| normal control 2 | [3750, 'requoted'] | [3750, 'requoted'] | Passed |
| normal control 3 | [2500, 'locked'] | [2500, 'locked'] | Passed |
| normal control 4 | [1199, 'requoted'] | [1199, 'requoted'] | Passed |
SHA-256 / 011256d1d8361a7475007f115a9a7d75690f357e61eb0812f91ade748c079545
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(quote, request_t, current_surge):
elapsed = request_t - quote['t']
valid = 0 <= elapsed < 300
used = min(quote['surge'], current_surge) if valid else current_surge
price = (quote['core'] * used * 2 + 10) // 20
return [price, 'locked' if valid else 'requoted']
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: clock skew', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 20], [1998, 'requoted']),
('partial repair probe: clock skew', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 25],
[2778, 'requoted']),
('second regression', [{'core': 2500, 'surge': 15, 't': 5000}, 4995, 25], [6250, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 10, 't': 5000}, 5000, 12], [999, 'locked']),
('normal control 2', [{'core': 2500, 'surge': 20, 't': 5000}, 5900, 15], [3750, 'requoted']),
('normal control 3', [{'core': 2500, 'surge': 10, 't': 5000}, 5000, 25], [2500, 'locked']),
('normal control 4', [{'core': 999, 'surge': 15, 't': 5000}, 5300, 12], [1199, 'requoted'])],
[('regression: clock skew', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 12], [1333, 'requoted']),
('partial repair probe: clock skew', [{'core': 999, 'surge': 20, 't': 5000}, 4995, 20], [1998, 'requoted']),
('second regression', [{'core': 2500, 'surge': 10, 't': 5000}, 4995, 10], [2500, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 10, 't': 5000}, 5300, 15], [1499, 'requoted']),
('normal control 2', [{'core': 1111, 'surge': 10, 't': 5000}, 5299, 12], [1111, 'locked']),
('normal control 3', [{'core': 2500, 'surge': 15, 't': 5000}, 5001, 10], [2500, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 20, 't': 5000}, 5120, 12], [1333, 'locked'])],
[('regression: clock skew', [{'core': 1111, 'surge': 15, 't': 5000}, 4995, 15], [1667, 'requoted']),
('partial repair probe: clock skew', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 25], [2498, 'requoted']),
('second regression', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 20], [2222, 'requoted']),
('normal control 1', [{'core': 2500, 'surge': 10, 't': 5000}, 5299, 10], [2500, 'locked']),
('normal control 2', [{'core': 999, 'surge': 10, 't': 5000}, 5300, 20], [1998, 'requoted']),
('normal control 3', [{'core': 999, 'surge': 10, 't': 5000}, 5299, 20], [999, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 20, 't': 5000}, 5900, 10], [1111, 'requoted'])],
[('regression: clock skew', [{'core': 999, 'surge': 20, 't': 5000}, 4995, 25], [2498, 'requoted']),
('partial repair probe: clock skew', [{'core': 999, 'surge': 20, 't': 5000}, 4995, 10], [999, 'requoted']),
('second regression', [{'core': 1111, 'surge': 20, 't': 5000}, 4995, 25], [2778, 'requoted']),
('normal control 1', [{'core': 2500, 'surge': 15, 't': 5000}, 5001, 10], [2500, 'locked']),
('normal control 2', [{'core': 1111, 'surge': 15, 't': 5000}, 5120, 20], [1667, 'locked']),
('normal control 3', [{'core': 999, 'surge': 10, 't': 5000}, 5301, 12], [1199, 'requoted']),
('normal control 4', [{'core': 1111, 'surge': 15, 't': 5000}, 5000, 15], [1667, 'locked'])],
[('regression: clock skew', [{'core': 1111, 'surge': 10, 't': 5000}, 4995, 20], [2222, 'requoted']),
('partial repair probe: clock skew', [{'core': 2500, 'surge': 10, 't': 5000}, 4995, 20],
[5000, 'requoted']),
('second regression', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 25], [2498, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 15, 't': 5000}, 5299, 10], [999, 'locked']),
('normal control 2', [{'core': 1111, 'surge': 15, 't': 5000}, 5120, 12], [1333, 'locked']),
('normal control 3', [{'core': 1111, 'surge': 15, 't': 5000}, 5300, 20], [2222, 'requoted']),
('normal control 4', [{'core': 2500, 'surge': 10, 't': 5000}, 5299, 15], [2500, 'locked'])]]
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: clock skew | [1998, 'requoted'] | [1998, 'requoted'] | Passed |
| partial repair probe: clock skew | [2778, 'requoted'] | [2778, 'requoted'] | Passed |
| second regression | [6250, 'requoted'] | [6250, 'requoted'] | Passed |
| normal control 1 | [999, 'locked'] | [999, 'locked'] | Passed |
| normal control 2 | [3750, 'requoted'] | [3750, 'requoted'] | Passed |
| normal control 3 | [2500, 'locked'] | [2500, 'locked'] | Passed |
| normal control 4 | [1199, 'requoted'] | [1199, 'requoted'] | Passed |
SHA-256 / 497ff1a3ccf8fd55caff22a2bb24bb09d320dc73157e5d8b41bb8975f246c653
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.179376+00:00.
Case digest / 79552d2374ab3ae6e5cc2289842a9547b3b76f549f8d8defce5c990fed3b1068