Extend SNAP Heat and Eat SUA treatment to 13 more states and DC#8132
Merged
Extend SNAP Heat and Eat SUA treatment to 13 more states and DC#8132
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8132 +/- ##
===========================================
- Coverage 85.36% 71.72% -13.65%
===========================================
Files 3 4658 +4655
Lines 41 67710 +67669
Branches 2 341 +339
===========================================
+ Hits 35 48563 +48528
- Misses 6 19140 +19134
- Partials 0 7 +7
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Previously only Colorado (effective 2024-10-01) was marked as a Heat and Eat state in gov.usda.snap.income.deductions.utility.always_standard. Per FRAC and LIHEAP Clearinghouse, 12 additional jurisdictions with long-standing Heat and Eat programs should receive the same treatment: CA, CT, DC, MA, MD, ME, MI, NY, OR, PA, RI, WA All are set to true effective 2015-10-01 (the file's baseline date) since each operated Heat and Eat continuously before that date and preserved it after the 2014 Farm Bill raised the nominal LIHEAP minimum to $20.01. Montana (also currently H&E per FRAC) is excluded here pending primary-source verification of its start date; it should be added in a follow-up. Three snap_excess_shelter_expense_deduction tests that relied on the default state (CA) are pinned to TX so they continue exercising the non-H&E path. References: Issue #8131; 7 CFR §273.9(d)(6)(iii)(E); FRAC blog 'Cuts to Utility Deductions in SNAP'; LIHEAP Clearinghouse brief 'A New Framework for Heat and Eat' (2014). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
c25ca78 to
faf28d8
Compare
Replaces the multi-sentence description with a single declarative sentence, spells out SNAP in the description (standard per PE parameter-patterns skill), and makes the label descriptive. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Drops the FRAC blog (nonprofit advocacy; not a primary source) and adds the 2014 Farm Bill § 4006(b) statute that established the $20.01 minimum LIHEAP benefit required for SUA eligibility. Retains the federal regulation, the USDA State Options Report, and the LIHEAP Clearinghouse technical brief (hosted at acf.gov, invoked under the 'unless no official source exists' exemption since no consolidated federal list of Heat and Eat states is published). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Same fix as for snap_excess_shelter_expense_deduction: the tests used the default state (CA), but CA is now a Heat and Eat state after this PR, so SUA is always applied regardless of heating/cooling expenses. Pinning to TX preserves the pre-H&E assumption that snap_deductions only reflects the explicitly-set standard + child support amounts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Verified against ACF LIHEAP Reports to Congress FY2016-FY2022 (Part III, Household Data, Table 3 footnote on nominal SNAP benefits): - Michigan first appears as a nominal-SNAP-benefit state in FY2017 (not FY2016), so the correct start date is 2016-10-01, not 2015-10-01. - Montana is listed in every LIHEAP RTC from FY2016 through FY2022 ($25 nominal benefit to SNAP households), so it belongs in the list. Earlier PR excluded MT citing "no primary-source start date" — the RTC footnotes are the primary source and support 2015-10-01. California, Maryland, and DC never appear in any FY2016-FY2022 RTC. FRAC's April 2026 list notes these states operate Heat and Eat "using LIHEAP or state-funded energy assistance" — the state-funded mechanism wouldn't show up in federal LIHEAP reporting, so their start dates require state-plan-level verification. Not included in this PR. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per /review-program audit findings: - Add VT to always_standard at 2015-10-01 (LIHEAP Clearinghouse). - Correct MD: false until 2025-04-01, true thereafter (MD did not operate H&E pre-2025 per IM 25-15 / AT 26-08; SB 506 / Hum. Serv. Art. § 5-506). - Correct MI: 2017-08-01 effective date (BPB 2017-016 / BEM 554), not 2016-10-01. - Fix Farm Bill page anchor: #page=143 → #page=139 (Sec. 4006). - Drop FNS State Options Report reference; it documents Mandatory SUAs, not Heat and Eat. - Add primary-source references for MD (AT 26-08), MI (BPB 2017-016, BEM 554), and ME (10-144 C.M.R. Ch. 301 § 555-5). - Update changelog to reflect 13 states + DC including MT and VT. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Collaborator
|
Update following primary-source review (commit cc5bd64): Parameter corrections in
Reference corrections:
Changelog update: "12 additional states and DC" → "13 additional states and DC" with MT and VT added to the list. Verification:
Outstanding (deferred):
|
Collaborator
Author
|
@hua7450 feel free to approve and merge if you think this is complete |
hua7450
approved these changes
May 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends the SNAP Heat and Eat (H&E) "always apply the Standard Utility Allowance" treatment to the jurisdictions that operate H&E but were missing from
gov.usda.snap.income.deductions.utility.always_standard— previously only Colorado was markedtrue.Closes #8131.
States added (13 + DC)
The 2015-10-01 effective date is conservative — the LIHEAP Clearinghouse confirmed states publicly preserved H&E in early 2014 (Feb–Apr 2014). 2015-10-01 aligns with PolicyEngine's earliest SNAP parameter coverage.
Maryland correction: Maryland Hunger Solutions' 2021 testimony (SB0913) explicitly stated MD was "leaving the benefit on the table" — MD did not operate H&E from 2015 to 2025. The program was first stood up under IM 25-15 on April 1, 2025 and was subsequently revised by AT 26-08 in November 2025 to align with H.R. 1 (2025) restrictions. So MD is
falsefrom 2015-10-01 andtruefrom 2025-04-01.Michigan correction: MI BPB 2017-016 documents the state-paid $20.01 LIHEAP launching August 1, 2017 — not 2016. (MD Hunger Solutions 2021 testimony also explicitly groups MI with non-acting states: "Michigan similarly did not make the necessary accommodations to fulfill federal guidelines and 159,000 households saw an $80 reduction.")
Legal basis
OBBBA caveat (not in scope for this PR)
OBBBA Section 10004 / H.R. 1 (2025) Section 10103 (signed July 4, 2025) restricts H&E SUA to households containing an elderly (60+) or disabled member, effective per FNS guidance. That's a household-level restriction, not a state-level one, and requires variable-level changes (condition on
has_usda_elderly_disabled). Should be a separate PR.Test plan
snap_state_using_standard_utility_allowance.yamlcovering CA/NY/PA/CO (pre-2024-10 and post), TX — all passsnap_excess_shelter_expense_deduction.yamltests that relied on the default state (CA) pinned to TX so they continue exercising the non-H&E pathmake formatclean🤖 Generated with Claude Code