Repository navigation
Conversation
8 CCR 1403-1 3.132(D) and (E) pay for the care of children under 13, and of children under 19 who can't care for themselves or who are under court supervision. co_ccap_subsidy summed every SPM unit member's child care and after-school charges, a teenager's among them; it now sums the charges of members who pass co_ccap_child_eligible, as co_ccap_parent_fee already does. Adds YAML cases at the age boundaries, two Hypothesis properties and a towncrier fragment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add YAML cases, recomputed by hand from CDEC's rate tables and the county rate plans, for the full-time rate, care units, days of care, age bands, quality tiers, provider types, the monthly cap and the reimbursement. Add Hypothesis tests for four invariants: 1. Every cell of every table, on every effective date, matches the full-time rate the model reads. 2. Each care unit pays its share of the full-time rate, rounded half up to the cent: 55% for part time, twice the rate for two full-time units. 3. The payment equals the eligible children's charges, each capped at the county rate, less the fee. So it never exceeds the county rates or the charges less the fee, and the capped fee never exceeds the reimbursement. 4. More charges never lower the payment, and a higher fee never raises it. Read Denver's rates for a household with no Colorado county. The tables' county breakdown fills them with every county in the country at zero, so such a household read $0; co_ccap_fpg_eligible already falls back to Denver. Update #10699's subsidy cases and court supervision case 5 for the cap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add YAML cases, recomputed by hand from CDEC's rate tables and the county rate plans, for the full-time rate, care units, days of care, age bands, quality tiers, provider types, the monthly cap and the reimbursement. Add Hypothesis tests for four invariants: 1. Every cell of every table, on every effective date, matches the full-time rate the model reads. 2. Each care unit pays its share of the full-time rate, rounded half up to the cent: 55% for part time, twice the rate for two full-time units. 3. The payment equals the eligible children's charges, each capped at the county rate, less the fee. So it never exceeds the county rates or the charges less the fee, and the capped fee never exceeds the reimbursement. 4. More charges never lower the payment, and a higher fee never raises it. Read Denver's rates for a household with no Colorado county. The tables' county breakdown fills them with every county in the country at zero, so such a household read $0; co_ccap_fpg_eligible already falls back to Denver. Update #10699's subsidy cases and court supervision case 5 for the cap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Review: Pay Colorado's child care assistance only for eligible childrenSummaryI read the rule before the code. 8 CCR 1403-1 has counties buy care child by child (3.132(A)). They pay only for an eligible child: under 13, or under 19 for a child who can't care for themselves or is under court supervision (3.103(UU), 3.111(F), 3.132(D) and (E)). The household's single parent fee pays the first dollars of that care (3.124(A), (K) and (L)). The new formula does this. It sums the child care and after-school charges of members who pass One item needs a change: the variable lists the same rule PDF three times, which breaks the CLAUDE.md reference rules. The suggestions cover three things: a pre-existing gap (the rule's per-child citizenship test isn't modelled), a code comment for the re-determination limit, and optional trimming of the Python properties. Basis: I didn't run Python or tests locally. Every claim rests on reading the rule PDFs and the code, on hand traces, or on CI logs, and I say which as I go. CriticalNone. Should address1. reference = (
# 8 CCR 1403-1 3.103(UU), 3.111(F), 3.124(K) and (L), 3.132(D) and (E):
# PDF pages 9-10, 35, 82, 126
"https://www.sos.state.co.us/CCR/GenerateRulePdf.do?ruleVersionId=12658&fileName=8%20CCR%201403-1#page=9",
)Adding 3.124(K) is optional, but it is the rule behind the formula's Suggestions1. Pre-existing gap: the eligible-child definition the PR cites also requires the child to be a citizen or legal resident, and
Rule version 11042, which governs the earlier test periods, has the same sentences (pp. 4 and 6). On this branch, a family with a citizen 3-year-old and a 5-year-old without lawful status is still paid for both children's care. The rule pays only for the 3-year-old. This PR neither introduces nor worsens the gap:
2. Put the re-determination limit in the code, not only in the PR body. 3. Optional: the second Hypothesis property restates the formula. Verified correctRule research. I read the PDFs.
Formula (by reading).
Hand checks (monthly unless noted; fee as input):
Mutation (by reading). Deleting Readers of the changed variable (by grep at the head and on
Housekeeping.
Python test cost (CI log). In Rest (Python shard 4), group Axiom line assessment
CI statusAt head 2eeea71,
Branch statusThe branch is 1 ahead and 183 behind
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes: 0 critical, 1 should address, 3 suggestions (details in the report above).
- The rule and the model: 8 CCR 1403-1 pays child by child, for children under 13 and for those under 19 who can't care for themselves or are under court supervision, and the household fee pays the first dollars. The new formula matches that and changes neither the fee nor household eligibility. All 8 YAML cases and 5 Hypothesis examples check by hand.
- The should:
co_ccap_subsidy.py:11-18lists one rule PDF three times, differing only by#page. CLAUDE.md asks for one entry per document, with a# PDF pages ...comment, as the stacked #10723 already does.
What this changes
Colorado's counties pay providers for the care of eligible children under the Child Care Assistance Program, and the Department of Early Childhood sets the children's age limits in 8 CCR 1403-1:
co_ccap_child_eligiblealready applies those limits and takes a disability or court supervision as the additional care need, andco_ccap_parent_feecounts only eligible children in care. Onmain, though,co_ccap_subsidysums the child care and after-school charges of every SPM unit member, a teenager's among them.For example, take a parent with a 3-year-old and a 15-year-old, $1,000 a month in charges for each child and a $200 parent fee. On
main, the family receives $1,800 a month: $800 toward the 3-year-old's care and the 15-year-old's whole $1,000. On this branch, it receives $800.Under 3.125(FFF), the county pays the lesser of the provider's private pay rate and the county reimbursement rate that the department sets. The model has no county rates yet, so nothing caps a child's charge until #10723 adds them.
Under 3.114(B)(1), a county ends care for a child who passes the age limits only at the family's re-determination.
co_ccap_is_in_entry_processdefaults to true, so the model applies the age limits as a county does when a family applies. The model has no record of when a family last applied, so it stops counting a child's care in the month the child ages out, while a county pays until re-determination.Tests
co_ccap_subsidy.yaml:mainfails three of them: it counts the 15-year-old's $1,000 of charges in Cases 3 and 8 and the 13-year-old's $500 of after-school care in Case 6. Cases 4, 5 and 7 pass on both, since a teenager with a disability or under court supervision and a 12-year-old all count as eligible children.test_co_ccap_eligible_children_properties.pyadds two Hypothesis properties, with 15 and 20 examples. They draw ages, disabilities, court supervision and charges, which YAML can't draw, and set eligibility and the parent fee as inputs:mainfails both, paying $1,000 instead of $500 for a 12-year-old and a 13-year-old with $500 of after-school care each. When a $200 fee exceeds a 3-year-old's $100 charge and a 15-year-old's charge comes to $1,000, it pays $900 instead of nothing.In CI at 2eeea71, the Rest Python group
remaining-2ran the two properties in 7.5 and 10.4 seconds. They add about 18 seconds to a group that ran for 29:32 and peaked at 7.5 GiB of resident memory. CI measures memory for the whole group, and we didn't measure the file's own peak. Locally, on macOS with one process, the file takes 13 seconds of test time.Invariants
For every SPM unit in Colorado and every month:
co_ccap_eligible, and until the model adds county rates, the payment equals the eligible children's charges less the parent fee, floored at zero.The two properties check 3 and 4, and 1 and 2 follow from 4 and from
co_ccap_subsidy'sdefined_for, which pays an ineligible unit nothing.Impact
We ran Populace US 2024, the default dataset, for 2026 at
040fe5686cand again with this change cherry-picked onto it (391422a907). Between040fe5686cand this branch's base,7acea8ee63,mainchanged no Colorado CCAP variable or parameter, no child care expense variable and no CCDF variable or parameter.We estimate that Colorado's program pays $269.3 million in 2026, down from $270.7 million, a fall of $1.3 million. Nineteen records, with a combined weight of 31,425 SPM units, receive a payment before and after the change. Nine of them change, with a combined weight of 2,710 units. In each, a member under 18 who fails the eligible-child test held a share of the bill, and the parent fee comes to zero, so the payment falls by that share. Two records carry almost all the weight: the new formula pays one share in three for one and three shares in four for the other.
Nationally, we estimate that household net income falls by $484,811, less than the cut in the subsidy. Families now pay more of their own bills, and SNAP's dependent care deduction counts those bills, so SNAP rises by $463,490. The federal child and dependent care credit rises by $44,070. SPM poverty rates stay the same, and no other state's results move.
axiom: TheAxiomFoundation/rulespec-us#2073 queued
🤖 Generated with Claude Code