Repository navigation
Pay Vermont and New Hampshire child care subsidies only for care - #10584
Merged
Merged
Conversation
vt_ccfap paid the state rate to every eligible child whether or not the child had a provider, and nh_ccap added its disability supplement outside the bill cap. A child with no care hours and no bill now draws nothing, which every other state's program already held. A new test asserts that across all 51. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 2, 2026
Vermont paid the lesser of the state rate and the provider's rate until December 17, 2023. The formula applied the later rule in every year, which the household aggregate would carry into 2023 net income. Word the changelog for both states. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis
marked this pull request as ready for review
November 2, 2026 08:34
Before December 17, 2023 the cap read a missing bill as a zero charge, so a child with care hours but no bill drew nothing. A missing bill leaves the charge unknown, so only a real bill caps the rate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Merging at e7823d4 under the repo's merge gates: every check passed on this head, the PR is mergeable, and no review asks for changes. The only block was the required approving review on a PR opened from Max's account. Independent reviews, all on Opus lanes because the Codex lanes are closed this week:
Local runs on all five reconciliation PRs merged together: 585 YAML and 142 pytest cases passed. #9503 lands after this one. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two state child care programs pay for children who aren't in care.
vt_ccfappays Vermont's state rate for every eligible child, andnh_ccapadds New Hampshire's disability supplement outside the bill cap. In a 51-state check, these are the only two programs that pay a family with no bill and no care hours.#9503 depends on this fix, because that PR moves these payments into
household_net_income.What changed
vt_ccfapnow counts a child who has care hours or a bill.vt_ccfapapplied the later rule in every year. A new parameter,gov.states.vt.dcf.ccfap.rates.pays_above_provider_charge, dates the change. The family's bill stands in for the provider's rate before it.Invariants
test_child_care_subsidy_needs_care.pyasserts this across all 51 programs at once, with Hypothesis generating earnings, child ages and disability:It fails on main. The YAML cases pin the rest:
Test cost: YAML can pin one family in one state, but not one rule across every state and a generated family. One simulation holds all 51 households, so the 8 examples build 8 models. That took 42.08s at 1.57 GB peak on local macOS under load. These aren't Linux CI numbers, and I have no Linux peak memory figure. The test lands in the "Python tests / Full Suite - Rest" shards.
Impact
These come from real 2026 microsimulations of the whole Populace US file (
populace-us-2024-spm-20260909), comparing 469ad12 with this branch at 220ad80. The later commits change only months before December 2023.child_care_subsidiesSPM poverty,
spm_unit_net_income,household_benefitsandhousehold_net_incomedon't move, because main counts neither state's subsidy in either total. Main moved four commits past 469ad12 with no variable or parameter changes.Vermont swings from too high to too low. The state reports about $141.6M spent in fiscal 2025 and budgets about $172.6M for fiscal 2026 (FY26 DCF budget presentation), so $519M ran about three times high and $46M runs about a third of the way there. The file carries no care hours, and its bill comes from what parents report paying, so a bill is the only sign of care it can show. A family whose subsidy covers its bill shows none. Of Vermont's 76 subsidized records, 59 had no bill. The state row rests on few records (an effective sample of 156 households), so it shows exposure and isn't an estimate of state spending.
Limitations
childcare_expensessubtracts the subsidy from the bill and stops at zero, so it can't show the family share that Vermont's parents still owe.axiom: TheAxiomFoundation/rulespec-us#1984 queued
axiom: TheAxiomFoundation/rulespec-us#1985 queued
🤖 Generated with Claude Code