Repository navigation
Correct Texas CCS expanded-age rates and pay relative and blended care from January 2025 - #10636
Conversation
bcy2026.csv differed from TWC's Board Contract Year 2026 table in 127 of 8,512 cells, and bcy2025.csv differed from TWC's eight-age table in one of 6,720 cells (Golden Crescent LCCH regular, 6-13 part time). This writes TWC's printed value into each of those cells and changes nothing else. pdftotext and pdfplumber read both tables identically, and WD 08-25 Attachment 1 in Word matches the BCY 2026 PDF in all 8,512 cells. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tember 2025 TWC's eight-age BCY 2025 table prints no relative rows and no blended columns, so the model paid $0 for both from January to September 2025. bcy2025.csv now holds each Board's relative rates from TWC's four-age table, and blended rates from WD Letter 02-20's formula, beside TWC's 6,720 printed cells. TWC labels a Board's one relative rate Reg or None, by table and by Board, so tx_ccs_payment_rate now reads it under either label. Adds YAML cases for the corrected cells and the window, and an invariant test for both CSVs. 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 #10636 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 1 1
Lines 15 36 +21
Branches 0 1 +1
=========================================
+ Hits 15 36 +21
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:
|
|
Ready for hub review Head reviewed: Scope limit: read this firstThis verdict covers the code, the tests, internal consistency, the impact runs and the merge with #10598. It does not cover whether the CSVs match TWC's printed tables. This review environment's network policy refused every source host (web.archive.org, twc.texas.gov, childcare.texas.gov, ntxworksolutions.org, southtexasworkforce.org, law.cornell.edu): each returned a 403 on CONNECT. I fetched no primary source, hashed none and extracted none. So I did not run the core data check: 8,512 BCY 2026 cells and 6,720 printed BCY 2025 cells against TWC's PDF and Word copy, the four-age relative rows, the North Texas sheet or the South Texas sheet. Every claim in the PR that depends on reading a source is marked unverifiable below. Someone who can reach those files should run that comparison before merge. Nothing I found suggests it will fail. What I ran
FindingsNo P1 or P2. P3. P3. The PR body's "42 blended cells" bullet reads as a subset of the 127, but it isn't one. The bullet sits under "they don't form one coherent table", right after "43 of the 127". The whole old P3. PR body, file history. The body says " P3 (gap Checked and found correctOld-value claims, recomputed from
BCY 2025 changes:
Relative fill:
Blended fill:
Code (
Claim 7, Capital Area relative infant, full time:
Tests:
Impact: all 8 scenarios reproduce the body's table to the dollar on both sides: monthly rate, subsidy, SNAP and SPM net income. I skipped the #10569 column. Mechanism: the SNAP and SPM explanation holds.
Population: Repo rules:
Fit with #10598:
Unverifiable here (source hosts blocked)
Generated by Claude Code |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add four-age-table cases for a relative provider entered as NONE (the rate TWC labels None) and one at a star rating ($0). In the module comment, cite WD 19-24, Change 1 for leaving relative rates to Boards and ending the four-age rates on January 12, 2025; its no-decrease line covers TWC's eight-age rates, not Board-set relative rates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
We merged this at
Whichever of #10598 and #10622 lands first brings TWC's Dallas County values to main and can drop |
Brings in #10636, which changes tx_ccs_payment_rate.py and its YAML cases, so CI tests the two together. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What and why
From January 2025,
tx_ccs_payment_ratereads Texas Child Care Services rates from two eight-age-group tables:rates_expanded_age_groups/bcy2025.csvuntil September 2025 andbcy2026.csvafter that. This PR:bcy2026.csvand one inbcy2025.csvto match the Texas Workforce Commission's (TWC) tables;Corrected cells
BCY 2026
TWC's table (WD Letter 08-25, Attachment 1, effective October 1, 2025) differs from the CSV in 127 cells across 13 Boards. This PR raises 111 of them and lowers 16, by a median of $0.38 a day.
This PR raises Permian Basin LCCC Four-Star, 12-17 months full time, from $39.22 to $42.80, its largest increase. It lowers Rural Capital LCCH regular, 4-year-old blended, from $39.42 to $39.39. At $39.42, that cell's Two-Star and Texas School Ready rates fell short of the 5 percent markup in 40 TAC §809.20(c).
BCY 2025
TWC's eight-age table prints $22.80 for Golden Crescent LCCH regular, 6-13 years part time, where the CSV held $22.20.
Extraction
pdftotext -layoutreads each table by column order, and pdfplumber assigns each rate to its printed header by position. They agree on all 8,512 BCY 2026 cells and all 6,720 printed BCY 2025 cells, and the CSVs now match them. TWC's Word copy of Attachment 1 matches all 8,512 BCY 2026 cells too.Editions
TWC's Word attachment (saved September 30, 2025), TWC's PDF (created October 6, 2025) and the childcare.texas.gov copy (saved March 9, 2026) print the same BCY 2026 rates. South Texas's one-page sheet (created September 30, 2025) prints the same South Texas rates. South Plains's provider page prints TWC's values in three of its four corrected cells and has no Texas School Ready row for the fourth. None matches the old values. South Plains's page also prints $36.36 for LCCH Four-Star, 3 years full time, where TWC prints $36.30, and we keep TWC's value.
bcy2026.csvkept the same bytes from its first appearance, asrates_v2/bcy26.csvin65a83a13ce(February 11, 2026), until this PR.f3343c7071and8180760814only moved and renamed it. We couldn't establish where its values came from, and they don't form one coherent table:That pattern fits transcription or extraction error, though an unarchived edition stays possible.
January to September 2025
_lookup_expanded_ratereturns $0 where a table has no cell. TWC's eight-age table prints no relative rows and no blended columns, so main pays $0 for relative care and blended schedules in those nine months and pays again from October 2025. Main'stx_ccs_payment_rate.yamlexpects that $0 for a Capital Area relative provider in January 2025.bcy2025.csvnow holds 8,512 cells, with the same rows, columns and order asbcy2026.csv.Relative care
Under 40 TAC §809.20(a)(1)(D), each Board must set full-day and part-day rates for relative providers, and in WD 19-24, Change 1, TWC leaves those rates to Boards. So each Board had relative rates in these months that TWC's table doesn't list. This PR fills the 448 relative full-time and part-time cells (28 Boards × 8 ages × 2 schedules) with each Board's rates from TWC's four-age BCY 2025 table. We map the letter's four age groups onto the eight: Infant 0-17 months, Toddler 18 months to 2 years, Preschool 3-5 years and School Age 6-13 years.
In the same letter, TWC ends the four-age rates on January 12, 2025, and we carry their relative rates forward to September 30, 2025. TWC's BCY 2026 table matches the carried rates in 447 of 448 cells. The exception, Brazos Valley school-age part time, moves from $5.35 to $5.23. North Texas's Board sheet effective 1-13-2025 prints relative rates for all eight ages, and all 16 match, as do its 210 regulated cells.
Blended schedules
TWC defines the blended-day unit in 40 TAC §809.93(f)(3) and sets the formula in WD Letter 02-20: (175 × part-time rate + 30 × full-time rate) / 205. In its 2026 rule adoption, the Commission says the blended-rate method its rules describe "has been in place since 2010". We apply WD 02-20's formula, rounding half up to the cent, to ages 4, 5 and 6-13, the ages BCY 2026 prints, in all 448 rows (28 Boards × 16 provider type and rating rows). It reproduces all 448 school-age blended rates in the four-age table and all 1,344 blended rates in BCY 2026. In its provider handbook, revised July 3, 2025, Alamo points providers to TWC's eight-age table for rates from January 13, 2025 and computes blended rates with the same formula.
Relative labels
TWC labels the relative row "None" for 27 Boards and "Reg" for Alamo in its four-age table, and "Reg" for all 28 in BCY 2026.
tx_ccs_payment_ratenow reads that rate under either label, so it pays a relative provider entered asREGbefore 2025 and one entered asNONEfrom 2025. Main pays each of them $0. The model still pays $0 for relative care at a star rating.Impact
We ran one household for each kind of change: a parent earning $25,000 with one child in care 20 days a month and $20,000 a year in pre-subsidy care costs. The household qualifies for the subsidy in every scenario. Each row compares this branch with main at
4e71481e19.SPM net income falls as the subsidy rises in five of the eight scenarios, and SNAP accounts for the whole change.
snap_dependent_care_deductionreadschildcare_expenses, which nets out the subsidy, so the model lowers the deduction, and SNAP with it, as the subsidy rises. On main,spm_unit_benefitsdoesn't counttx_child_care_subsidies, andspm_unit_capped_work_childcare_expensesreads pre-subsidy spending, so nothing offsets the SNAP loss.household_net_incomemoves the same way, becausehousehold_state_benefitsdoesn't list the Texas subsidy either. #10569 lowers the SPM expense by the subsidy, and #9503 adds the subsidies to household benefits; this PR changes neither. The last column shows this PR's effect with #10569's head (652e968a94) merged.Population
The default dataset (
populace_us_2024.h5) has nochildcare_attending_days_per_monthcolumn, andtx_ccs_payment_ratemultiplies the daily rate by those days. For a household that omits the input, the model computes a $0 rate and $0tx_ccson this branch. So the model pays $0 in Texas CCS on every record of that dataset, with or without this PR.Invariants
test_tx_ccs_expanded_rates_table.pystates these and checks them across every cell of both CSVs:rates.yaml.get_ratesreturns every CSV cell, and a Hypothesis test checks that_lookup_expanded_ratereturns each cell in input order and $0 for combinations the tables don't print.These checks catch 124 of the 127 old BCY 2026 values and the Golden Crescent value when we insert each one alone into the corrected table. The two-parser comparison with TWC's tables supplies the rest, because a wrong value can satisfy every rule.
Limits
a4513140…) has no relative rows.get_ratesapplies BCY 2026 rates from October 2026.Tests
tx_ccs_payment_rate.yamlreplace the one that pinned $0 for BCY 2025 relative care. They pin relative and blended rates across September and October 2025, relative labels and star ratings before and from 2025, and corrected Golden Crescent, Permian Basin and Rural Capital cells. Their expected values come from TWC's tables and North Texas's sheet.UNCORRECTED_FOUR_AGEin the new test file holds the four Dallas County cells Add Texas CCS Board Contract Year 2024 provider payment rates #10598 corrects, and the crosswalk test skips a cell only while it holds the uncorrected value. TWC's four corrected values satisfy the crosswalk, so whoever lands the second of the two PRs removes that block. This head, Add Texas CCS Board Contract Year 2024 provider payment rates #10598's head and Add Texas CCS provider payment rates for October 2016 to September 2023 #10622's head merge without conflict.axiom: TheAxiomFoundation/rulespec-us#2013 queued
🤖 Generated with Claude Code