Skip to content

Conversation

@hua7450
Copy link
Collaborator

@hua7450 hua7450 commented Feb 2, 2026

Summary

Closes #1475

Adds SNAP immigration status eligibility, reflecting changes from the One Big Beautiful Bill Act of 2025 (OBBBA).

Changes

Parameter

  • gov/usda/snap/eligibility/eligible_immigration_statuses.yaml
    • Pre-OBBBA (2018-01-01): CITIZEN, LPR, REFUGEE, ASYLEE, DEPORTATION_WITHHELD, CUBAN_HAITIAN_ENTRANT, CONDITIONAL_ENTRANT, PAROLED_ONE_YEAR
    • Post-OBBBA (2025-07-04): CITIZEN, LPR, CUBAN_HAITIAN_ENTRANT only

Variables

  • is_snap_immigration_status_eligible - Person-level variable checking if immigration status is eligible
  • Updated is_snap_eligible to require at least one household member with eligible immigration status

Regulatory Authority

Notes

  • COFA (Compact of Free Association) citizens are eligible post-OBBBA per federal law, but COFA is not currently in the ImmigrationStatus enum. This would need to be added separately.
  • The OBBBA was signed July 4, 2025 and was effective immediately upon enactment.

Test plan

  • 19 unit tests covering pre-OBBBA and post-OBBBA scenarios
  • Existing SNAP eligibility tests pass (default immigration_status is CITIZEN)

🤖 Generated with Claude Code

- Add eligible_immigration_statuses parameter with pre/post OBBBA values
- Add is_snap_immigration_status_eligible variable
- Update is_snap_eligible to check immigration status
- Add tests for immigration eligibility

Closes PolicyEngine#1475

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@hua7450 hua7450 marked this pull request as draft February 2, 2026 17:19
@codecov
Copy link

codecov bot commented Feb 2, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (4951d81) to head (51a820e).
⚠️ Report is 174 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #7315      +/-   ##
===========================================
+ Coverage   90.32%   100.00%   +9.67%     
===========================================
  Files          18         2      -16     
  Lines         310        31     -279     
  Branches        5         0       -5     
===========================================
- Hits          280        31     -249     
+ Misses         25         0      -25     
+ Partials        5         0       -5     
Flag Coverage Δ
unittests 100.00% <100.00%> (+9.67%) ⬆️

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.

work_requirements_eligibility = spm_unit(
"meets_snap_work_requirements", period
)
immigration_eligible_member_present = spm_unit.any(
Copy link
Contributor

Choose a reason for hiding this comment

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

it's not calculated like students with prorating?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I haven't check, this draft is 100% out of claude code.
But yes, should consider the prorating thing.

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.

SNAP immigration-related rules

2 participants