Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 #10618 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 1 5 +4
Lines 54 82 +28
Branches 0 1 +1
=========================================
+ Hits 54 82 +28
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 West Virginia LIEAP regular heating assistanceSummaryPR #10618 (author: hua7450), head
There are no reviews yet, and the only comment is Codecov's. The rules research matches the code closely. I worked from four sources:
What I checked:
One critical finding. The state's whole-dollar monthly limits are slightly above the federal ceiling of 42 U.S.C. 8624(b)(2)(B) at several household sizes in both claimed years, and the head follows them. This is the North Dakota #10342 C1 pattern. Two should-address items:
Four suggestions. CI is green (36/36), and the merge with CriticalC1. The income test admits households above the 42 U.S.C. 8624(b)(2)(B) ceiling in both claimed years. Where. What goes wrong. Rounding up reproduces West Virginia's printed limits, but at several sizes it lifts the limit above the federal maximum. The law. Payments may go only to households "with incomes which do not exceed the greater of (i) an amount equal to 150 percent of the poverty level for such State; or (ii) an amount equal to 60 percent of the State median income" (42 U.S.C. 8624(b)(2)(B)). HHS publishes the size-adjusted 60% amounts as "Mandatory Use in LIHEAP for FY26" (IM 2025-02 Attachment 4). For West Virginia:
From size 8 on, 150% of the guideline is the larger amount.
At the even FY2026 sizes from 8 up, 150% of the 2025 guideline ends in $0.75 a month, so rounding goes up. FY2027's 2026 guideline gives whole dollars, so sizes 8 and up are exact. Hand examples:
Precedent. This is the North Dakota #10342 C1 pattern: printed 60% SMI limits $2 to $12 above Attachment 4 were critical. The accepted fix capped every band at the federal maximum and recorded a Fix:
Should addressS1. Where. Rule. 21.3.1.A.3: "All sources of income are considered in determining income eligibility" (update 881, page 1727; earlier edition page 1726). Plan item 1.9 checks "Wages". Active-duty basic pay is wages, and it is not on the A.5 exclusion list. Example. One person has $36,000 of basic pay entered as
Precedent. This is the wave's omitted-source pattern (military pay in UT, AK and PA). IA #10292, UT, ND, NV #10432 and AK list Fix.
S2. The zero-size guard in the limit is unpinned. Where. Why no test catches its removal. Without the guard, a West Virginia unit with no qualified members gets a $29,448 limit, because
The wave's mutation rule treats an unpinned guard as should-address (UT #10344 r3 N1, two unpinned zero-standard guards). Fix. Either change is enough:
SuggestionsG1. Record the plan-against-manual choices in The body says no candidate applies. Yet the head makes the same kind of choices that siblings recorded as
G2. Cite the FY2027 plan. DoHS links a submitted FY2027 Detailed Model Plan (report period 10/01/2026 to 09/30/2027) from the LIEAP page. The PR cites only FY2026. The FY2027 plan:
Add it as a second reference and reflect it in the body and the Axiom issue. G3. Housekeeping.
G4. Floor the compressed base.
At extreme rates the base goes negative. With Verified correct
Hand-checked expectations (15):
Axiom line assessment
State of the issue. The issue is OPEN, labelled pe-parity, and was updated 2026-11-02 17:01 UTC.
Updates needed with the fixes:
CI status
Coverage includes:
Branch status
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes: 1 critical (rounding the monthly limits up puts them above the 42 USC 8624(b)(2)(B) ceiling at several sizes in FY2026 and FY2027; cap at the federal maximum as in North Dakota #10342), 2 should (military basic pay not counted; the zero-size limit guard is untested). Full report in the comment above.
- Stop a monthly limit that rounds up at the federal ceiling in 42 U.S.C. 8624(b)(2)(B). - Count military_basic_pay and pin the zero-size limit. - Cite the FY2027 plan on the limit rates. - Record four source choices in the source-conflict candidates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, David.
On C1, I capped at the state's own unrounded amount instead of your max(
|
Adds West Virginia's Low Income Energy Assistance Program (LIEAP) regular heating payment for FY2026 and FY2027, run by the Department of Human Services (DoHS), Bureau for Family Assistance, under chapter 21 of the Income Maintenance Manual (IMM). The model counts citizens and legal immigrants in the assistance group and every member's gross income except the manual's exclusions, which include Social Security (RSDI) and SSI. The limit is 60% of state median income for one to seven members and 150% of the prior-year poverty guideline from eight ($2,454 a month for one person in FY2026, $2,550 in FY2027). The manual prints that limit rounded to the whole dollar a month, and the model stops it at the unrounded annual amount, the federal ceiling in 42 U.S.C. 8624(b)(2)(B). The payment is the Appendix A base amount for the group's size and monthly income row ($160 for one person in the first row, $5 less per row, $5 more per member) times a fuel factor (1.750 electricity, 1.198 natural gas, 1.089 propane, fuel oil, kerosene, wood and coal), rounded to the cent: $70.79 to $446.25.
Fixes #10617
Regulatory authority
Eligibility
defined_for = StateCode.WVis_citizen_or_legal_immigrant; size 0 is ineligiblehas_heating_expense: a positive bill for the named fuel, heat not in rent; callers may set it for a heating charge stated in rent or electricity that runs self-cut wood; subsidized tenants who pay heat directly qualifyCountable income
military_basic_pay), unemployment (total_unemployment_compensation), strike benefits, pensions, military retirement (military_retirement_income, with Survivor Benefit Plan annuities), railroad retirement (railroad_benefits), retirement-account distributions, non-Social Security survivor benefits, general assistance, rental and farm rental income, alimony, child support received, interest, dividends, veterans benefits, workers' compensation, disability benefits, outside cash help (financial_assistance), recurring miscellaneous receipts (miscellaneous_income, the only input able to carry contract, mineral-rights, jury-duty or settlement receipts)tanf, once per householdBenefit
right=True)Source priority and modeling notes
us-wv:liheap-plan-categorical-eligibility). FY2027 plan item 1.4 answers No. The manual counts all sources except its list, so the model counts general assistance, TANF, cash help, VA benefits and minors' earnings, which plan item 1.9 leaves unchecked (the FY2027 plan checks a child's earnings), and excludes nonrecurring lump sums, which 1.9 checks (candidateus-wv:liheap-plan-income-and-benefit-items). The exclusion names only Social Security Administration benefits, so railroad retirement, paid by the Railroad Retirement Board, counts. Board of Review decisions apply 21.3.1.A to a SNAP recipient whose income went unverified (25-BOR-1354, pages 3-4) and with the $4,720 four-person limit (26-BOR-1570, page 4).veterans_benefitsin full, since the input cannot separate Aid and Attendance. Both editions are later than the announcement (the earlier PDF was created July 27, 2026, and update 881 takes effect October 1, 2026), and the fact sheets and agency pages do not repeat its line. A veteran with $30,000 in VA benefits and no other income receives $0 under the manual and would receive $280 under the announcement (candidateus-wv:liheap-veterans-benefits, unreviewed).us-wv:liheap-plan-income-and-benefit-items).liheap_smi_limit.us-wv:liheap-income-limit-above-federal-ceiling, following the statute). A three-person FY2026 group with $47,578 receives $0, where the printed $3,965 x 12 = $47,580 would pay $253.75 (wv_lieap.yamlCase 11).wv_lieap.yamlCase 1); it has no input for the FY2026 C.7 third-party payer, whom that edition treats as invulnerable.The registry entry is partial with
verified_years: "2026-2027"; earlier years are unverified backfilled estimates.Not modeled
miscellaneous_incomereads as recurringMicrosimulation:
heating_type, the per-fuel bills and the heat-in-rent fact behindhas_heating_expenseare not in current datasets; callers must supply them.Test plan
42 YAML cases in 5 files. CI passed the 40 earlier cases at the previous head,
fcdbc7f779. The 2026-11-03 review fixes, which change the limit expectations and addwv_lieap.yamlCases 11 and 12, and the merge ofmainat6145ad4513have not run locally, and CI validates them.wv_lieap.yaml(12): every heating type at zero income; both years' first two rows and one-person ceiling to the cent; FY2027's $3,427 row; adjacent eleven-person rows; the $147.02 half cent; 20 members at the ceiling and 21 members; direct, subsidized, missing and heat-in-rent costs; a stated rent charge and self-cut wood; a mixed-status group through to the payment; the federal ceiling at FY2026 sizes 3 and 8 and FY2027 size 3.wv_lieap_income_limit.yaml(5): FY2026 and FY2027 limits for sizes 1-11 under the federal ceiling, one multi-unit case per year, the 7/8 switch by qualified members, and an Ohio household.wv_lieap_income_eligible.yaml(4): inclusive ceilings, SNAP, TANF or SSI receipt above the ceiling, unqualified members' income, a zero limit at zero qualified size.wv_lieap_countable_income.yaml(16): minors' and unqualified members' earnings, each listed source including military basic pay, railroad retirement and miscellaneous income, the exclusions, nonrecurring proceeds, per-source loss floors, unemployment and WV WORKS receipt.wv_lieap_household_size.yaml(5): qualified and unqualified members.YAML tests with expected values from the IMM charts, product table and income tables, the agency guidelines, and the HHS SMI and poverty-guideline tables
Source-conflict register entry for a statute reading: the federal ceiling is backlog entry
us-wv:liheap-income-limit-above-federal-ceilinginsource_conflicts/candidates.yaml; no# Source conflictmarker until it is registered. Three source choices with no statute reading are also candidates:us-wv:liheap-plan-categorical-eligibility,us-wv:liheap-plan-income-and-benefit-itemsandus-wv:liheap-veterans-benefitsmake formatChangelog fragment in
changelog.d/CI passes
axiom: TheAxiomFoundation/rulespec-us#1998 queued
🤖 Generated with Claude Code