Skip to content

Cap self-employed pension contributions at the section 415(c) limit#8419

Merged
MaxGhenis merged 1 commit into
mainfrom
enforce-self-employed-pension-limit
May 24, 2026
Merged

Cap self-employed pension contributions at the section 415(c) limit#8419
MaxGhenis merged 1 commit into
mainfrom
enforce-self-employed-pension-limit

Conversation

@MaxGhenis
Copy link
Copy Markdown
Contributor

@MaxGhenis MaxGhenis commented May 24, 2026

Fixes #8389.

Summary

  • add self_employed_pension_contribution_limit as the lesser of the section 415(c) annual additions dollar limit and modeled self-employment compensation
  • add capped_self_employed_pension_contributions and route the self-employed pension ALD through it
  • route Saver's Credit and Utah homeowner/renter relief nontaxable income through the capped self-employed pension value
  • keep regular IRA contributions outside section 415(c), and avoid applying a person-wide annual-additions pool to unrelated 401(k)/403(b) elective deferrals
  • narrow the DC PTC non-DC regression so it only asserts dc_ptc is zero outside DC, rather than asserting other states have no property tax credits

Verification

  • uv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/household/expense/retirement/self_employed_pension_contribution_limit.yaml policyengine_us/tests/policy/baseline/gov/irs/credits/retirement_saving/savers_credit_qualified_contributions.yaml policyengine_us/tests/policy/baseline/gov/states/ut/tax/property/homeowner_renter_relief/ut_homeowner_renter_relief.yaml policyengine_us/tests/policy/baseline/gov/irs/income/taxable_income/adjusted_gross_income/above_the_line_deductions/self_employment_income.yaml -c policyengine_us
  • uv run python -m policyengine_core.scripts.policyengine_command test policyengine_us/tests/policy/baseline/gov/states/dc/tax/income/dc_ptc.yaml policyengine_us/tests/policy/baseline/household/expense/retirement/self_employed_pension_contribution_limit.yaml policyengine_us/tests/policy/baseline/gov/irs/credits/retirement_saving/savers_credit_qualified_contributions.yaml policyengine_us/tests/policy/baseline/gov/states/ut/tax/property/homeowner_renter_relief/ut_homeowner_renter_relief.yaml -c policyengine_us
  • git diff --name-only upstream/main...HEAD | rg '\.py$' | xargs uv run ruff check && git diff --check upstream/main...HEAD
  • git diff --name-only upstream/main...HEAD | rg '^(policyengine_us|changelog\.d)' | xargs uv run python policyengine_us/tests/run_selective_tests.py --coverage --files
  • independent read-only review: implementation sound; added downstream cap regressions for Saver's Credit and Utah

@MaxGhenis MaxGhenis force-pushed the enforce-self-employed-pension-limit branch from 4a3c597 to b35b5b9 Compare May 24, 2026 05:50
@codecov
Copy link
Copy Markdown

codecov Bot commented May 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (92fdab8) to head (4f4fbca).
⚠️ Report is 68 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #8419   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            2         3    +1     
  Lines           57        39   -18     
  Branches         1         0    -1     
=========================================
- Hits            57        39   -18     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@MaxGhenis MaxGhenis force-pushed the enforce-self-employed-pension-limit branch from b35b5b9 to 4f4fbca Compare May 24, 2026 06:37
@MaxGhenis MaxGhenis merged commit f261de7 into main May 24, 2026
26 checks passed
@MaxGhenis MaxGhenis deleted the enforce-self-employed-pension-limit branch May 24, 2026 07:17
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.

Enforce §415(c) annual additions limit on combined retirement contributions

1 participant