Repository navigation
Conversation
One added changelog fragment for the new program and a one- or two-sentence programs.yaml note; limitations stay in code comments and the PR body. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 #10345 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 4 5 +1
Lines 76 111 +35
Branches 2 3 +1
=========================================
+ Hits 76 111 +35
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:
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Review: Add Washington LIHEAP regular heating assistancePR #10345 (author: hua7450), head
The only comment is codecov's. There are no reviews yet, and the PR touches no partner test file. Path prefixes:
Sources read for this review:
SummaryWhat is right. The published FY2026 values and rules are encoded correctly:
There are no critical findings and five should-address items:
There are also three suggestions:
Status.
Critical (must fix)None. Should addressS1. Households eligible through heat in rent receive $0, although Washington pays them from a surrogate heat cost, with at least the $250 minimum
S2. Child support and alimony paid are not deducted, although two Washington LIHEAP agencies deduct them and Commerce's income checklist lists support paid
S3. Workers' compensation is neither counted nor mentioned, although an agency counts L&I time-loss and Commerce's income checklist lists it
S4.
|
DTrim99
left a comment
There was a problem hiding this comment.
The 150% FPG limits, worksheet constants and adjusters, the $250/$1,250 bounds, the deductions, Social Security net of Part B and the per-source loss floors all check out, 40 expectations hand-check, and the guards pass. Five should-address items: (1) heat-in-rent and UNSPECIFIED households are eligible but get $0, while WA pays from a surrogate heat cost (at least the $250 minimum); (2) child support and alimony paid aren't deducted ($0 vs $460); (3) workers' compensation is neither counted nor documented ($900 vs $750); (4) railroad and survivor benefits are never positive in a test; (5) three descriptions run past the program name. Three suggestions, including counting wa_ssp. Full report in the comment above.
Pay the plan's $250 minimum when heat is included in rent with a known fuel and no reported cost; deduct child support and alimony paid; count workers' compensation, the state supplement and refugee cash assistance; add railroad/survivor coverage, description fixes and two source-conflict candidates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks for the thorough review, David. The fixes are in 7214ef4, and ad84271 merges current main.
The PR body and TheAxiomFoundation/rulespec-us#1905 are updated for ad84271; the Axiom issue now also lists the Clark page, Exhibit 1.3.1A and plan 9.1 as sources. I did not run the tests locally, so CI will check them. |
Adds Washington's LIHEAP regular heating benefit for FY2026. The model counts citizens and qualified noncitizens for household size and counts the income of every member, except the earnings of members under 18, after a 20% allowance on wages and 10% deductions on pensions, retirement distributions, military retirement income (including survivor annuities) and unemployment compensation. Social Security counts net of the Medicare Part B premium; workers' compensation, Refugee Cash Assistance and the state supplement to SSI count in full; and child support and alimony paid by members are deducted. It tests that income against 150% of the 2025 poverty guideline and applies the Commerce benefit calculation worksheet: monthly income and a household-size adjuster set a heat cost multiplier, which multiplies the reported annual heating cost. The result is held between $250 and $1,250 and then capped at that cost; a household whose heat is included in rent, with a known fuel and no reported cost, receives the $250 minimum. In FY2026, two adults earning $15,000 each with a $1,000 natural gas bill receive $630: $30,000 x 0.8 = $24,000 of countable income, under the $31,725 two-person limit; $24,000 / 12 / 1.36 = $1,470.59; $1,460.80 / ($3,648.10 - $1,470.59) = 0.67; 1.30 - 0.67 = 0.63; and $1,000 x 0.63 = $630.
Fixes #10339
Regulatory authority
Eligibility
defined_for = StateCode.WAwa_liheap_household_sizeaddsis_citizen_or_legal_immigrant; a unit with no counted member is ineligible. Counting qualified members, keeping all members' income and applying no further proration is an approved modeling conventionwa_liheap_income_limitapplies the 1.5 rate to the poverty guideline with a one-year lag (the 2025 guideline for FY2026). The limit is inclusive and uses exact annual amounts, not the agencies' rounded monthly displaysheating_expense > 0orheat_expense_included_in_rentheating_typeNONE is ineligible and every other type qualifies. UNSPECIFIED has no bill inheating_expenseand does not receive the heat-in-rent minimum, so it pays nothing; callers must sendheating_type(#9754)Countable income
wa_liheap_countable_incomecounts every SPM unit member, including members excluded from household size. Earnings of members under 18 are excluded; their other income counts.employment_incomeless a 20% allowance. Net self-employment (including SSTB), farm operations and partnership or S corporation income each count floored at zero, with no further deduction.military_retirement_income(military retirement pay and military survivor annuities) less 10%;total_unemployment_compensationless 10%social_securityless the person'smedicare_part_b_premium, floored at zero per person, so a premium larger than the benefit does not reduce other income. The premium is zero for a person not enrolled or whose premium a Medicare Savings Program pays. No retirement deduction applies.financial_assistance), rental and farm rental income, alimony, child support received, interest and ordinary dividendsworkers_compensationcounted in full, with no deductiontanf, which followstakes_up_tanf_if_eligible),wa_sfaandwa_rcaare each added once per SPM unit, andwa_sspis summed over members. No Washington LIHEAP source names Refugee Cash Assistance or the state supplement; both count as gross cash income, like TANF, State Family Assistance and SSIchild_support_expenseandalimony_expenseare subtracted from the unit's countable income, which is floored at zerodisability_benefitsandlife_insurance_benefits), one-time lump sums, savings and retirement account balances, tax refunds and other refundable creditsBenefit
heating_expense, the bill for the primary fuel) times the multiplier, rounded to whole dollars, then raised to the $250 minimum or lowered to the $1,250 maximum (plan section 2.6, page 10), then capped at the heating cost. Each rounding step rounds half up. At zero income, the $1,250 maximum applies from a $1,389 heating cost.Years covered
Income-limit cases for 2027 check the PY27 eligibility sheet, which applies the 2026 guideline ($23,940 for one person); they do not verify 2027 awards. The registry entry records
verified_years: "2026". Years other than 2026 use parameter backfilling and are unverified estimates; for 2025, see the worksheet constants below.Not modeled and source conflicts
workers_compensationin full.disability_benefits(employment-related disability benefits other than workers' compensation) andlife_insurance_benefitsstay excluded as insurance payments made directly to the insured. VA benefits stay excluded under the plan, although Exhibit 1.3.1A and Byrd Barr Place ask for VA documents.heating_type(Default heating_type to electricity and remove the UNSPECIFIED-gated state heating adapters #9754). The model also does not split baseload use, add secondary fuels, value self-supplied fuel or allocate a whole dwelling's cost.# Source conflictmarker. The plan-versus-agency choices are recorded as two candidates insource_conflicts/candidates.yaml:us-wa:liheap-plan-agency-income-items(the deductions, paid support, workers' compensation and VA benefits) andus-wa:liheap-minimum-benefit-cost-cap(the $250 minimum against the cost cap).Test plan
policyengine_us/tests/policy/baseline/gov/states/wa/commerce/liheap/:wa_liheap.yaml71,wa_liheap_countable_income.yaml26,wa_liheap_eligible.yaml10,wa_liheap_household_size.yaml4 andwa_liheap_income_limit.yaml14. Expected values are hand computed from the income rules and the worksheet constants, and one case reproduces the worksheet's printed $336 example. Cases pin heat in rent with a known fuel and no bill ($250), the paid-support eligibility change ($460) and its zero floor, workers' compensation ($750), the state supplement ($740), Refugee Cash Assistance, and railroad and survivor benefits counted in full. CI runs the full suite.# Source conflict <jurisdiction>:<id>marker: not applicable; this PR adds no marker. It adds two candidates tosource_conflicts/candidates.yaml.make formatchangelog.d/axiom: TheAxiomFoundation/rulespec-us#1905 queued
🤖 Generated with Claude Code