FA-95736 / Shipping rate zone lookup / Open access
Area surcharge: ZIP+4 read as nine digits · case 01
ZIP+4 addresses are never surcharged because the nine-digit number exceeds every range.
ROOT CAUSE
The hyphen is removed and all nine digits are parsed.
VERIFIED REPAIR
Use the first five digits.
Unsuccessful approach: Taking the last hyphen segment parses the +4 extension for ZIP+4 input.
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.replace('-', ''))
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 = [[['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 11', ['30000-0001', [[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]], ['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 6', ['59000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]]], [['generated mix 60', ['10000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 48', ['59000-4321', [[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]], ['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 16', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]]], [['generated mix 38', ['10050-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 11', ['30000-0001', [[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]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['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]]], [['generated mix 11', ['30000-0001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 48', ['59000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['range end', ['10099', [[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]], ['middle', ['20500', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['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]]], [['generated mix 66', ['30000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 11', ['30000-0001', [[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 42', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 50', ['10100', [[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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| zip plus four | ['NONE', 0] | ['REMOTE', 1500] | Failed |
| generated mix 11 | ['NONE', 0] | ['DAS', 395] | Failed |
| range start | ['DAS', 395] | ['DAS', 395] | Passed |
| gap | ['NONE', 0] | ['NONE', 0] | Passed |
| single zip range | ['DAS', 395] | ['DAS', 395] | Passed |
| middle | ['EXT', 510] | ['EXT', 510] | Passed |
| range end | ['DAS', 395] | ['DAS', 395] | Passed |
| generated mix 6 | ['REMOTE', 1500] | ['REMOTE', 1500] | Passed |
SHA-256 / 40f0148660406cd5363cf6f73d4700237568671216cba157b565f6d7dffdee81
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.split('-')[-1])
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 = [[['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 11', ['30000-0001', [[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]], ['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 6', ['59000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]]], [['generated mix 60', ['10000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 48', ['59000-4321', [[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]], ['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 16', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]]], [['generated mix 38', ['10050-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 11', ['30000-0001', [[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]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['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]]], [['generated mix 11', ['30000-0001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 48', ['59000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['range end', ['10099', [[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]], ['middle', ['20500', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['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]]], [['generated mix 66', ['30000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 11', ['30000-0001', [[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 42', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 50', ['10100', [[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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| zip plus four | ['NONE', 0] | ['REMOTE', 1500] | Failed |
| generated mix 11 | ['NONE', 0] | ['DAS', 395] | Failed |
| range start | ['DAS', 395] | ['DAS', 395] | Passed |
| gap | ['NONE', 0] | ['NONE', 0] | Passed |
| single zip range | ['DAS', 395] | ['DAS', 395] | Passed |
| middle | ['EXT', 510] | ['EXT', 510] | Passed |
| range end | ['DAS', 395] | ['DAS', 395] | Passed |
| generated mix 6 | ['REMOTE', 1500] | ['REMOTE', 1500] | Passed |
SHA-256 / 4990f08a7d10fca0a437fe94700a8c6023b5e2ae4a966b1b5d2d526f107b9826
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 = [[['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['generated mix 11', ['30000-0001', [[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]], ['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 6', ['59000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]]], [['generated mix 60', ['10000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 48', ['59000-4321', [[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]], ['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 16', ['30000', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]]], [['generated mix 38', ['10050-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 11', ['30000-0001', [[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]], ['zip plus four', ['59999-1234', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['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]]], [['generated mix 11', ['30000-0001', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 48', ['59000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['REMOTE', 1500]], ['range end', ['10099', [[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]], ['middle', ['20500', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['EXT', 510]], ['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]]], [['generated mix 66', ['30000-4321', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 11', ['30000-0001', [[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 42', ['10099', [[10000, 10099, 'DAS'], [20000, 20999, 'EXT'], [59000, 59999, 'REMOTE'], [30000, 30000, 'DAS']]], ['DAS', 395]], ['generated mix 50', ['10100', [[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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| zip plus four | ['REMOTE', 1500] | ['REMOTE', 1500] | Passed |
| generated mix 11 | ['DAS', 395] | ['DAS', 395] | Passed |
| range start | ['DAS', 395] | ['DAS', 395] | Passed |
| gap | ['NONE', 0] | ['NONE', 0] | Passed |
| single zip range | ['DAS', 395] | ['DAS', 395] | Passed |
| middle | ['EXT', 510] | ['EXT', 510] | Passed |
| range end | ['DAS', 395] | ['DAS', 395] | Passed |
| generated mix 6 | ['REMOTE', 1500] | ['REMOTE', 1500] | Passed |
SHA-256 / bc8e93b00c9d7cac6d1c39b6c3b4a450a2f0f475ee91292b3df192f986d78db8
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.352125+00:00.
Case digest / fcf147948927ad030d2518ddf41bbf4acfde6c82a78c18eee97264ada3758638