Apply Arkansas HB1001 (2026 1st Extraordinary Session) individual income tax rate cuts#8245
Apply Arkansas HB1001 (2026 1st Extraordinary Session) individual income tax rate cuts#8245DTrim99 wants to merge 5 commits into
Conversation
…x rate cuts Updates Arkansas individual income tax rates for tax year 2026 per A.C.A. § 26-51-201(a)(4) as amended by HB1001: - Top marginal rate: 3.9% -> 3.7% (rate.yaml) - Bracket thresholds align with bill (a)(4)(A): $5,600 / $11,200 / $16,000 / $26,400 - Bracket-adjustment table (a)(4)(C) refreshed for income $94,701 - $97,600; high-income (a)(4)(B) tail value updated from $89.30 to $79.90 (reflecting $4,700 * (3.7% - 2%)) Closes PolicyEngine#8244
# Conflicts: # policyengine_us/parameters/gov/states/ar/tax/income/rates/main/rate.yaml # policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml # policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits_indiv.yaml
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8245 +/- ##
============================================
- Coverage 100.00% 70.43% -29.57%
============================================
Files 12 4737 +4725
Lines 173 68915 +68742
Branches 4 348 +344
============================================
+ Hits 173 48541 +48368
- Misses 0 20374 +20374
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
PR ReviewCross-checked the parameter values against the official HB1001 PDF (Section 1, A.C.A. § 26-51-201(a)(4)) and re-derived the reductions algebraically. The implementation is correct. Verification
Critical (Must Fix)None. Should AddressNone. Suggestions
RecommendationApprove. Math, references, and tests are solid. |
Addresses review feedback that the reference did not indicate the bill was signed. Updates the title to "Act 1 of 2026" and adds the Arkansas Legislature bill detail page as a separate reference, which shows the enactment status.
hua7450
left a comment
There was a problem hiding this comment.
Program Review — PR #8245 (Arkansas HB1001 2026 individual income tax rate cuts)
Source Documents
- PDF: Arkansas HB1001 (2026 1st Ex. Session) (4 pages — Section 1 spans pp. 1-3)
- Year: 2026
- Scope: PR changes only (rate.yaml + reduction.yaml + test YAML + changelog)
Critical (Must Fix)
None.
Should Address
- Test coverage gap — intermediate (a)(4)(C) rows untested: The (a)(4)(C) bracket-adjustment table has 30 rows from $94,701 to $97,501 (plus a $97,601+ catch-all). The PR tests only row 1 ($94,701) and row 30 ($97,501-$97,600), leaving the 28 intermediate rows untested. A typo in any intermediate row would slip through. Suggest 2-3 mid-table spot checks (e.g., $95,500, $96,500, $97,000). —
policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits_indiv.yaml
Suggestions
- Reference page number polish: Both new HB1001 references use
#page=1, but the rate table is on p. 2 and the bracket-adjustment table spans pp. 2-3. Page 1 is just the bill caption. Updating to#page=2would land readers on the relevant table. Zero functional impact. —rate.yaml,reduction.yaml - Inert (.inf) brackets inconsistent: After the (a)(4)(C) range ends, the next ~14 unreachable
.infbrackets in reduction.yaml are not updated for 2026 — they carry forward the old $89 amount from 2025 while the bottom-of-(a)(4)(C) row uses $79.90. Zero functional impact since these brackets are unreachable, but the file is internally inconsistent. Cleanup suggestion. —reduction.yaml - Pre-existing stale subsection in inherited refs (not introduced by this PR): Older references at the top of both YAML files still cite
(a)(1)(A), the pre-2024 subsection. Author could refresh while in the file, but not required. - Test case naming inconsistency (cosmetic): 10 new test cases use
AR HB1001 2026 - <desc>naming, while existing 2025 cases useCase N, description.style. Not a violation; cosmetic only.
PDF Audit Summary
| Category | Count |
|---|---|
| Confirmed correct | 40 (all audited 2026-01-01 entries) |
| Mismatches (code-path confirmed + visually verified) | 0 |
| Mismatches rejected (code-path cleared) | 0 |
| Unmodeled items | 0 |
| Pre-existing issues | 1 (stale (a)(1)(A) ref) |
Validation Summary
| Check | Result |
|---|---|
| Regulatory Accuracy | 0 issues — bill correctly reflected |
| Reference Quality | 1 polish (page number) |
| Code Patterns | 2 minor (inert brackets, stale subsection) |
| Test Coverage | 1 medium gap (intermediate (a)(4)(C) rows) |
| PDF Value Audit | 0 mismatches / 40 confirmed |
| CI Status | Mostly passing — 1 pending check, codecov/project fail (likely PR-level threshold, not real failure) |
Mathematical Verification (independently re-derived)
- $4,700 × (3.7% − 2%) = $79.90 ✓ (high-income base reduction)
- (a)(4)(A) reductions at $5,600/$11,200/$16,000/$26,400 = $112/$224/$288/$367.20 ✓ (cumulative marginal-tax derivation)
- (a)(4)(C) row 1: $290 + $79.90 = $369.90 ✓
- (a)(4)(C) row 30: $10 + $79.90 = $89.90 ✓
- All 10 new test expected values match parameter-derived results within 0.003 (margin 0.01) ✓
Review Severity: APPROVE
No critical issues. PR is narrow, accurate, well-cited, and mathematically verified.
The "Should Address" item (test gap) and suggestions are nice-to-have cleanups.
Next Steps
To apply suggested cleanups: /fix-pr 8245
…into pr/DTrim99/8245
Per Ziming's review (PR PolicyEngine#8245): - Add 3 intermediate (a)(4)(C) bracket-adjustment tests at $95,500, $96,500, and $97,000 to cover the previously-untested middle rows - Update HB1001 references to point to page 2 of the PDF (where the rate and bracket-adjustment tables live) instead of the caption page - Add 2026-01-01: 79.90 amount to 15 inert (.inf) brackets in reduction.yaml for internal consistency with the (a)(4)(B) tail
Summary
Implements Arkansas HB1001 (2026 First Extraordinary Session) Section 1, which reduces the individual income tax rates effective for tax years beginning on or after January 1, 2026. Closes #8244.
Corporate rate changes in Sections 2–3 of the bill are out of scope for this PR.
Statutory authority
A.C.A. § 26-51-201(a)(4) as amended by HB1001.
Bill schedules
(a)(4)(A) — Net income ≤ $94,700
(a)(4)(B) — Net income > $94,700
(a)(4)(C) — Bracket adjustment for net income $94,701 – $97,600
A new bracket-adjustment schedule that reduces the (a)(4)(B) tax due by amounts ranging from $290 (at $94,701 – $94,800) down to $10 (at $97,501 – $97,600), in $10 / $100 steps.
Files changed
policyengine_us/parameters/gov/states/ar/tax/income/rates/main/rate.yaml— added 2026-01-01 entries; top bracket rate 3.9% → 3.7%.policyengine_us/parameters/gov/states/ar/tax/income/rates/main/reduction.yaml— added 2026-01-01 entries to all 35 active brackets; deactivated 3 brackets that no longer apply.policyengine_us/tests/policy/baseline/gov/states/ar/tax/income/ar_income_tax_before_non_refundable_credits_indiv.yaml— added 10 integration tests covering all 2026 brackets, the (a)(4)(A)/(B) boundary, and the bracket-adjustment range.changelog.d/ar-hb1001-2026-rates.changed.md— changelog fragment.Reduction-amount derivation
PolicyEngine's AR formula is
tax = top_rate * income - reduction. Under the bill's marginal schedule the reduction at high income equals$4,700 × (3.7% − 2%) = $79.90. The reduction at each (a)(4)(C) row is the bill's bracket-adjustment plus this $79.90 base — e.g. $290 + $79.90 = $369.90 at $94,701; $10 + $79.90 = $89.90 at $97,501; $0 + $79.90 = $79.90 at $97,601 and above.For the (a)(4)(A) brackets the reduction is the cumulative impact of the lower marginal rates: $112 / $224 / $288 / $367.20 at thresholds $5,600 / $11,200 / $16,000 / $26,400 respectively.
Test plan