Statewide ABAWD waiver map (FNS FY2025 Q1) + Sec. 10102 discretionary-cut parameter#9030
Statewide ABAWD waiver map (FNS FY2025 Q1) + Sec. 10102 discretionary-cut parameter#9030daphnehanse11 wants to merge 8 commits into
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…strants Under 7 CFR 273.7, working 30+ hours weekly is exemption (b)(1)(vii) from work registration, not an affirmative requirement; non-exempt registrants remain eligible unless they affirmatively fail to comply without good cause. Those events are unobservable in survey data, so the baseline assumes compliance, with a new is_snap_work_registration_noncompliant input as a sanction hook. Inline the 30-hour test in the Medicaid community engagement pass-through to preserve its behavior, and rewrite YAML tests that encoded the over-strict household-level reading. Fixes PolicyEngine#8862 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
42 CFR 435.554(c)(7) and the interim final rule preamble provide that the SNAP exclusion from the Medicaid community engagement requirement turns on SNAP receipt plus being subject to (not exempt from) a SNAP work requirement; unlike the TANF prong, states do not confirm actual compliance. Drop the hours/ABAWD compliance conjunct from the pass-through accordingly. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Setting monthly_age at a year period divides the value across months, which made an 18-year-old read as a household child under the 273.24(c)(4) any-member exception after rebasing onto main. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7 U.S.C. 2015(o) is an eligibility limitation. Excluding a noncompliant member shrinks snap_unit_size AND prorates his income (273.11(c)(2)), so a household over the limits at full size can qualify on half the earner's income once he fails the time limit — +$288/yr in Case 2, and at release scale the mechanism inverts ABAWD reform signs (+$0.12B for switching the time limit ON). Case 1 pins the correct zero-income-member direction (passes); Cases 2-3 pin the no-gain invariant (Case 2 fails). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ility expansion) Excluding a noncompliant member shrank snap_unit_size AND prorated his income (273.11(c)(2)), letting full-composition-ineligible households qualify at reduced size on halved income: failing the ABAWD time limit created a ~$288/yr benefit for an over-income household, and at release scale switching the time limit ON raised SNAP spending (+$0.12B). Count the income in full (273.11(c)(1) treatment) so disqualification can only reduce eligibility and benefits; drop the proration variable; repin the two proration tests to full counting; the invariant test from the prior commit now passes (Case 2: eligibility no longer flips). The proration predates this branch (it shipped with the SNAP wave on main); this fix rides the person-level rework since the two must agree. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…-cut parameter The waiver surface was 29 Alaska county FIPS, so pre-HR1 law offered almost no waiver protection in-model and HR1's waiver terminations — the largest single driver in CBO/CBPP estimates — scored near zero. Adds waived_states (postal-code-keyed: CA DE DC GU IL NV NM NY VI statewide as of 2024-10-01, ending at Sec. 10102 enactment), resolved alongside county waivers via state_code_str (state_fips is an input defaulting to 6 and cannot key policy). Two existing ABAWD tests pinned to TX, which the default-CA household made waiver-exempt. Also records the Sec. 10102 discretionary-exemption cut (8% -> 1%) on the rate parameter; runtime consumption needs a persisted seed quantile (populace follow-up). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
436 county FIPS across 16 states at full-county grain, each sourced to its FNS approval letter (references in the parameter). Sub-county waivers (ME 213 towns, CT 68 towns, RI/NH towns, MT reservation-only, city and reservation areas elsewhere) are omitted — county-grain inclusion would overstate them — so the map understates pre-HR1 waiver protection. Non-delayed states end at Sec. 10102 enactment; Alaska's 29 areas persist to 2026-11-01 per delayed HR1 adoption. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Second commit lands the partial-state county map: 436 county FIPS across 16 states at full-county grain, each state's list read from its FNS approval letter (references on the parameter; five research passes over the approval PDFs, verified area-by-area). Sub-county waivers (ME's 213 towns, CT's 68, RI/NH towns, MT's reservation-only waiver) are deliberately omitted and documented as an understatement — county-grain inclusion would overstate them. Release-scale validation (Build K artifact × #8961, 2026, repeal counterfactual restoring the pre-HR1 waiver map by reading the parameters' own 2025-01 vintages):
Largest state effects: NY $1.04B, CA $764M, PA $297M, FL $286M, OR $145M, MI $119M, WA $112M. Dataset county coverage verified (e.g., KY records span 106 distinct counties), so the map binds geographically; the moderate partial-state increment reflects the model's remaining exemption shields (annual-hours proxy, discretionary seeds at the pre-HR1 8% cap), tracked separately. 🤖 Generated with Claude Code |
Stacked on #8961 (contains its commits; review the head commit only).
The in-model ABAWD waiver surface was 29 Alaska county FIPS — but the FNS FY2025 Q1 status report shows nine statewide waivers as of October 1, 2024 (CA, DE, DC, GU, IL, NV, NM, NY, VI) plus 22 partial-waiver states. CA+NY+IL alone are roughly a third of the national caseload, fully shielded pre-HR1. With no waiver map, HR1's waiver terminations — the largest single driver in CBO/CBPP loss estimates — scored near zero in release-scale reform runs (#8961 discussion).
waived_statesparameter (postal-code-keyed;state_fipsis an input defaulting to 6 and cannot key policy), FY25-Q1-sourced, ending at P.L. 119-21 Sec. 10102 enactment with the ran-to-expiration simplification documented.is_in_snap_abawd_waived_arearesolves statewide OR county waivers.discretionary_exemption_rate, with a NOTE that runtime consumption requires a persisted seed quantile on the dataset (populace-side follow-up).Caveat: the partial-state county map rides on imputed county geography
Populace datasets impute each household's county via the geography ladder (CPS does not identify counties for most households). County assignment is validated for presence and state-consistency, but has not been validated against county-level benchmarks (populace#241/#292). The exposure decomposes cleanly in release-scale runs (Build K × #8961, 2026 HR1 repeal):
Any published use of the partial-state increment should carry this caveat until county assignment gets a benchmark (populace#292).
Tests: 243 passed across the SNAP work-requirements/income suites; new
is_in_snap_abawd_waived_area.yamlcovers statewide, never-waived, post-HR1, and county cases.🤖 Generated with Claude Code