Skip to content

Refactor SNAP ABAWD work requirements: add missing exemptions, eliminate CA duplicate#7415

Draft
hua7450 wants to merge 3 commits intoPolicyEngine:mainfrom
hua7450:snap-abawd-hr1-update
Draft

Refactor SNAP ABAWD work requirements: add missing exemptions, eliminate CA duplicate#7415
hua7450 wants to merge 3 commits intoPolicyEngine:mainfrom
hua7450:snap-abawd-hr1-update

Conversation

@hua7450
Copy link
Collaborator

@hua7450 hua7450 commented Feb 17, 2026

Summary

Refactors SNAP ABAWD work requirements to eliminate the duplicate ca_meets_snap_abawd_work_requirements variable, 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_age

Maps 7 CFR 273.7(b)(1) non-age exemptions used by ABAWD exemption (D):

  • (ii) Physically/mentally unfit (is_disabled)
  • (iv) Caring for dependent child under 6 or incapacitated person
  • (v) Receiving unemployment compensation
  • (viii) Enrolled at least half-time in school/training/higher ed

Refactored meets_snap_abawd_work_requirements

  • Absorbs CA delay logic using where(is_ca, ca_param, federal_param) — no hardcoded dates
  • Replaces standalone has_incapacitated_person with is_snap_work_registration_exempt_non_age
  • Structure follows 7 U.S.C. 2015(o)(3) letter by letter: (A) age, (B) disability, (C) parent, (D) work reg exempt, (E) pregnant

Simplified meets_snap_work_requirements

  • Removed ca_meets_snap_abawd_work_requirements routing
  • Uses CA-specific dependent age threshold parameter directly

New 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)
  • Existing ca/.../abawd/hr1_in_effect.yaml serves as CA's version of federal in_effect

Deleted

  • ca_meets_snap_abawd_work_requirements.py and 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

  • 54 tests pass: policyengine-core test .../work_requirements -c policyengine_us -v
  • Broader SNAP tests pass
  • Microsimulation test passes

🤖 Generated with Claude Code

hua7450 and others added 2 commits February 16, 2026 20:34
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
Copy link

codecov bot commented Feb 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (d0122c2) to head (78e22cf).
⚠️ Report is 187 commits behind head on main.

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     
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.

…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>
@hua7450 hua7450 changed the title Update SNAP ABAWD work requirements for HR1 (P.L. 119-21) Refactor SNAP ABAWD work requirements: add missing exemptions, eliminate CA duplicate Feb 17, 2026
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.

1 participant