Skip to content

Fix Rhode Island 2026 income tax parameters - #9163

Open
PavelMakarchuk wants to merge 1 commit into
mainfrom
fix/ri-2026-income-tax-parameters
Open

Fix Rhode Island 2026 income tax parameters#9163
PavelMakarchuk wants to merge 1 commit into
mainfrom
fix/ri-2026-income-tax-parameters

Conversation

@PavelMakarchuk

@PavelMakarchuk PavelMakarchuk commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add the official TY2026 Rhode Island personal-income-tax bracket thresholds from Division of Taxation Advisory ADV 2025-22
  • add the advisory’s 2026 exemption amount and standard-deduction/exemption phase-out values
  • pin schedule and phase-out boundary behavior with focused tests
  • update six ordinary 2027 expectations because their uprating projection now starts from the official 2026 bracket anchor

This corrects the underlying PolicyEngine parameter tree; it does not add an oracle-specific override or case-based workaround.

Official source: https://tax.ri.gov/sites/g/files/xkgbur541/files/2025-11/ADV_2025_22_Inflation_Adjustments.pdf

Checks

  • UV_NO_SYNC=1 make format
  • pytest -c pyproject.toml -q policyengine_us/tests/core/test_state_indexed_frozen_parameters.py (28 passed)
  • full policyengine-core test policyengine_us/tests/policy/baseline/gov/states/ri/tax/income -c policyengine_us with parent pytest config isolated (161 passed before adding six additional boundary cases)
  • focused new exemption and standard-deduction phase-out cases (23 passed total in the two files)
  • contributed RI high-earner reform fixture (4 passed)
  • independent review after the CI-driven fixture update: clean, no actionable findings

No partner contract test was changed.

@PavelMakarchuk
PavelMakarchuk requested a review from MaxGhenis July 28, 2026 03:57
@PavelMakarchuk
PavelMakarchuk force-pushed the fix/ri-2026-income-tax-parameters branch from 811711e to 121ff34 Compare July 28, 2026 04:10
@PavelMakarchuk

Copy link
Copy Markdown
Collaborator Author

@MaxGhenis This is ready for maintainer review: the exact head 121ff347f1 is 31/31 green, including the CI-discovered contributed RI reform fixture, and the post-fix independent review found no actionable issues.

@DTrim99

DTrim99 commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Program Review — PR #9163 (Fix Rhode Island 2026 income tax parameters)

Author: PavelMakarchuk · Fixes RI TY2026 parameter tree

Source Documents

  • RI Division of Taxation Advisory ADV 2025-22 — "Inflation Adjustments for Tax Year 2026" (Nov 3 2025) · PDF

Branch Status

⚠ PR branch is 6 commits behind main (1 ahead). Minor; review was scoped to the merge-base diff.

Summary

Clean, correct TY2026 value update. 0 critical, 0 should-address. All six RI 2026 parameter files exactly match ADV 2025-22, correctly dated at 2026-01-01 with no prior-year value disturbed, correctly referenced with accurate file-page anchors, and the RI 3-bracket schedule is structurally unchanged (values only). CI green (31/31).

PDF / value audit — every 2026 figure matches ADV 2025-22

Parameter PR value ADV 2025-22
Rate bracket thresholds 82,050 / 186,450 $82,050 / $186,450 (p.2 schedule)
Rates 0.0375 / 0.0475 / 0.0599 (unchanged) 3.75 / 4.75 / 5.99%
Personal exemption 5,250 $5,250 (p.1)
Std-deduction phase-out start / increment 261,000 / 7,450 $261,000 / $7,450 (p.1)
Exemption reduction start / increment 261,000 / 7,450 shared $261,000 / $7,450 range

Base-tax cross-checks against the advisory's printed "Pay" column reproduce exactly (0.0375×82,050 = $3,076.88; +0.0475×(186,450−82,050) = $8,035.88). The phase-out width 29,800 = 4×7,450 (clean 5-step 20%/step) matches RI's single combined std-deduction+exemption range (RIGL 44-30-2.6). No mismatches.

The 2027 uprating changes are legitimate (not masking)

The PR reworks six 2027 expectations because adding the official 2026 anchor (82,050 / 186,450) makes the Chained-CPI uprater re-project 2027 off 2026 → 84,450 / 192,000 (rounded down to $50), replacing the old projection off 2025. The effect is a uniform −12.18 baseline-tax shift — verified from first principles: 350×(0.0475−0.0375) + 700×(0.0599−0.0475) = $12.18. All six recomputes reproduce exactly, inline comments were updated to match, and the surtax legs (independent of the rate schedule) are correctly unchanged.

Critical (Must Fix)

None.

Should Address

None.

Suggestions (optional)

  • Test hardening (non-blocking): the top marginal knee (186,450) is only pinned indirectly via the 200,000 case — an explicit 186_4508,035.875 and 186_451 pair would pin it directly; and a full-household 2026 integration case (analogous to the existing 2025 ones) would prove standard-deduction + exemption + brackets compose end-to-end (2026 coverage is currently component-level).
  • Cosmetic: a couple of test expected values carry trailing zeros (3_929.503_929.5); parameter values are all correctly formatted.
  • Confirm programs.yaml RI verified_years is extended to include 2026 now that official values + tests are in place (out of the six-file scope).
  • Editorial: .fixed changelog type is defensible (correcting frozen 2026 brackets); .added would also be reasonable given the new-year coverage.

Validation Summary

Check Result
Regulatory / Value Audit All 6 values exact-match ADV 2025-22; base-tax + phase-out cross-checks reproduce; 0 mismatches
Reference Quality ADV 2025-22 cited on each param with correct file-page anchors (#page=1/#page=2); prior refs preserved
Code Patterns 0 critical / 0 should — clean 2026-01-01 keys, prior years intact, frozen-parameter test aligned, changelog correct
Test Coverage Bracket + phase-out boundaries pinned (start / start+1 / full); six 2027 recomputes verified legitimate; minor optional gaps
CI Status Passing (31/31)

Review Severity: APPROVE

An exemplary, fully-sourced 2026 value update: every figure verified against ADV 2025-22, correct dating/references, and the 2027 test churn is the correct downstream effect of re-anchoring the CPI uprater on official values. No blocking or should-address items — only optional test-hardening and cosmetic notes. A rebase off the 6-commit lag before merge is the only housekeeping.

Review generated with Claude Code via /review-program

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants