Found by a systematic sweep for the parameter backward-leak bug class (same mechanism as #9008 and #9022: policyengine-core backfills each bracket's first value to the start of the timeline).
In parameters/gov/states/ar/tax/income/rates/low_income_tax_tables/joint/two_or_more_dependents.yaml, four brackets are first defined at 2024-01-01/2025-01-01 over a table whose other rows exist from 2021. Two of them carry finite amounts, which backfill to earlier instants:
threshold {2024: 35_000, 2025: 35_801}, amount {2024: 765, 2025: 769} → resolves to (35,000 → $765) at 2021–2023 instants
threshold {2025: 36_001}, amount {2025: 790} → resolves to (36,001 → $790) at 2021–2024 instants
The published Arkansas low-income tax tables end far lower in those years (verbatim from the DFA tables):
2021 (last row): "$32,101 $32,200 — $945", then "Above $32,200 use Standard or Itemized Deductions and Regular Income Tax Table"
2022 (last row): "$33,001 $33,100 — $769", then "Above $33,100 …"
2023: "Above $34,100 …"
2024 (last row): "$35,001 $35,100 — $765", then "Above $35,100 …"
So PE grants spurious low-income-table eligibility windows at AGI $35,001–$35,100 and $36,002–$36,101 in TY2021–2023 (and $36,002–$36,101 in TY2024), using the TY2024/TY2025 amounts.
Worked example (verified end-to-end in Simulation): TY2021, MFJ, 2 dependents, wages $35,050 → PE ar_income_tax $649 via a leaked table amount of $765, where the correct computation uses the regular table (taxable $30,650; DFA 2021 bracket card row, verbatim: "$23,600 $39,699 — 5.0% minus $439.96" → 0.05 × 30,650 − 439.96 = $1,092.54 before credits). The leak is also non-monotonic: wages $34,900 → PE $969.04, so a $150 raise cuts AR tax by $320.
Fix: add explicit 2021-01-01: .inf to the threshold and amount of all four late brackets, so pre-2024 (and, for the 2025-only rows, 2024) incomes above the published cutoff fall through to the regular table.
Integration test:
- name: AR 2021 MFJ with two dependents above the low-income table cutoff uses the regular table (pe-us backward-leak sweep)
period: 2021
absolute_error_margin: 1
input:
people:
head: {age: 40, employment_income: 35_050}
spouse: {age: 40}
child1: {age: 10}
child2: {age: 8}
tax_units:
tax_unit: {members: [head, spouse, child1, child2]}
households:
household: {members: [head, spouse, child1, child2], state_code: AR}
output:
# 2021 low-income table ends at $32,200 ("Above $32,200 use ... Regular Income Tax Table");
# regular table: 0.05 x 30,650 - 439.96 = 1,092.54
ar_income_tax_before_non_refundable_credits_joint: [1_092.54, 0, 0, 0]
(plus a monotonicity companion at wages $34,900.)
Found by a systematic sweep for the parameter backward-leak bug class (same mechanism as #9008 and #9022: policyengine-core backfills each bracket's first value to the start of the timeline).
In
parameters/gov/states/ar/tax/income/rates/low_income_tax_tables/joint/two_or_more_dependents.yaml, four brackets are first defined at2024-01-01/2025-01-01over a table whose other rows exist from 2021. Two of them carry finite amounts, which backfill to earlier instants:threshold {2024: 35_000, 2025: 35_801}, amount {2024: 765, 2025: 769}→ resolves to(35,000 → $765)at 2021–2023 instantsthreshold {2025: 36_001}, amount {2025: 790}→ resolves to(36,001 → $790)at 2021–2024 instantsThe published Arkansas low-income tax tables end far lower in those years (verbatim from the DFA tables):
So PE grants spurious low-income-table eligibility windows at AGI $35,001–$35,100 and $36,002–$36,101 in TY2021–2023 (and $36,002–$36,101 in TY2024), using the TY2024/TY2025 amounts.
Worked example (verified end-to-end in Simulation): TY2021, MFJ, 2 dependents, wages $35,050 → PE
ar_income_tax$649 via a leaked table amount of $765, where the correct computation uses the regular table (taxable $30,650; DFA 2021 bracket card row, verbatim: "$23,600 $39,699 — 5.0% minus $439.96" → 0.05 × 30,650 − 439.96 = $1,092.54 before credits). The leak is also non-monotonic: wages $34,900 → PE $969.04, so a $150 raise cuts AR tax by $320.Fix: add explicit
2021-01-01: .infto the threshold and amount of all four late brackets, so pre-2024 (and, for the 2025-only rows, 2024) incomes above the published cutoff fall through to the regular table.Integration test:
(plus a monotonicity companion at wages $34,900.)