FAILURE MAP
← Case archive

FA-95726 / Shipping rate zone lookup / Open access

Area surcharge: ZIPs below all ranges hit last range · case 01

ZIPs below the first range are charged the fee of the last range.

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

ROOT CAUSE

The negative index from bisect is not rejected, so Python wraps to the last range.

VERIFIED REPAIR

Treat a negative index as not covered.

Unsuccessful approach: Rejecting index 0 as well drops the first range.

Case contract

zip5 is a five-digit ZIP or ZIP+4. ranges [[lo, hi, code]] are non-overlapping inclusive five-digit ranges in any order. Look up the range containing the ZIP (sorted ranges, binary search) and return [code, fee] with DAS 395, EXT 510, REMOTE 1500 cents; uncovered ZIPs -> ["NONE", 0].

Why this case matters

Delivery area surcharges are keyed by destination ZIP ranges.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import bisect
N = 1
observations = []
def solve(zip5, ranges):
    z = int(zip5[:5])
    rs = sorted(ranges)
    los = [r[0] for r in rs]
    i = bisect.bisect_right(los, z) - 1
    if z <= rs[i][1]:
        code = rs[i][2]
    else:
        code = 'NONE'
    return [code, {'NONE': 0, 'DAS': 395, 'EXT': 510, 'REMOTE': 1500}[code]]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['range end', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['range start', ['10000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 6', ['59000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 14', ['60000-0001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 25', ['10050', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['range start', ['10000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 9', ['29999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 17', ['59000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 44', ['10099-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['middle', ['20500', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['range end', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 20', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 28', ['21000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 77', ['10050', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['single zip range', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['middle', ['20500', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['range end', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 31', ['60000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 39', ['59999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 4', ['10050', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['range start', ['10000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['single zip range', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 43', ['20000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['generated mix 51', ['58999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 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 fixtureActualExpectedOutcome
below first['REMOTE', 1500]['NONE', 0]Failed
range end['DAS', 395]['DAS', 395]Passed
range start['DAS', 395]['DAS', 395]Passed
zip plus four['REMOTE', 1500]['REMOTE', 1500]Passed
above all['NONE', 0]['NONE', 0]Passed
gap['NONE', 0]['NONE', 0]Passed
generated mix 6['REMOTE', 1500]['REMOTE', 1500]Passed
generated mix 14['NONE', 0]['NONE', 0]Passed

SHA-256 / ac429837ba006907c4663dd969cc3901d6e7a143dfe590eace8549e68723c9d2

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import bisect
N = 1
observations = []
def solve(zip5, ranges):
    z = int(zip5[:5])
    rs = sorted(ranges)
    los = [r[0] for r in rs]
    i = bisect.bisect_right(los, z) - 1
    if i > 0 and z <= rs[i][1]:
        code = rs[i][2]
    else:
        code = 'NONE'
    return [code, {'NONE': 0, 'DAS': 395, 'EXT': 510, 'REMOTE': 1500}[code]]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['range end', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['range start', ['10000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 6', ['59000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 14', ['60000-0001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 25', ['10050', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['range start', ['10000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 9', ['29999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 17', ['59000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 44', ['10099-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['middle', ['20500', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['range end', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 20', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 28', ['21000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 77', ['10050', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['single zip range', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['middle', ['20500', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['range end', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 31', ['60000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 39', ['59999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 4', ['10050', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['range start', ['10000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['single zip range', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 43', ['20000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['generated mix 51', ['58999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 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 fixtureActualExpectedOutcome
below first['NONE', 0]['NONE', 0]Passed
range end['NONE', 0]['DAS', 395]Failed
range start['NONE', 0]['DAS', 395]Failed
zip plus four['REMOTE', 1500]['REMOTE', 1500]Passed
above all['NONE', 0]['NONE', 0]Passed
gap['NONE', 0]['NONE', 0]Passed
generated mix 6['REMOTE', 1500]['REMOTE', 1500]Passed
generated mix 14['NONE', 0]['NONE', 0]Passed

SHA-256 / 8b622fbd0f2142f44abe4234163e0130b0b73573edacef1f99e31805b3e2d961

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import bisect
N = 1
observations = []
def solve(zip5, ranges):
    z = int(zip5[:5])
    rs = sorted(ranges)
    los = [r[0] for r in rs]
    i = bisect.bisect_right(los, z) - 1
    if i >= 0 and z <= rs[i][1]:
        code = rs[i][2]
    else:
        code = 'NONE'
    return [code, {'NONE': 0, 'DAS': 395, 'EXT': 510, 'REMOTE': 1500}[code]]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['range end', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['range start', ['10000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 6', ['59000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 14', ['60000-0001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 25', ['10050', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['range start', ['10000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 9', ['29999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 17', ['59000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 44', ['10099-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['middle', ['20500', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['range end', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 20', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 28', ['21000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 77', ['10050', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['single zip range', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['middle', ['20500', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['range end', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 31', ['60000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 39', ['59999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]]], [['below first', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 4', ['10050', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['above all', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['range start', ['10000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['gap', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['single zip range', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 43', ['20000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['generated mix 51', ['58999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 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 fixtureActualExpectedOutcome
below first['NONE', 0]['NONE', 0]Passed
range end['DAS', 395]['DAS', 395]Passed
range start['DAS', 395]['DAS', 395]Passed
zip plus four['REMOTE', 1500]['REMOTE', 1500]Passed
above all['NONE', 0]['NONE', 0]Passed
gap['NONE', 0]['NONE', 0]Passed
generated mix 6['REMOTE', 1500]['REMOTE', 1500]Passed
generated mix 14['NONE', 0]['NONE', 0]Passed

SHA-256 / 35059bd98d81c25d9af63561aa31bb3aca07910fec34dbc501b435b5c2b6f6ba

Verification & scope

Stipulated ranges and fee amounts. 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:52:16.262004+00:00.

Case digest / c6f2ca5a46c43787b1d12db16d56f4f16d1ce3779c91b152154dfb5a00799440