{"abstract":"A factor below one reduces thresholds, raising real tax.","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.","evaluation_group":"w2-tax_bracket_computation-threshold-inflation-indexing","failed_approach":"Guarding only against falling below the original base still lets thresholds fall from an indexed peak.","family":"w2-tax_bracket_computation-threshold-inflation-indexing-no-deflation-guard","id":"FA-62411","implementations":{"attempt":{"sha256":"b757a708c7a9ad5c6926d687ea69b6cfce5ca9cfb773e01417fbccec9a98d697","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(t, 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 no-deflation-guard 1', ([10000], ['1.02', '0.97']), [10200]),\n  ('regression no-deflation-guard 2', ([10025], ['1']), [10025]),\n  ('partial repair guard 2', ([191950, 47150, 360842], ['1.0716', '0.9901']), [205650, 50500, 386650]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400]),\n  ('control: small compounding', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('control: no years', ([11600, 47150], []), [11600, 47150]),\n  ('control: three years', ([47150, 100525, 191950], ['1.054', '1.032', '1.028']), [52700, 112400, 214600])],\n [('regression no-deflation-guard 1', ([191950, 47150, 360842], ['1.0716', '0.9901']), [205650, 50500, 386650]),\n  ('regression no-deflation-guard 2', ([11600, 609350, 609350], ['1.0650', '0.9754']), [12350, 648950, 648950]),\n  ('partial repair guard 2', ([11600], ['1.0358', '1.0752', '0.9901']), [12900]),\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 no-deflation-guard 1', ([11600], ['1.0358', '1.0752', '0.9901']), [12900]),\n  ('regression no-deflation-guard 2', ([243725], ['0.9795', '1.0047']), [243725]),\n  ('partial repair guard 1', ([10000, 243725, 243725], ['1.0568', '0.9846', '0.9825']), [10550, 257550, 257550]),\n  ('partial repair guard 2', ([191950], ['1.0175', '0.9701', '1.0078', '0.9784']), [195300]),\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 no-deflation-guard 1', ([243725], ['0.9947', '0.9867']), [243725]),\n  ('regression no-deflation-guard 2', ([10000, 243725, 243725], ['1.0568', '0.9846', '0.9825']),\n   [10550, 257550, 257550]),\n  ('partial repair guard 1', ([243725, 10000, 140645], ['1.0182', '1.0339', '0.9851', '0.9830']),\n   [256550, 10500, 148050]),\n  ('partial repair guard 2', ([47150], ['1.0333', '0.9741']), [48700]),\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 no-deflation-guard 1', ([609350], ['0.9880']), [609350]),\n  ('regression no-deflation-guard 2', ([609350], ['0.9788']), [609350]),\n  ('partial repair guard 1', ([609350, 10000, 680541], ['0.9966', '1.0113', '0.9967', '0.9988']),\n   [614100, 10050, 685850]),\n  ('partial repair guard 2', ([191950, 609350, 609350], ['1.0136', '0.9903']), [194550, 617600, 617600]),\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":"46c5d59b995bebe67e5f7678f4715ffd8d5bf694e0a9530491fda0b528e6f4f0","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 = 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 no-deflation-guard 1', ([10000], ['1.02', '0.97']), [10200]),\n  ('regression no-deflation-guard 2', ([10025], ['1']), [10025]),\n  ('partial repair guard 2', ([191950, 47150, 360842], ['1.0716', '0.9901']), [205650, 50500, 386650]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400]),\n  ('control: small compounding', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('control: no years', ([11600, 47150], []), [11600, 47150]),\n  ('control: three years', ([47150, 100525, 191950], ['1.054', '1.032', '1.028']), [52700, 112400, 214600])],\n [('regression no-deflation-guard 1', ([191950, 47150, 360842], ['1.0716', '0.9901']), [205650, 50500, 386650]),\n  ('regression no-deflation-guard 2', ([11600, 609350, 609350], ['1.0650', '0.9754']), [12350, 648950, 648950]),\n  ('partial repair guard 2', ([11600], ['1.0358', '1.0752', '0.9901']), [12900]),\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 no-deflation-guard 1', ([11600], ['1.0358', '1.0752', '0.9901']), [12900]),\n  ('regression no-deflation-guard 2', ([243725], ['0.9795', '1.0047']), [243725]),\n  ('partial repair guard 1', ([10000, 243725, 243725], ['1.0568', '0.9846', '0.9825']), [10550, 257550, 257550]),\n  ('partial repair guard 2', ([191950], ['1.0175', '0.9701', '1.0078', '0.9784']), [195300]),\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 no-deflation-guard 1', ([243725], ['0.9947', '0.9867']), [243725]),\n  ('regression no-deflation-guard 2', ([10000, 243725, 243725], ['1.0568', '0.9846', '0.9825']),\n   [10550, 257550, 257550]),\n  ('partial repair guard 1', ([243725, 10000, 140645], ['1.0182', '1.0339', '0.9851', '0.9830']),\n   [256550, 10500, 148050]),\n  ('partial repair guard 2', ([47150], ['1.0333', '0.9741']), [48700]),\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 no-deflation-guard 1', ([609350], ['0.9880']), [609350]),\n  ('regression no-deflation-guard 2', ([609350], ['0.9788']), [609350]),\n  ('partial repair guard 1', ([609350, 10000, 680541], ['0.9966', '1.0113', '0.9967', '0.9988']),\n   [614100, 10050, 685850]),\n  ('partial repair guard 2', ([191950, 609350, 609350], ['1.0136', '0.9903']), [194550, 617600, 617600]),\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"},"fixed":{"sha256":"c0660920492b84900fa82038f200ff05e7c6d6a9982abc14c107ef78b1bba901","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 no-deflation-guard 1', ([10000], ['1.02', '0.97']), [10200]),\n  ('regression no-deflation-guard 2', ([10025], ['1']), [10025]),\n  ('partial repair guard 2', ([191950, 47150, 360842], ['1.0716', '0.9901']), [205650, 50500, 386650]),\n  ('control: two years', ([10000, 40000], ['1.031', '1.029']), [10600, 42400]),\n  ('control: small compounding', ([10000], ['1.0049', '1.0049']), [10050]),\n  ('control: no years', ([11600, 47150], []), [11600, 47150]),\n  ('control: three years', ([47150, 100525, 191950], ['1.054', '1.032', '1.028']), [52700, 112400, 214600])],\n [('regression no-deflation-guard 1', ([191950, 47150, 360842], ['1.0716', '0.9901']), [205650, 50500, 386650]),\n  ('regression no-deflation-guard 2', ([11600, 609350, 609350], ['1.0650', '0.9754']), [12350, 648950, 648950]),\n  ('partial repair guard 2', ([11600], ['1.0358', '1.0752', '0.9901']), [12900]),\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 no-deflation-guard 1', ([11600], ['1.0358', '1.0752', '0.9901']), [12900]),\n  ('regression no-deflation-guard 2', ([243725], ['0.9795', '1.0047']), [243725]),\n  ('partial repair guard 1', ([10000, 243725, 243725], ['1.0568', '0.9846', '0.9825']), [10550, 257550, 257550]),\n  ('partial repair guard 2', ([191950], ['1.0175', '0.9701', '1.0078', '0.9784']), [195300]),\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 no-deflation-guard 1', ([243725], ['0.9947', '0.9867']), [243725]),\n  ('regression no-deflation-guard 2', ([10000, 243725, 243725], ['1.0568', '0.9846', '0.9825']),\n   [10550, 257550, 257550]),\n  ('partial repair guard 1', ([243725, 10000, 140645], ['1.0182', '1.0339', '0.9851', '0.9830']),\n   [256550, 10500, 148050]),\n  ('partial repair guard 2', ([47150], ['1.0333', '0.9741']), [48700]),\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 no-deflation-guard 1', ([609350], ['0.9880']), [609350]),\n  ('regression no-deflation-guard 2', ([609350], ['0.9788']), [609350]),\n  ('partial repair guard 1', ([609350, 10000, 680541], ['0.9966', '1.0113', '0.9967', '0.9988']),\n   [614100, 10050, 685850]),\n  ('partial repair guard 2', ([191950, 609350, 609350], ['1.0136', '0.9903']), [194550, 617600, 617600]),\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-no-deflation-guard","generated_at":"2026-09-29T14:47:04.395078+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":"Keep the larger of the new value and the previous year's threshold.","root_cause":"Each year's value overwrites the previous one without a max().","sha256":"e8b7815c60c2dd852e091ac27f28d5881bc58e215b342cad6b9afa19fe2afe9d","title":"A deflationary year lowers the bracket thresholds · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.231,"exit_code":1,"observations":[{"actual":[10000],"check":"regression no-deflation-guard 1","expected":[10200],"passed":false},{"actual":[10025],"check":"regression no-deflation-guard 2","expected":[10025],"passed":true},{"actual":[203650,50000,382850],"check":"partial repair guard 2","expected":[205650,50500,386650],"passed":false},{"actual":[10600,42400],"check":"control: two years","expected":[10600,42400],"passed":true},{"actual":[10050],"check":"control: small compounding","expected":[10050],"passed":true},{"actual":[11600,47150],"check":"control: no years","expected":[11600,47150],"passed":true},{"actual":[52700,112400,214600],"check":"control: three years","expected":[52700,112400,214600],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression no-deflation-guard 1\", \"actual\": [10000], \"expected\": [10200], \"passed\": false}, {\"check\": \"regression no-deflation-guard 2\", \"actual\": [10025], \"expected\": [10025], \"passed\": true}, {\"check\": \"partial repair guard 2\", \"actual\": [203650, 50000, 382850], \"expected\": [205650, 50500, 386650], \"passed\": false}, {\"check\": \"control: two years\", \"actual\": [10600, 42400], \"expected\": [10600, 42400], \"passed\": true}, {\"check\": \"control: small compounding\", \"actual\": [10050], \"expected\": [10050], \"passed\": true}, {\"check\": \"control: no years\", \"actual\": [11600, 47150], \"expected\": [11600, 47150], \"passed\": true}, {\"check\": \"control: three years\", \"actual\": [52700, 112400, 214600], \"expected\": [52700, 112400, 214600], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.48,"exit_code":1,"observations":[{"actual":[9850],"check":"regression no-deflation-guard 1","expected":[10200],"passed":false},{"actual":[10000],"check":"regression no-deflation-guard 2","expected":[10025],"passed":false},{"actual":[203650,50000,382850],"check":"partial repair guard 2","expected":[205650,50500,386650],"passed":false},{"actual":[10600,42400],"check":"control: two years","expected":[10600,42400],"passed":true},{"actual":[10050],"check":"control: small compounding","expected":[10050],"passed":true},{"actual":[11600,47150],"check":"control: no years","expected":[11600,47150],"passed":true},{"actual":[52700,112400,214600],"check":"control: three years","expected":[52700,112400,214600],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression no-deflation-guard 1\", \"actual\": [9850], \"expected\": [10200], \"passed\": false}, {\"check\": \"regression no-deflation-guard 2\", \"actual\": [10000], \"expected\": [10025], \"passed\": false}, {\"check\": \"partial repair guard 2\", \"actual\": [203650, 50000, 382850], \"expected\": [205650, 50500, 386650], \"passed\": false}, {\"check\": \"control: two years\", \"actual\": [10600, 42400], \"expected\": [10600, 42400], \"passed\": true}, {\"check\": \"control: small compounding\", \"actual\": [10050], \"expected\": [10050], \"passed\": true}, {\"check\": \"control: no years\", \"actual\": [11600, 47150], \"expected\": [11600, 47150], \"passed\": true}, {\"check\": \"control: three years\", \"actual\": [52700, 112400, 214600], \"expected\": [52700, 112400, 214600], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.278,"exit_code":0,"observations":[{"actual":[10200],"check":"regression no-deflation-guard 1","expected":[10200],"passed":true},{"actual":[10025],"check":"regression no-deflation-guard 2","expected":[10025],"passed":true},{"actual":[205650,50500,386650],"check":"partial repair guard 2","expected":[205650,50500,386650],"passed":true},{"actual":[10600,42400],"check":"control: two years","expected":[10600,42400],"passed":true},{"actual":[10050],"check":"control: small compounding","expected":[10050],"passed":true},{"actual":[11600,47150],"check":"control: no years","expected":[11600,47150],"passed":true},{"actual":[52700,112400,214600],"check":"control: three years","expected":[52700,112400,214600],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression no-deflation-guard 1\", \"actual\": [10200], \"expected\": [10200], \"passed\": true}, {\"check\": \"regression no-deflation-guard 2\", \"actual\": [10025], \"expected\": [10025], \"passed\": true}, {\"check\": \"partial repair guard 2\", \"actual\": [205650, 50500, 386650], \"expected\": [205650, 50500, 386650], \"passed\": true}, {\"check\": \"control: two years\", \"actual\": [10600, 42400], \"expected\": [10600, 42400], \"passed\": true}, {\"check\": \"control: small compounding\", \"actual\": [10050], \"expected\": [10050], \"passed\": true}, {\"check\": \"control: no years\", \"actual\": [11600, 47150], \"expected\": [11600, 47150], \"passed\": true}, {\"check\": \"control: three years\", \"actual\": [52700, 112400, 214600], \"expected\": [52700, 112400, 214600], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}