FA-95386 / Shipping rate zone lookup / Open access
Billable weight: actual weight rounded to nearest · case 01
A 7.2 lb parcel is billed at 7 lb.
ROOT CAUSE
Actual weight is rounded to nearest instead of up.
VERIFIED REPAIR
Round actual weight up to a whole pound.
Unsuccessful approach: Truncating and adding one overbills parcels that already weigh a whole pound.
Case contract
dims inches (each rounded half up to a whole inch), actual lb rounded up (minimum 1). Dim weight = ceil(L*W*H/divisor) using rounded dims, only when the rounded cube exceeds 1728 cubic inches. Return [billable, "DIM"] if dim weight strictly exceeds rounded actual, else [actual, "ACTUAL"].
Why this case matters
Carriers bill the greater of actual and dimensional weight before zone rating.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(dims, actual, divisor):
r = [int(math.floor(d + 0.5)) for d in dims]
cube = r[0] * r[1] * r[2]
act = max(1, round(actual))
dimw = -(-cube // divisor) if cube > 1728 else 0
if dimw > act:
return [dimw, 'DIM']
return [act, 'ACTUAL']
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['actual fraction up', [[10, 10, 10], 7.2, 139], [8, 'ACTUAL']], ['tie goes actual', [[20, 20, 20], 58, 139], [58, 'ACTUAL']], ['half inch rounds up', [[12.5, 12, 12], 5, 139], [14, 'DIM']], ['just above threshold', [[12, 12, 13], 1, 166], [12, 'DIM']], ['cube threshold exact', [[12, 12, 12], 1, 139], [1, 'ACTUAL']], ['generated mix 7', [[16, 13.5, 12], 5, 139], [20, 'DIM']], ['generated mix 15', [[16, 10, 10], 9, 139], [9, 'ACTUAL']], ['generated mix 23', [[12, 10, 20], 9, 166], [15, 'DIM']]], [['generated mix 79', [[10, 18.5, 10], 20.01, 166], [21, 'ACTUAL']], ['generated mix 16', [[10, 10, 11.4], 5, 139], [5, 'ACTUAL']], ['actual fraction up', [[10, 10, 10], 7.2, 139], [8, 'ACTUAL']], ['dim ceil', [[18, 12, 10], 1, 166], [14, 'DIM']], ['cube threshold exact', [[12, 12, 12], 1, 139], [1, 'ACTUAL']], ['generated mix 9', [[12, 12, 13.5], 30, 139], [30, 'ACTUAL']], ['generated mix 18', [[13.5, 18.5, 10], 1, 139], [20, 'DIM']], ['generated mix 26', [[10, 18.5, 12], 5, 166], [14, 'DIM']]], [['generated mix 67', [[12.5, 20, 10], 20.01, 166], [21, 'ACTUAL']], ['generated mix 41', [[10, 16, 10], 14, 139], [14, 'ACTUAL']], ['half inch rounds up', [[12.5, 12, 12], 5, 139], [14, 'DIM']], ['just above threshold', [[12, 12, 13], 1, 166], [12, 'DIM']], ['tie goes actual', [[20, 20, 20], 58, 139], [58, 'ACTUAL']], ['generated mix 20', [[12, 10.5, 10], 30, 166], [30, 'ACTUAL']], ['generated mix 28', [[18.5, 12, 11.4], 2.1, 166], [16, 'DIM']], ['generated mix 36', [[20, 18.5, 12], 2.1, 166], [28, 'DIM']]], [['generated mix 64', [[13.5, 12, 20], 20.01, 166], [21, 'ACTUAL']], ['generated mix 56', [[12, 13.5, 16], 30, 166], [30, 'ACTUAL']], ['actual fraction up', [[10, 10, 10], 7.2, 139], [8, 'ACTUAL']], ['dim ceil', [[18, 12, 10], 1, 166], [14, 'DIM']], ['cube threshold exact', [[12, 12, 12], 1, 139], [1, 'ACTUAL']], ['generated mix 31', [[12.5, 13.5, 12.5], 14, 139], [18, 'DIM']], ['generated mix 39', [[13.5, 24.5, 16], 7.5, 139], [41, 'DIM']], ['generated mix 47', [[10, 18.5, 18.5], 0.2, 166], [22, 'DIM']]], [['generated mix 50', [[12, 12.5, 10], 20.01, 166], [21, 'ACTUAL']], ['generated mix 72', [[10.5, 11.4, 12.5], 5, 166], [5, 'ACTUAL']], ['half inch rounds up', [[12.5, 12, 12], 5, 139], [14, 'DIM']], ['just above threshold', [[12, 12, 13], 1, 166], [12, 'DIM']], ['tie goes actual', [[20, 20, 20], 58, 139], [58, 'ACTUAL']], ['generated mix 42', [[10.5, 18.5, 13.5], 1, 139], [22, 'DIM']], ['generated mix 51', [[10, 11.4, 18.5], 2.1, 139], [16, 'DIM']], ['generated mix 59', [[18.5, 18.5, 16], 9, 139], [42, 'DIM']]]]
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 |
|---|---|---|---|
| actual fraction up | [7, 'ACTUAL'] | [8, 'ACTUAL'] | Failed |
| tie goes actual | [58, 'ACTUAL'] | [58, 'ACTUAL'] | Passed |
| half inch rounds up | [14, 'DIM'] | [14, 'DIM'] | Passed |
| just above threshold | [12, 'DIM'] | [12, 'DIM'] | Passed |
| cube threshold exact | [1, 'ACTUAL'] | [1, 'ACTUAL'] | Passed |
| generated mix 7 | [20, 'DIM'] | [20, 'DIM'] | Passed |
| generated mix 15 | [9, 'ACTUAL'] | [9, 'ACTUAL'] | Passed |
| generated mix 23 | [15, 'DIM'] | [15, 'DIM'] | Passed |
SHA-256 / b24c5a713e364d2652e86fc2b2ec916a3f69bb58d2993908dc82ecf402feec51
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(dims, actual, divisor):
r = [int(math.floor(d + 0.5)) for d in dims]
cube = r[0] * r[1] * r[2]
act = max(1, int(actual) + 1)
dimw = -(-cube // divisor) if cube > 1728 else 0
if dimw > act:
return [dimw, 'DIM']
return [act, 'ACTUAL']
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['actual fraction up', [[10, 10, 10], 7.2, 139], [8, 'ACTUAL']], ['tie goes actual', [[20, 20, 20], 58, 139], [58, 'ACTUAL']], ['half inch rounds up', [[12.5, 12, 12], 5, 139], [14, 'DIM']], ['just above threshold', [[12, 12, 13], 1, 166], [12, 'DIM']], ['cube threshold exact', [[12, 12, 12], 1, 139], [1, 'ACTUAL']], ['generated mix 7', [[16, 13.5, 12], 5, 139], [20, 'DIM']], ['generated mix 15', [[16, 10, 10], 9, 139], [9, 'ACTUAL']], ['generated mix 23', [[12, 10, 20], 9, 166], [15, 'DIM']]], [['generated mix 79', [[10, 18.5, 10], 20.01, 166], [21, 'ACTUAL']], ['generated mix 16', [[10, 10, 11.4], 5, 139], [5, 'ACTUAL']], ['actual fraction up', [[10, 10, 10], 7.2, 139], [8, 'ACTUAL']], ['dim ceil', [[18, 12, 10], 1, 166], [14, 'DIM']], ['cube threshold exact', [[12, 12, 12], 1, 139], [1, 'ACTUAL']], ['generated mix 9', [[12, 12, 13.5], 30, 139], [30, 'ACTUAL']], ['generated mix 18', [[13.5, 18.5, 10], 1, 139], [20, 'DIM']], ['generated mix 26', [[10, 18.5, 12], 5, 166], [14, 'DIM']]], [['generated mix 67', [[12.5, 20, 10], 20.01, 166], [21, 'ACTUAL']], ['generated mix 41', [[10, 16, 10], 14, 139], [14, 'ACTUAL']], ['half inch rounds up', [[12.5, 12, 12], 5, 139], [14, 'DIM']], ['just above threshold', [[12, 12, 13], 1, 166], [12, 'DIM']], ['tie goes actual', [[20, 20, 20], 58, 139], [58, 'ACTUAL']], ['generated mix 20', [[12, 10.5, 10], 30, 166], [30, 'ACTUAL']], ['generated mix 28', [[18.5, 12, 11.4], 2.1, 166], [16, 'DIM']], ['generated mix 36', [[20, 18.5, 12], 2.1, 166], [28, 'DIM']]], [['generated mix 64', [[13.5, 12, 20], 20.01, 166], [21, 'ACTUAL']], ['generated mix 56', [[12, 13.5, 16], 30, 166], [30, 'ACTUAL']], ['actual fraction up', [[10, 10, 10], 7.2, 139], [8, 'ACTUAL']], ['dim ceil', [[18, 12, 10], 1, 166], [14, 'DIM']], ['cube threshold exact', [[12, 12, 12], 1, 139], [1, 'ACTUAL']], ['generated mix 31', [[12.5, 13.5, 12.5], 14, 139], [18, 'DIM']], ['generated mix 39', [[13.5, 24.5, 16], 7.5, 139], [41, 'DIM']], ['generated mix 47', [[10, 18.5, 18.5], 0.2, 166], [22, 'DIM']]], [['generated mix 50', [[12, 12.5, 10], 20.01, 166], [21, 'ACTUAL']], ['generated mix 72', [[10.5, 11.4, 12.5], 5, 166], [5, 'ACTUAL']], ['half inch rounds up', [[12.5, 12, 12], 5, 139], [14, 'DIM']], ['just above threshold', [[12, 12, 13], 1, 166], [12, 'DIM']], ['tie goes actual', [[20, 20, 20], 58, 139], [58, 'ACTUAL']], ['generated mix 42', [[10.5, 18.5, 13.5], 1, 139], [22, 'DIM']], ['generated mix 51', [[10, 11.4, 18.5], 2.1, 139], [16, 'DIM']], ['generated mix 59', [[18.5, 18.5, 16], 9, 139], [42, 'DIM']]]]
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 |
|---|---|---|---|
| actual fraction up | [8, 'ACTUAL'] | [8, 'ACTUAL'] | Passed |
| tie goes actual | [59, 'ACTUAL'] | [58, 'ACTUAL'] | Failed |
| half inch rounds up | [14, 'DIM'] | [14, 'DIM'] | Passed |
| just above threshold | [12, 'DIM'] | [12, 'DIM'] | Passed |
| cube threshold exact | [2, 'ACTUAL'] | [1, 'ACTUAL'] | Failed |
| generated mix 7 | [20, 'DIM'] | [20, 'DIM'] | Passed |
| generated mix 15 | [10, 'ACTUAL'] | [9, 'ACTUAL'] | Failed |
| generated mix 23 | [15, 'DIM'] | [15, 'DIM'] | Passed |
SHA-256 / fad6e43e5359c085ee24c2d4f6e7fcde01ad3ef4b0ffafe71221cfdcdbf3ed3b
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(dims, actual, divisor):
r = [int(math.floor(d + 0.5)) for d in dims]
cube = r[0] * r[1] * r[2]
act = max(1, math.ceil(actual))
dimw = -(-cube // divisor) if cube > 1728 else 0
if dimw > act:
return [dimw, 'DIM']
return [act, 'ACTUAL']
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['actual fraction up', [[10, 10, 10], 7.2, 139], [8, 'ACTUAL']], ['tie goes actual', [[20, 20, 20], 58, 139], [58, 'ACTUAL']], ['half inch rounds up', [[12.5, 12, 12], 5, 139], [14, 'DIM']], ['just above threshold', [[12, 12, 13], 1, 166], [12, 'DIM']], ['cube threshold exact', [[12, 12, 12], 1, 139], [1, 'ACTUAL']], ['generated mix 7', [[16, 13.5, 12], 5, 139], [20, 'DIM']], ['generated mix 15', [[16, 10, 10], 9, 139], [9, 'ACTUAL']], ['generated mix 23', [[12, 10, 20], 9, 166], [15, 'DIM']]], [['generated mix 79', [[10, 18.5, 10], 20.01, 166], [21, 'ACTUAL']], ['generated mix 16', [[10, 10, 11.4], 5, 139], [5, 'ACTUAL']], ['actual fraction up', [[10, 10, 10], 7.2, 139], [8, 'ACTUAL']], ['dim ceil', [[18, 12, 10], 1, 166], [14, 'DIM']], ['cube threshold exact', [[12, 12, 12], 1, 139], [1, 'ACTUAL']], ['generated mix 9', [[12, 12, 13.5], 30, 139], [30, 'ACTUAL']], ['generated mix 18', [[13.5, 18.5, 10], 1, 139], [20, 'DIM']], ['generated mix 26', [[10, 18.5, 12], 5, 166], [14, 'DIM']]], [['generated mix 67', [[12.5, 20, 10], 20.01, 166], [21, 'ACTUAL']], ['generated mix 41', [[10, 16, 10], 14, 139], [14, 'ACTUAL']], ['half inch rounds up', [[12.5, 12, 12], 5, 139], [14, 'DIM']], ['just above threshold', [[12, 12, 13], 1, 166], [12, 'DIM']], ['tie goes actual', [[20, 20, 20], 58, 139], [58, 'ACTUAL']], ['generated mix 20', [[12, 10.5, 10], 30, 166], [30, 'ACTUAL']], ['generated mix 28', [[18.5, 12, 11.4], 2.1, 166], [16, 'DIM']], ['generated mix 36', [[20, 18.5, 12], 2.1, 166], [28, 'DIM']]], [['generated mix 64', [[13.5, 12, 20], 20.01, 166], [21, 'ACTUAL']], ['generated mix 56', [[12, 13.5, 16], 30, 166], [30, 'ACTUAL']], ['actual fraction up', [[10, 10, 10], 7.2, 139], [8, 'ACTUAL']], ['dim ceil', [[18, 12, 10], 1, 166], [14, 'DIM']], ['cube threshold exact', [[12, 12, 12], 1, 139], [1, 'ACTUAL']], ['generated mix 31', [[12.5, 13.5, 12.5], 14, 139], [18, 'DIM']], ['generated mix 39', [[13.5, 24.5, 16], 7.5, 139], [41, 'DIM']], ['generated mix 47', [[10, 18.5, 18.5], 0.2, 166], [22, 'DIM']]], [['generated mix 50', [[12, 12.5, 10], 20.01, 166], [21, 'ACTUAL']], ['generated mix 72', [[10.5, 11.4, 12.5], 5, 166], [5, 'ACTUAL']], ['half inch rounds up', [[12.5, 12, 12], 5, 139], [14, 'DIM']], ['just above threshold', [[12, 12, 13], 1, 166], [12, 'DIM']], ['tie goes actual', [[20, 20, 20], 58, 139], [58, 'ACTUAL']], ['generated mix 42', [[10.5, 18.5, 13.5], 1, 139], [22, 'DIM']], ['generated mix 51', [[10, 11.4, 18.5], 2.1, 139], [16, 'DIM']], ['generated mix 59', [[18.5, 18.5, 16], 9, 139], [42, 'DIM']]]]
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 |
|---|---|---|---|
| actual fraction up | [8, 'ACTUAL'] | [8, 'ACTUAL'] | Passed |
| tie goes actual | [58, 'ACTUAL'] | [58, 'ACTUAL'] | Passed |
| half inch rounds up | [14, 'DIM'] | [14, 'DIM'] | Passed |
| just above threshold | [12, 'DIM'] | [12, 'DIM'] | Passed |
| cube threshold exact | [1, 'ACTUAL'] | [1, 'ACTUAL'] | Passed |
| generated mix 7 | [20, 'DIM'] | [20, 'DIM'] | Passed |
| generated mix 15 | [9, 'ACTUAL'] | [9, 'ACTUAL'] | Passed |
| generated mix 23 | [15, 'DIM'] | [15, 'DIM'] | Passed |
SHA-256 / ade13211bf64739bb8e7a51b5e151c813fa3386ecca53b7f429ceb8f2b3aad52
Verification & scope
Stipulated divisor and threshold; no carrier specific exceptions. 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:13.159296+00:00.
Case digest / 8be15719073da13d7c62982a75b2332c8426f7311f5076200ca442dde424eebd