FAILURE MAP
← Case archive

FA-95721 / Shipping rate zone lookup / Open access

Area surcharge: last ZIP of a range missed · case 01

The final ZIP in each surcharge range escapes the fee; single-ZIP ranges never match.

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

ROOT CAUSE

The upper bound comparison is exclusive.

VERIFIED REPAIR

Include the range end.

Unsuccessful approach: Testing only against the next range start surcharges ZIPs in gaps between ranges.

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 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 = [[['range end', ['10099', [[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]], ['below first', ['09999', [[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]], ['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]]], [['generated mix 22', ['20999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['generated mix 9', ['29999', [[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]], ['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 8', ['60000-4321', [[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]]], [['generated mix 54', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 21', ['30001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['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]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 19', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 28', ['21000-4321', [[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 31', ['60000', [[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]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['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 32', ['20000-0001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['generated mix 40', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]]], [['generated mix 37', ['59999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 47', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['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 42', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['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
range end['NONE', 0]['DAS', 395]Failed
above all['NONE', 0]['NONE', 0]Passed
range start['DAS', 395]['DAS', 395]Passed
below first['NONE', 0]['NONE', 0]Passed
single zip range['NONE', 0]['DAS', 395]Failed
gap['NONE', 0]['NONE', 0]Passed
generated mix 6['REMOTE', 1500]['REMOTE', 1500]Passed
generated mix 14['NONE', 0]['NONE', 0]Passed

SHA-256 / 53e727c29549888a91d8a8543c9af7a5a85e2ad67b8d68501dca35e3a689658f

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 (i + 1 == len(rs) or z < rs[i + 1][0]):
        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 = [[['range end', ['10099', [[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]], ['below first', ['09999', [[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]], ['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]]], [['generated mix 22', ['20999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['generated mix 9', ['29999', [[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]], ['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 8', ['60000-4321', [[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]]], [['generated mix 54', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 21', ['30001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['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]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 19', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 28', ['21000-4321', [[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 31', ['60000', [[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]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['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 32', ['20000-0001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['generated mix 40', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]]], [['generated mix 37', ['59999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 47', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['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 42', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['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
range end['DAS', 395]['DAS', 395]Passed
above all['REMOTE', 1500]['NONE', 0]Failed
range start['DAS', 395]['DAS', 395]Passed
below first['NONE', 0]['NONE', 0]Passed
single zip range['DAS', 395]['DAS', 395]Passed
gap['DAS', 395]['NONE', 0]Failed
generated mix 6['REMOTE', 1500]['REMOTE', 1500]Passed
generated mix 14['REMOTE', 1500]['NONE', 0]Failed

SHA-256 / f4217275289d7a4b6b3ffad8fa9397d47b87235be1cadac8f00bd1bb7e132eca

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 = [[['range end', ['10099', [[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]], ['below first', ['09999', [[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]], ['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]]], [['generated mix 22', ['20999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['generated mix 9', ['29999', [[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]], ['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 8', ['60000-4321', [[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]]], [['generated mix 54', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 21', ['30001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['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]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 19', ['10100', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['generated mix 28', ['21000-4321', [[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 31', ['60000', [[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]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['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 32', ['20000-0001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['generated mix 40', ['09999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]]], [['generated mix 37', ['59999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 47', ['99999', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['NONE', 0]], ['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 42', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['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
range end['DAS', 395]['DAS', 395]Passed
above all['NONE', 0]['NONE', 0]Passed
range start['DAS', 395]['DAS', 395]Passed
below first['NONE', 0]['NONE', 0]Passed
single zip range['DAS', 395]['DAS', 395]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 / e033eda6ff1b84fbd048e3ed959842ccf5474e71cec590c1a27ce0c1dd89e1f3

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.261867+00:00.

Case digest / b03c32ad49562a5f71e0b4167a051a2d9d557df02dbd826bf7f1344b87d6c47d