{"abstract":"Thresholds reflect one year of inflation after several years of indexing.","category":"Tax bracket computation","checks":7,"contract":"solve(base, factors): base is a list of statutory thresholds; factors are yearly inflation factors (decimal strings). For every year, a threshold is the base times the cumulative product of factors so far, rounded DOWN to a multiple of 50 (indexing always starts again from the unrounded base, never from a previously rounded value). A threshold may never fall below its previous year's value. Return the final-year thresholds.","contract_signature":"base, factors","evaluation_group":"w2-tax_bracket_computation-threshold-inflation-indexing","failed_approach":"Adding the yearly inflation rates instead of multiplying the factors ignores compounding.","family":"w2-tax_bracket_computation-threshold-inflation-indexing-cumulative-factor","id":"FA-62416","implementations":{"attempt":{"sha256":"5cc33de676261159f20424dc4a16a0599f372a05202ce6f5d29d28961929fcee","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN, ROUND_FLOOR, ROUND_CEILING, ROUND_DOWN\nN = 1\nobservations = []\ndef solve(base, factors):\n    out = []\n    for t in base:\n        cum, prev = Decimal(1), t\n        for f in factors:\n            cum += Decimal(f) - 1\n            v = int((t * cum / 50).to_integral_value(rounding=ROUND_FLOOR)) * 50\n            prev = max(prev, v)\n        out.append(prev)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression cumulative-factor 1', ([10000, 40000], ['1.031', '1.029']), [10600, 42400]),\n  ('regression cumulative-factor 2', ([47150, 100525, 191950], ['1.054', '1.032', '1.028']), [52700, 112400, 214600]),\n  ('partial repair guard 2', ([47150, 47150, 609350], ['0.9826', '1.0776']), [49900, 49900, 645200]),\n  ('control: small compounding', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('control: deflation year', ([10000], ['1.02', '0.97']), [10200]),\n  ('control: unrounded base', ([10025], ['1']), [10025]), ('control: no years', ([11600, 47150], []), [11600, 47150])],\n [('regression cumulative-factor 1', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('regression cumulative-factor 2', ([47150, 47150, 609350], ['0.9826', '1.0776']), [49900, 49900, 645200]),\n  ('partial repair guard 1', ([243725, 11600], ['0.9717', '1.0752']), [254600, 12100]),\n  ('partial repair guard 2', ([102361], ['0.9751', '1.0398']), [103750]),\n  ('control: unrounded base', ([10025], ['1']), [10025]), ('control: no years', ([11600, 47150], []), [11600, 47150]),\n  ('control: three years', ([47150, 100525, 191950], ['1.054', '1.032', '1.028']), [52700, 112400, 214600]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400])],\n [('regression cumulative-factor 1', ([243725, 11600], ['0.9717', '1.0752']), [254600, 12100]),\n  ('regression cumulative-factor 2', ([102361], ['0.9751', '1.0398']), [103750]),\n  ('partial repair guard 1', ([11600], ['0.9966', '1.0602', '1.0714', '1.0361', '1.0508']), [14250]),\n  ('partial repair guard 2', ([10000, 47150, 191950], ['1.0605', '1.0510', '0.9809', '1.0498']),\n   [11450, 54100, 220300]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400]),\n  ('control: small compounding', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('control: deflation year', ([10000], ['1.02', '0.97']), [10200]),\n  ('control: unrounded base', ([10025], ['1']), [10025])],\n [('regression cumulative-factor 1', ([11600], ['1.0439', '0.9870', '1.0302']), [12300]),\n  ('regression cumulative-factor 2', ([11600], ['0.9966', '1.0602', '1.0714', '1.0361', '1.0508']), [14250]),\n  ('partial repair guard 1', ([11600, 243725], ['1.0641', '1.0478', '0.9707', '1.0624', '1.0640']), [14150, 298150]),\n  ('partial repair guard 2', ([243725], ['1.0800', '1.0031', '1.0633', '0.9916', '1.0198']), [283900]),\n  ('control: unrounded base', ([10025], ['1']), [10025]), ('control: no years', ([11600, 47150], []), [11600, 47150]),\n  ('control: three years', ([47150, 100525, 191950], ['1.054', '1.032', '1.028']), [52700, 112400, 214600]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400])],\n [('regression cumulative-factor 1', ([10000, 47150, 191950], ['1.0605', '1.0510', '0.9809', '1.0498']),\n   [11450, 54100, 220300]),\n  ('regression cumulative-factor 2', ([11600, 243725], ['1.0641', '1.0478', '0.9707', '1.0624', '1.0640']),\n   [14150, 298150]),\n  ('partial repair guard 1', ([11600], ['1.0358', '1.0752', '0.9901']), [12900]),\n  ('partial repair guard 2', ([100525], ['1.0728', '1.0514', '1.0627', '1.0085', '1.0002']), [121500]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400]),\n  ('control: small compounding', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('control: deflation year', ([10000], ['1.02', '0.97']), [10200]),\n  ('control: unrounded base', ([10025], ['1']), [10025])]]\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":"2e62a90bef1dcc4e5138e7fe193593ea3ae1b4c18b3a2c1c00bd5fb6092ce8f1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_HALF_EVEN, ROUND_FLOOR, ROUND_CEILING, ROUND_DOWN\nN = 1\nobservations = []\ndef solve(base, factors):\n    out = []\n    for t in base:\n        cum, prev = Decimal(1), t\n        for f in factors:\n            cum = Decimal(f)\n            v = int((t * cum / 50).to_integral_value(rounding=ROUND_FLOOR)) * 50\n            prev = max(prev, v)\n        out.append(prev)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('regression cumulative-factor 1', ([10000, 40000], ['1.031', '1.029']), [10600, 42400]),\n  ('regression cumulative-factor 2', ([47150, 100525, 191950], ['1.054', '1.032', '1.028']), [52700, 112400, 214600]),\n  ('partial repair guard 2', ([47150, 47150, 609350], ['0.9826', '1.0776']), [49900, 49900, 645200]),\n  ('control: small compounding', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('control: deflation year', ([10000], ['1.02', '0.97']), [10200]),\n  ('control: unrounded base', ([10025], ['1']), [10025]), ('control: no years', ([11600, 47150], []), [11600, 47150])],\n [('regression cumulative-factor 1', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('regression cumulative-factor 2', ([47150, 47150, 609350], ['0.9826', '1.0776']), [49900, 49900, 645200]),\n  ('partial repair guard 1', ([243725, 11600], ['0.9717', '1.0752']), [254600, 12100]),\n  ('partial repair guard 2', ([102361], ['0.9751', '1.0398']), [103750]),\n  ('control: unrounded base', ([10025], ['1']), [10025]), ('control: no years', ([11600, 47150], []), [11600, 47150]),\n  ('control: three years', ([47150, 100525, 191950], ['1.054', '1.032', '1.028']), [52700, 112400, 214600]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400])],\n [('regression cumulative-factor 1', ([243725, 11600], ['0.9717', '1.0752']), [254600, 12100]),\n  ('regression cumulative-factor 2', ([102361], ['0.9751', '1.0398']), [103750]),\n  ('partial repair guard 1', ([11600], ['0.9966', '1.0602', '1.0714', '1.0361', '1.0508']), [14250]),\n  ('partial repair guard 2', ([10000, 47150, 191950], ['1.0605', '1.0510', '0.9809', '1.0498']),\n   [11450, 54100, 220300]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400]),\n  ('control: small compounding', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('control: deflation year', ([10000], ['1.02', '0.97']), [10200]),\n  ('control: unrounded base', ([10025], ['1']), [10025])],\n [('regression cumulative-factor 1', ([11600], ['1.0439', '0.9870', '1.0302']), [12300]),\n  ('regression cumulative-factor 2', ([11600], ['0.9966', '1.0602', '1.0714', '1.0361', '1.0508']), [14250]),\n  ('partial repair guard 1', ([11600, 243725], ['1.0641', '1.0478', '0.9707', '1.0624', '1.0640']), [14150, 298150]),\n  ('partial repair guard 2', ([243725], ['1.0800', '1.0031', '1.0633', '0.9916', '1.0198']), [283900]),\n  ('control: unrounded base', ([10025], ['1']), [10025]), ('control: no years', ([11600, 47150], []), [11600, 47150]),\n  ('control: three years', ([47150, 100525, 191950], ['1.054', '1.032', '1.028']), [52700, 112400, 214600]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400])],\n [('regression cumulative-factor 1', ([10000, 47150, 191950], ['1.0605', '1.0510', '0.9809', '1.0498']),\n   [11450, 54100, 220300]),\n  ('regression cumulative-factor 2', ([11600, 243725], ['1.0641', '1.0478', '0.9707', '1.0624', '1.0640']),\n   [14150, 298150]),\n  ('partial repair guard 1', ([11600], ['1.0358', '1.0752', '0.9901']), [12900]),\n  ('partial repair guard 2', ([100525], ['1.0728', '1.0514', '1.0627', '1.0085', '1.0002']), [121500]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400]),\n  ('control: small compounding', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('control: deflation year', ([10000], ['1.02', '0.97']), [10200]),\n  ('control: unrounded base', ([10025], ['1']), [10025])]]\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-threshold-inflation-indexing-cumulative-factor","generated_at":"2026-09-29T14:47:04.483890+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.","root_cause":"The cumulative product is replaced by the current year's factor.","sha256":"7b6008f6c2e30edf3e00d442b72441fa427546448861291b7a4ed435525e9c83","title":"Only the latest yearly factor is applied to the base · 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":41.525,"exit_code":1,"observations":[{"actual":[10600,42400],"check":"regression cumulative-factor 1","expected":[10600,42400],"passed":true},{"actual":[52500,111950,213800],"check":"regression cumulative-factor 2","expected":[52700,112400,214600],"passed":false},{"actual":[49950,49950,646000],"check":"partial repair guard 2","expected":[49900,49900,645200],"passed":false},{"actual":[10050],"check":"control: small compounding","expected":[10050],"passed":true},{"actual":[10200],"check":"control: deflation year","expected":[10200],"passed":true},{"actual":[10025],"check":"control: unrounded base","expected":[10025],"passed":true},{"actual":[11600,47150],"check":"control: no years","expected":[11600,47150],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression cumulative-factor 1\", \"actual\": [10600, 42400], \"expected\": [10600, 42400], \"passed\": true}, {\"check\": \"regression cumulative-factor 2\", \"actual\": [52500, 111950, 213800], \"expected\": [52700, 112400, 214600], \"passed\": false}, {\"check\": \"partial repair guard 2\", \"actual\": [49950, 49950, 646000], \"expected\": [49900, 49900, 645200], \"passed\": false}, {\"check\": \"control: small compounding\", \"actual\": [10050], \"expected\": [10050], \"passed\": true}, {\"check\": \"control: deflation year\", \"actual\": [10200], \"expected\": [10200], \"passed\": true}, {\"check\": \"control: unrounded base\", \"actual\": [10025], \"expected\": [10025], \"passed\": true}, {\"check\": \"control: no years\", \"actual\": [11600, 47150], \"expected\": [11600, 47150], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.817,"exit_code":1,"observations":[{"actual":[10300,41200],"check":"regression cumulative-factor 1","expected":[10600,42400],"passed":false},{"actual":[49650,105950,202300],"check":"regression cumulative-factor 2","expected":[52700,112400,214600],"passed":false},{"actual":[50800,50800,656600],"check":"partial repair guard 2","expected":[49900,49900,645200],"passed":false},{"actual":[10000],"check":"control: small compounding","expected":[10050],"passed":false},{"actual":[10200],"check":"control: deflation year","expected":[10200],"passed":true},{"actual":[10025],"check":"control: unrounded base","expected":[10025],"passed":true},{"actual":[11600,47150],"check":"control: no years","expected":[11600,47150],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression cumulative-factor 1\", \"actual\": [10300, 41200], \"expected\": [10600, 42400], \"passed\": false}, {\"check\": \"regression cumulative-factor 2\", \"actual\": [49650, 105950, 202300], \"expected\": [52700, 112400, 214600], \"passed\": false}, {\"check\": \"partial repair guard 2\", \"actual\": [50800, 50800, 656600], \"expected\": [49900, 49900, 645200], \"passed\": false}, {\"check\": \"control: small compounding\", \"actual\": [10000], \"expected\": [10050], \"passed\": false}, {\"check\": \"control: deflation year\", \"actual\": [10200], \"expected\": [10200], \"passed\": true}, {\"check\": \"control: unrounded base\", \"actual\": [10025], \"expected\": [10025], \"passed\": true}, {\"check\": \"control: no years\", \"actual\": [11600, 47150], \"expected\": [11600, 47150], \"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."}}