Skip to content

Model Alaska borough-level SNAP ABAWD waivers#8860

Merged
MaxGhenis merged 3 commits into
PolicyEngine:mainfrom
daphnehanse11:snap-abawd-ak-borough-waivers
Jul 6, 2026
Merged

Model Alaska borough-level SNAP ABAWD waivers#8860
MaxGhenis merged 3 commits into
PolicyEngine:mainfrom
daphnehanse11:snap-abawd-ak-borough-waivers

Conversation

@daphnehanse11

Copy link
Copy Markdown
Collaborator

Fixes #8822

Summary

Models SNAP ABAWD time limit area waivers (7 U.S.C. 2015(o)(4), 7 CFR 273.24(f)) at borough/census-area geography for Alaska:

  • New parameter gov.usda.snap.work_requirements.abawd.waived_county_fips — a dated, list-valued parameter of county FIPS codes with an approved FNS waiver of the ABAWD time limit. Effective 2024-11-01, it contains the 29 Alaska boroughs and census areas (every Alaska county-equivalent except the Municipality of Anchorage, FIPS 02020).
  • New variable is_in_snap_abawd_waived_area — person-level boolean that reads household county_fips and checks membership in the parameter list with np.isin (vectorized).
  • Minimal additive wiring into meets_snap_abawd_work_requirements: the waiver joins the shared base_conditions, so it exempts residents of waived areas under both the pre-HR1 and post-HR1 branches. No existing lines of the formula were modified, keeping the change surface disjoint from the parallel HI/AK delayed-HR1-adoption PR (this PR does not touch exempt_states.yaml or is_snap_abawd_hr1_in_effect.py).

Data provenance

Waived-area list verified against primary sources:

  1. FY 2025 waiver (effective 2024-11-01 through 2025-10-31): USDA FNS Alaska FY 2025 ABAWD Waiver Response, September 20, 2024 — approves waiving the time limit in 29 named boroughs/census areas (Table 1), i.e., all Alaska county-equivalents except the Municipality of Anchorage, based on the combined area's unemployment rate exceeding 120% of the national average. The approval also covers the Eklutna Alaska Native Village Statistical Area, which lies within the Anchorage municipality; it is sub-county geography and is not representable via county_fips, so it is documented in the parameter header but not modeled.
  2. Good faith exemption waiver (effective 2025-11-01 through 2026-10-31): per the State of Alaska Department of Health H.R. 1 impacts page and the FNS OBBB ABAWD Waivers Implementation Memorandum (October 3, 2025), FNS approved Alaska's good faith exemption under P.L. 119-21 § 10102, exempting all Alaska census areas and boroughs except the Municipality of Anchorage — the same 29-area set, so the parameter value is unchanged at that date.

Caveats:

  • Waivers in effect before 2024-11-01 (in Alaska and in other states) are not modeled; the parameter is an empty list before that date.
  • The current approval expires 2026-10-31. The list is left in effect beyond that date pending FNS action on renewal (the OBBBA good-faith authority for noncontiguous states runs through 2028-12-31).
  • FIPS codes were cross-checked against the model's county_fips_2020 dataset (5-digit zero-padded strings, 30 AK county-equivalents).

Fallback behavior without county geography

county_fips is a string household variable with no default (empty string ""). When a dataset lacks county geography, np.isin("", waived_list) is False, so no area waiver applies and ABAWD exposure is computed as before this PR. This is documented in the variable's documentation and covered by test Case 4. Microsimulation use requires the H5 to carry county_fips (companion data issue: PolicyEngine/populace#250).

Tests

New is_in_snap_abawd_waived_area.yaml covers:

  • AK resident of a waived borough (Fairbanks North Star, 02090) — waiver applies, meets ABAWD requirements (post-HR1, 2026-01)
  • AK resident of the Municipality of Anchorage (02020) — not waived, subject to the time limit
  • Lower-48 resident (Harris County, TX, 48201) — unaffected
  • AK household without county_fips — falls back to no waiver
  • Pre-HR1 period (2025-01) waived census area (Bethel, 02050) — waiver applies under the pre-HR1 branch
uv run policyengine-core test policyengine_us/tests/policy/baseline/gov/usda/snap/eligibility/work_requirements -c policyengine_us
======================== 66 passed, 1 warning in 7.68s =========================

🤖 Generated with Claude Code

@codecov

codecov Bot commented Jul 2, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (f9e58e7) to head (577f177).
⚠️ Report is 104 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #8860   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            3         2    -1     
  Lines           55        45   -10     
=========================================
- Hits            55        45   -10     
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 Harness.
📢 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.

daphnehanse11 and others added 3 commits July 5, 2026 18:02
Add a dated list parameter of county FIPS codes with an approved FNS
waiver of the SNAP ABAWD time limit under 7 U.S.C. 2015(o)(4) and
7 CFR 273.24(f), covering the 29 Alaska boroughs and census areas
(all except the Municipality of Anchorage) waived from 2024-11-01.
Add is_in_snap_abawd_waived_area and wire it into
meets_snap_abawd_work_requirements as an additional exemption.

Fixes PolicyEngine#8822

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@MaxGhenis

Copy link
Copy Markdown
Contributor

Rebased onto current main and force-pushed with --force-with-lease. No conflicts.

Verification on the rebased branch:

  • policyengine-core test .../snap/eligibility/work_requirements — all pass.
  • Waived-area list cross-checked against ground truth: the 29 encoded FIPS codes are exactly the full set of Alaska county-equivalents minus the Municipality of Anchorage (02020) — no missing or spurious entries. The good-faith exemption waiver (2025-11-01 through 2026-10-31, all boroughs/census areas except Anchorage) is confirmed by the Alaska DOH "H.R. 1 - AK Impacts" page. The Eklutna ANVSA is correctly documented as sub-county and not representable via county_fips.

Note: #8872 is stacked on this branch and remains draft pending a source question on its litigation-reinstated statewide-waiver table (see comment there).

Ready for review.

@MaxGhenis MaxGhenis marked this pull request as ready for review July 5, 2026 22:03
@MaxGhenis MaxGhenis force-pushed the snap-abawd-ak-borough-waivers branch from 5817cba to 577f177 Compare July 5, 2026 22:03

@MaxGhenis MaxGhenis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fable review + agent verification: Alaska borough-level ABAWD waiver geography with the 29-borough all-except-Anchorage enumeration verified exactly against the source; the shared-formula union with the merged discretionary exemption resolved and 84 tests green.

@MaxGhenis MaxGhenis merged commit 4e6abe2 into PolicyEngine:main Jul 6, 2026
131 of 134 checks passed
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.

SNAP ABAWD: model Alaska borough-level waiver geography

2 participants