Repository navigation
Add Delaware LIHEAP summer cooling electric benefit eligibility - #10762
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every household is assumed to have an active electric account, and no Delaware rule uses the bill for the flag, so the flag no longer requires a positive electricity bill. The heating-bill rule that excludes homes with no heating is in manual section 415, not 416. Tests drop the illustrative electric bill and the no-bill case. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #10762 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 1 3 +2
Lines 37 54 +17
=========================================
+ Hits 37 54 +17
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 Delaware LIHEAP summer cooling electric benefit eligibilityReviewed at head SummaryThe PR adds one boolean, The formula has four conditions. One (
No critical findings. Four should-address findings and three suggestions. Critical (must fix)None. Should address1. The vulnerable-member condition is contingent in the plan, and the latest federal data show Delaware paid beyond it.
Household: Delaware, 2026, one adult aged 40, not disabled, wages $20,000, Fix: establish from DHSS which rule applied in summer 2026 (and FY2027 when known). Put the choice in a dated boolean parameter (for example 2. The
Household (Case 10): Delaware, 2026, aged 67, Fix: remove 3.
No source asks the household to show a cooling cost. What the sources need is an active electric account, because the payment goes to the electric company. The PR drops that term ("No electricity bill is required: every household is assumed to have an active electric account") and keeps the unsourced one. The siblings that use
Household: Delaware, 2026, aged 67, Fix: gate on the electric bill ( 4. The heating-bill gate rests on one sentence of a 2015 manual. The same manual's chart and the current plan read differently, and the PR records no source conflict.
The 2015 manual can fill a gap the plan leaves. It should not settle a point where the plan and the manual's own chart point the other way, without a record of the choice. Household: Delaware, 2026, public-housing tenant aged 70 ( Fix: either follow the plan and the chart (LIHEAP income and household eligibility plus an electric account, without the heating-responsibility test), or keep section 415 and record the choice: add a candidate to the source-conflict backlog, name both readings in the comment at lines 23-27, and correct the body line. A test for the subsidized heat-in-rent tenant should pin whichever reading is chosen. Suggestions
Verified correct
Axiom line assessment
CI statusAll checks pass at head Branch statusTwo commits behind main. The merge with main is clean. The merge is also clean with each sibling today: #10730, #10732, #10734, #10736, #10738, #10740 and #10742. All of them edit Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes on four points, all about how the new flag's conditions are sourced (Should Address 1-4 in the report above):
- The vulnerable-member condition is the plan's default, which item 3.4 lets the State lift. HHS's FY2024 profile shows cooling reached 9,626 households against 8,820 for heating, so
verified_years: "2026"needs the summer 2026 rule or a caveat. - The
heating_typetest turns off an unsubsidized heat-in-rent household thatde_liheap_eligibleaccepts andde_liheappays, and the body's "as in every state LIHEAP program" is not accurate for Delaware. has_cooling_expenseis required with no Delaware source, while the electric account the payment goes to is assumed.- The heating-bill gate follows one sentence of the 2015 manual where that manual's own chart and the current plan read differently, with no source-conflict record.
Every quote and page in the body checks out, the age thresholds are right, all 11 expectations hold by hand, and no existing result moves. The three suggestions are optional. CI is green at 785cf190bd.
…eating responsibility Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, David. In
Tests were not run locally. |
PR Review (round 2): Add Delaware LIHEAP summer cooling electric benefit eligibilityReviewed at head SummaryThe fix commit does what the reply says. The refactor of Three points remain, all small:
No critical findings. Three should-address items (two are the open remainder of round-1 findings 3 and 4, one is new) and four suggestions. A correction to round 1: I wrote that the 2015 manual "is not the one in force". The backlog holds a ruled Delaware LIHEAP item ( Prior findings
New findingsCritical (must fix)None. Should address1. The heating-bill choice is still not recorded (open remainder of round-1 finding 4). The body now names the conflict and the choice: section 415 "asks for a heating bill for 'cooling electric'; this PR follows the current plan and the chart". It then says the register does not apply because both sources are non-statute, and that the choice is "stated above and in the code comment".
Household (Case 12): Delaware, 2026, public-housing tenant aged 70, Fix: no formula change is needed for this item. Add a candidate to 2. The reply gives two reasons for the term.
Household: Delaware, 2026, aged 67, Fix (preferred): make the cooling cost the alternative, as the chart and the siblings do: purchases_heating = spm_unit("de_liheap_eligible", period)
return heating_type_reported & has_vulnerable_member & (
purchases_heating | (income_eligible & has_cooling_expense)
)Case 8 still pins the cooling term (income eligible by input, no gas bill, no cooling cost: false). Add a case for the heating client with no cooling cost (true). Every term is then sourced and the "every state" sentence can go. Otherwise keep the formula, and say in the comment (not only the body) that this is a modeling reading with no Delaware text, that the chart is also met by a heating purchase, and that a current heating client who reports no cooling cost is refused; and drop or correct the "every state's" claim in the comment and the body. 3. The refactor moved the federal-floor line out of the file an existing backlog item names (new). The item lists Fix: in the same edit as should-address 1, change the code path and the note to Suggestions
Verified
Axiom
CIAll 39 checks pass at BranchNine commits behind main. The merge with main is clean; main now includes California #10732 and Nevada #10738. The merge is also clean with each open sibling's current head: #10730, #10734, #10736, #10740 and #10742 (all edit Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting three small changes. None needs a formula change unless you take the preferred fix for the second. Findings 1 and 2 from round 1 are closed: each was declined with a reason the sources back, and the code, registry and description now state it. The refactor of de_liheap_eligible is exact, and no existing Delaware expectation changed.
- Record the heating-bill choice. This one follows from a gap in my round-1 review. I said the 2015 manual was not in force and offered "follow the plan and the chart" without a record. The backlog on main already has a ruled Delaware item,
us-de:liheap-plan-income-checklist, that follows that manual over the plan. So the choice between section 415 and the plan and chart needs a candidate whichever way the code goes. The code comment should also name section 415 (Should Address 1). has_cooling_expenseis still required from a household that buys its heating. The chart the PR now relies on reads "Heating or Cooling", and the sibling PRs use the input as the alternative to a heating cost. The comment's "the input every state's cooling assistance uses" isn't accurate: California and Nevada don't read it. Either make it the alternative (sketch in the report) or say in the comment that it is a modeling reading and that a current heating client with no reported cooling cost is refused (Should Address 2).- A stale path from the refactor.
us-de:liheap-income-floor-vs-smi-limitstill namesde_liheap_eligible.pyfor the federal-floor line, which now lives inde_liheap_income_eligible.py(Should Address 3).
CI is green at e87cd041c1.
…ng-bill choice A household that buys its heating now qualifies for the SCAP electric benefit without a cooling cost (SCAP chart "Heating or Cooling"; manual 303.2 A); the cooling cost stays the route for a household that does not. New Case 13 pins it. Record manual 415 against the chart and plan 3.3 as candidate us-de:liheap-cooling-heating-bill (ruled 2026-11-12), name 415 in the comment, point us-de:liheap-income-floor-vs-smi-limit at de_liheap_income_eligible.py, add the FY2023 profile, and note FY2025's 88 households in the registry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, David. In
Suggestions:
|
PR Review (round 3): Add Delaware LIHEAP summer cooling electric benefit eligibilityReviewed at head SummaryThe fix commit closes all three round-2 items in substance:
One thing is left. The new candidate says CI is green at this head (40 of 40 checks). The Delaware LIHEAP test files, including the new case, ran and passed. The branch merges cleanly with current main and with each open sibling. 0 critical, 1 should address, 2 suggestions. Prior findings (round 2)
New findingsCritical (must fix)None. Should address1. The new candidate says
Suggestions
Verified
Axiom
CIAll 40 checks pass at
Branch
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting one change, to the record only. All three round-2 items are fixed in substance: the flag now uses the preferred formula, so a household that buys its heating qualifies without a cooling cost (Case 13 pins it); the heating-bill choice is a candidate with every field; and the stale path in us-de:liheap-income-floor-vs-smi-limit is corrected.
The new candidate us-de:liheap-cooling-heating-bill says state: ruled ("Ruled 2026-11-12: follow the plan and the SCAP chart"), but no ruling is on record: the note names no one and links nothing, and this PR, issue #10761 and rulespec-us#2175 hold no comment recording it. Please either have the ruling posted where it can be linked and put the role and the link in the note, as other ruled entries do, or set state: unreviewed until it exists (Should Address 1). The reading itself is sound, and I agree with it. No code change is needed either way.
Two optional suggestions follow. CI is green at 2908ce8c4d.
|
Ruling by the project lead, 2026-11-12: For the Delaware Summer Cooling Assistance electric benefit, follow the manual's SCAP eligibility chart ("Purchase Source of Heating or Cooling", PDF page 100) and plan item 3.3. Manual section 415's heating-bill requirement for "cooling electric" (PDF page 32) is not followed. The manual is split between section 415 and its own chart, and the plan's cooling answers side with the chart. So a household that buys its heating qualifies, and so does one that passes the income test and pays for cooling, including a public-housing tenant with heat in the rent (Case 12). |
…didate Name the project lead and link the ruling record in the note of us-de:liheap-cooling-heating-bill, add the FY2027 plan's item 3.3 as a source, and say in the question that the plan sets no different cooling policy for renters. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, David. In
No code or test changed. |
PR Review (round 4): Add Delaware LIHEAP summer cooling electric benefit eligibilityReviewed at head SummaryThe round-3 should is closed:
Both round-3 suggestions were taken. The commit changes no result for any household. CI is green at this head (38 of 38 checks), including the Delaware LIHEAP tests and the source-conflict guard tests. The branch merges cleanly with current main and with each open LIHEAP cooling sibling. The candidate id is unique in the merged tree. 0 critical, 0 should address, 0 suggestions. Prior findings (round 3)
New findingsCritical (must fix)None. Should addressNone. SuggestionsNone. Verified
Axiom
CIAll 38 checks pass at
Branch
Verdict: APPROVE |
DTrim99
left a comment
There was a problem hiding this comment.
Approving. The round-3 item is closed: the project lead's ruling on us-de:liheap-cooling-heating-bill is recorded in a dated comment on this PR, and the candidate's note names the role and links it, as the other ruled entries do. Both suggestions are taken, the commit changes no formula or expectation, CI is green at 3615979844, and the branch merges cleanly with main and with the open cooling siblings.
Adds an eligibility flag for Delaware's Summer Cooling Assistance electric benefit. No amount is modeled, because Delaware splits leftover funds equally among eligible households.
Fixes #10761
Targets main: an eligibility flag with no amount, so nothing is added to the national LIHEAP total.
What and why
The FY2026 plan targets the program to "households with members sixty or older, disabled, children five and under, and members that suffer from chronic breathing conditions" (item 3.3, p. 12). It says "everyone who is eligible, receives the same amount" (3.4) and that the benefit "is calculated equally between all the eligible households" (3.5, p. 13). The FY2027 plan repeats these provisions (pp. 11-12). DHSS says "Eligibility requires prior application for LIHEAP during the program year". The historical DEAP manual's SCAP chart defines LIHEAP eligibility as "Purchase Source of Heating or Cooling" (p. 100), and plan item 3.3 sets no cooling policy for subsidized renters or renters with utilities in the rent. Section 415 of the same 2015 manual asks for a heating bill for "cooling electric"; this PR follows the current plan and the chart, as it already does on the manual's income test, season dates and targeted groups. The choice is recorded as
us-de:liheap-cooling-heating-bill(ruled 2026-11-12).de_liheap_income_eligibleholds the household and income test, moved unchanged fromde_liheap_eligible, which now reads it.de_liheap_cooling_eligible(bool), true when both hold:de_liheap_eligible(the household buys its heating), orde_liheap_income_eligible, with no heating responsibility test, andhas_cooling_expense;heating_typeUNSPECIFIED does not qualify. This is a PolicyEngine convention (callers sendheating_type; issue 9754), not a Delaware rule: Delaware's regular heating formula pays unsubsidized heat in rent with an unknown fuel from its electric column. Every known fuel and NONE (no heating) can qualify.has_cooling_expenseis the route for a household that does not buy its heating: it stands for the purchased source of cooling in the SCAP chart. It is a modeling reading; no Delaware text asks the household to show a cooling cost. A household that buys its heating qualifies without it: the chart reads "Heating or Cooling", and manual 303.2 A processes a current heating applicant's SCAP application automatically.Test plan
us-de:liheap-cooling-heating-bill(manual 415 against the SCAP chart and plan 3.3; ruled 2026-11-12 for the chart and the plan).us-de:liheap-income-floor-vs-smi-limitnow namesde_liheap_income_eligible.py, where the federal floor moved.make format(ruff)changelog.d/Not modeled
programs.yamlno longer lists 2026 as verified.axiom: TheAxiomFoundation/rulespec-us#2175 queued
🤖 Generated with Claude Code