Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # policyengine_us/programs.yaml
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #10434 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 4 8 +4
Lines 76 179 +103
Branches 2 3 +1
==========================================
+ Hits 76 179 +103
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:
|
PR Review: Add Wisconsin WHEAP regular heating benefitPR #10434 (author: hua7450), head Path prefixes:
Sources read for this review:
SummaryWhat is right. The FFY2026 HE+ formula is encoded faithfully:
There are no critical findings and one should-address item:
There are also six suggestions:
Status.
Critical (must fix)None. Should addressS1. 15 of the 23 income-source entries, the unearned per-source floor and two branches have no test that would fail if they were dropped
SuggestionsG1. Count Wisconsin's state SSI supplement and Caretaker Supplement (checklist item 17), and correct Axiom interpretations 3 and 12.
G2. FFY2027 (unclaimed): the published PY27 manual ignores gambling winnings, and the FFY2027 plan raises the maximum.
G3. Record the agency-source choices in the backlog and at the code.
G4.
G5. Bedrooms understate the HE+ room count, which lowers the proxy for proxy-based households.
G6. Small fixes.
Verified correctValues against sources:
Income definition (manual 3.3 and Tables 3.4-3.6):
Household, eligibility and housing:
Hand-checked expectations (14, all match):
Case count. 7 + 14 + 6 + 10 + 9 + 9 + 1 = 56, as the body says. CI's per-file results match. Mutation check (beyond S1). Each of these has a case that would fail if it were removed:
Batch checks:
Axiom line assessmentValid:
CI status29 pass, 3 skipping, 0 failed. Run 40032591507 tested head
Branch status
0 critical, 1 should and 6 suggestions are open at this head. Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes: 0 critical, 1 should (untested income sources and branches). Full report in the comment above.
Adds Wisconsin's Home Energy Assistance Program (WHEAP) regular heating benefit for FFY2026, administered by the Department of Administration's Division of Energy, Housing and Community Resources. The model counts citizens, qualified noncitizens and noncitizens who receive Social Security in household size (ineligible members' income still counts), tests gross income against 60% of state median income with categorical eligibility and the federal 110% poverty floor, and computes the HE+ formula: a share of heating cost that falls from 70.2% at or below 60% of the poverty guideline to 17.6% at 215% or above. The heating cost is bounded by a heat proxy for the fuel, dwelling type and room count. Payments are truncated to whole dollars, capped at $2,580, and not issued below $30. The separate non-heating electric (public benefits) award, crisis assistance and weatherization are out of scope.
Fixes #10424
Regulatory authority
Eligibility
defined_for = StateCode.WIwi_wheap_household_sizecounts members who are citizens or qualified noncitizens (is_citizen_or_legal_immigrant) or who receive Social Security (social_security > 0), the manual's eligible noncitizens; size 0 is ineligibleliheap_smi_limit(floor of 60% of the four-person SMI, then of the size share) reproduces all 20 calculator rows; annual income stands in for the annualized one-month testssiorreceives_ssi(read month by month), by FoodShare when in the SNAP unit (is_snap_excluded_member, so refugees and five-year-bar residents outside SNAP are not covered), or by W-2 cash when a citizen or qualified noncitizen; passes the income test onlyhas_heating_expense, or heat included in rent without rental assistance or public housing; assisted housing with heat in rent is ineligibleheating_typeUNSPECIFIEDorNONEpays $0Countable income
employment_incomeof members 18 and older not in high school (is_in_k12_school)financial_assistance), survivor benefitsmedicare_part_b_premium(Part C and D premiums have no input)tanfchild_support_expensedeductedBenefit
bedrooms, held between one and nine (HE+ accepts 1-9; a studio counts one room); a motel or camper counts one room.wi_wheap_dwelling_type(Single family, 2- to 4-unit building, Apartment or multi-unit building, Mobile home, Motel or camper/RV; default Single family). Kerosene, coal and other fuels use the wood-or-other row; solar has no row.Not modeled
ssiapproximate themFFY2027: the PY2027 manual and the final FFY2027 plan (maximum $2,784) are posted, but no FFY2027 calculator, funding factor or proxy table is public, so 2027 and later results reuse the FFY2026 values as unverified estimates. Earlier years are also unverified estimates through parameter backfilling.
Microsimulation:
heating_type, the heating bills andwi_wheap_dwelling_typeare not in current datasets; callers must supply them.Test plan
56 YAML cases in 7 files (not re-run locally after the review fixes; CI validates them):
income limits at sizes 0, 1, 4, 8 and 20, a mixed-status household, the exact-limit boundary and the size-20 federal floor at $132,164 (eligible) and $132,165 (ineligible);
categorical eligibility for FoodShare, all-SSI (computed and reported receipt), mixed, W-2, and FoodShare households with an undocumented or refugee member;
countable income: minors' and high-school students' wages and self-employment, household business netting with an SSTB loss, Social Security and Railroad Retirement net of Part B, the $120 interest threshold, withdrawals at 72 and 73, child support received and paid, ignored unemployment, gambling and W-2;
heating cost inside, below and above the proxy bounds, heat in rent, electric baseload, motel rooms, the nine-room cap, kerosene and solar, all five dwelling types;
benefit ratio floor and cap, the categorical limit substitution, truncation before the $30 minimum, a noncitizen with Temporary Protected Status who receives Social Security, alone and with a citizen spouse, a Milwaukee family end to end.
YAML tests with expected values from the manual, calculator and plan
ruff formatCI passes (program tests, registry and code-health checks)
Changelog fragment in
changelog.d/axiom: TheAxiomFoundation/rulespec-us#1895 queued
🤖 Generated with Claude Code