{"abstract":"Totals differ by a cent from the exact schedule when several slices carry half-cents.","category":"Tax bracket computation","checks":7,"contract":"solve(income, brackets): brackets is [[upper, rate_percent], ...] with strictly increasing positive uppers and a final open bracket [None, rate]; otherwise return 'ERR:brackets'. Each rate applies only to the slice of income in (previous upper, upper]. Negative income is taxed as zero. The tax is summed exactly and rounded half-up to cents once, returned as integer cents.","evaluation_group":"w2-tax_bracket_computation-progressive-marginal-slices","failed_approach":"Rounding each slice half-even instead of half-up is still per-slice rounding.","family":"w2-tax_bracket_computation-progressive-marginal-slices-slice-rounding","id":"FA-62351","implementations":{"attempt":{"sha256":"42f51edfb726ec5d156ef7a6050f873c617eb9fc994182ba0f7dbd842491a3f3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(income, brackets):\n    if not brackets or brackets[-1][0] is not None: return 'ERR:brackets'\n    uppers = [u for u, _ in brackets[:-1]]\n    if any(b <= a for a, b in zip([0] + uppers, uppers)): return 'ERR:brackets'\n    x = max(0, income)\n    tax, lower = Fraction(0), 0\n    for upper, rate in brackets:\n        top = x if upper is None else min(x, upper)\n        if top > lower:\n            tax += Fraction(round((top - lower) * Fraction(rate)), 100)\n        if upper is None or x <= upper: break\n        lower = upper\n    return int(tax * 100 + Fraction(1, 2))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (11001, [[11000, '12.5'], [None, '12.5']]), 137513),\n  ('partial repair guard 2', (11003, [[11001, '12.5'], [None, '32.5']]), 137578),\n  ('control: three brackets', (50000, [[10000, '10'], [40000, '12'], [None, '22']]), 680000),\n  ('control: at first threshold', (10000, [[10000, '10'], [40000, '12'], [None, '22']]), 100000),\n  ('control: zero', (0, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: negative', (-5, [[10000, '10'], [40000, '12'], [None, '22']]), 0)],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 2', (250001, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   5917183),\n  ('control: negative', (-5, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: one over threshold', (40001, [[10000, '10'], [40000, '12'], [None, '22']]), 460022),\n  ('control: fractional rate', (12345, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   126140),\n  ('control: non increasing', (10000, [[10000, '10'], [5000, '20'], [None, '30']]), 'ERR:brackets')],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (777, [[None, '12.5']]), 9713),\n  ('partial repair guard 2', (10001, [[18000, '12.5'], [80000, '22'], [None, '30']]), 125013),\n  ('control: non increasing', (10000, [[10000, '10'], [5000, '20'], [None, '30']]), 'ERR:brackets'),\n  ('control: closed top', (10, [[10000, '10'], [20000, '20']]), 'ERR:brackets'),\n  ('control: high earner', (250001, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   5917183),\n  ('control: three brackets', (50000, [[10000, '10'], [40000, '12'], [None, '22']]), 680000)],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (10001, [[60000, '12.5'], [92000, '22'], [None, '45']]), 125013),\n  ('partial repair guard 2', (1, [[68000, '12.5'], [81000, '10'], [167000, '33.3'], [None, '45']]), 13),\n  ('control: single bracket', (777, [[None, '12.5']]), 9713),\n  ('control: three brackets', (50000, [[10000, '10'], [40000, '12'], [None, '22']]), 680000),\n  ('control: at first threshold', (10000, [[10000, '10'], [40000, '12'], [None, '22']]), 100000),\n  ('control: zero', (0, [[10000, '10'], [40000, '12'], [None, '22']]), 0)],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (1, [[94000, '12.5'], [191000, '24'], [None, '45']]), 13),\n  ('partial repair guard 2', (1, [[1000, '12.5'], [59000, '24'], [None, '40.5']]), 13),\n  ('control: zero', (0, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: negative', (-5, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: one over threshold', (40001, [[10000, '10'], [40000, '12'], [None, '22']]), 460022),\n  ('control: fractional rate', (12345, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   126140)]]\nfor label, args, expected in cases[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":"d95be53cd7f812dc9e65214572212884bd98ca74746ef7a288afdc490675e1c1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(income, brackets):\n    if not brackets or brackets[-1][0] is not None: return 'ERR:brackets'\n    uppers = [u for u, _ in brackets[:-1]]\n    if any(b <= a for a, b in zip([0] + uppers, uppers)): return 'ERR:brackets'\n    x = max(0, income)\n    tax, lower = Fraction(0), 0\n    for upper, rate in brackets:\n        top = x if upper is None else min(x, upper)\n        if top > lower:\n            tax += Fraction(int((top - lower) * Fraction(rate) + Fraction(1, 2)), 100)\n        if upper is None or x <= upper: break\n        lower = upper\n    return int(tax * 100 + Fraction(1, 2))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (11001, [[11000, '12.5'], [None, '12.5']]), 137513),\n  ('partial repair guard 2', (11003, [[11001, '12.5'], [None, '32.5']]), 137578),\n  ('control: three brackets', (50000, [[10000, '10'], [40000, '12'], [None, '22']]), 680000),\n  ('control: at first threshold', (10000, [[10000, '10'], [40000, '12'], [None, '22']]), 100000),\n  ('control: zero', (0, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: negative', (-5, [[10000, '10'], [40000, '12'], [None, '22']]), 0)],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 2', (250001, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   5917183),\n  ('control: negative', (-5, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: one over threshold', (40001, [[10000, '10'], [40000, '12'], [None, '22']]), 460022),\n  ('control: fractional rate', (12345, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   126140),\n  ('control: non increasing', (10000, [[10000, '10'], [5000, '20'], [None, '30']]), 'ERR:brackets')],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (777, [[None, '12.5']]), 9713),\n  ('partial repair guard 2', (10001, [[18000, '12.5'], [80000, '22'], [None, '30']]), 125013),\n  ('control: non increasing', (10000, [[10000, '10'], [5000, '20'], [None, '30']]), 'ERR:brackets'),\n  ('control: closed top', (10, [[10000, '10'], [20000, '20']]), 'ERR:brackets'),\n  ('control: high earner', (250001, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   5917183),\n  ('control: three brackets', (50000, [[10000, '10'], [40000, '12'], [None, '22']]), 680000)],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (10001, [[60000, '12.5'], [92000, '22'], [None, '45']]), 125013),\n  ('partial repair guard 2', (1, [[68000, '12.5'], [81000, '10'], [167000, '33.3'], [None, '45']]), 13),\n  ('control: single bracket', (777, [[None, '12.5']]), 9713),\n  ('control: three brackets', (50000, [[10000, '10'], [40000, '12'], [None, '22']]), 680000),\n  ('control: at first threshold', (10000, [[10000, '10'], [40000, '12'], [None, '22']]), 100000),\n  ('control: zero', (0, [[10000, '10'], [40000, '12'], [None, '22']]), 0)],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (1, [[94000, '12.5'], [191000, '24'], [None, '45']]), 13),\n  ('partial repair guard 2', (1, [[1000, '12.5'], [59000, '24'], [None, '40.5']]), 13),\n  ('control: zero', (0, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: negative', (-5, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: one over threshold', (40001, [[10000, '10'], [40000, '12'], [None, '22']]), 460022),\n  ('control: fractional rate', (12345, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   126140)]]\nfor label, args, expected in cases[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":"9abe4021ba504c677a60c731ad4f97d480be55f8a5d4a910819f902fb31ebc75","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(income, brackets):\n    if not brackets or brackets[-1][0] is not None: return 'ERR:brackets'\n    uppers = [u for u, _ in brackets[:-1]]\n    if any(b <= a for a, b in zip([0] + uppers, uppers)): return 'ERR:brackets'\n    x = max(0, income)\n    tax, lower = Fraction(0), 0\n    for upper, rate in brackets:\n        top = x if upper is None else min(x, upper)\n        if top > lower:\n            tax += (top - lower) * Fraction(rate) / 100\n        if upper is None or x <= upper: break\n        lower = upper\n    return int(tax * 100 + Fraction(1, 2))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (11001, [[11000, '12.5'], [None, '12.5']]), 137513),\n  ('partial repair guard 2', (11003, [[11001, '12.5'], [None, '32.5']]), 137578),\n  ('control: three brackets', (50000, [[10000, '10'], [40000, '12'], [None, '22']]), 680000),\n  ('control: at first threshold', (10000, [[10000, '10'], [40000, '12'], [None, '22']]), 100000),\n  ('control: zero', (0, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: negative', (-5, [[10000, '10'], [40000, '12'], [None, '22']]), 0)],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 2', (250001, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   5917183),\n  ('control: negative', (-5, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: one over threshold', (40001, [[10000, '10'], [40000, '12'], [None, '22']]), 460022),\n  ('control: fractional rate', (12345, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   126140),\n  ('control: non increasing', (10000, [[10000, '10'], [5000, '20'], [None, '30']]), 'ERR:brackets')],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (777, [[None, '12.5']]), 9713),\n  ('partial repair guard 2', (10001, [[18000, '12.5'], [80000, '22'], [None, '30']]), 125013),\n  ('control: non increasing', (10000, [[10000, '10'], [5000, '20'], [None, '30']]), 'ERR:brackets'),\n  ('control: closed top', (10, [[10000, '10'], [20000, '20']]), 'ERR:brackets'),\n  ('control: high earner', (250001, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   5917183),\n  ('control: three brackets', (50000, [[10000, '10'], [40000, '12'], [None, '22']]), 680000)],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (10001, [[60000, '12.5'], [92000, '22'], [None, '45']]), 125013),\n  ('partial repair guard 2', (1, [[68000, '12.5'], [81000, '10'], [167000, '33.3'], [None, '45']]), 13),\n  ('control: single bracket', (777, [[None, '12.5']]), 9713),\n  ('control: three brackets', (50000, [[10000, '10'], [40000, '12'], [None, '22']]), 680000),\n  ('control: at first threshold', (10000, [[10000, '10'], [40000, '12'], [None, '22']]), 100000),\n  ('control: zero', (0, [[10000, '10'], [40000, '12'], [None, '22']]), 0)],\n [('regression slice-rounding 1', (3, [[1, '12.5'], [2, '12.5'], [None, '12.5']]), 38),\n  ('partial repair guard 1', (1, [[94000, '12.5'], [191000, '24'], [None, '45']]), 13),\n  ('partial repair guard 2', (1, [[1000, '12.5'], [59000, '24'], [None, '40.5']]), 13),\n  ('control: zero', (0, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: negative', (-5, [[10000, '10'], [40000, '12'], [None, '22']]), 0),\n  ('control: one over threshold', (40001, [[10000, '10'], [40000, '12'], [None, '22']]), 460022),\n  ('control: fractional rate', (12345, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]),\n   126140)]]\nfor label, args, expected in cases[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":"A deterministic, bounded teaching model with a stipulated toy contract; it makes no claim of conformance to any real regulation, standard, or institution's rules. 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-tax_bracket_computation-progressive-marginal-slices-slice-rounding","generated_at":"2026-09-29T14:47:03.810983+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Tax computations hinge on which slice, threshold, ordering and rounding rule applies at each step; a misplaced boundary silently misstates liabilities.","repair":"Sum the exact slice amounts and round once.","root_cause":"Every slice's tax is rounded half-up to cents before being added.","sha256":"acf0feb0cea09adf5de04ce7c6e27122568963f57f6b360eb3be2759b4edc0d9","title":"Each bracket slice is rounded to cents before summing · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.558,"exit_code":1,"observations":[{"actual":36,"check":"regression slice-rounding 1","expected":38,"passed":false},{"actual":137512,"check":"partial repair guard 1","expected":137513,"passed":false},{"actual":137577,"check":"partial repair guard 2","expected":137578,"passed":false},{"actual":680000,"check":"control: three brackets","expected":680000,"passed":true},{"actual":100000,"check":"control: at first threshold","expected":100000,"passed":true},{"actual":0,"check":"control: zero","expected":0,"passed":true},{"actual":0,"check":"control: negative","expected":0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression slice-rounding 1\", \"actual\": 36, \"expected\": 38, \"passed\": false}, {\"check\": \"partial repair guard 1\", \"actual\": 137512, \"expected\": 137513, \"passed\": false}, {\"check\": \"partial repair guard 2\", \"actual\": 137577, \"expected\": 137578, \"passed\": false}, {\"check\": \"control: three brackets\", \"actual\": 680000, \"expected\": 680000, \"passed\": true}, {\"check\": \"control: at first threshold\", \"actual\": 100000, \"expected\": 100000, \"passed\": true}, {\"check\": \"control: zero\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"control: negative\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.732,"exit_code":1,"observations":[{"actual":39,"check":"regression slice-rounding 1","expected":38,"passed":false},{"actual":137513,"check":"partial repair guard 1","expected":137513,"passed":true},{"actual":137578,"check":"partial repair guard 2","expected":137578,"passed":true},{"actual":680000,"check":"control: three brackets","expected":680000,"passed":true},{"actual":100000,"check":"control: at first threshold","expected":100000,"passed":true},{"actual":0,"check":"control: zero","expected":0,"passed":true},{"actual":0,"check":"control: negative","expected":0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression slice-rounding 1\", \"actual\": 39, \"expected\": 38, \"passed\": false}, {\"check\": \"partial repair guard 1\", \"actual\": 137513, \"expected\": 137513, \"passed\": true}, {\"check\": \"partial repair guard 2\", \"actual\": 137578, \"expected\": 137578, \"passed\": true}, {\"check\": \"control: three brackets\", \"actual\": 680000, \"expected\": 680000, \"passed\": true}, {\"check\": \"control: at first threshold\", \"actual\": 100000, \"expected\": 100000, \"passed\": true}, {\"check\": \"control: zero\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"control: negative\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.413,"exit_code":0,"observations":[{"actual":38,"check":"regression slice-rounding 1","expected":38,"passed":true},{"actual":137513,"check":"partial repair guard 1","expected":137513,"passed":true},{"actual":137578,"check":"partial repair guard 2","expected":137578,"passed":true},{"actual":680000,"check":"control: three brackets","expected":680000,"passed":true},{"actual":100000,"check":"control: at first threshold","expected":100000,"passed":true},{"actual":0,"check":"control: zero","expected":0,"passed":true},{"actual":0,"check":"control: negative","expected":0,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression slice-rounding 1\", \"actual\": 38, \"expected\": 38, \"passed\": true}, {\"check\": \"partial repair guard 1\", \"actual\": 137513, \"expected\": 137513, \"passed\": true}, {\"check\": \"partial repair guard 2\", \"actual\": 137578, \"expected\": 137578, \"passed\": true}, {\"check\": \"control: three brackets\", \"actual\": 680000, \"expected\": 680000, \"passed\": true}, {\"check\": \"control: at first threshold\", \"actual\": 100000, \"expected\": 100000, \"passed\": true}, {\"check\": \"control: zero\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"control: negative\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}