FAILURE MAP
← Case archive

FA-95601 / Shipping rate zone lookup / Open access

Cubic tiers: quarter inches rounded to nearest · case 01

Parcels are bumped into a higher cubic tier because measurements round up to the next quarter inch.

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

ROOT CAUSE

Dimensions are rounded to the nearest quarter inch instead of down.

VERIFIED REPAIR

Round each dimension down to the quarter inch.

Unsuccessful approach: Rounding down to whole inches discards legitimate quarter inches.

Case contract

dims inches, each rounded down to the quarter inch; weight lb. Eligible for cubic pricing when weight <= 20 and the longest rounded side <= 18. Cubic feet = product/1728, tier = tenths of a cubic foot rounded up (minimum 1); tiers above 5 are not cubic. Return ["CUBIC", tier] or ["WEIGHT", lb rounded up, minimum 1].

Why this case matters

Cubic pricing rates small dense parcels by volume tier instead of weight.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(dims, weight):
    q = [Fraction(round(d * 4), 4) for d in dims]
    lb = max(1, math.ceil(weight))
    if weight > 20 or max(q) > 18:
        return ['WEIGHT', lb]
    cf = q[0] * q[1] * q[2] / 1728
    tenths = math.ceil(cf * 10)
    if tenths > 5:
        return ['WEIGHT', lb]
    return ['CUBIC', max(1, tenths)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['quarter inch down', [[8.2, 8.2, 8.2], 2], ['CUBIC', 3]], ['generated mix 10', [[8, 6.3, 18.2], 7.3], ['WEIGHT', 8]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 5]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['weight 20', [[6, 6, 6], 20], ['CUBIC', 2]], ['tier over cap', [[10, 10, 10], 1], ['WEIGHT', 1]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['generated mix 5', [[18.2, 6.3, 6], 20], ['CUBIC', 4]]], [['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['generated mix 7', [[10, 17.9, 4.6], 7.3], ['CUBIC', 5]], ['side exactly 18', [[18, 10, 4], 3], ['CUBIC', 5]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['tier half', [[12, 12, 3], 1], ['CUBIC', 3]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['generated mix 9', [[18, 12, 6.3], 0.5], ['WEIGHT', 1]], ['generated mix 17', [[6, 19, 18], 19.9], ['WEIGHT', 20]]], [['generated mix 4', [[3, 18.2, 4.6], 0.5], ['CUBIC', 2]], ['generated mix 72', [[10, 9.9, 9.9], 0.5], ['WEIGHT', 1]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['tier half', [[12, 12, 3], 1], ['CUBIC', 3]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['generated mix 19', [[18, 18, 6.3], 7.3], ['WEIGHT', 8]], ['generated mix 27', [[10, 8.2, 8], 20.5], ['WEIGHT', 21]]], [['generated mix 5', [[18.2, 6.3, 6], 20], ['CUBIC', 4]], ['generated mix 10', [[8, 6.3, 18.2], 7.3], ['WEIGHT', 8]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 5]], ['quarter inch down', [[8.2, 8.2, 8.2], 2], ['CUBIC', 3]], ['side exactly 18', [[18, 10, 4], 3], ['CUBIC', 5]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['generated mix 31', [[18, 6, 17.9], 19.9], ['WEIGHT', 20]], ['generated mix 39', [[19, 9.9, 19], 19.9], ['WEIGHT', 20]]], [['generated mix 6', [[10, 18.2, 4.6], 7.3], ['CUBIC', 5]], ['generated mix 7', [[10, 17.9, 4.6], 7.3], ['CUBIC', 5]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['weight 20', [[6, 6, 6], 20], ['CUBIC', 2]], ['tier over cap', [[10, 10, 10], 1], ['WEIGHT', 1]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 5]], ['generated mix 42', [[18, 6.3, 9.9], 2], ['WEIGHT', 2]], ['generated mix 50', [[18, 3, 19], 19.9], ['WEIGHT', 20]]]]
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
quarter inch down['CUBIC', 4]['CUBIC', 3]Failed
generated mix 10['WEIGHT', 8]['WEIGHT', 8]Passed
one cubic foot['WEIGHT', 5]['WEIGHT', 5]Passed
side rounds to 18['WEIGHT', 3]['CUBIC', 5]Failed
weight 20['CUBIC', 2]['CUBIC', 2]Passed
tier over cap['WEIGHT', 1]['WEIGHT', 1]Passed
small cube['CUBIC', 2]['CUBIC', 2]Passed
generated mix 5['WEIGHT', 20]['CUBIC', 4]Failed

SHA-256 / d54ae9df5560da2646dadad23788d82ff5454d177419ade346cd9fd5e152ba59

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(dims, weight):
    q = [Fraction(math.floor(d)) for d in dims]
    lb = max(1, math.ceil(weight))
    if weight > 20 or max(q) > 18:
        return ['WEIGHT', lb]
    cf = q[0] * q[1] * q[2] / 1728
    tenths = math.ceil(cf * 10)
    if tenths > 5:
        return ['WEIGHT', lb]
    return ['CUBIC', max(1, tenths)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['quarter inch down', [[8.2, 8.2, 8.2], 2], ['CUBIC', 3]], ['generated mix 10', [[8, 6.3, 18.2], 7.3], ['WEIGHT', 8]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 5]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['weight 20', [[6, 6, 6], 20], ['CUBIC', 2]], ['tier over cap', [[10, 10, 10], 1], ['WEIGHT', 1]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['generated mix 5', [[18.2, 6.3, 6], 20], ['CUBIC', 4]]], [['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['generated mix 7', [[10, 17.9, 4.6], 7.3], ['CUBIC', 5]], ['side exactly 18', [[18, 10, 4], 3], ['CUBIC', 5]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['tier half', [[12, 12, 3], 1], ['CUBIC', 3]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['generated mix 9', [[18, 12, 6.3], 0.5], ['WEIGHT', 1]], ['generated mix 17', [[6, 19, 18], 19.9], ['WEIGHT', 20]]], [['generated mix 4', [[3, 18.2, 4.6], 0.5], ['CUBIC', 2]], ['generated mix 72', [[10, 9.9, 9.9], 0.5], ['WEIGHT', 1]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['tier half', [[12, 12, 3], 1], ['CUBIC', 3]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['generated mix 19', [[18, 18, 6.3], 7.3], ['WEIGHT', 8]], ['generated mix 27', [[10, 8.2, 8], 20.5], ['WEIGHT', 21]]], [['generated mix 5', [[18.2, 6.3, 6], 20], ['CUBIC', 4]], ['generated mix 10', [[8, 6.3, 18.2], 7.3], ['WEIGHT', 8]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 5]], ['quarter inch down', [[8.2, 8.2, 8.2], 2], ['CUBIC', 3]], ['side exactly 18', [[18, 10, 4], 3], ['CUBIC', 5]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['generated mix 31', [[18, 6, 17.9], 19.9], ['WEIGHT', 20]], ['generated mix 39', [[19, 9.9, 19], 19.9], ['WEIGHT', 20]]], [['generated mix 6', [[10, 18.2, 4.6], 7.3], ['CUBIC', 5]], ['generated mix 7', [[10, 17.9, 4.6], 7.3], ['CUBIC', 5]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['weight 20', [[6, 6, 6], 20], ['CUBIC', 2]], ['tier over cap', [[10, 10, 10], 1], ['WEIGHT', 1]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 5]], ['generated mix 42', [[18, 6.3, 9.9], 2], ['WEIGHT', 2]], ['generated mix 50', [[18, 3, 19], 19.9], ['WEIGHT', 20]]]]
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
quarter inch down['CUBIC', 3]['CUBIC', 3]Passed
generated mix 10['CUBIC', 5]['WEIGHT', 8]Failed
one cubic foot['WEIGHT', 5]['WEIGHT', 5]Passed
side rounds to 18['CUBIC', 5]['CUBIC', 5]Passed
weight 20['CUBIC', 2]['CUBIC', 2]Passed
tier over cap['WEIGHT', 1]['WEIGHT', 1]Passed
small cube['CUBIC', 2]['CUBIC', 2]Passed
generated mix 5['CUBIC', 4]['CUBIC', 4]Passed

SHA-256 / 1c83a68bf80a69b9772f7f3d73e748ab050a21c41bbff842612b3c3984196713

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(dims, weight):
    q = [Fraction(math.floor(d * 4), 4) for d in dims]
    lb = max(1, math.ceil(weight))
    if weight > 20 or max(q) > 18:
        return ['WEIGHT', lb]
    cf = q[0] * q[1] * q[2] / 1728
    tenths = math.ceil(cf * 10)
    if tenths > 5:
        return ['WEIGHT', lb]
    return ['CUBIC', max(1, tenths)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['quarter inch down', [[8.2, 8.2, 8.2], 2], ['CUBIC', 3]], ['generated mix 10', [[8, 6.3, 18.2], 7.3], ['WEIGHT', 8]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 5]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['weight 20', [[6, 6, 6], 20], ['CUBIC', 2]], ['tier over cap', [[10, 10, 10], 1], ['WEIGHT', 1]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['generated mix 5', [[18.2, 6.3, 6], 20], ['CUBIC', 4]]], [['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['generated mix 7', [[10, 17.9, 4.6], 7.3], ['CUBIC', 5]], ['side exactly 18', [[18, 10, 4], 3], ['CUBIC', 5]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['tier half', [[12, 12, 3], 1], ['CUBIC', 3]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['generated mix 9', [[18, 12, 6.3], 0.5], ['WEIGHT', 1]], ['generated mix 17', [[6, 19, 18], 19.9], ['WEIGHT', 20]]], [['generated mix 4', [[3, 18.2, 4.6], 0.5], ['CUBIC', 2]], ['generated mix 72', [[10, 9.9, 9.9], 0.5], ['WEIGHT', 1]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['tier half', [[12, 12, 3], 1], ['CUBIC', 3]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['generated mix 19', [[18, 18, 6.3], 7.3], ['WEIGHT', 8]], ['generated mix 27', [[10, 8.2, 8], 20.5], ['WEIGHT', 21]]], [['generated mix 5', [[18.2, 6.3, 6], 20], ['CUBIC', 4]], ['generated mix 10', [[8, 6.3, 18.2], 7.3], ['WEIGHT', 8]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 5]], ['quarter inch down', [[8.2, 8.2, 8.2], 2], ['CUBIC', 3]], ['side exactly 18', [[18, 10, 4], 3], ['CUBIC', 5]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['generated mix 31', [[18, 6, 17.9], 19.9], ['WEIGHT', 20]], ['generated mix 39', [[19, 9.9, 19], 19.9], ['WEIGHT', 20]]], [['generated mix 6', [[10, 18.2, 4.6], 7.3], ['CUBIC', 5]], ['generated mix 7', [[10, 17.9, 4.6], 7.3], ['CUBIC', 5]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['weight 20', [[6, 6, 6], 20], ['CUBIC', 2]], ['tier over cap', [[10, 10, 10], 1], ['WEIGHT', 1]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 5]], ['generated mix 42', [[18, 6.3, 9.9], 2], ['WEIGHT', 2]], ['generated mix 50', [[18, 3, 19], 19.9], ['WEIGHT', 20]]]]
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
quarter inch down['CUBIC', 3]['CUBIC', 3]Passed
generated mix 10['WEIGHT', 8]['WEIGHT', 8]Passed
one cubic foot['WEIGHT', 5]['WEIGHT', 5]Passed
side rounds to 18['CUBIC', 5]['CUBIC', 5]Passed
weight 20['CUBIC', 2]['CUBIC', 2]Passed
tier over cap['WEIGHT', 1]['WEIGHT', 1]Passed
small cube['CUBIC', 2]['CUBIC', 2]Passed
generated mix 5['CUBIC', 4]['CUBIC', 4]Passed

SHA-256 / 7b3264ec0ed54fbd053b2f48cc9cf94979b043b43c68ad4a3954a5885df2f7c3

Verification & scope

Stipulated tier sizes and eligibility. 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:15.164818+00:00.

Case digest / c6412850caa17aa5b75eaa05d4c63b234bd3645d2b9497beb9941c4469c03c31