Add Rhode Island 2027 tax updates#8630
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8630 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 2 8 +6
Lines 36 127 +91
=========================================
+ Hits 36 127 +91
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
bfa0122 to
5918537
Compare
|
Updated the PR to address the reference issue from review. Changes:
Verification:
|
Program Review — PR #8630: Rhode Island CTC + High-Income SurtaxPR #8630 ("[codex] Add Rhode Island current-law CTC and surtax") implements two Rhode Island provisions effective in tax year 2027:
The model was validated against the enacted H 7127 Substitute A (Article 6) — not the Governor's original proposal. The dependent-exemption double-count concern was investigated and cleared: enacted Sub A removed the exemption-zeroing clause, the CTC is additive, and leaving Source Documents (H 7127 Substitute A — enacted)
References use the preferred dual-citation form (session law + codified section), and every value is strongly corroborated by authoritative RI sources (Governor McKee press release: "$330 per child… refundable… $47M to 70,000+ families"; Bloomberg Tax: "1% in tax year 2027 rising to 3% by 2029," "personal annual income over $1 million," "top bracket to 8.99%") and against the enacted Article 6 text itself. Critical (Must Fix)None. The PR is accurate and well-implemented. There are no genuine blockers.
Should Address
Suggestions
Budget Law Scan — Other Tax Provisions (per reviewer request)A full scan of the enacted H 7127 Substitute A, Article 6 ("Relating to Taxes and Fees," six sections) was performed for other household-relevant tax provisions beyond the CTC and surtax this PR claims. No Title 44 income-tax amendments exist outside Article 6. The one clear additional household-relevant gap:
Out of scope — correctly omitted (not household income-tax provisions):
Uncertain / deferred:
Bottom line: PR #8630 is reasonably scoped for what it claims. The Social Security age-gate removal is the one clear additional household-relevant provision from the same bill worth picking up (this PR or a fast follow-up). Validation Summary
Review Severity: COMMENTNo blocking issues. The PR is accurate and well-implemented; all recommendations are enhancements, not defects. CI note: The CI failures are infrastructure-related, not PR defects. The one genuine failure ("Full Suite - Rest") was a HuggingFace HTTP 429 Too Many Requests while downloading datasets (county_fips_2020.csv.gz, cps_2023.h5); the remaining "failures" were concurrency cancellations (a newer merge-ref run superseded this one). The PR's own RI CTC + surtax tests passed (Quick Feedback: "10 passed"; baseline/contrib/state shards green). Recommended action: re-run the failed/cancelled jobs once HuggingFace rate limits clear (or push an empty commit). No code change to the PR is warranted for CI. Next Steps
|
Program Review (re-review) — PR #8630: Rhode Island 2027 tax updatesThis is a follow-up review after the PR was expanded since my earlier review. The author picked up the one household-relevant gap I flagged from the budget-law scan — the Social Security subtraction age-gate removal (§ 44-30-12(c)(8)) — and also addressed prior feedback (deep-link reference anchors replacing the shared Scope of this pass: the new Social Security modification is reviewed in full against the enacted bill; the CTC and surtax are cosmetic-only this round (description rewordings, reference-anchor fixes, added tests — no value or logic changes), so their prior verdict carries forward. CI: all checks passing. Critical (Must Fix)None. The Social Security change correctly reflects enacted § 44-30-12(c)(8), and CI is green. Should Address
Suggestions
Validation Summary
Review Severity: COMMENTNo blocking issues. The Social Security addition is regulatorily correct and the PR's prior CTC/surtax work is sound. The main standards item is the hard-coded Next Steps
|
|
Addressed David's follow-up review in 298cf0a:
Local verification:
|
Program Review (re-review) — PR #8630: Rhode Island 2027 tax updatesFollow-up after Daphne's latest changes. Headline: the failing CI check is unrelated flaky infrastructure, not a code problem, and the new changes correctly address the prior review. ❓ Why is "Full Suite - Rest (Python + variables/ YAMLs)" failing?It's a transient HuggingFace rate-limit — not an actual test failure, not a timeout, and not caused by this PR.
✅ Review of the new changes — prior feedback addressed
Remaining minor / carry-forward (non-blocking)
Validation Summary
Review Severity: APPROVENo blocking issues. The failing check is transient CI infrastructure (re-run it), and Daphne's parameterization correctly resolves the prior standards finding while preserving the retirement-subtraction age gate. Remaining items are a carry-forward design question (surtax threshold uprating) and optional polish. |
Program Review — RI 2027 Tax Updates (PR #8630)This PR adds three Rhode Island personal-income-tax provisions enacted in the FY2027 budget (2026 R.I. H 7127 Substitute A as amended, Article 6 §§4–5): a new refundable Child Tax Credit (§44-30-104), a high-income surtax over $1M (§44-30-2.6), and removal of the Social Security subtraction's full-retirement-age gate (§44-30-12(c)(8)). Verdict on the three review concerns
Source Documents
Critical (Must Fix)None. No blocking defects. All parameter values match the enacted statute, citations trace to the correct version, wiring is correct (no double counts), and all local tests pass. The lone CI red — "Full Suite - Rest" — is a HuggingFace 429 (rate-limit) infrastructure flake with no RI dependency; re-running the job clears it. Should Address
Suggestions
SFO-report caveatThe SFO FY2027 report prose (p8) inverts the CTC phase-out thresholds — it reads "less than $88,500 if married filing jointly, or less than $100,000 for all other filers," which is backwards. The enacted bill text is authoritative and opposite ($88,500 single-type / $110,640 joint), and the PR correctly follows the bill text, not the SFO summary. No action needed; cite the bill, not the SFO prose, for the threshold values. Validation Summary
Review Severity: COMMENTThe PR is regulatory-accurate, standards-compliant, correctly cited, and value-clean (zero mismatches) — it is approvable on substance. Severity is COMMENT rather than a plain approve only because of constructive, non-blocking items: upgrade the CTC refundability citation (#1), add a handful of boundary/filing-status tests (#2–#4), confirm the 2027 surtax threshold stays un-indexed (#5), and rebase to clear diff noise. None of these block merge; re-run the flaky CI job before merging. |
Summary
Sources
Tests
uv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/states/ri/tax/income/credits/ctc/ri_ctc.yaml -c policyengine_usuv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/states/ri/tax/income/ri_high_earner_tax.yaml -c policyengine_usuv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/states/ri/tax/income/integration.yaml -c policyengine_usuv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/states/ri/tax/income/agi/subtractions/social_security/ri_social_security_modification_eligible.yaml -c policyengine_usuv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/states/ri/tax/income/agi/subtractions/social_security/ri_social_security_modification.yaml -c policyengine_usuv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/states/ri/tax/income/agi/subtractions/taxable_retirement_income/ri_retirement_income_subtraction_eligible.yaml -c policyengine_usuv run pytest policyengine_us/tests/test_parameter_files.pyuv run pytest policyengine_us/tests/test_system_import.pymake format