Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # policyengine_us/programs.yaml
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Review: Add Missouri LIHEAP Energy AssistancePR #10438 (author: hua7450), head
The PR has no comments yet and touches no partner test file. Path prefixes:
Sources read for this review:
SummaryWhat is right. The published FFY2026 and FFY2027 values are encoded correctly:
There are no critical findings and five should-address items:
There are also five suggestions:
Status.
Critical (must fix)None. Should addressS1. The income test and payment table follow the agency documents over 13 CSR 40-19.020(6)(D) and (14), while the renter rate follows the rule, and the backlog entries do not record the conflicts fully
S2. Missouri pays the fuel the household selects, electric included, but the model pays only the primary heating fuel and bars subsidized tenants who pay an electric supplier
S3. The SMI (Part B) premium is deducted only from Social Security, although the manual allows it for railroad beneficiaries and for the full premium paid
S4. Rental and farm-rent losses offset wages, because the unearned sum has no per-source floor
S5. 10 of the 20 income-source entries and 5 of the 8 medical-deduction benefit entries have no test that would fail if they were dropped
SuggestionsG1. Cite manual page 44 for the citizenship proxy.
G2. Fix the plan citation for interest and dividends, and record the plan-vs-manual income choices.
G3. Read the take-up-gated
G4. Decide what a heat-in-rent renter with an UNSPECIFIED fuel receives.
G5. Add Wayback captures for anchors at risk of revision drift.
Verified correctValues against sources:
Hand-checked expectations (20). All are 2026 unless noted, with a size-1 limit of 34,080:
Batch checks:
Wiring and housekeeping:
Checklist results (LIHEAP batch):
Axiom line assessmentValid:
CI status27 pass, 0 failed, none pending. Run 40047545306 tested head
Branch status
0 critical, 5 should and 5 suggestions are open at this head. Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
The tables check out (all FFY26 and FFY27 limit rows, the 7 fuel amounts, the 110% floor, the 20% and medical deductions, mo_ssp counted), the guards pass, and 20 expectations hand-check. Five should-address items: (1) the income test and table follow the agency (60% SMI, flat amounts) over 13 CSR's 135% FPG ranges, but the renter rate follows the rule (8% vs 16%), and the candidate omits RSMo 660.100.2 and the rent rate; (2) Missouri pays the fuel the household selects, electric included (kerosene plus electric: $153 vs $318); (3) the SMI premium isn't deducted from railroad benefits ($0 vs $326); (4) a rental loss offsets wages; (5) 10 of 20 income sources and 5 of 8 medical-deduction entries are unpinned. Five suggestions. Full report in the comment above.
Adds Missouri LIHEAP Energy Assistance (EA), the one-time regular heating payment the Department of Social Services, Family Support Division pays for FY2026 and FY2027. The model:
Fixes #10428
The Energy Crisis Intervention Program (ECIP), cooling, weatherization and emergency services are out of scope.
Regulatory authority
Eligibility
defined_for = StateCode.MOmo_liheap_household_sizesumsis_citizen_or_legal_immigrant; other members are left out of size, but their income counts (manual p.42-43); size 0 is ineligiblemo_liheap_income_limit:liheap_smi_limit/ 12, rounded to the nearest dollar, x 12. Reproduces all 20 FFY2026 rows and all 10 FFY2027 rows. The 2017 income ranges in 13 CSR (6)(D) and (14) are not applied (see the source notes below)source_conflicts/candidates.yamlentryus-mo:liheap-110-percent-poverty-floorspm_unit_cash_assets(bank, stock and bond assets)has_heating_expense, orheat_expense_included_in_rentwithout subsidized housingreceives_housing_assistanceoris_in_public_housing; eligible with its own fuel billCountable income
disability_benefits) are excluded; their Social Security and SSI count as SSA income. Members 18 or older have earnings counted whether or not they attend high school, GED classes or home schoolmo_ssp), pensions, military retirement (with survivor annuities), railroad retirement, rental and farm rent, alimony, child support received, VA benefits, workers' compensation, contributions from friends or family (financial_assistance); private short- and long-term disability for members 18 or oldermedicare_part_b_premium, floored at zero per personmo_tanfchild_support_expenseof every member is deducted. The manual deducts child support "paid by any household member" and calls members left out as non-citizens "ineligible household members", so their payments are deducted with their income countedmo_ssp),veterans_benefits,railroad_benefits,social_security_dependentsorsocial_security_survivors. With the disabled-or-blind requirement, the last four inputs stand in for VA and Railroad Retirement disability benefits and for disabled-adult-child and disabled-widow(er) benefits. They also include benefits a disabled member receives for other reasons (Social Security spousal, aged-survivor or child-in-care benefits, a railroad age-and-service annuity), which no input separates, so the deduction can reach some disabled members whose benefit is not paid for disability. The manual is silent on a spouse left out as a non-citizen; such a spouse does not qualify the householdBenefit
The same amounts appear in the October 2025 manual (Appendix K, p.129), the FFY26 Appendix K and the FFY2027 application. A renter whose heat is included in the rent receives 8% of annual rent (
pre_subsidy_rent), up to the amount for the household's fuel (13 CSR 40-19.020(13); manual p.63).Not modeled and source notes
source_conflicts/candidates.yamlentryus-mo:liheap-rule-income-ranges-and-paymentsheating_typehas one propane value, paid at the tank amountThe October 2025 manual replaces the FFY2024 manual (updated 10/2023), which left out the income of members excluded as non-citizens and also excluded the earnings of a child in high school, GED classes or home school; the model follows the October 2025 edition.
Both Missouri entries in
source_conflicts/candidates.yaml,us-mo:liheap-110-percent-poverty-floorandus-mo:liheap-rule-income-ranges-and-payments, are unregistered candidates, so the code carries no# Source conflictmarker yet.Test plan
52 YAML cases in 8 files cover:
Expected values are hand-computed from the sources above. All 52 pass locally (
policyengine-core teston the program folder, 2026-10-23, after the move to the October 2025 manual), as do the registry and source-conflict checks.make format(ruff on changed Python)changelog.d/axiom: TheAxiomFoundation/rulespec-us#1899 queued
🤖 Generated with Claude Code