Add SNAP immigration status eligibility#7315
Draft
hua7450 wants to merge 4 commits intoPolicyEngine:mainfrom
Draft
Add SNAP immigration status eligibility#7315hua7450 wants to merge 4 commits intoPolicyEngine:mainfrom
hua7450 wants to merge 4 commits intoPolicyEngine:mainfrom
Conversation
- 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>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7315 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 3 4 +1
Lines 54 58 +4
Branches 1 0 -1
=========================================
+ Hits 54 58 +4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
MaxGhenis
reviewed
Feb 2, 2026
- Exclude immigration-ineligible members from snap_unit_size (using OR to avoid double-counting with ineligible students) - Add California-specific delayed effective date (April 1, 2026) per ACL 25-92 - Rename snap_unit.py to snap_unit_size.py to match variable name Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…into hua7450/issue1475
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #1475
Adds SNAP immigration status eligibility, reflecting changes from the One Big Beautiful Bill Act of 2025 (OBBBA). Excludes immigration-ineligible members from SNAP unit size for correct benefit calculation in mixed-status households. Implements California's delayed effective date (April 1, 2026) per ACL 25-92.
Regulatory Authority
Changes
Parameters
gov/usda/snap/eligibility/eligible_immigration_statuses.yamlgov/states/ca/cdss/snap/eligibility/eligible_immigration_statuses.yamlVariables
is_snap_immigration_status_eligible- Person-level variable checking if immigration status is eligible; usesfederal_eligible | ca_eligibleto apply CA's delayed dateca_snap_immigration_status_eligible- California-specific immigration eligibility withdefined_for = StateCode.CAis_snap_eligibleto require at least one household member with eligible immigration statussnap_unit_size(renamed fromsnap_unit.py) to exclude immigration-ineligible members, using OR with ineligible students to prevent double-countingMixed-Status Households
is_snap_eligible: Usesspm_unit.any()— household is eligible if at least one member has qualifying status (7 CFR 273.11(c))snap_unit_size: Subtracts ineligible members so allotment, standard deduction, and min allotment are based on eligible member count onlyKnown Limitations
COFAis not in theImmigrationStatusenum. Needs to be added separately.Test Plan
is_snap_immigration_status_eligible- 10 tests covering federal and CA-specific behaviorca_snap_immigration_status_eligible- 8 tests covering CA delayed implementationsnap_unit_size- 9 tests including mixed-status households and double-counting preventionis_snap_eligible- 8 tests including undocumented ineligible student edge case🤖 Generated with Claude Code