FAILURE MAP
← Case archive

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.

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

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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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