{"abstract":"Heavily discounted lanes fall below the contractual minimum.","category":"Shipping rate zone lookup","checks":8,"contract":"Cents. Weekly spend (dollars, may have cents) selects the discount: >= 5000 -> 25%, >= 2000 -> 18%, >= 500 -> 12%, else 0. Discount = list * pct / 100 rounded half up. Net is floored at the minimum charge, but never above the list rate. Return [pct, net].","evaluation_group":"w2-shipping-zone-contract-discount","failed_approach":"Discounting the floor itself weakens the minimum.","family":"w2-shipping-zone-contract-discount-minimum-floor","id":"FA-95691","implementations":{"attempt":{"sha256":"9dc1f843db34620191cfa3bc14510bca3a983ff14e2735a8178278fd233545be","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(list_rate, spend, min_charge):\n    pct = 0\n    for limit, p in ((5000, 25), (2000, 18), (500, 12)):\n        if spend >= limit:\n            pct = p\n            break\n    disc = (list_rate * pct + 50) // 100\n    net = list_rate - disc\n    floor_amt = min(min_charge, list_rate)\n    return [pct, max(net, floor_amt - disc)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['minimum applies', [1000, 6000, 900], [25, 900]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['tier edge', [1000, 2000, 500], [18, 820]], ['top tier', [1000, 6000, 500], [25, 750]], ['no discount', [1000, 100, 500], [0, 1000]], ['just under tier', [1000, 1999.6, 500], [12, 880]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['generated mix 8', [1025, 4999.5, 900], [18, 900]]], [['generated mix 25', [700, 4999.5, 1200], [18, 700]], ['generated mix 21', [1000, 500, 900], [12, 900]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['tier edge', [1000, 2000, 500], [18, 820]], ['top tier', [1000, 6000, 500], [25, 750]], ['generated mix 9', [1000, 500, 900], [12, 900]], ['generated mix 17', [1250, 8000, 900], [25, 937]]], [['generated mix 45', [700, 1999.6, 900], [12, 700]], ['generated mix 38', [1000, 500, 900], [12, 900]], ['no discount', [1000, 100, 500], [0, 1000]], ['just under tier', [1000, 1999.6, 500], [12, 880]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['generated mix 20', [4999, 5000, 500], [25, 3749]], ['generated mix 28', [1333, 2000, 1200], [18, 1200]]], [['minimum applies', [1000, 6000, 900], [25, 900]], ['generated mix 51', [1025, 2000, 900], [18, 900]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['no discount', [1000, 100, 500], [0, 1000]], ['just under tier', [1000, 1999.6, 500], [12, 880]], ['generated mix 31', [700, 4999.5, 900], [18, 700]], ['generated mix 39', [700, 1999.6, 1200], [12, 700]], ['generated mix 47', [1000, 100, 1200], [0, 1000]]], [['generated mix 25', [700, 4999.5, 1200], [18, 700]], ['minimum applies', [1000, 6000, 900], [25, 900]], ['tier edge', [1000, 2000, 500], [18, 820]], ['top tier', [1000, 6000, 500], [25, 750]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['generated mix 43', [1333, 499.99, 500], [0, 1333]], ['generated mix 51', [1025, 2000, 900], [18, 900]], ['generated mix 59', [1333, 100, 1200], [0, 1333]]]]\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":"c63e280c84eeaaec3d92c5f8bb6e978b1d98002327e908853108493a703b5236","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(list_rate, spend, min_charge):\n    pct = 0\n    for limit, p in ((5000, 25), (2000, 18), (500, 12)):\n        if spend >= limit:\n            pct = p\n            break\n    disc = (list_rate * pct + 50) // 100\n    net = list_rate - disc\n    floor_amt = min(min_charge, list_rate)\n    return [pct, net]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['minimum applies', [1000, 6000, 900], [25, 900]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['tier edge', [1000, 2000, 500], [18, 820]], ['top tier', [1000, 6000, 500], [25, 750]], ['no discount', [1000, 100, 500], [0, 1000]], ['just under tier', [1000, 1999.6, 500], [12, 880]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['generated mix 8', [1025, 4999.5, 900], [18, 900]]], [['generated mix 25', [700, 4999.5, 1200], [18, 700]], ['generated mix 21', [1000, 500, 900], [12, 900]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['tier edge', [1000, 2000, 500], [18, 820]], ['top tier', [1000, 6000, 500], [25, 750]], ['generated mix 9', [1000, 500, 900], [12, 900]], ['generated mix 17', [1250, 8000, 900], [25, 937]]], [['generated mix 45', [700, 1999.6, 900], [12, 700]], ['generated mix 38', [1000, 500, 900], [12, 900]], ['no discount', [1000, 100, 500], [0, 1000]], ['just under tier', [1000, 1999.6, 500], [12, 880]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['generated mix 20', [4999, 5000, 500], [25, 3749]], ['generated mix 28', [1333, 2000, 1200], [18, 1200]]], [['minimum applies', [1000, 6000, 900], [25, 900]], ['generated mix 51', [1025, 2000, 900], [18, 900]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['no discount', [1000, 100, 500], [0, 1000]], ['just under tier', [1000, 1999.6, 500], [12, 880]], ['generated mix 31', [700, 4999.5, 900], [18, 700]], ['generated mix 39', [700, 1999.6, 1200], [12, 700]], ['generated mix 47', [1000, 100, 1200], [0, 1000]]], [['generated mix 25', [700, 4999.5, 1200], [18, 700]], ['minimum applies', [1000, 6000, 900], [25, 900]], ['tier edge', [1000, 2000, 500], [18, 820]], ['top tier', [1000, 6000, 500], [25, 750]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['generated mix 43', [1333, 499.99, 500], [0, 1333]], ['generated mix 51', [1025, 2000, 900], [18, 900]], ['generated mix 59', [1333, 100, 1200], [0, 1333]]]]\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"},"fixed":{"sha256":"b76e28ef4e16536b7e51eb9f2092f3f5a5d67f463dcdfa45a013427b2d314727","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(list_rate, spend, min_charge):\n    pct = 0\n    for limit, p in ((5000, 25), (2000, 18), (500, 12)):\n        if spend >= limit:\n            pct = p\n            break\n    disc = (list_rate * pct + 50) // 100\n    net = list_rate - disc\n    floor_amt = min(min_charge, list_rate)\n    return [pct, max(net, floor_amt)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['minimum applies', [1000, 6000, 900], [25, 900]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['tier edge', [1000, 2000, 500], [18, 820]], ['top tier', [1000, 6000, 500], [25, 750]], ['no discount', [1000, 100, 500], [0, 1000]], ['just under tier', [1000, 1999.6, 500], [12, 880]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['generated mix 8', [1025, 4999.5, 900], [18, 900]]], [['generated mix 25', [700, 4999.5, 1200], [18, 700]], ['generated mix 21', [1000, 500, 900], [12, 900]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['tier edge', [1000, 2000, 500], [18, 820]], ['top tier', [1000, 6000, 500], [25, 750]], ['generated mix 9', [1000, 500, 900], [12, 900]], ['generated mix 17', [1250, 8000, 900], [25, 937]]], [['generated mix 45', [700, 1999.6, 900], [12, 700]], ['generated mix 38', [1000, 500, 900], [12, 900]], ['no discount', [1000, 100, 500], [0, 1000]], ['just under tier', [1000, 1999.6, 500], [12, 880]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['generated mix 20', [4999, 5000, 500], [25, 3749]], ['generated mix 28', [1333, 2000, 1200], [18, 1200]]], [['minimum applies', [1000, 6000, 900], [25, 900]], ['generated mix 51', [1025, 2000, 900], [18, 900]], ['half cent discount', [1025, 2000, 500], [18, 840]], ['no discount', [1000, 100, 500], [0, 1000]], ['just under tier', [1000, 1999.6, 500], [12, 880]], ['generated mix 31', [700, 4999.5, 900], [18, 700]], ['generated mix 39', [700, 1999.6, 1200], [12, 700]], ['generated mix 47', [1000, 100, 1200], [0, 1000]]], [['generated mix 25', [700, 4999.5, 1200], [18, 700]], ['minimum applies', [1000, 6000, 900], [25, 900]], ['tier edge', [1000, 2000, 500], [18, 820]], ['top tier', [1000, 6000, 500], [25, 750]], ['minimum capped by list', [700, 6000, 900], [25, 700]], ['generated mix 43', [1333, 499.99, 500], [0, 1333]], ['generated mix 51', [1025, 2000, 900], [18, 900]], ['generated mix 59', [1333, 100, 1200], [0, 1333]]]]\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 tiers; no earned incentive periods. 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-contract-discount-minimum-floor","generated_at":"2026-09-29T14:52:16.050040+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Contract pricing discounts list rates by volume tier subject to a minimum.","repair":"Apply the floor after discounting.","root_cause":"Net is returned without applying the minimum floor.","sha256":"554434067078b573f8770b0cf4c94fe1556f51b0a1b170fb6d17ce5a82aba73e","title":"Contract discount: minimum charge not enforced · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.202,"exit_code":1,"observations":[{"actual":[25,750],"check":"minimum applies","expected":[25,900],"passed":false},{"actual":[25,525],"check":"minimum capped by list","expected":[25,700],"passed":false},{"actual":[18,820],"check":"tier edge","expected":[18,820],"passed":true},{"actual":[25,750],"check":"top tier","expected":[25,750],"passed":true},{"actual":[0,1000],"check":"no discount","expected":[0,1000],"passed":true},{"actual":[12,880],"check":"just under tier","expected":[12,880],"passed":true},{"actual":[18,840],"check":"half cent discount","expected":[18,840],"passed":true},{"actual":[18,840],"check":"generated mix 8","expected":[18,900],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"minimum applies\", \"actual\": [25, 750], \"expected\": [25, 900], \"passed\": false}, {\"check\": \"minimum capped by list\", \"actual\": [25, 525], \"expected\": [25, 700], \"passed\": false}, {\"check\": \"tier edge\", \"actual\": [18, 820], \"expected\": [18, 820], \"passed\": true}, {\"check\": \"top tier\", \"actual\": [25, 750], \"expected\": [25, 750], \"passed\": true}, {\"check\": \"no discount\", \"actual\": [0, 1000], \"expected\": [0, 1000], \"passed\": true}, {\"check\": \"just under tier\", \"actual\": [12, 880], \"expected\": [12, 880], \"passed\": true}, {\"check\": \"half cent discount\", \"actual\": [18, 840], \"expected\": [18, 840], \"passed\": true}, {\"check\": \"generated mix 8\", \"actual\": [18, 840], \"expected\": [18, 900], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.59,"exit_code":1,"observations":[{"actual":[25,750],"check":"minimum applies","expected":[25,900],"passed":false},{"actual":[25,525],"check":"minimum capped by list","expected":[25,700],"passed":false},{"actual":[18,820],"check":"tier edge","expected":[18,820],"passed":true},{"actual":[25,750],"check":"top tier","expected":[25,750],"passed":true},{"actual":[0,1000],"check":"no discount","expected":[0,1000],"passed":true},{"actual":[12,880],"check":"just under tier","expected":[12,880],"passed":true},{"actual":[18,840],"check":"half cent discount","expected":[18,840],"passed":true},{"actual":[18,840],"check":"generated mix 8","expected":[18,900],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"minimum applies\", \"actual\": [25, 750], \"expected\": [25, 900], \"passed\": false}, {\"check\": \"minimum capped by list\", \"actual\": [25, 525], \"expected\": [25, 700], \"passed\": false}, {\"check\": \"tier edge\", \"actual\": [18, 820], \"expected\": [18, 820], \"passed\": true}, {\"check\": \"top tier\", \"actual\": [25, 750], \"expected\": [25, 750], \"passed\": true}, {\"check\": \"no discount\", \"actual\": [0, 1000], \"expected\": [0, 1000], \"passed\": true}, {\"check\": \"just under tier\", \"actual\": [12, 880], \"expected\": [12, 880], \"passed\": true}, {\"check\": \"half cent discount\", \"actual\": [18, 840], \"expected\": [18, 840], \"passed\": true}, {\"check\": \"generated mix 8\", \"actual\": [18, 840], \"expected\": [18, 900], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.686,"exit_code":0,"observations":[{"actual":[25,900],"check":"minimum applies","expected":[25,900],"passed":true},{"actual":[25,700],"check":"minimum capped by list","expected":[25,700],"passed":true},{"actual":[18,820],"check":"tier edge","expected":[18,820],"passed":true},{"actual":[25,750],"check":"top tier","expected":[25,750],"passed":true},{"actual":[0,1000],"check":"no discount","expected":[0,1000],"passed":true},{"actual":[12,880],"check":"just under tier","expected":[12,880],"passed":true},{"actual":[18,840],"check":"half cent discount","expected":[18,840],"passed":true},{"actual":[18,900],"check":"generated mix 8","expected":[18,900],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"minimum applies\", \"actual\": [25, 900], \"expected\": [25, 900], \"passed\": true}, {\"check\": \"minimum capped by list\", \"actual\": [25, 700], \"expected\": [25, 700], \"passed\": true}, {\"check\": \"tier edge\", \"actual\": [18, 820], \"expected\": [18, 820], \"passed\": true}, {\"check\": \"top tier\", \"actual\": [25, 750], \"expected\": [25, 750], \"passed\": true}, {\"check\": \"no discount\", \"actual\": [0, 1000], \"expected\": [0, 1000], \"passed\": true}, {\"check\": \"just under tier\", \"actual\": [12, 880], \"expected\": [12, 880], \"passed\": true}, {\"check\": \"half cent discount\", \"actual\": [18, 840], \"expected\": [18, 840], \"passed\": true}, {\"check\": \"generated mix 8\", \"actual\": [18, 900], \"expected\": [18, 900], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}