FAILURE MAP
← Case archive

FA-62506 / Tax bracket computation / Open access

The first bracket rate is reported while deduction headroom remains · case 01

A filer earning below the deduction is told the next dollar is taxed at 10%.

Verified by executionVariant 1 · 7 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The zero-taxable case always reports the first bracket rate.

VERIFIED REPAIR

Report a zero marginal rate when gross is below the deduction.

Unsuccessful approach: Reporting zero only when gross is zero still quotes 10% for low earners with unused deduction.

Case contract

solve(gross, deduction, brackets): taxable = max(0, gross - deduction); tax uses the progressive slices. The marginal rate is the rate of the bracket containing taxable income with (lower, upper] semantics (income exactly at a threshold is in the lower bracket), and is '0' when gross < deduction (unused deduction absorbs the next dollar; at gross == deduction the next dollar is taxed at the first rate). The effective rate is tax / gross in basis points rounded half-up (0 when gross <= 0). Return [marginal_rate_string, effective_bps].

Why this case matters

Tax computations hinge on which slice, threshold, ordering and rounding rule applies at each step; a misplaced boundary silently misstates liabilities.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(gross, deduction, brackets):
    def prog(x, br):
        tax, lower = Fraction(0), 0
        for upper, rate in br:
            top = x if upper is None else min(x, upper)
            if top > lower: tax += (top - lower) * Fraction(rate) / 100
            if upper is None or x <= upper: break
            lower = upper
        return tax
    def cents(v):
        v = v * 100
        return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))
    
    taxable = max(0, gross - deduction)
    tax = prog(taxable, brackets)
    if False:
        marginal = '0'
    else:
        marginal = next(rate for upper, rate in brackets if upper is None or taxable <= upper)
    eff = cents(tax * 100 / gross) if gross > 0 else 0
    return [marginal, eff]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('regression unused-deduction-marginal 1', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('regression unused-deduction-marginal 2',
   (0, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('partial repair guard 2',
   (10000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: at threshold after deduction', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
  ('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
  ('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
 [('regression unused-deduction-marginal 1',
   (10000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('regression unused-deduction-marginal 2', (1000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 2',
   (13000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: five brackets',
   (123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
  ('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
 [('regression unused-deduction-marginal 1',
   (13000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('regression unused-deduction-marginal 2',
   (1000, 3000, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('partial repair guard 2', (13000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000]),
  ('control: at threshold after deduction', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
  ('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360])],
 [('regression unused-deduction-marginal 1', (13000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('regression unused-deduction-marginal 2', (1000, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 2',
   (1000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
  ('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
  ('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
 [('regression unused-deduction-marginal 1',
   (1000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('regression unused-deduction-marginal 2', (0, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 1', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 2',
   (10000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: five brackets',
   (123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
  ('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000])]]
for label, args, expected in cases[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 fixtureActualExpectedOutcome
regression unused-deduction-marginal 1['10', 0]['0', 0]Failed
regression unused-deduction-marginal 2['10', 0]['0', 0]Failed
partial repair guard 2['10', 0]['0', 0]Failed
control: at threshold after deduction['12', 842]['12', 842]Passed
control: top bracket['22', 1360]['22', 1360]Passed
control: exact first threshold['10', 1000]['10', 1000]Passed
control: deduction exactly used['10', 0]['10', 0]Passed

SHA-256 / 9c4323017bb59e03a3ff94892e0963f4c37f526d7078215eca9c927de9bc7655

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(gross, deduction, brackets):
    def prog(x, br):
        tax, lower = Fraction(0), 0
        for upper, rate in br:
            top = x if upper is None else min(x, upper)
            if top > lower: tax += (top - lower) * Fraction(rate) / 100
            if upper is None or x <= upper: break
            lower = upper
        return tax
    def cents(v):
        v = v * 100
        return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))
    
    taxable = max(0, gross - deduction)
    tax = prog(taxable, brackets)
    if gross == 0 and deduction > 0:
        marginal = '0'
    else:
        marginal = next(rate for upper, rate in brackets if upper is None or taxable <= upper)
    eff = cents(tax * 100 / gross) if gross > 0 else 0
    return [marginal, eff]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('regression unused-deduction-marginal 1', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('regression unused-deduction-marginal 2',
   (0, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('partial repair guard 2',
   (10000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: at threshold after deduction', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
  ('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
  ('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
 [('regression unused-deduction-marginal 1',
   (10000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('regression unused-deduction-marginal 2', (1000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 2',
   (13000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: five brackets',
   (123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
  ('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
 [('regression unused-deduction-marginal 1',
   (13000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('regression unused-deduction-marginal 2',
   (1000, 3000, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('partial repair guard 2', (13000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000]),
  ('control: at threshold after deduction', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
  ('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360])],
 [('regression unused-deduction-marginal 1', (13000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('regression unused-deduction-marginal 2', (1000, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 2',
   (1000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
  ('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
  ('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
 [('regression unused-deduction-marginal 1',
   (1000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('regression unused-deduction-marginal 2', (0, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 1', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 2',
   (10000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: five brackets',
   (123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
  ('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000])]]
for label, args, expected in cases[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 fixtureActualExpectedOutcome
regression unused-deduction-marginal 1['10', 0]['0', 0]Failed
regression unused-deduction-marginal 2['0', 0]['0', 0]Passed
partial repair guard 2['10', 0]['0', 0]Failed
control: at threshold after deduction['12', 842]['12', 842]Passed
control: top bracket['22', 1360]['22', 1360]Passed
control: exact first threshold['10', 1000]['10', 1000]Passed
control: deduction exactly used['10', 0]['10', 0]Passed

SHA-256 / cb6bda0f231fbc4b78cc19e767982a2cc1c638233b6d2af3935814aa79607ae9

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(gross, deduction, brackets):
    def prog(x, br):
        tax, lower = Fraction(0), 0
        for upper, rate in br:
            top = x if upper is None else min(x, upper)
            if top > lower: tax += (top - lower) * Fraction(rate) / 100
            if upper is None or x <= upper: break
            lower = upper
        return tax
    def cents(v):
        v = v * 100
        return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))
    
    taxable = max(0, gross - deduction)
    tax = prog(taxable, brackets)
    if gross < deduction:
        marginal = '0'
    else:
        marginal = next(rate for upper, rate in brackets if upper is None or taxable <= upper)
    eff = cents(tax * 100 / gross) if gross > 0 else 0
    return [marginal, eff]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[('regression unused-deduction-marginal 1', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('regression unused-deduction-marginal 2',
   (0, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('partial repair guard 2',
   (10000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: at threshold after deduction', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
  ('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
  ('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
 [('regression unused-deduction-marginal 1',
   (10000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('regression unused-deduction-marginal 2', (1000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 2',
   (13000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: five brackets',
   (123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
  ('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
 [('regression unused-deduction-marginal 1',
   (13000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('regression unused-deduction-marginal 2',
   (1000, 3000, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('partial repair guard 2', (13000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000]),
  ('control: at threshold after deduction', (54600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 842]),
  ('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360])],
 [('regression unused-deduction-marginal 1', (13000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('regression unused-deduction-marginal 2', (1000, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 2',
   (1000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: top bracket', (50000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['22', 1360]),
  ('control: exact first threshold', (10000, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 1000]),
  ('control: deduction not exhausted', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0])],
 [('regression unused-deduction-marginal 1',
   (1000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('regression unused-deduction-marginal 2', (0, 3000, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 1', (10000, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['0', 0]),
  ('partial repair guard 2',
   (10000, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['0', 0]),
  ('control: deduction exactly used', (14600, 14600, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: five brackets',
   (123456, 14600, [[11000, '10'], [44725, '12'], [95375, '22'], [182100, '24'], [None, '32.5']]), ['24', 1582]),
  ('control: zero gross', (0, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['10', 0]),
  ('control: one above threshold', (10001, 0, [[10000, '10'], [40000, '12'], [None, '22']]), ['12', 1000])]]
for label, args, expected in cases[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 fixtureActualExpectedOutcome
regression unused-deduction-marginal 1['0', 0]['0', 0]Passed
regression unused-deduction-marginal 2['0', 0]['0', 0]Passed
partial repair guard 2['0', 0]['0', 0]Passed
control: at threshold after deduction['12', 842]['12', 842]Passed
control: top bracket['22', 1360]['22', 1360]Passed
control: exact first threshold['10', 1000]['10', 1000]Passed
control: deduction exactly used['10', 0]['10', 0]Passed

SHA-256 / be20e5cce8871df142a3747417acfc80233b44b8787fc2e65f239836d4a6b64e

Verification & scope

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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:47:05.293767+00:00.

Case digest / 87580bea8c76c1216001f8ab73c6b8e0af09d8e9a65ac861fcd8cb41f8f33d33