{"abstract":"Charges are a cent low on fractional hundredweight results.","category":"Shipping rate zone lookup","checks":8,"contract":"Weight breaks 0, 500, 1000, 2000, 5000, 10000 lb with cents-per-cwt rates for the lane. Weight rounds up to a whole lb (min 1) and is rated at its break: ceil(w * rate / 100). Deficit rating: if billing any heavier break minimum at that break rate is strictly cheaper, use the cheapest such. Charge is at least min_charge. Return [charge, break index, rated weight].","contract_signature":"weight, rates, min_charge","evaluation_group":"w2-shipping-zone-ltl-breaks","failed_approach":"Rounding to nearest still drops fractions below one half.","family":"w2-shipping-zone-ltl-breaks-cwt-rounding","id":"FA-95821","implementations":{"attempt":{"sha256":"f671193eee06657ab8fd9710b34e7215e0e82c07c1156eb23f965ac7fb2f7bf1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(weight, rates, min_charge):\n    BREAKS = [0, 500, 1000, 2000, 5000, 10000]\n    w = max(1, math.ceil(weight))\n    idx = max(i for i, b in enumerate(BREAKS) if w >= b)\n    cost = round(w * rates[idx] / 100)\n    best = [cost, idx, w]\n    for j in range(idx + 1, len(BREAKS)):\n        alt = BREAKS[j] * rates[j] // 100\n        if alt < best[0]:\n            best = [alt, j, BREAKS[j]]\n    return [max(best[0], min_charge), best[1], best[2]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['generated mix 4', [333.3, [4237, 3611, 3044, 2517, 2150, 1833], 9000], [14152, 0, 334]], ['generated mix 45', [800.5, [4237, 3611, 3044, 2517, 2150, 1833], 9000], [28925, 1, 801]], ['deficit to 500', [450, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['minimum', [100, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [9000, 0, 100]], ['deficit to 1000', [850, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [30000, 2, 1000]], ['skip a break', [400, [5000, 4900, 1000, 900, 800, 700], 0], [10000, 2, 1000]], ['on break', [500, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['generated mix 7', [480, [4200, 3600, 3000, 2500, 2100, 1800], 0], [18000, 1, 500]]], [['generated mix 48', [333.3, [4237, 3611, 3044, 2517, 2150, 1833], 0], [14152, 0, 334]], ['generated mix 6', [800.5, [4237, 3611, 3044, 2517, 2150, 1833], 20000], [28925, 1, 801]], ['fraction', [800.5, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [28836, 1, 801]], ['tie keeps actual', [450, [4000, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 0, 450]], ['deficit to 500', [450, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['minimum', [100, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [9000, 0, 100]], ['generated mix 10', [9000, [4200, 3600, 3000, 2500, 2100, 1800], 20000], [180000, 5, 10000]], ['generated mix 18', [850, [5000, 4900, 1000, 900, 800, 700], 9000], [10000, 2, 1000]]], [['generated mix 45', [800.5, [4237, 3611, 3044, 2517, 2150, 1833], 9000], [28925, 1, 801]], ['skip a break', [400, [5000, 4900, 1000, 900, 800, 700], 0], [10000, 2, 1000]], ['on break', [500, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['fraction', [800.5, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [28836, 1, 801]], ['tie keeps actual', [450, [4000, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 0, 450]], ['generated mix 20', [480, [4200, 3600, 3000, 2500, 2100, 1800], 0], [18000, 1, 500]], ['generated mix 28', [100, [4200, 3600, 3000, 2500, 2100, 1800], 20000], [20000, 0, 100]], ['generated mix 36', [500, [4200, 3600, 3000, 2500, 2100, 1800], 20000], [20000, 1, 500]]], [['generated mix 6', [800.5, [4237, 3611, 3044, 2517, 2150, 1833], 20000], [28925, 1, 801]], ['minimum', [100, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [9000, 0, 100]], ['deficit to 1000', [850, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [30000, 2, 1000]], ['skip a break', [400, [5000, 4900, 1000, 900, 800, 700], 0], [10000, 2, 1000]], ['on break', [500, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['generated mix 32', [850, [5000, 4900, 1000, 900, 800, 700], 9000], [10000, 2, 1000]], ['generated mix 40', [9000, [4237, 3611, 3044, 2517, 2150, 1833], 0], [183300, 5, 10000]], ['generated mix 48', [333.3, [4237, 3611, 3044, 2517, 2150, 1833], 0], [14152, 0, 334]]], [['generated mix 4', [333.3, [4237, 3611, 3044, 2517, 2150, 1833], 9000], [14152, 0, 334]], ['generated mix 45', [800.5, [4237, 3611, 3044, 2517, 2150, 1833], 9000], [28925, 1, 801]], ['tie keeps actual', [450, [4000, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 0, 450]], ['deficit to 500', [450, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['minimum', [100, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [9000, 0, 100]], ['deficit to 1000', [850, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [30000, 2, 1000]], ['generated mix 43', [850, [5000, 4900, 1000, 900, 800, 700], 20000], [20000, 2, 1000]], ['generated mix 52', [850, [4200, 3600, 3000, 2500, 2100, 1800], 20000], [30000, 2, 1000]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"0db3808b50b61f481041e68df57c1227da2e3b9e5638f0b22c0ab328ed802acd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(weight, rates, min_charge):\n    BREAKS = [0, 500, 1000, 2000, 5000, 10000]\n    w = max(1, math.ceil(weight))\n    idx = max(i for i, b in enumerate(BREAKS) if w >= b)\n    cost = w * rates[idx] // 100\n    best = [cost, idx, w]\n    for j in range(idx + 1, len(BREAKS)):\n        alt = BREAKS[j] * rates[j] // 100\n        if alt < best[0]:\n            best = [alt, j, BREAKS[j]]\n    return [max(best[0], min_charge), best[1], best[2]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['generated mix 4', [333.3, [4237, 3611, 3044, 2517, 2150, 1833], 9000], [14152, 0, 334]], ['generated mix 45', [800.5, [4237, 3611, 3044, 2517, 2150, 1833], 9000], [28925, 1, 801]], ['deficit to 500', [450, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['minimum', [100, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [9000, 0, 100]], ['deficit to 1000', [850, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [30000, 2, 1000]], ['skip a break', [400, [5000, 4900, 1000, 900, 800, 700], 0], [10000, 2, 1000]], ['on break', [500, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['generated mix 7', [480, [4200, 3600, 3000, 2500, 2100, 1800], 0], [18000, 1, 500]]], [['generated mix 48', [333.3, [4237, 3611, 3044, 2517, 2150, 1833], 0], [14152, 0, 334]], ['generated mix 6', [800.5, [4237, 3611, 3044, 2517, 2150, 1833], 20000], [28925, 1, 801]], ['fraction', [800.5, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [28836, 1, 801]], ['tie keeps actual', [450, [4000, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 0, 450]], ['deficit to 500', [450, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['minimum', [100, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [9000, 0, 100]], ['generated mix 10', [9000, [4200, 3600, 3000, 2500, 2100, 1800], 20000], [180000, 5, 10000]], ['generated mix 18', [850, [5000, 4900, 1000, 900, 800, 700], 9000], [10000, 2, 1000]]], [['generated mix 45', [800.5, [4237, 3611, 3044, 2517, 2150, 1833], 9000], [28925, 1, 801]], ['skip a break', [400, [5000, 4900, 1000, 900, 800, 700], 0], [10000, 2, 1000]], ['on break', [500, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['fraction', [800.5, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [28836, 1, 801]], ['tie keeps actual', [450, [4000, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 0, 450]], ['generated mix 20', [480, [4200, 3600, 3000, 2500, 2100, 1800], 0], [18000, 1, 500]], ['generated mix 28', [100, [4200, 3600, 3000, 2500, 2100, 1800], 20000], [20000, 0, 100]], ['generated mix 36', [500, [4200, 3600, 3000, 2500, 2100, 1800], 20000], [20000, 1, 500]]], [['generated mix 6', [800.5, [4237, 3611, 3044, 2517, 2150, 1833], 20000], [28925, 1, 801]], ['minimum', [100, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [9000, 0, 100]], ['deficit to 1000', [850, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [30000, 2, 1000]], ['skip a break', [400, [5000, 4900, 1000, 900, 800, 700], 0], [10000, 2, 1000]], ['on break', [500, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['generated mix 32', [850, [5000, 4900, 1000, 900, 800, 700], 9000], [10000, 2, 1000]], ['generated mix 40', [9000, [4237, 3611, 3044, 2517, 2150, 1833], 0], [183300, 5, 10000]], ['generated mix 48', [333.3, [4237, 3611, 3044, 2517, 2150, 1833], 0], [14152, 0, 334]]], [['generated mix 4', [333.3, [4237, 3611, 3044, 2517, 2150, 1833], 9000], [14152, 0, 334]], ['generated mix 45', [800.5, [4237, 3611, 3044, 2517, 2150, 1833], 9000], [28925, 1, 801]], ['tie keeps actual', [450, [4000, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 0, 450]], ['deficit to 500', [450, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [18000, 1, 500]], ['minimum', [100, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [9000, 0, 100]], ['deficit to 1000', [850, [4200, 3600, 3000, 2500, 2100, 1800], 9000], [30000, 2, 1000]], ['generated mix 43', [850, [5000, 4900, 1000, 900, 800, 700], 20000], [20000, 2, 1000]], ['generated mix 52', [850, [4200, 3600, 3000, 2500, 2100, 1800], 20000], [30000, 2, 1000]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated break table; no freight class or accessorials. 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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-shipping-zone-ltl-breaks-cwt-rounding","generated_at":"2026-09-29T14:52:17.147110+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"LTL lane rates use weight breaks with deficit weight rating.","root_cause":"The actual-weight charge is floor-divided.","sha256":"f5d6a15afcc94023f873095766d246e4aa3317a6f5dac4fcf8dc0bb7072ed649","title":"LTL breaks: cwt charge truncated · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":39.158,"exit_code":1,"observations":[{"actual":[14152,0,334],"check":"generated mix 4","expected":[14152,0,334],"passed":true},{"actual":[28924,1,801],"check":"generated mix 45","expected":[28925,1,801],"passed":false},{"actual":[18000,1,500],"check":"deficit to 500","expected":[18000,1,500],"passed":true},{"actual":[9000,0,100],"check":"minimum","expected":[9000,0,100],"passed":true},{"actual":[30000,2,1000],"check":"deficit to 1000","expected":[30000,2,1000],"passed":true},{"actual":[10000,2,1000],"check":"skip a break","expected":[10000,2,1000],"passed":true},{"actual":[18000,1,500],"check":"on break","expected":[18000,1,500],"passed":true},{"actual":[18000,1,500],"check":"generated mix 7","expected":[18000,1,500],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"generated mix 4\", \"actual\": [14152, 0, 334], \"expected\": [14152, 0, 334], \"passed\": true}, {\"check\": \"generated mix 45\", \"actual\": [28924, 1, 801], \"expected\": [28925, 1, 801], \"passed\": false}, {\"check\": \"deficit to 500\", \"actual\": [18000, 1, 500], \"expected\": [18000, 1, 500], \"passed\": true}, {\"check\": \"minimum\", \"actual\": [9000, 0, 100], \"expected\": [9000, 0, 100], \"passed\": true}, {\"check\": \"deficit to 1000\", \"actual\": [30000, 2, 1000], \"expected\": [30000, 2, 1000], \"passed\": true}, {\"check\": \"skip a break\", \"actual\": [10000, 2, 1000], \"expected\": [10000, 2, 1000], \"passed\": true}, {\"check\": \"on break\", \"actual\": [18000, 1, 500], \"expected\": [18000, 1, 500], \"passed\": true}, {\"check\": \"generated mix 7\", \"actual\": [18000, 1, 500], \"expected\": [18000, 1, 500], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.648,"exit_code":1,"observations":[{"actual":[14151,0,334],"check":"generated mix 4","expected":[14152,0,334],"passed":false},{"actual":[28924,1,801],"check":"generated mix 45","expected":[28925,1,801],"passed":false},{"actual":[18000,1,500],"check":"deficit to 500","expected":[18000,1,500],"passed":true},{"actual":[9000,0,100],"check":"minimum","expected":[9000,0,100],"passed":true},{"actual":[30000,2,1000],"check":"deficit to 1000","expected":[30000,2,1000],"passed":true},{"actual":[10000,2,1000],"check":"skip a break","expected":[10000,2,1000],"passed":true},{"actual":[18000,1,500],"check":"on break","expected":[18000,1,500],"passed":true},{"actual":[18000,1,500],"check":"generated mix 7","expected":[18000,1,500],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"generated mix 4\", \"actual\": [14151, 0, 334], \"expected\": [14152, 0, 334], \"passed\": false}, {\"check\": \"generated mix 45\", \"actual\": [28924, 1, 801], \"expected\": [28925, 1, 801], \"passed\": false}, {\"check\": \"deficit to 500\", \"actual\": [18000, 1, 500], \"expected\": [18000, 1, 500], \"passed\": true}, {\"check\": \"minimum\", \"actual\": [9000, 0, 100], \"expected\": [9000, 0, 100], \"passed\": true}, {\"check\": \"deficit to 1000\", \"actual\": [30000, 2, 1000], \"expected\": [30000, 2, 1000], \"passed\": true}, {\"check\": \"skip a break\", \"actual\": [10000, 2, 1000], \"expected\": [10000, 2, 1000], \"passed\": true}, {\"check\": \"on break\", \"actual\": [18000, 1, 500], \"expected\": [18000, 1, 500], \"passed\": true}, {\"check\": \"generated mix 7\", \"actual\": [18000, 1, 500], \"expected\": [18000, 1, 500], \"passed\": true}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}