FA-85701 / Ride-hailing fare and surge pricing / Open access
Maximum number of stops rejected · case 01
Riders adding the third allowed stop get an error.
ROOT CAUSE
The limit check uses >=.
VERIFIED REPAIR
Reject only more than max_stops stops.
Unsuccessful approach: Allowing one extra stop accepts a fourth stop.
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 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: stop limit',
[[{'wait_s': 300}, {'wait_s': 420}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 690}),
('partial repair probe: stop limit',
[[{'wait_s': 240}, {'wait_s': 180}, {'wait_s': 240}, {'wait_s': 181}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 420}, {'wait_s': 60}, {'wait_s': 420}],
{'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': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 100}),
('normal control 3',
[[{'wait_s': 300}, {'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 290}),
('normal control 4', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 0})],
[('regression: stop limit',
[[{'wait_s': 0}, {'wait_s': 420}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 500}),
('partial repair probe: stop limit',
[[{'wait_s': 170}, {'wait_s': 300}, {'wait_s': 180}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 420}, {'wait_s': 181}, {'wait_s': 300}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 730}),
('normal control 1',
[[{'wait_s': 181}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 140}),
('normal control 2',
[[{'wait_s': 181}, {'wait_s': 181}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'fee': 360}),
('normal control 3',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 100}),
('normal control 4',
[[{'wait_s': 180}, {'wait_s': 300}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 280})],
[('regression: stop limit',
[[{'wait_s': 240}, {'wait_s': 60}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 450}),
('partial repair probe: stop limit',
[[{'wait_s': 240}, {'wait_s': 240}, {'wait_s': 170}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 240}, {'wait_s': 181}, {'wait_s': 181}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 1',
[[{'wait_s': 420}, {'wait_s': 60}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 460}),
('normal control 2',
[[{'wait_s': 60}, {'wait_s': 0}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 300}),
('normal control 3',
[[{'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 4',
[[{'wait_s': 420}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 260})],
[('regression: stop limit',
[[{'wait_s': 181}, {'wait_s': 170}, {'wait_s': 181}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'fee': 510}),
('partial repair probe: stop limit',
[[{'wait_s': 181}, {'wait_s': 240}, {'wait_s': 180}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 0}, {'wait_s': 60}, {'wait_s': 180}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 450}),
('normal control 1',
[[{'wait_s': 300}, {'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 380}),
('normal control 2', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 0}),
('normal control 3', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 0}),
('normal control 4',
[[{'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 190})],
[('regression: stop limit',
[[{'wait_s': 300}, {'wait_s': 60}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 540}),
('partial repair probe: stop limit',
[[{'wait_s': 240}, {'wait_s': 420}, {'wait_s': 60}, {'wait_s': 0}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 181}, {'wait_s': 170}, {'wait_s': 180}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 330}),
('normal control 1',
[[{'wait_s': 300}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 180}),
('normal control 2', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 0}),
('normal control 3',
[[{'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 190}),
('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: stop limit | {'error': 'too_many_stops'} | {'fee': 690} | Failed |
| partial repair probe: stop limit | {'error': 'too_many_stops'} | {'error': 'too_many_stops'} | Passed |
| second regression | {'error': 'too_many_stops'} | {'fee': 770} | Failed |
| normal control 1 | {'fee': 0} | {'fee': 0} | Passed |
| normal control 2 | {'fee': 100} | {'fee': 100} | Passed |
| normal control 3 | {'fee': 290} | {'fee': 290} | Passed |
| normal control 4 | {'fee': 0} | {'fee': 0} | Passed |
SHA-256 / c22733ce6b879b7a9e36d917e34b86616163a9efda8327ca38301533a8a00f17
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'] + 1:
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: stop limit',
[[{'wait_s': 300}, {'wait_s': 420}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 690}),
('partial repair probe: stop limit',
[[{'wait_s': 240}, {'wait_s': 180}, {'wait_s': 240}, {'wait_s': 181}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 420}, {'wait_s': 60}, {'wait_s': 420}],
{'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': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 100}),
('normal control 3',
[[{'wait_s': 300}, {'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 290}),
('normal control 4', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 0})],
[('regression: stop limit',
[[{'wait_s': 0}, {'wait_s': 420}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 500}),
('partial repair probe: stop limit',
[[{'wait_s': 170}, {'wait_s': 300}, {'wait_s': 180}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 420}, {'wait_s': 181}, {'wait_s': 300}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 730}),
('normal control 1',
[[{'wait_s': 181}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 140}),
('normal control 2',
[[{'wait_s': 181}, {'wait_s': 181}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'fee': 360}),
('normal control 3',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 100}),
('normal control 4',
[[{'wait_s': 180}, {'wait_s': 300}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 280})],
[('regression: stop limit',
[[{'wait_s': 240}, {'wait_s': 60}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 450}),
('partial repair probe: stop limit',
[[{'wait_s': 240}, {'wait_s': 240}, {'wait_s': 170}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 240}, {'wait_s': 181}, {'wait_s': 181}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 1',
[[{'wait_s': 420}, {'wait_s': 60}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 460}),
('normal control 2',
[[{'wait_s': 60}, {'wait_s': 0}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 300}),
('normal control 3',
[[{'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 4',
[[{'wait_s': 420}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 260})],
[('regression: stop limit',
[[{'wait_s': 181}, {'wait_s': 170}, {'wait_s': 181}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'fee': 510}),
('partial repair probe: stop limit',
[[{'wait_s': 181}, {'wait_s': 240}, {'wait_s': 180}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 0}, {'wait_s': 60}, {'wait_s': 180}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 450}),
('normal control 1',
[[{'wait_s': 300}, {'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 380}),
('normal control 2', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 0}),
('normal control 3', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 0}),
('normal control 4',
[[{'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 190})],
[('regression: stop limit',
[[{'wait_s': 300}, {'wait_s': 60}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 540}),
('partial repair probe: stop limit',
[[{'wait_s': 240}, {'wait_s': 420}, {'wait_s': 60}, {'wait_s': 0}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 181}, {'wait_s': 170}, {'wait_s': 180}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 330}),
('normal control 1',
[[{'wait_s': 300}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 180}),
('normal control 2', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 0}),
('normal control 3',
[[{'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 190}),
('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: stop limit | {'fee': 690} | {'fee': 690} | Passed |
| partial repair probe: stop limit | {'fee': 690} | {'error': 'too_many_stops'} | Failed |
| second regression | {'fee': 770} | {'fee': 770} | Passed |
| normal control 1 | {'fee': 0} | {'fee': 0} | Passed |
| normal control 2 | {'fee': 100} | {'fee': 100} | Passed |
| normal control 3 | {'fee': 290} | {'fee': 290} | Passed |
| normal control 4 | {'fee': 0} | {'fee': 0} | Passed |
SHA-256 / fe1c6b69ae8622bdba59065e2593eb67f64d62e5d6143c4f14a914ee4afc0ffe
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: stop limit',
[[{'wait_s': 300}, {'wait_s': 420}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 690}),
('partial repair probe: stop limit',
[[{'wait_s': 240}, {'wait_s': 180}, {'wait_s': 240}, {'wait_s': 181}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 420}, {'wait_s': 60}, {'wait_s': 420}],
{'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': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 100}),
('normal control 3',
[[{'wait_s': 300}, {'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 290}),
('normal control 4', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 0})],
[('regression: stop limit',
[[{'wait_s': 0}, {'wait_s': 420}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 500}),
('partial repair probe: stop limit',
[[{'wait_s': 170}, {'wait_s': 300}, {'wait_s': 180}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 420}, {'wait_s': 181}, {'wait_s': 300}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 730}),
('normal control 1',
[[{'wait_s': 181}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 140}),
('normal control 2',
[[{'wait_s': 181}, {'wait_s': 181}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'fee': 360}),
('normal control 3',
[[{'wait_s': 180}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 100}),
('normal control 4',
[[{'wait_s': 180}, {'wait_s': 300}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 280})],
[('regression: stop limit',
[[{'wait_s': 240}, {'wait_s': 60}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 450}),
('partial repair probe: stop limit',
[[{'wait_s': 240}, {'wait_s': 240}, {'wait_s': 170}, {'wait_s': 170}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 240}, {'wait_s': 181}, {'wait_s': 181}, {'wait_s': 60}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'error': 'too_many_stops'}),
('normal control 1',
[[{'wait_s': 420}, {'wait_s': 60}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 460}),
('normal control 2',
[[{'wait_s': 60}, {'wait_s': 0}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 300}),
('normal control 3',
[[{'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}], {'fee': 150}),
('normal control 4',
[[{'wait_s': 420}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 260})],
[('regression: stop limit',
[[{'wait_s': 181}, {'wait_s': 170}, {'wait_s': 181}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'fee': 510}),
('partial repair probe: stop limit',
[[{'wait_s': 181}, {'wait_s': 240}, {'wait_s': 180}, {'wait_s': 240}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 0}, {'wait_s': 60}, {'wait_s': 180}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 450}),
('normal control 1',
[[{'wait_s': 300}, {'wait_s': 170}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}],
{'fee': 380}),
('normal control 2', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}], {'fee': 0}),
('normal control 3', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 0}),
('normal control 4',
[[{'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 190})],
[('regression: stop limit',
[[{'wait_s': 300}, {'wait_s': 60}, {'wait_s': 420}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}],
{'fee': 540}),
('partial repair probe: stop limit',
[[{'wait_s': 240}, {'wait_s': 420}, {'wait_s': 60}, {'wait_s': 0}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 150}],
{'error': 'too_many_stops'}),
('second regression',
[[{'wait_s': 181}, {'wait_s': 170}, {'wait_s': 180}],
{'free_wait': 180, 'max_stops': 3, 'per_min': 30, 'stop_fee': 100}],
{'fee': 330}),
('normal control 1',
[[{'wait_s': 300}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 180}),
('normal control 2', [[], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 100}], {'fee': 0}),
('normal control 3',
[[{'wait_s': 240}], {'free_wait': 180, 'max_stops': 3, 'per_min': 40, 'stop_fee': 150}], {'fee': 190}),
('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: stop limit | {'fee': 690} | {'fee': 690} | Passed |
| partial repair probe: stop limit | {'error': 'too_many_stops'} | {'error': 'too_many_stops'} | Passed |
| second regression | {'fee': 770} | {'fee': 770} | Passed |
| normal control 1 | {'fee': 0} | {'fee': 0} | Passed |
| normal control 2 | {'fee': 100} | {'fee': 100} | Passed |
| normal control 3 | {'fee': 290} | {'fee': 290} | Passed |
| normal control 4 | {'fee': 0} | {'fee': 0} | Passed |
SHA-256 / 80aa398dff960e993abe9c55c7a4a8d01075dafb01b78c192763f87987714d54
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.876657+00:00.
Case digest / 571257e9ee134bb7e728fc58b3b3b3149655b3e3e0503b0a35db12c6e4f7e1a6