Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SNAP ABAWD former foster youth exemption (7 CFR 273.24(c)(9), pre-HR1 only) with tests, and documentation plus test coverage notes for the post-HR1 IHCIA Indian exemption input.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
description: The Department of Agriculture exempts individuals at or below this age who were in foster care under State responsibility on their 18th birthday from the Able-Bodied Adult Without Dependents (ABAWD) work requirements under the Supplemental Nutrition Assistance Program, before Public Law 119-21 removed this exception effective 2025-07-04.
values:
2023-09-01: 24

metadata:
unit: year
period: year
label: USDA SNAP ABAWD former foster youth age threshold
reference:
- title: 7 CFR § 273.24 - Time limit for able-bodied adults (c)(9)
href: https://www.law.cornell.edu/cfr/text/7/273.24#c_9
- title: Fiscal Responsibility Act of 2023, Section 311 - SNAP provisions
href: https://www.fns.usda.gov/snap/provisions-fiscal-responsibility-act-2023
- title: FNS ABAWD Exceptions Implementation Memorandum (October 3, 2025)
href: https://www.fns.usda.gov/snap/obbb-abawd-exemptions-implementation
Original file line number Diff line number Diff line change
Expand Up @@ -500,3 +500,59 @@
is_snap_abawd_discretionary_exempt: true
output:
meets_snap_abawd_work_requirements: true

# 273.24(c)(9): Former foster youth aged 24 or younger
# (pre-HR1 only — added by FRA 2023, removed by
# P.L. 119-21 effective 2025-07-04)
# =====================================================

- name: Case 36, pre-HR1 former foster youth aged 24 exempt.
period: 2025-05
absolute_error_margin: 0.1
input:
age:
2025: 24
weekly_hours_worked_before_lsr:
2025: 1
is_disabled:
2025: false
was_in_foster_care:
2025: true
state_code:
2025: TX
output:
meets_snap_abawd_work_requirements: true

- name: Case 37, pre-HR1 former foster youth aged 25 NOT exempt.
period: 2025-05
absolute_error_margin: 0.1
input:
age:
2025: 25
weekly_hours_worked_before_lsr:
2025: 1
is_disabled:
2025: false
was_in_foster_care:
2025: true
state_code:
2025: TX
output:
meets_snap_abawd_work_requirements: false

- name: Case 38, post-HR1 former foster youth aged 24 NOT exempt.
period: 2025-08
absolute_error_margin: 0.1
input:
age:
2025: 24
weekly_hours_worked_before_lsr:
2025: 1
is_disabled:
2025: false
was_in_foster_care:
2025: true
state_code:
2025: TX
output:
meets_snap_abawd_work_requirements: false
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ class is_snap_abawd_indian_exempt(Variable):
value_type = bool
entity = Person
label = "Exempt from SNAP ABAWD work requirements due to Indian, Urban Indian, or California Indian status"
documentation = "Indian or Urban Indian as defined in paragraphs (13) and (28) of section 4 of the Indian Health Care Improvement Act (25 U.S.C. 1603), or California Indian described in section 809(a) of that Act (25 U.S.C. 1679(a)), exempt under 7 U.S.C. 2015(o)(3)(F)-(G) as added by P.L. 119-21. Input variable defaulting to false: survey data do not identify IHCIA status, so this is populated at the data layer (populace) or set explicitly in household simulations."
definition_period = YEAR
reference = (
"https://www.congress.gov/119/plaws/publ21/PLAW-119publ21.pdf#page=11",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,20 @@ def formula(person, period, parameters):
| is_pregnant
| is_discretionary_exempt
)
# Pre-HR1 exemptions: homeless, veteran
# Pre-HR1 exemptions: homeless, veteran, former foster youth
is_homeless = person.household("is_homeless", period)
is_veteran = person("is_veteran", period)
# 7 CFR 273.24(c)(9): aged 24 or younger and in foster care under
# State responsibility on their 18th birthday (added by the Fiscal
# Responsibility Act of 2023, removed by P.L. 119-21).
was_in_foster_care = person("was_in_foster_care", period)
former_foster_youth = was_in_foster_care & (
age <= p_pre.age_threshold.former_foster_care
)
post_hr1_conditions = base_conditions | is_indian_exempt
pre_hr1_conditions = base_conditions | is_homeless | is_veteran
pre_hr1_conditions = (
base_conditions | is_homeless | is_veteran | former_foster_youth
)
return where(
hr1_in_effect,
post_hr1_conditions,
Expand Down