Skip to content

Conversation

@MaxGhenis
Copy link
Contributor

Summary

Implements the SECURE 2.0 Act enhanced "super" catch-up contribution limit for 401(k) plan participants aged 60-63, effective for tax years beginning after December 31, 2024.

Changes

  • Added k401_catch_up_limit variable that returns the applicable catch-up limit based on age:
    • Ages 50-59, 64+: Standard catch-up limit ($7,500 for 2025)
    • Ages 60-63: Enhanced catch-up limit ($11,250 for 2025, which is 150% of the standard base)
  • Added parameters:
    • enhanced_age_min.yaml (60)
    • enhanced_age_max.yaml (63)
    • k401_enhanced.yaml (enhanced limit amounts)
  • Renamed 401k.yaml to k401.yaml for Python attribute access compatibility (parameter names cannot start with numbers when accessed via dot notation)

Statutory Reference

Closes #6712

Test plan

  • Added 10 unit tests covering all age scenarios
  • Tests verify standard limits for ages <50, 50-59, 64+
  • Tests verify enhanced limits for ages 60-63
  • Tests verify 2024 behavior (before SECURE 2.0 enhancement)

🤖 Generated with Claude Code

…60-63

SECURE 2.0 Act introduced an enhanced "super" catch-up contribution limit
for 401(k), 403(b), and 457(b) plan participants aged 60-63, effective
for tax years beginning after December 31, 2024.

Changes:
- Added k401_catch_up_limit variable that returns the applicable catch-up
  limit based on age
- Standard catch-up ($7,500 for 2025): Ages 50-59 and 64+
- Enhanced catch-up ($11,250 for 2025): Ages 60-63 only
- Added parameters for enhanced catch-up age range and limit
- Renamed 401k.yaml to k401.yaml for Python attribute access compatibility
- Added comprehensive tests for all age scenarios

Closes PolicyEngine#6712

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@codecov
Copy link

codecov bot commented Nov 25, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (6c8cb6a) to head (38b4f89).
⚠️ Report is 93 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##           master     #6865       +/-   ##
============================================
+ Coverage   72.92%   100.00%   +27.07%     
============================================
  Files        3252         1     -3251     
  Lines       46840        15    -46825     
  Branches      243         0      -243     
============================================
- Hits        34159        15    -34144     
+ Misses      12667         0    -12667     
+ Partials       14         0       -14     
Flag Coverage Δ
unittests 100.00% <100.00%> (+27.07%) ⬆️

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.

- Use parameters directly instead of intermediate variables
- Add .catch_up to parameter path for cleaner access
- Update CLAUDE.md to clarify parameter access guideline

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
catch_up_eligible = age >= p.age_threshold

# Enhanced catch-up eligibility (ages 60-63, starting 2025)
enhanced_eligible = (age >= p.enhanced_age_min) & (
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make a separate variable for eligibility and used defined for here

@@ -0,0 +1,11 @@
description: Minimum age for enhanced 401(k) catch-up contributions under SECURE 2.0.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Active voice in all descriptions

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we not just make this a scale parameter with min and max age?

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.

Implement 401(k) enhanced catch-up contributions for ages 60-63

2 participants