{"abstract":"Unearned income of a child is sheltered by the full 14600 deduction.","category":"Tax bracket computation","checks":7,"contract":"solve(earned, unearned, parent_rate): stipulated child unearned-income rule, whole dollars. Standard deduction = min(14600, max(1300, earned + 450)); taxable = max(0, earned + unearned - std). Net unearned income = max(0, unearned - 2600); the part of taxable income taxed at the parent's rate (percent string) is min(net unearned, taxable); the rest is taxed at 10%. Return integer cents half-up.","evaluation_group":"w2-tax_bracket_computation-unearned-income-parent-rate","failed_approach":"Applying the dependent formula without the 14600 cap over-deducts high-earning dependents.","family":"w2-tax_bracket_computation-unearned-income-parent-rate-dependent-deduction","id":"FA-62736","implementations":{"attempt":{"sha256":"5b88af2ad5b31e95e16987e1c5dca88d19b08e75973ccd2b6db4535a5d990e38","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(earned, unearned, parent_rate):\n    def prog(x, br):\n        tax, lower = Fraction(0), 0\n        for upper, rate in br:\n            top = x if upper is None else min(x, upper)\n            if top > lower: tax += (top - lower) * Fraction(rate) / 100\n            if upper is None or x <= upper: break\n            lower = upper\n        return tax\n    def cents(v):\n        v = v * 100\n        return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))\n    \n    std = max(1300, earned + 450)\n    taxable = max(0, earned + unearned - std)\n    net_unearned = max(0, unearned - 2600)\n    at_parent = min(net_unearned, taxable)\n    tax = at_parent * Fraction(parent_rate) / 100 + (taxable - at_parent) * Fraction(10, 100)\n    return cents(tax)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression dependent-deduction 1', (0, 5000, '32'), 89800),\n  ('regression dependent-deduction 2', (0, 2000, '32'), 7000), ('partial repair guard 1', (20000, 5000, '24'), 137600),\n  ('partial repair guard 2', (16766, 0, '32'), 21660), ('control: mixed small', (3000, 3000, '35'), 35500),\n  ('control: large trust income', (0, 60000, '37'), 2136800), ('control: earned only', (8000, 0, '22'), 0)],\n [('regression dependent-deduction 1', (3000, 3000, '35'), 35500),\n  ('regression dependent-deduction 2', (0, 60000, '37'), 2136800),\n  ('partial repair guard 1', (20000, 5000, '35'), 164000), ('partial repair guard 2', (20000, 2601, '35'), 80035),\n  ('control: earned only', (8000, 0, '22'), 0), ('control: unearned only', (0, 5000, '32'), 89800),\n  ('control: below threshold', (0, 2000, '32'), 7000), ('control: working teen', (20000, 5000, '24'), 137600)],\n [('regression dependent-deduction 1', (0, 2600, '22'), 13000),\n  ('regression dependent-deduction 2', (8000, 5662, '22'), 88864),\n  ('partial repair guard 1', (20000, 5000, '37'), 168800), ('partial repair guard 2', (15034, 2600, '24'), 30340),\n  ('control: unearned only', (0, 5000, '32'), 89800), ('control: below threshold', (0, 2000, '32'), 7000),\n  ('control: working teen', (20000, 5000, '24'), 137600), ('control: mixed small', (3000, 3000, '35'), 35500)],\n [('regression dependent-deduction 1', (1000, 60000, '22'), 1284300),\n  ('regression dependent-deduction 2', (3000, 5000, '32'), 98300),\n  ('partial repair guard 1', (23068, 60000, '37'), 2234480), ('partial repair guard 2', (20000, 60000, '32'), 1916800),\n  ('control: mixed small', (3000, 3000, '35'), 35500), ('control: large trust income', (0, 60000, '37'), 2136800),\n  ('control: earned only', (8000, 0, '22'), 0), ('control: unearned only', (0, 5000, '32'), 89800)],\n [('regression dependent-deduction 1', (3000, 1300, '24'), 8500),\n  ('regression dependent-deduction 2', (8000, 5000, '24'), 79100),\n  ('partial repair guard 1', (21025, 60000, '24'), 1467850), ('partial repair guard 2', (22321, 0, '22'), 77210),\n  ('control: unearned only', (0, 5000, '32'), 89800), ('control: below threshold', (0, 2000, '32'), 7000),\n  ('control: working teen', (20000, 5000, '24'), 137600), ('control: mixed small', (3000, 3000, '35'), 35500)]]\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":"30d9c141365e646b593f63c3a22952ab506dabfaedbfd8cc358e9733be5866e0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(earned, unearned, parent_rate):\n    def prog(x, br):\n        tax, lower = Fraction(0), 0\n        for upper, rate in br:\n            top = x if upper is None else min(x, upper)\n            if top > lower: tax += (top - lower) * Fraction(rate) / 100\n            if upper is None or x <= upper: break\n            lower = upper\n        return tax\n    def cents(v):\n        v = v * 100\n        return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))\n    \n    std = 14600\n    taxable = max(0, earned + unearned - std)\n    net_unearned = max(0, unearned - 2600)\n    at_parent = min(net_unearned, taxable)\n    tax = at_parent * Fraction(parent_rate) / 100 + (taxable - at_parent) * Fraction(10, 100)\n    return cents(tax)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression dependent-deduction 1', (0, 5000, '32'), 89800),\n  ('regression dependent-deduction 2', (0, 2000, '32'), 7000), ('partial repair guard 1', (20000, 5000, '24'), 137600),\n  ('partial repair guard 2', (16766, 0, '32'), 21660), ('control: mixed small', (3000, 3000, '35'), 35500),\n  ('control: large trust income', (0, 60000, '37'), 2136800), ('control: earned only', (8000, 0, '22'), 0)],\n [('regression dependent-deduction 1', (3000, 3000, '35'), 35500),\n  ('regression dependent-deduction 2', (0, 60000, '37'), 2136800),\n  ('partial repair guard 1', (20000, 5000, '35'), 164000), ('partial repair guard 2', (20000, 2601, '35'), 80035),\n  ('control: earned only', (8000, 0, '22'), 0), ('control: unearned only', (0, 5000, '32'), 89800),\n  ('control: below threshold', (0, 2000, '32'), 7000), ('control: working teen', (20000, 5000, '24'), 137600)],\n [('regression dependent-deduction 1', (0, 2600, '22'), 13000),\n  ('regression dependent-deduction 2', (8000, 5662, '22'), 88864),\n  ('partial repair guard 1', (20000, 5000, '37'), 168800), ('partial repair guard 2', (15034, 2600, '24'), 30340),\n  ('control: unearned only', (0, 5000, '32'), 89800), ('control: below threshold', (0, 2000, '32'), 7000),\n  ('control: working teen', (20000, 5000, '24'), 137600), ('control: mixed small', (3000, 3000, '35'), 35500)],\n [('regression dependent-deduction 1', (1000, 60000, '22'), 1284300),\n  ('regression dependent-deduction 2', (3000, 5000, '32'), 98300),\n  ('partial repair guard 1', (23068, 60000, '37'), 2234480), ('partial repair guard 2', (20000, 60000, '32'), 1916800),\n  ('control: mixed small', (3000, 3000, '35'), 35500), ('control: large trust income', (0, 60000, '37'), 2136800),\n  ('control: earned only', (8000, 0, '22'), 0), ('control: unearned only', (0, 5000, '32'), 89800)],\n [('regression dependent-deduction 1', (3000, 1300, '24'), 8500),\n  ('regression dependent-deduction 2', (8000, 5000, '24'), 79100),\n  ('partial repair guard 1', (21025, 60000, '24'), 1467850), ('partial repair guard 2', (22321, 0, '22'), 77210),\n  ('control: unearned only', (0, 5000, '32'), 89800), ('control: below threshold', (0, 2000, '32'), 7000),\n  ('control: working teen', (20000, 5000, '24'), 137600), ('control: mixed small', (3000, 3000, '35'), 35500)]]\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":"375e483b7b296e28a2a8badc4f468499339b1811d1e2c25ea08414ae06a454be","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(earned, unearned, parent_rate):\n    def prog(x, br):\n        tax, lower = Fraction(0), 0\n        for upper, rate in br:\n            top = x if upper is None else min(x, upper)\n            if top > lower: tax += (top - lower) * Fraction(rate) / 100\n            if upper is None or x <= upper: break\n            lower = upper\n        return tax\n    def cents(v):\n        v = v * 100\n        return int(v + Fraction(1, 2)) if v >= 0 else -int(-v + Fraction(1, 2))\n    \n    std = min(14600, max(1300, earned + 450))\n    taxable = max(0, earned + unearned - std)\n    net_unearned = max(0, unearned - 2600)\n    at_parent = min(net_unearned, taxable)\n    tax = at_parent * Fraction(parent_rate) / 100 + (taxable - at_parent) * Fraction(10, 100)\n    return cents(tax)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression dependent-deduction 1', (0, 5000, '32'), 89800),\n  ('regression dependent-deduction 2', (0, 2000, '32'), 7000), ('partial repair guard 1', (20000, 5000, '24'), 137600),\n  ('partial repair guard 2', (16766, 0, '32'), 21660), ('control: mixed small', (3000, 3000, '35'), 35500),\n  ('control: large trust income', (0, 60000, '37'), 2136800), ('control: earned only', (8000, 0, '22'), 0)],\n [('regression dependent-deduction 1', (3000, 3000, '35'), 35500),\n  ('regression dependent-deduction 2', (0, 60000, '37'), 2136800),\n  ('partial repair guard 1', (20000, 5000, '35'), 164000), ('partial repair guard 2', (20000, 2601, '35'), 80035),\n  ('control: earned only', (8000, 0, '22'), 0), ('control: unearned only', (0, 5000, '32'), 89800),\n  ('control: below threshold', (0, 2000, '32'), 7000), ('control: working teen', (20000, 5000, '24'), 137600)],\n [('regression dependent-deduction 1', (0, 2600, '22'), 13000),\n  ('regression dependent-deduction 2', (8000, 5662, '22'), 88864),\n  ('partial repair guard 1', (20000, 5000, '37'), 168800), ('partial repair guard 2', (15034, 2600, '24'), 30340),\n  ('control: unearned only', (0, 5000, '32'), 89800), ('control: below threshold', (0, 2000, '32'), 7000),\n  ('control: working teen', (20000, 5000, '24'), 137600), ('control: mixed small', (3000, 3000, '35'), 35500)],\n [('regression dependent-deduction 1', (1000, 60000, '22'), 1284300),\n  ('regression dependent-deduction 2', (3000, 5000, '32'), 98300),\n  ('partial repair guard 1', (23068, 60000, '37'), 2234480), ('partial repair guard 2', (20000, 60000, '32'), 1916800),\n  ('control: mixed small', (3000, 3000, '35'), 35500), ('control: large trust income', (0, 60000, '37'), 2136800),\n  ('control: earned only', (8000, 0, '22'), 0), ('control: unearned only', (0, 5000, '32'), 89800)],\n [('regression dependent-deduction 1', (3000, 1300, '24'), 8500),\n  ('regression dependent-deduction 2', (8000, 5000, '24'), 79100),\n  ('partial repair guard 1', (21025, 60000, '24'), 1467850), ('partial repair guard 2', (22321, 0, '22'), 77210),\n  ('control: unearned only', (0, 5000, '32'), 89800), ('control: below threshold', (0, 2000, '32'), 7000),\n  ('control: working teen', (20000, 5000, '24'), 137600), ('control: mixed small', (3000, 3000, '35'), 35500)]]\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-unearned-income-parent-rate-dependent-deduction","generated_at":"2026-09-29T14:47:07.377066+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":"std = min(14600, max(1300, earned + 450)).","root_cause":"The dependent limitation max(1300, earned + 450) is not applied.","sha256":"d2904c81273df487700e9cc82c6fafbe8aaab122827ef5879b8b27f1f265bb38","title":"The child receives the full standard deduction · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":46.433,"exit_code":1,"observations":[{"actual":89800,"check":"regression dependent-deduction 1","expected":89800,"passed":true},{"actual":7000,"check":"regression dependent-deduction 2","expected":7000,"passed":true},{"actual":79100,"check":"partial repair guard 1","expected":137600,"passed":false},{"actual":0,"check":"partial repair guard 2","expected":21660,"passed":false},{"actual":35500,"check":"control: mixed small","expected":35500,"passed":true},{"actual":2136800,"check":"control: large trust income","expected":2136800,"passed":true},{"actual":0,"check":"control: earned only","expected":0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression dependent-deduction 1\", \"actual\": 89800, \"expected\": 89800, \"passed\": true}, {\"check\": \"regression dependent-deduction 2\", \"actual\": 7000, \"expected\": 7000, \"passed\": true}, {\"check\": \"partial repair guard 1\", \"actual\": 79100, \"expected\": 137600, \"passed\": false}, {\"check\": \"partial repair guard 2\", \"actual\": 0, \"expected\": 21660, \"passed\": false}, {\"check\": \"control: mixed small\", \"actual\": 35500, \"expected\": 35500, \"passed\": true}, {\"check\": \"control: large trust income\", \"actual\": 2136800, \"expected\": 2136800, \"passed\": true}, {\"check\": \"control: earned only\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":45.919,"exit_code":1,"observations":[{"actual":0,"check":"regression dependent-deduction 1","expected":89800,"passed":false},{"actual":0,"check":"regression dependent-deduction 2","expected":7000,"passed":false},{"actual":137600,"check":"partial repair guard 1","expected":137600,"passed":true},{"actual":21660,"check":"partial repair guard 2","expected":21660,"passed":true},{"actual":0,"check":"control: mixed small","expected":35500,"passed":false},{"actual":1679800,"check":"control: large trust income","expected":2136800,"passed":false},{"actual":0,"check":"control: earned only","expected":0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression dependent-deduction 1\", \"actual\": 0, \"expected\": 89800, \"passed\": false}, {\"check\": \"regression dependent-deduction 2\", \"actual\": 0, \"expected\": 7000, \"passed\": false}, {\"check\": \"partial repair guard 1\", \"actual\": 137600, \"expected\": 137600, \"passed\": true}, {\"check\": \"partial repair guard 2\", \"actual\": 21660, \"expected\": 21660, \"passed\": true}, {\"check\": \"control: mixed small\", \"actual\": 0, \"expected\": 35500, \"passed\": false}, {\"check\": \"control: large trust income\", \"actual\": 1679800, \"expected\": 2136800, \"passed\": false}, {\"check\": \"control: earned only\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":45.361,"exit_code":0,"observations":[{"actual":89800,"check":"regression dependent-deduction 1","expected":89800,"passed":true},{"actual":7000,"check":"regression dependent-deduction 2","expected":7000,"passed":true},{"actual":137600,"check":"partial repair guard 1","expected":137600,"passed":true},{"actual":21660,"check":"partial repair guard 2","expected":21660,"passed":true},{"actual":35500,"check":"control: mixed small","expected":35500,"passed":true},{"actual":2136800,"check":"control: large trust income","expected":2136800,"passed":true},{"actual":0,"check":"control: earned only","expected":0,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression dependent-deduction 1\", \"actual\": 89800, \"expected\": 89800, \"passed\": true}, {\"check\": \"regression dependent-deduction 2\", \"actual\": 7000, \"expected\": 7000, \"passed\": true}, {\"check\": \"partial repair guard 1\", \"actual\": 137600, \"expected\": 137600, \"passed\": true}, {\"check\": \"partial repair guard 2\", \"actual\": 21660, \"expected\": 21660, \"passed\": true}, {\"check\": \"control: mixed small\", \"actual\": 35500, \"expected\": 35500, \"passed\": true}, {\"check\": \"control: large trust income\", \"actual\": 2136800, \"expected\": 2136800, \"passed\": true}, {\"check\": \"control: earned only\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}