FA-85611 / Ride-hailing fare and surge pricing / Open access
Quote honored at the exact expiry second · case 01
A request exactly five minutes after the quote still uses the locked surge.
ROOT CAUSE
The validity window includes its end instant.
VERIFIED REPAIR
Treat the lock as valid for elapsed < 300.
Unsuccessful approach: Treating the window as milliseconds keeps quotes alive for over 80 hours.
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 = 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: lock expiry instant', [{'core': 999, 'surge': 20, 't': 5000}, 5300, 20], [1998, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 2500, 'surge': 20, 't': 5000}, 5900, 15],
[3750, 'requoted']),
('second regression', [{'core': 999, 'surge': 20, 't': 5000}, 5900, 20], [1998, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 15, 't': 5000}, 5299, 20], [1499, 'locked']),
('normal control 2', [{'core': 2500, 'surge': 10, 't': 5000}, 5001, 25], [2500, 'locked']),
('normal control 3', [{'core': 999, 'surge': 20, 't': 5000}, 5299, 20], [1998, 'locked']),
('normal control 4', [{'core': 2500, 'surge': 15, 't': 5000}, 5001, 25], [3750, 'locked'])],
[('regression: lock expiry instant', [{'core': 1111, 'surge': 10, 't': 5000}, 5300, 20], [2222, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 999, 'surge': 15, 't': 5000}, 5900, 15],
[1499, 'requoted']),
('second regression', [{'core': 999, 'surge': 10, 't': 5000}, 5300, 10], [999, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 20, 't': 5000}, 5120, 10], [999, 'locked']),
('normal control 2', [{'core': 1111, 'surge': 20, 't': 5000}, 5120, 20], [2222, 'locked']),
('normal control 3', [{'core': 2500, 'surge': 15, 't': 5000}, 4995, 15], [3750, 'requoted']),
('normal control 4', [{'core': 1111, 'surge': 10, 't': 5000}, 5120, 15], [1111, 'locked'])],
[('regression: lock expiry instant', [{'core': 2500, 'surge': 20, 't': 5000}, 5300, 15], [3750, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 2500, 'surge': 10, 't': 5000}, 5900, 12],
[3000, 'requoted']),
('second regression', [{'core': 1111, 'surge': 10, 't': 5000}, 5301, 25], [2778, 'requoted']),
('normal control 1', [{'core': 2500, 'surge': 10, 't': 5000}, 5000, 12], [2500, 'locked']),
('normal control 2', [{'core': 999, 'surge': 10, 't': 5000}, 5000, 25], [999, 'locked']),
('normal control 3', [{'core': 1111, 'surge': 20, 't': 5000}, 4995, 25], [2778, 'requoted']),
('normal control 4', [{'core': 2500, 'surge': 15, 't': 5000}, 5299, 20], [3750, 'locked'])],
[('regression: lock expiry instant', [{'core': 1111, 'surge': 15, 't': 5000}, 5300, 12], [1333, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 999, 'surge': 20, 't': 5000}, 5900, 10],
[999, 'requoted']),
('second regression', [{'core': 1111, 'surge': 15, 't': 5000}, 5301, 10], [1111, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 20], [1998, 'requoted']),
('normal control 2', [{'core': 2500, 'surge': 20, 't': 5000}, 5120, 10], [2500, 'locked']),
('normal control 3', [{'core': 1111, 'surge': 10, 't': 5000}, 5299, 10], [1111, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 10, 't': 5000}, 5001, 12], [1111, 'locked'])],
[('regression: lock expiry instant', [{'core': 999, 'surge': 15, 't': 5000}, 5300, 20], [1998, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 1111, 'surge': 20, 't': 5000}, 5900, 15],
[1667, 'requoted']),
('second regression', [{'core': 999, 'surge': 20, 't': 5000}, 5900, 10], [999, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 10, 't': 5000}, 5120, 20], [999, 'locked']),
('normal control 2', [{'core': 999, 'surge': 20, 't': 5000}, 5120, 25], [1998, 'locked']),
('normal control 3', [{'core': 999, 'surge': 15, 't': 5000}, 5120, 15], [1499, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 20, 't': 5000}, 5001, 15], [1667, '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: lock expiry instant | [1998, 'locked'] | [1998, 'requoted'] | Failed |
| partial repair probe: lock expiry instant | [3750, 'requoted'] | [3750, 'requoted'] | Passed |
| second regression | [1998, 'requoted'] | [1998, 'requoted'] | Passed |
| normal control 1 | [1499, 'locked'] | [1499, 'locked'] | Passed |
| normal control 2 | [2500, 'locked'] | [2500, 'locked'] | Passed |
| normal control 3 | [1998, 'locked'] | [1998, 'locked'] | Passed |
| normal control 4 | [3750, 'locked'] | [3750, 'locked'] | Passed |
SHA-256 / f8f5b49f34a05ecd4d9180e353e1953a378e9043c0dc5873c77bcf7b11d65101
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 = 0 <= elapsed < 300 * 1000
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: lock expiry instant', [{'core': 999, 'surge': 20, 't': 5000}, 5300, 20], [1998, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 2500, 'surge': 20, 't': 5000}, 5900, 15],
[3750, 'requoted']),
('second regression', [{'core': 999, 'surge': 20, 't': 5000}, 5900, 20], [1998, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 15, 't': 5000}, 5299, 20], [1499, 'locked']),
('normal control 2', [{'core': 2500, 'surge': 10, 't': 5000}, 5001, 25], [2500, 'locked']),
('normal control 3', [{'core': 999, 'surge': 20, 't': 5000}, 5299, 20], [1998, 'locked']),
('normal control 4', [{'core': 2500, 'surge': 15, 't': 5000}, 5001, 25], [3750, 'locked'])],
[('regression: lock expiry instant', [{'core': 1111, 'surge': 10, 't': 5000}, 5300, 20], [2222, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 999, 'surge': 15, 't': 5000}, 5900, 15],
[1499, 'requoted']),
('second regression', [{'core': 999, 'surge': 10, 't': 5000}, 5300, 10], [999, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 20, 't': 5000}, 5120, 10], [999, 'locked']),
('normal control 2', [{'core': 1111, 'surge': 20, 't': 5000}, 5120, 20], [2222, 'locked']),
('normal control 3', [{'core': 2500, 'surge': 15, 't': 5000}, 4995, 15], [3750, 'requoted']),
('normal control 4', [{'core': 1111, 'surge': 10, 't': 5000}, 5120, 15], [1111, 'locked'])],
[('regression: lock expiry instant', [{'core': 2500, 'surge': 20, 't': 5000}, 5300, 15], [3750, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 2500, 'surge': 10, 't': 5000}, 5900, 12],
[3000, 'requoted']),
('second regression', [{'core': 1111, 'surge': 10, 't': 5000}, 5301, 25], [2778, 'requoted']),
('normal control 1', [{'core': 2500, 'surge': 10, 't': 5000}, 5000, 12], [2500, 'locked']),
('normal control 2', [{'core': 999, 'surge': 10, 't': 5000}, 5000, 25], [999, 'locked']),
('normal control 3', [{'core': 1111, 'surge': 20, 't': 5000}, 4995, 25], [2778, 'requoted']),
('normal control 4', [{'core': 2500, 'surge': 15, 't': 5000}, 5299, 20], [3750, 'locked'])],
[('regression: lock expiry instant', [{'core': 1111, 'surge': 15, 't': 5000}, 5300, 12], [1333, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 999, 'surge': 20, 't': 5000}, 5900, 10],
[999, 'requoted']),
('second regression', [{'core': 1111, 'surge': 15, 't': 5000}, 5301, 10], [1111, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 20], [1998, 'requoted']),
('normal control 2', [{'core': 2500, 'surge': 20, 't': 5000}, 5120, 10], [2500, 'locked']),
('normal control 3', [{'core': 1111, 'surge': 10, 't': 5000}, 5299, 10], [1111, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 10, 't': 5000}, 5001, 12], [1111, 'locked'])],
[('regression: lock expiry instant', [{'core': 999, 'surge': 15, 't': 5000}, 5300, 20], [1998, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 1111, 'surge': 20, 't': 5000}, 5900, 15],
[1667, 'requoted']),
('second regression', [{'core': 999, 'surge': 20, 't': 5000}, 5900, 10], [999, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 10, 't': 5000}, 5120, 20], [999, 'locked']),
('normal control 2', [{'core': 999, 'surge': 20, 't': 5000}, 5120, 25], [1998, 'locked']),
('normal control 3', [{'core': 999, 'surge': 15, 't': 5000}, 5120, 15], [1499, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 20, 't': 5000}, 5001, 15], [1667, '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: lock expiry instant | [1998, 'locked'] | [1998, 'requoted'] | Failed |
| partial repair probe: lock expiry instant | [3750, 'locked'] | [3750, 'requoted'] | Failed |
| second regression | [1998, 'locked'] | [1998, 'requoted'] | Failed |
| normal control 1 | [1499, 'locked'] | [1499, 'locked'] | Passed |
| normal control 2 | [2500, 'locked'] | [2500, 'locked'] | Passed |
| normal control 3 | [1998, 'locked'] | [1998, 'locked'] | Passed |
| normal control 4 | [3750, 'locked'] | [3750, 'locked'] | Passed |
SHA-256 / f1f951bed80b8fd92b04b740e047f20c59aa27c94730443a1f4c107caa08430c
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: lock expiry instant', [{'core': 999, 'surge': 20, 't': 5000}, 5300, 20], [1998, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 2500, 'surge': 20, 't': 5000}, 5900, 15],
[3750, 'requoted']),
('second regression', [{'core': 999, 'surge': 20, 't': 5000}, 5900, 20], [1998, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 15, 't': 5000}, 5299, 20], [1499, 'locked']),
('normal control 2', [{'core': 2500, 'surge': 10, 't': 5000}, 5001, 25], [2500, 'locked']),
('normal control 3', [{'core': 999, 'surge': 20, 't': 5000}, 5299, 20], [1998, 'locked']),
('normal control 4', [{'core': 2500, 'surge': 15, 't': 5000}, 5001, 25], [3750, 'locked'])],
[('regression: lock expiry instant', [{'core': 1111, 'surge': 10, 't': 5000}, 5300, 20], [2222, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 999, 'surge': 15, 't': 5000}, 5900, 15],
[1499, 'requoted']),
('second regression', [{'core': 999, 'surge': 10, 't': 5000}, 5300, 10], [999, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 20, 't': 5000}, 5120, 10], [999, 'locked']),
('normal control 2', [{'core': 1111, 'surge': 20, 't': 5000}, 5120, 20], [2222, 'locked']),
('normal control 3', [{'core': 2500, 'surge': 15, 't': 5000}, 4995, 15], [3750, 'requoted']),
('normal control 4', [{'core': 1111, 'surge': 10, 't': 5000}, 5120, 15], [1111, 'locked'])],
[('regression: lock expiry instant', [{'core': 2500, 'surge': 20, 't': 5000}, 5300, 15], [3750, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 2500, 'surge': 10, 't': 5000}, 5900, 12],
[3000, 'requoted']),
('second regression', [{'core': 1111, 'surge': 10, 't': 5000}, 5301, 25], [2778, 'requoted']),
('normal control 1', [{'core': 2500, 'surge': 10, 't': 5000}, 5000, 12], [2500, 'locked']),
('normal control 2', [{'core': 999, 'surge': 10, 't': 5000}, 5000, 25], [999, 'locked']),
('normal control 3', [{'core': 1111, 'surge': 20, 't': 5000}, 4995, 25], [2778, 'requoted']),
('normal control 4', [{'core': 2500, 'surge': 15, 't': 5000}, 5299, 20], [3750, 'locked'])],
[('regression: lock expiry instant', [{'core': 1111, 'surge': 15, 't': 5000}, 5300, 12], [1333, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 999, 'surge': 20, 't': 5000}, 5900, 10],
[999, 'requoted']),
('second regression', [{'core': 1111, 'surge': 15, 't': 5000}, 5301, 10], [1111, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 15, 't': 5000}, 4995, 20], [1998, 'requoted']),
('normal control 2', [{'core': 2500, 'surge': 20, 't': 5000}, 5120, 10], [2500, 'locked']),
('normal control 3', [{'core': 1111, 'surge': 10, 't': 5000}, 5299, 10], [1111, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 10, 't': 5000}, 5001, 12], [1111, 'locked'])],
[('regression: lock expiry instant', [{'core': 999, 'surge': 15, 't': 5000}, 5300, 20], [1998, 'requoted']),
('partial repair probe: lock expiry instant', [{'core': 1111, 'surge': 20, 't': 5000}, 5900, 15],
[1667, 'requoted']),
('second regression', [{'core': 999, 'surge': 20, 't': 5000}, 5900, 10], [999, 'requoted']),
('normal control 1', [{'core': 999, 'surge': 10, 't': 5000}, 5120, 20], [999, 'locked']),
('normal control 2', [{'core': 999, 'surge': 20, 't': 5000}, 5120, 25], [1998, 'locked']),
('normal control 3', [{'core': 999, 'surge': 15, 't': 5000}, 5120, 15], [1499, 'locked']),
('normal control 4', [{'core': 1111, 'surge': 20, 't': 5000}, 5001, 15], [1667, '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: lock expiry instant | [1998, 'requoted'] | [1998, 'requoted'] | Passed |
| partial repair probe: lock expiry instant | [3750, 'requoted'] | [3750, 'requoted'] | Passed |
| second regression | [1998, 'requoted'] | [1998, 'requoted'] | Passed |
| normal control 1 | [1499, 'locked'] | [1499, 'locked'] | Passed |
| normal control 2 | [2500, 'locked'] | [2500, 'locked'] | Passed |
| normal control 3 | [1998, 'locked'] | [1998, 'locked'] | Passed |
| normal control 4 | [3750, 'locked'] | [3750, 'locked'] | Passed |
SHA-256 / ececd8caadab15460f74e1a1ffc94f3f298572c765c1dbfa7c7745405a8922a4
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:41.925333+00:00.
Case digest / f5d33eea009da61ca44a5cff607e825ddb6c1ea1874c71fbea8cebaa15f3e3a7