Refactor SNAP ABAWD work requirements: add missing exemptions, eliminate CA duplicate#7415
Draft
hua7450 wants to merge 3 commits intoPolicyEngine:mainfrom
Draft
Refactor SNAP ABAWD work requirements: add missing exemptions, eliminate CA duplicate#7415hua7450 wants to merge 3 commits intoPolicyEngine:mainfrom
hua7450 wants to merge 3 commits intoPolicyEngine:mainfrom
Conversation
Starting implementation of federal SNAP ABAWD work requirement changes from the One Big Beautiful Bill Act. Key updates: verify effective dates, add Native American/Indian exemption, update dependent child age threshold. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix broken test cases (9, 11, 16) by adjusting periods and expected values after HR1 effective date moved to 2025-07-01. Add new cases testing ages 60-64 not ABAWD-exempt post-HR1, incapacitated person exemption, CA pre-HR1 rules, and SPM-unit-level CA/federal routing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7415 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 4 3 -1
Lines 92 81 -11
Branches 0 1 +1
=========================================
- Hits 92 81 -11
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:
|
…ate CA duplicate - Add is_snap_work_registration_exempt_non_age for 7 CFR 273.7(b)(1) non-age exemptions (disabled, child under 6, incapacitated, student, UI recipient) - Absorb CA pre-HR1 delay logic into federal ABAWD variable using CA-specific parameters instead of hardcoded frozen date - Delete ca_meets_snap_abawd_work_requirements (merged into federal variable) - Add CA ABAWD age threshold parameters with delayed 2026-06-01 effective date - Redesign test cases organized by statutory provision with legal citations Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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
Refactors SNAP ABAWD work requirements to eliminate the duplicate
ca_meets_snap_abawd_work_requirementsvariable, adds missing non-age work registration exemptions per 7 U.S.C. 2015(o)(3)(D), and replaces hardcoded frozen-date parameter lookups with proper CA-specific parameters.Changes
New variable:
is_snap_work_registration_exempt_non_ageMaps 7 CFR 273.7(b)(1) non-age exemptions used by ABAWD exemption (D):
is_disabled)Refactored
meets_snap_abawd_work_requirementswhere(is_ca, ca_param, federal_param)— no hardcoded dateshas_incapacitated_personwithis_snap_work_registration_exempt_non_ageSimplified
meets_snap_work_requirementsca_meets_snap_abawd_work_requirementsroutingNew CA parameters (delayed HR1 adoption per ACL 25-93)
ca/.../abawd/age_threshold/exempted.yaml— 55→65 on 2026-06-01 (vs federal 2025-07-01)ca/.../abawd/age_threshold/dependent.yaml— 18→14 on 2026-06-01 (vs federal 2025-07-01)ca/.../abawd/hr1_in_effect.yamlserves as CA's version of federalin_effectDeleted
ca_meets_snap_abawd_work_requirements.pyand its tests (merged into federal variable)Behavioral Impact
Adding three new ABAWD exemptions (child under 6, student, UI) is a correct behavioral change — these exemptions exist in law (7 CFR 273.7(b)(1) via 7 U.S.C. 2015(o)(3)(D)) but were missing from code. Some people who previously failed ABAWD will now correctly pass.
Test plan
policyengine-core test .../work_requirements -c policyengine_us -v🤖 Generated with Claude Code