FA-85706 / Ride-hailing fare and surge pricing / Open access
Free waiting pooled across all stops · case 01
Two 2-minute stops are billed although each is within its allowance.
ROOT CAUSE
Waits are summed and the allowance is granted only once.
VERIFIED REPAIR
Apply the free allowance and minute rounding per stop.
Unsuccessful approach: Pooling with a per-stop allowance still lets one long stop use another stop's allowance.
Case contract
Intermediate stops each add stop_fee; up to max_stops stops are allowed, more is an error. Each stop has its own free waiting allowance of free_wait seconds; waiting beyond it at that stop is billed per started minute at per_min. Return the stop fee total in cents.
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(stops, policy):
if len(stops) > policy['max_stops']:
return {'error': 'too_many_stops'}
waits = [s['wait_s'] for s in stops]
fee = policy['stop_fee'] * len(stops)
for w in [sum(waits)]:
over = w - policy['free_wait']
if over > 0:
fee += -(-over // 60) * policy['per_min']
return {'fee': fee}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 180}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 390}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 420}, {'wait_s': 0}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 460}),
('second regression',
[[{'wait_s': 181}, {'wait_s': 300}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 390}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 0}),
('normal control 2', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 0}),
('normal control 3',
[[{'wait_s': 0}, {'wait_s': 181}, {'wait_s': 420}, {'wait_s': 180}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 4',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 150})],
[('regression: per-stop free wait',
[[{'wait_s': 0}, {'wait_s': 300}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 380}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 60}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 280}),
('second regression',
[[{'wait_s': 300}, {'wait_s': 420}, {'wait_s': 300}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 770}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 0}),
('normal control 2',
[[{'wait_s': 181}, {'wait_s': 170}, {'wait_s': 170}, {'wait_s': 300}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('normal control 3',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 4',
[[{'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 100})],
[('regression: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 320}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 0}, {'wait_s': 60}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 330}),
('second regression',
[[{'wait_s': 300}, {'wait_s': 240}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 390}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 0}),
('normal control 2',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 100}),
('normal control 3',
[[{'wait_s': 0}, {'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 200}),
('normal control 4', [[{'wait_s': 0}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 150})],
[('regression: per-stop free wait',
[[{'wait_s': 240}, {'wait_s': 420}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 810}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 420}, {'wait_s': 300}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 480}),
('second regression',
[[{'wait_s': 240}, {'wait_s': 300}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 320}),
('normal control 1',
[[{'wait_s': 0}, {'wait_s': 180}, {'wait_s': 420}, {'wait_s': 0}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 2',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 3',
[[{'wait_s': 60}, {'wait_s': 240}, {'wait_s': 181}, {'wait_s': 181}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 4',
[[{'wait_s': 420}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 220})],
[('regression: per-stop free wait',
[[{'wait_s': 181}, {'wait_s': 300}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 420}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 240}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'fee': 540}),
('second regression',
[[{'wait_s': 170}, {'wait_s': 300}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 540}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 0}),
('normal control 2',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 3',
[[{'wait_s': 0}, {'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 300}),
('normal control 4', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 0})]]
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: per-stop free wait | {'fee': 570} | {'fee': 390} | Failed |
| partial repair probe: per-stop free wait | {'fee': 460} | {'fee': 460} | Passed |
| second regression | {'fee': 540} | {'fee': 390} | Failed |
| normal control 1 | {'fee': 0} | {'fee': 0} | Passed |
| normal control 2 | {'fee': 0} | {'fee': 0} | Passed |
| normal control 3 | {'error': 'too_many_stops'} | {'error': 'too_many_stops'} | Passed |
| normal control 4 | {'fee': 150} | {'fee': 150} | Passed |
SHA-256 / 9111bdc60aa37a3910b68d1d148fa96ebb47772323497fe44c5cb6f426a0b5e4
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(stops, policy):
if len(stops) > policy['max_stops']:
return {'error': 'too_many_stops'}
waits = [s['wait_s'] for s in stops]
fee = policy['stop_fee'] * len(stops)
for w in [sum(waits) - policy['free_wait'] * (len(waits) - 1)]:
over = w - policy['free_wait']
if over > 0:
fee += -(-over // 60) * policy['per_min']
return {'fee': fee}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 180}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 390}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 420}, {'wait_s': 0}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 460}),
('second regression',
[[{'wait_s': 181}, {'wait_s': 300}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 390}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 0}),
('normal control 2', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 0}),
('normal control 3',
[[{'wait_s': 0}, {'wait_s': 181}, {'wait_s': 420}, {'wait_s': 180}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 4',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 150})],
[('regression: per-stop free wait',
[[{'wait_s': 0}, {'wait_s': 300}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 380}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 60}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 280}),
('second regression',
[[{'wait_s': 300}, {'wait_s': 420}, {'wait_s': 300}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 770}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 0}),
('normal control 2',
[[{'wait_s': 181}, {'wait_s': 170}, {'wait_s': 170}, {'wait_s': 300}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('normal control 3',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 4',
[[{'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 100})],
[('regression: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 320}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 0}, {'wait_s': 60}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 330}),
('second regression',
[[{'wait_s': 300}, {'wait_s': 240}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 390}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 0}),
('normal control 2',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 100}),
('normal control 3',
[[{'wait_s': 0}, {'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 200}),
('normal control 4', [[{'wait_s': 0}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 150})],
[('regression: per-stop free wait',
[[{'wait_s': 240}, {'wait_s': 420}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 810}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 420}, {'wait_s': 300}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 480}),
('second regression',
[[{'wait_s': 240}, {'wait_s': 300}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 320}),
('normal control 1',
[[{'wait_s': 0}, {'wait_s': 180}, {'wait_s': 420}, {'wait_s': 0}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 2',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 3',
[[{'wait_s': 60}, {'wait_s': 240}, {'wait_s': 181}, {'wait_s': 181}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 4',
[[{'wait_s': 420}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 220})],
[('regression: per-stop free wait',
[[{'wait_s': 181}, {'wait_s': 300}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 420}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 240}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'fee': 540}),
('second regression',
[[{'wait_s': 170}, {'wait_s': 300}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 540}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 0}),
('normal control 2',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 3',
[[{'wait_s': 0}, {'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 300}),
('normal control 4', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 0})]]
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: per-stop free wait | {'fee': 390} | {'fee': 390} | Passed |
| partial repair probe: per-stop free wait | {'fee': 340} | {'fee': 460} | Failed |
| second regression | {'fee': 360} | {'fee': 390} | Failed |
| normal control 1 | {'fee': 0} | {'fee': 0} | Passed |
| normal control 2 | {'fee': 0} | {'fee': 0} | Passed |
| normal control 3 | {'error': 'too_many_stops'} | {'error': 'too_many_stops'} | Passed |
| normal control 4 | {'fee': 150} | {'fee': 150} | Passed |
SHA-256 / 591b76cb7fedaee317fcff21dccc85b7295c4ef27fdb0277e2691819f48e6fff
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(stops, policy):
if len(stops) > policy['max_stops']:
return {'error': 'too_many_stops'}
waits = [s['wait_s'] for s in stops]
fee = policy['stop_fee'] * len(stops)
for w in waits:
over = w - policy['free_wait']
if over > 0:
fee += -(-over // 60) * policy['per_min']
return {'fee': fee}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 180}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 390}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 420}, {'wait_s': 0}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 460}),
('second regression',
[[{'wait_s': 181}, {'wait_s': 300}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 390}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 0}),
('normal control 2', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 0}),
('normal control 3',
[[{'wait_s': 0}, {'wait_s': 181}, {'wait_s': 420}, {'wait_s': 180}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 4',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 150})],
[('regression: per-stop free wait',
[[{'wait_s': 0}, {'wait_s': 300}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 380}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 60}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 280}),
('second regression',
[[{'wait_s': 300}, {'wait_s': 420}, {'wait_s': 300}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 770}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 0}),
('normal control 2',
[[{'wait_s': 181}, {'wait_s': 170}, {'wait_s': 170}, {'wait_s': 300}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('normal control 3',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 4',
[[{'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 100})],
[('regression: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 320}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 0}, {'wait_s': 60}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 330}),
('second regression',
[[{'wait_s': 300}, {'wait_s': 240}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 390}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 0}),
('normal control 2',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 100}),
('normal control 3',
[[{'wait_s': 0}, {'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 200}),
('normal control 4', [[{'wait_s': 0}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 150})],
[('regression: per-stop free wait',
[[{'wait_s': 240}, {'wait_s': 420}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 810}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 420}, {'wait_s': 300}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 480}),
('second regression',
[[{'wait_s': 240}, {'wait_s': 300}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 320}),
('normal control 1',
[[{'wait_s': 0}, {'wait_s': 180}, {'wait_s': 420}, {'wait_s': 0}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 2',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 3',
[[{'wait_s': 60}, {'wait_s': 240}, {'wait_s': 181}, {'wait_s': 181}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 4',
[[{'wait_s': 420}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 220})],
[('regression: per-stop free wait',
[[{'wait_s': 181}, {'wait_s': 300}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 420}),
('partial repair probe: per-stop free wait',
[[{'wait_s': 300}, {'wait_s': 240}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'fee': 540}),
('second regression',
[[{'wait_s': 170}, {'wait_s': 300}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 540}),
('normal control 1', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 0}),
('normal control 2',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 3',
[[{'wait_s': 0}, {'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 300}),
('normal control 4', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 0})]]
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: per-stop free wait | {'fee': 390} | {'fee': 390} | Passed |
| partial repair probe: per-stop free wait | {'fee': 460} | {'fee': 460} | Passed |
| second regression | {'fee': 390} | {'fee': 390} | Passed |
| normal control 1 | {'fee': 0} | {'fee': 0} | Passed |
| normal control 2 | {'fee': 0} | {'fee': 0} | Passed |
| normal control 3 | {'error': 'too_many_stops'} | {'error': 'too_many_stops'} | Passed |
| normal control 4 | {'fee': 150} | {'fee': 150} | Passed |
SHA-256 / 1931e98a97bfff929ec5059abc45be230619ea32cbb4a684b61e416a0408004f
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.884994+00:00.
Case digest / c6ede2029a429e1a0c9847dabd31ad682386e10c9b64ad549f28a08800342c69