FA-95606 / Shipping rate zone lookup / Open access
Cubic tiers: tier truncated · case 01
Parcels are priced one cubic tier too low.
ROOT CAUSE
The tier is floored instead of rounded up to the next tenth.
VERIFIED REPAIR
Round cubic feet up to the next tenth.
Unsuccessful approach: Round-half-even keeps exact half tenths in the lower tier.
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(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.floor(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 = [[['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 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]], ['quarter inch down', [[8.2, 8.2, 8.2], 2], ['CUBIC', 3]], ['generated mix 6', [[10, 18.2, 4.6], 7.3], ['CUBIC', 5]]], [['generated mix 3', [[8, 18, 3], 19.9], ['CUBIC', 3]], ['generated mix 4', [[3, 18.2, 4.6], 0.5], ['CUBIC', 2]], ['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 9', [[18, 12, 6.3], 0.5], ['WEIGHT', 1]], ['generated mix 17', [[6, 19, 18], 19.9], ['WEIGHT', 20]]], [['generated mix 15', [[9.9, 10, 3], 0.5], ['CUBIC', 2]], ['generated mix 51', [[18.2, 10, 3], 2], ['CUBIC', 4]], ['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 48', [[3, 6, 18], 7.3], ['CUBIC', 2]], ['side exactly 18', [[18, 10, 4], 3], ['CUBIC', 5]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['tier half', [[12, 12, 3], 1], ['CUBIC', 3]], ['generated mix 30', [[18, 6.3, 6], 20.5], ['WEIGHT', 21]], ['generated mix 38', [[8.2, 10, 19], 0.5], ['WEIGHT', 1]]], [['generated mix 70', [[3, 12, 8.2], 20], ['CUBIC', 2]], ['generated mix 10', [[8, 6.3, 18.2], 7.3], ['WEIGHT', 8]], ['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 41', [[18.2, 18.2, 8], 19.9], ['WEIGHT', 20]], ['generated mix 49', [[19, 6, 8.2], 0.5], ['WEIGHT', 1]]]]
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 |
|---|---|---|---|
| small cube | ['CUBIC', 1] | ['CUBIC', 2] | Failed |
| side rounds to 18 | ['CUBIC', 4] | ['CUBIC', 5] | Failed |
| one cubic foot | ['WEIGHT', 5] | ['WEIGHT', 5] | Passed |
| side exactly 18 | ['CUBIC', 4] | ['CUBIC', 5] | Failed |
| weight over 20 | ['WEIGHT', 21] | ['WEIGHT', 21] | Passed |
| tier half | ['CUBIC', 2] | ['CUBIC', 3] | Failed |
| quarter inch down | ['CUBIC', 2] | ['CUBIC', 3] | Failed |
| generated mix 6 | ['CUBIC', 4] | ['CUBIC', 5] | Failed |
SHA-256 / 7314bb89ed0e1887acdfb09dcb2d600a53f32e61378d79527714f06f85c533e8
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 * 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 = round(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 = [[['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 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]], ['quarter inch down', [[8.2, 8.2, 8.2], 2], ['CUBIC', 3]], ['generated mix 6', [[10, 18.2, 4.6], 7.3], ['CUBIC', 5]]], [['generated mix 3', [[8, 18, 3], 19.9], ['CUBIC', 3]], ['generated mix 4', [[3, 18.2, 4.6], 0.5], ['CUBIC', 2]], ['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 9', [[18, 12, 6.3], 0.5], ['WEIGHT', 1]], ['generated mix 17', [[6, 19, 18], 19.9], ['WEIGHT', 20]]], [['generated mix 15', [[9.9, 10, 3], 0.5], ['CUBIC', 2]], ['generated mix 51', [[18.2, 10, 3], 2], ['CUBIC', 4]], ['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 48', [[3, 6, 18], 7.3], ['CUBIC', 2]], ['side exactly 18', [[18, 10, 4], 3], ['CUBIC', 5]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['tier half', [[12, 12, 3], 1], ['CUBIC', 3]], ['generated mix 30', [[18, 6.3, 6], 20.5], ['WEIGHT', 21]], ['generated mix 38', [[8.2, 10, 19], 0.5], ['WEIGHT', 1]]], [['generated mix 70', [[3, 12, 8.2], 20], ['CUBIC', 2]], ['generated mix 10', [[8, 6.3, 18.2], 7.3], ['WEIGHT', 8]], ['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 41', [[18.2, 18.2, 8], 19.9], ['WEIGHT', 20]], ['generated mix 49', [[19, 6, 8.2], 0.5], ['WEIGHT', 1]]]]
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 |
|---|---|---|---|
| small cube | ['CUBIC', 1] | ['CUBIC', 2] | Failed |
| side rounds to 18 | ['CUBIC', 4] | ['CUBIC', 5] | Failed |
| one cubic foot | ['WEIGHT', 5] | ['WEIGHT', 5] | Passed |
| side exactly 18 | ['CUBIC', 4] | ['CUBIC', 5] | Failed |
| weight over 20 | ['WEIGHT', 21] | ['WEIGHT', 21] | Passed |
| tier half | ['CUBIC', 2] | ['CUBIC', 3] | Failed |
| quarter inch down | ['CUBIC', 3] | ['CUBIC', 3] | Passed |
| generated mix 6 | ['CUBIC', 5] | ['CUBIC', 5] | Passed |
SHA-256 / 00d2d0f1f13513ac70a16c968b58345293f1683704d17e96807c7fd811352659
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 = [[['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['one cubic foot', [[12, 12, 12], 5], ['WEIGHT', 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]], ['quarter inch down', [[8.2, 8.2, 8.2], 2], ['CUBIC', 3]], ['generated mix 6', [[10, 18.2, 4.6], 7.3], ['CUBIC', 5]]], [['generated mix 3', [[8, 18, 3], 19.9], ['CUBIC', 3]], ['generated mix 4', [[3, 18.2, 4.6], 0.5], ['CUBIC', 2]], ['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 9', [[18, 12, 6.3], 0.5], ['WEIGHT', 1]], ['generated mix 17', [[6, 19, 18], 19.9], ['WEIGHT', 20]]], [['generated mix 15', [[9.9, 10, 3], 0.5], ['CUBIC', 2]], ['generated mix 51', [[18.2, 10, 3], 2], ['CUBIC', 4]], ['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 48', [[3, 6, 18], 7.3], ['CUBIC', 2]], ['side exactly 18', [[18, 10, 4], 3], ['CUBIC', 5]], ['small cube', [[6, 6, 6], 2], ['CUBIC', 2]], ['side rounds to 18', [[18.2, 10, 4], 3], ['CUBIC', 5]], ['weight over 20', [[6, 6, 6], 20.5], ['WEIGHT', 21]], ['tier half', [[12, 12, 3], 1], ['CUBIC', 3]], ['generated mix 30', [[18, 6.3, 6], 20.5], ['WEIGHT', 21]], ['generated mix 38', [[8.2, 10, 19], 0.5], ['WEIGHT', 1]]], [['generated mix 70', [[3, 12, 8.2], 20], ['CUBIC', 2]], ['generated mix 10', [[8, 6.3, 18.2], 7.3], ['WEIGHT', 8]], ['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 41', [[18.2, 18.2, 8], 19.9], ['WEIGHT', 20]], ['generated mix 49', [[19, 6, 8.2], 0.5], ['WEIGHT', 1]]]]
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 |
|---|---|---|---|
| small cube | ['CUBIC', 2] | ['CUBIC', 2] | Passed |
| side rounds to 18 | ['CUBIC', 5] | ['CUBIC', 5] | Passed |
| one cubic foot | ['WEIGHT', 5] | ['WEIGHT', 5] | Passed |
| side exactly 18 | ['CUBIC', 5] | ['CUBIC', 5] | Passed |
| weight over 20 | ['WEIGHT', 21] | ['WEIGHT', 21] | Passed |
| tier half | ['CUBIC', 3] | ['CUBIC', 3] | Passed |
| quarter inch down | ['CUBIC', 3] | ['CUBIC', 3] | Passed |
| generated mix 6 | ['CUBIC', 5] | ['CUBIC', 5] | Passed |
SHA-256 / 155180189a6ac530f555fcee375ac843348c64a1dc68cbc847472fe40cc433c0
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.206904+00:00.
Case digest / ce67e2fb977c67aa561c6fd7896f4c90dd95f82e011e1cff846c4df973ff5d98