Support qualifying work-program participation in SNAP ABAWD work requirement#8857
Support qualifying work-program participation in SNAP ABAWD work requirement#8857daphnehanse11 wants to merge 2 commits into
Conversation
…irement Add weekly_snap_work_program_hours and is_snap_workfare_participant input variables and count qualifying work-program hours toward the 20-hour ABAWD work-activity threshold, alone or combined with employment hours, per 7 U.S.C. 2015(o)(2) and 7 CFR 273.24(a)(1). Workfare participation under 7 CFR 273.7(m) satisfies the requirement regardless of hours. Fixes PolicyEngine#8823 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8857 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 5 3 -2
Lines 62 52 -10
=========================================
- Hits 62 52 -10
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Correction to the PR description: 🤖 Generated with Claude Code |
Fixes #8823
Summary
meets_snap_abawd_work_requirementspreviously treated ABAWD work activity as employment hours only (weekly_hours_worked_before_lsr >= 20). Under 7 U.S.C. 2015(o)(2) and 7 CFR 273.24(a)(1), an ABAWD also fulfills the work requirement by:This PR adds two person-level input variables and updates the ABAWD formula so the work-activity condition is satisfied when combined employment plus qualifying work-program hours meet the 20-hour threshold, or when the person participates in workfare.
Design rationale
weekly_snap_work_program_hours) rather than a boolean: 7 CFR 273.24(a)(1)(iii) allows any combination of work and work-program hours to meet the threshold, which a boolean cannot represent. An hours input composes naturally withweekly_hours_worked_before_lsr(same YEAR definition period and hour unit) and keeps the threshold comparison in one place against the existinggov.usda.snap.work_requirements.abawd.weekly_hours_thresholdparameter.is_snap_workfare_participant) for workfare: under 7 CFR 273.24(a)(1)(iv), workfare satisfies the requirement regardless of hours (workfare hours are derived from the benefit divided by minimum wage), so it cannot be folded into the hours input without distorting the rule.meets_snap_general_work_requirements(7 CFR 273.7) is untouched, preserving the legal distinction between general work-registration compliance and ABAWD qualifying activity under 7 CFR 273.24. Note: the issue references an existingis_snap_work_program_participantvariable, but no such variable exists in the codebase — the general formula uses hours and exemptions only — so this PR adds the ABAWD-specific inputs directly.Data layer
Survey data does not capture work-program or workfare participation, so both inputs default to zero/false, preserving current behavior for all existing data. Companion data issue: PolicyEngine/populace#249. The variable documentation states this assumption explicitly.
Tests
New YAML cases 33-37 in
meets_snap_abawd_work_requirements.yaml:🤖 Generated with Claude Code