{"abstract":"ZIPs that lost their leading zero in a spreadsheet export are rejected.","category":"Shipping rate zone lookup","checks":8,"contract":"dest is a ZIP string with optional surrounding whitespace, optionally ZIP+4 (\"12345-6789\"), or a 4-digit ZIP whose leading zero was lost (left-pad one zero). chart [[lo3, hi3, zone]] inclusive ZIP3 ranges; the narrowest matching range wins, earliest listed on equal width. Malformed -> \"INVALID\"; no match -> \"NO_ZONE\".","contract_signature":"dest, chart","evaluation_group":"w2-shipping-zone-zip3-chart","failed_approach":"Right-padding produces a different, wrong ZIP3.","family":"w2-shipping-zone-zip3-chart-lost-leading-zero","id":"FA-95346","implementations":{"attempt":{"sha256":"78db7379bf6bc78b184991ddf5465d97fa4afdf3acf9d05e85f8267748621c7d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(dest, chart):\n    z = dest.strip()\n    if len(z) == 10 and z[5] == '-' and z[6:].isdecimal():\n        z = z[:5]\n    if len(z) == 4 and z.isdecimal():\n        z = z + '0'\n    if len(z) != 5 or not z.isdecimal():\n        return 'INVALID'\n    p = int(z[:3])\n    best = None\n    for lo, hi, zone in chart:\n        if lo <= p <= hi:\n            if best is None or (hi - lo) < (best[1] - best[0]):\n                best = (lo, hi, zone)\n    return best[2] if best else 'NO_ZONE'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['lost leading zero', ['2134', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['generated mix 38', ['9999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['zip plus four', ['15012-3456', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 4], ['nested narrowest', ['21700', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 6], ['equal width higher zone first', ['21600', [[210, 219, 9], [215, 224, 2]]], 9], ['letters', ['123AB', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'INVALID'], ['range upper edge', ['19999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5], ['generated mix 4', ['10001-12a4', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'INVALID']], [['generated mix 38', ['9999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['lost leading zero', ['2134', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['equal width first listed', ['21500', [[210, 219, 2], [215, 224, 9]]], 2], ['equal width plus four', ['21999-0001', [[200, 299, 1], [210, 219, 7], [215, 224, 3]]], 7], ['outside chart', ['40000', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'NO_ZONE'], ['zip plus four', ['15012-3456', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 4], ['generated mix 7', ['09999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['generated mix 15', ['16000', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5]], [['generated mix 75', ['0501', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['generated mix 38', ['9999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['equal width plus four', ['21999-0001', [[200, 299, 1], [210, 219, 7], [215, 224, 3]]], 7], ['outside chart', ['40000', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'NO_ZONE'], ['zip plus four', ['15012-3456', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 4], ['range upper edge', ['19999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5], ['generated mix 17', ['16000', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5], ['generated mix 25', ['15999-123', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'INVALID']], [['lost leading zero', ['2134', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['zip plus four', ['15012-3456', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 4], ['nested narrowest', ['21700', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 6], ['equal width higher zone first', ['21600', [[210, 219, 9], [215, 224, 2]]], 9], ['letters', ['123AB', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'INVALID'], ['generated mix 29', ['02134', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['generated mix 37', ['\\t21000\\n', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 2], ['generated mix 45', ['15999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 4]], [['generated mix 38', ['9999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['range upper edge', ['19999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5], ['equal width first listed', ['21500', [[210, 219, 2], [215, 224, 9]]], 2], ['equal width plus four', ['21999-0001', [[200, 299, 1], [210, 219, 7], [215, 224, 3]]], 7], ['outside chart', ['40000', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'NO_ZONE'], ['generated mix 40', ['00501', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['generated mix 48', ['10001', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5], ['generated mix 56', ['21499', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 2]]]\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":"9ac12f86ed2bdf9daa14ad21652b950416042113c3a7b8defcb381767563db9a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(dest, chart):\n    z = dest.strip()\n    if len(z) == 10 and z[5] == '-' and z[6:].isdecimal():\n        z = z[:5]\n    if len(z) != 5 or not z.isdecimal():\n        return 'INVALID'\n    p = int(z[:3])\n    best = None\n    for lo, hi, zone in chart:\n        if lo <= p <= hi:\n            if best is None or (hi - lo) < (best[1] - best[0]):\n                best = (lo, hi, zone)\n    return best[2] if best else 'NO_ZONE'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['lost leading zero', ['2134', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['generated mix 38', ['9999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['zip plus four', ['15012-3456', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 4], ['nested narrowest', ['21700', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 6], ['equal width higher zone first', ['21600', [[210, 219, 9], [215, 224, 2]]], 9], ['letters', ['123AB', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'INVALID'], ['range upper edge', ['19999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5], ['generated mix 4', ['10001-12a4', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'INVALID']], [['generated mix 38', ['9999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['lost leading zero', ['2134', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['equal width first listed', ['21500', [[210, 219, 2], [215, 224, 9]]], 2], ['equal width plus four', ['21999-0001', [[200, 299, 1], [210, 219, 7], [215, 224, 3]]], 7], ['outside chart', ['40000', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'NO_ZONE'], ['zip plus four', ['15012-3456', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 4], ['generated mix 7', ['09999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['generated mix 15', ['16000', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5]], [['generated mix 75', ['0501', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['generated mix 38', ['9999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['equal width plus four', ['21999-0001', [[200, 299, 1], [210, 219, 7], [215, 224, 3]]], 7], ['outside chart', ['40000', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'NO_ZONE'], ['zip plus four', ['15012-3456', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 4], ['range upper edge', ['19999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5], ['generated mix 17', ['16000', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5], ['generated mix 25', ['15999-123', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'INVALID']], [['lost leading zero', ['2134', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['zip plus four', ['15012-3456', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 4], ['nested narrowest', ['21700', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 6], ['equal width higher zone first', ['21600', [[210, 219, 9], [215, 224, 2]]], 9], ['letters', ['123AB', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'INVALID'], ['generated mix 29', ['02134', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['generated mix 37', ['\\t21000\\n', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 2], ['generated mix 45', ['15999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 4]], [['generated mix 38', ['9999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['range upper edge', ['19999', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5], ['equal width first listed', ['21500', [[210, 219, 2], [215, 224, 9]]], 2], ['equal width plus four', ['21999-0001', [[200, 299, 1], [210, 219, 7], [215, 224, 3]]], 7], ['outside chart', ['40000', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 'NO_ZONE'], ['generated mix 40', ['00501', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 8], ['generated mix 48', ['10001', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 5], ['generated mix 56', ['21499', [[5, 99, 8], [100, 199, 5], [150, 159, 4], [200, 299, 3], [210, 219, 2], [215, 219, 6], [300, 399, 7]]], 2]]]\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 chart rows and input normalization; not a carrier-published chart. 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-zip3-chart-lost-leading-zero","generated_at":"2026-09-29T14:52:12.828596+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Carrier zone charts map origin to destination ZIP3 ranges, the first step of rating.","root_cause":"Four-digit numeric ZIPs are not restored before length validation.","sha256":"eb11a831e44ef9f3ab6c423ca0a50adeaa6694e8bfcf54b264025c5a1380070a","title":"Zone chart: four-digit New England ZIPs invalid · 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.095,"exit_code":1,"observations":[{"actual":2,"check":"lost leading zero","expected":8,"passed":false},{"actual":"NO_ZONE","check":"generated mix 38","expected":8,"passed":false},{"actual":4,"check":"zip plus four","expected":4,"passed":true},{"actual":6,"check":"nested narrowest","expected":6,"passed":true},{"actual":9,"check":"equal width higher zone first","expected":9,"passed":true},{"actual":"INVALID","check":"letters","expected":"INVALID","passed":true},{"actual":5,"check":"range upper edge","expected":5,"passed":true},{"actual":"INVALID","check":"generated mix 4","expected":"INVALID","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"lost leading zero\", \"actual\": 2, \"expected\": 8, \"passed\": false}, {\"check\": \"generated mix 38\", \"actual\": \"NO_ZONE\", \"expected\": 8, \"passed\": false}, {\"check\": \"zip plus four\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"nested narrowest\", \"actual\": 6, \"expected\": 6, \"passed\": true}, {\"check\": \"equal width higher zone first\", \"actual\": 9, \"expected\": 9, \"passed\": true}, {\"check\": \"letters\", \"actual\": \"INVALID\", \"expected\": \"INVALID\", \"passed\": true}, {\"check\": \"range upper edge\", \"actual\": 5, \"expected\": 5, \"passed\": true}, {\"check\": \"generated mix 4\", \"actual\": \"INVALID\", \"expected\": \"INVALID\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.53,"exit_code":1,"observations":[{"actual":"INVALID","check":"lost leading zero","expected":8,"passed":false},{"actual":"INVALID","check":"generated mix 38","expected":8,"passed":false},{"actual":4,"check":"zip plus four","expected":4,"passed":true},{"actual":6,"check":"nested narrowest","expected":6,"passed":true},{"actual":9,"check":"equal width higher zone first","expected":9,"passed":true},{"actual":"INVALID","check":"letters","expected":"INVALID","passed":true},{"actual":5,"check":"range upper edge","expected":5,"passed":true},{"actual":"INVALID","check":"generated mix 4","expected":"INVALID","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"lost leading zero\", \"actual\": \"INVALID\", \"expected\": 8, \"passed\": false}, {\"check\": \"generated mix 38\", \"actual\": \"INVALID\", \"expected\": 8, \"passed\": false}, {\"check\": \"zip plus four\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"nested narrowest\", \"actual\": 6, \"expected\": 6, \"passed\": true}, {\"check\": \"equal width higher zone first\", \"actual\": 9, \"expected\": 9, \"passed\": true}, {\"check\": \"letters\", \"actual\": \"INVALID\", \"expected\": \"INVALID\", \"passed\": true}, {\"check\": \"range upper edge\", \"actual\": 5, \"expected\": 5, \"passed\": true}, {\"check\": \"generated mix 4\", \"actual\": \"INVALID\", \"expected\": \"INVALID\", \"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."}}