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 Vermont Seasonal Fuel AssistancePR #10436 (author: hua7450), head Path prefixes:
Sources read for this review:
SummaryWhat is right. The published 2025-26 rules are encoded faithfully, and the PR is unusually careful:
There are no critical findings and three should-address items:
There are also five suggestions:
Status.
Critical (must fix)None. Should addressS1. Railroad Retirement annuities are not counted as income
S2. 22 of the 26 income-source entries, the unearned per-source floor and the monthly
|
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes: 0 critical, 3 should (railroad benefits missing from countable income; untested income sources; 2027 benefit rate and verified-years claim). Full report in the comment above.
Adds Vermont Seasonal Fuel Assistance, the state's LIHEAP regular heating benefit administered by the Department for Children and Families (DCF) Economic Services Division, for the 2025-26 and 2026-27 heating seasons (model years 2026 and 2027). The model counts citizens and qualified noncitizens in household size (all members' income still counts), tests monthly gross income against the lowest of the printed 185% monthly limit, exactly 185% of the poverty guideline and the LIHEAP maximum, and pays the heat cost percentage for the household's percentage of poverty (read from the monthly dollar bands of the procedures table) times the standard heating cost for its fuel, dwelling type and bedrooms, times the payment rate, adjusted for subsidized housing and heat included in rent, rounded down to whole dollars.
Fixes #10426
The payment rate is an estimate. DCF sets it by procedure each season and does not publish it; 51% is inferred from the FFY2026 plan's $2,089 maximum (floor(4,552 x 0.90 x 0.51), the only whole percent that reproduces it) and is reused for 2026-27 until DCF publishes that season's rate.
Regulatory authority
Eligibility
defined_for = StateCode.VTvt_liheap_household_sizesumsis_citizen_or_legal_immigrant; size 0 is ineligiblevt_liheap_income_limit= min(12 x the P-2913 monthly 185% amount, 185% of the annual guideline, greater of 150% FPG and 60% SMI); one person in 2026: $2,412 a month ($28,944 a year, the printed amount); two people: $39,127.50 a year (the statute's 185%, below the printed $3,262 a month); the LIHEAP maximum binds from size 10 in FFY2026 (see source conflicts)SOLARuses the electricity row (grid-tied home with electric heat);NONEis ineligible;OTHERandUNSPECIFIEDpay nothing except the $21 subsidized heat-in-rent benefit, which needs no fuelCountable income
vt_aabd), General Assistance, Reach Up (tanf, once), pensions, military retirement and survivor annuities, retirement distributions, veterans, disability, workers' and unemployment compensation, Social Security (gross), other survivor benefits, strike benefits, rental income, child support, alimony, interest, dividends, trust income and other direct money payments (miscellaneous_income)Benefit
vt_liheap_dwelling_type, defaulting to single-family or mobile home.Not modeled
Monthly tables from the guideline
P-2913 and P-2914A print monthly dollars for sizes 1-15 but do not state how they are derived. The model builds them from the federal guideline instead of storing the tables (
vt_liheap_fpg, new parameterfpg_table_size):The construction is a numerical inference from the printed tables, not a stated rule. Rounding each size's own guideline instead would miss 53 of the 55 band tops for sizes 11-15 by $1-$4, and some limits for sizes 9-15.
Source conflicts
us-vt:liheap-income-maximum-rounding(added tosource_conflicts/candidates.yaml): P-2913 prints 185% of the monthly guideline rounded half up to the dollar, which is above 185% of the guideline for some sizes. 33 V.S.A. 2604(a) requires income "no greater than 185 percent of the federal poverty level", so the model applies the exact 185% where it is lower (two people in 2026: $39,127.50 a year rather than $3,262 x 12 = $39,144) and the printed amount elsewhere (one person: $2,412 a month against $2,412.71).us-vt:liheap-income-maximum-large-households(added tosource_conflicts/candidates.yaml): P-2913 prints 185% limits for sizes 10-15 that exceed the LIHEAP maximum in 33 V.S.A. 2604(a) and rule 2913(b); the model follows the statute (size 10 in FFY2026: $113,748 a year rather than $120,528). The plan's 60% SMI field is below the rule and is not followed on its own.Shared parameter
Adds
gov.hhs.liheap.fpg_limit(150%, 42 U.S.C. 8624(b)(2)(B)(i)) next tosmi_limit. Its value starts 1981-10-01, because Pub. L. 97-35 set the 150% ceiling from fiscal year 1982. The Maine HEAP branch adds a byte-identical copy.Test plan
45 YAML cases in 9 files cover household size with a mixed-status member, income sources, the per-source floor, the child-student exclusion and a 16-year-old student who is not a tax dependent and whose earnings count, the monthly guideline (a half-dollar rounding and an eleven-person household), the income limit at sizes 1, 10 and 13 in 2026 and size 10 in 2027, the printed monthly limit and $1 a month above it, a two-person income under the printed limit but above the statute's 185%, a printed band top and $1 a month above it, the 66% to 33% drop, every fuel row and both dwelling types, the bedroom bounds, all four housing treatments with the $50 minimum, rounding down, and four end-to-end households. Expected values are hand-computed from the printed rule and procedure tables. The cases were not re-run locally after the review fixes or the monthly-table change; CI validates them.
policyengine-core teston the program folder, 2026-10-23, after mergingmainand addingvt_aabd)changelog.d/axiom: TheAxiomFoundation/rulespec-us#1897 queued
🤖 Generated with Claude Code