Repository navigation
Compare the Wisconsin Works CMC infant age limit with the child's age in months - #10259
PavelMakarchuk wants to merge 2 commits into
Conversation
wi_works_placement compared the 2-month CMC limit (8 weeks, Wis. Stat. 49.148(1m)(a)1) with monthly_age, which is the age in years. Children aged 1 and 2 got the CMC placement and the $673 grant instead of the $653 CSJ grant. Use age x 12, as the state child care age-group variables do, and set age in the placement tests instead of monthly_age. 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 #10259 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 4 1 -3
Lines 76 27 -49
Branches 2 0 -2
=========================================
- Hits 76 27 -49
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:
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Review: Compare the Wisconsin Works CMC infant age limit with the child's age in monthsSummaryThe PR fixes #9815. Before it,
So every child aged 0, 1 or 2 put the unit in CMC, with $673 instead of the $653 CSJ grant. The PR makes two changes:
The fix is right under current law:
Other checks:
One thing needs fixing: the PR body has no The suggestions are optional:
Critical (must fix)None. Should address1. Add the This is a policy fix, because it changes the placement and the grant for children aged 1 and 2. The body has no line starting with Suggestions1. Test close to the 8-week boundary on each side. The new cases test 0 months, 1.5 months ( An age of exactly 2 months is fragile, because
So use ages a little way from the limit, for example: - name: Case 4, CMC with an infant about 7.8 weeks old.
period: 2025-01
input:
people:
person1:
age: 25
person2:
age: 0.15
households:
household1:
members: [person1, person2]
state_code: WI
output:
# 0.15 years x 12 = 1.8 months <= 2 (about 55 days, within 8 weeks)
wi_works_placement: CMC
- name: Case 5, CSJ with an infant about 8.9 weeks old.
period: 2025-01
input:
people:
person1:
age: 25
person2:
age: 0.17
households:
household1:
members: [person1, person2]
state_code: WI
output:
# 0.17 years x 12 = 2.04 months > 2 (about 62 days, past 8 weeks)
wi_works_placement: CSJ2. Encode the limit in weeks, with its history, and fix the reference title. Before this PR the parameter never bound, because years were compared with 2. Now it decides the placement, so three pre-existing details in
Suggested parameter: description: Wisconsin limits the Custodial Parent of an Infant placement to custodial parents of children at or below this age in weeks under the Wisconsin Works program.
values:
1997-09-01: 12
2012-01-01: 8
metadata:
unit: week
period: month
label: Wisconsin Works CMC infant age limit
reference:
- title: Wisconsin Statutes 49.148(1m)(a)1
href: https://docs.legis.wisconsin.gov/statutes/statutes/49/iii/148
- title: "2011 Wisconsin Act 32, sections 1361s and 9408(1d) #page 226,530"
href: https://docs.legis.wisconsin.gov/2011/related/acts/32.pdf#page=226
- title: W-2 Manual 7.4.3 - Custodial Parent of an Infant (CMC)
href: https://dcf.wisconsin.gov/manuals/w-2-manual/Production/07/7.4.3_Custodial_Parent_of_an_Infant_CMC_.htmThe 12 is the text that Act 32 struck. The 1997-09-01 start matches In the formula, use
Why this is only a suggestion:
3. Say in the code that age 0 always gives CMC. The PR body says that with ages in whole years, age 0 still gets CMC. In the microdata every age-0 child is 0-11 months old, so every Wisconsin Works unit with one gets $673. Only about 8 of every 52 weeks of that year qualify. The code comment doesn't say this. Something like this would help: # With age in whole years (as in the microdata), every child aged 0
# counts as 8 weeks old or less, so age 0 always gives CMC.4. Open a follow-up issue for the "other adult" exclusion (pre-existing, outside the diff). § 49.148(1m)(a)1 continues: "unless another adult member of the custodial parent's Wisconsin Works group is participating in, or is eligible to participate in, a Wisconsin Works employment position or is employed in unsubsidized employment". Manual 7.4.3.1 adds: "If another adult in the W-2 Group is working in unsubsidized employment or is eligible for W-2 participation, regardless of the W-2 Group's income, the family is not eligible for CMC."
The ARP branch is similar. Para. (a)2 requires "an unmarried woman ... not a custodial parent of a dependent child", but the formula checks only the pregnancy month. Neither gap is changed by this PR. Verified correct
Axiom line assessmentThe body has no
Recommended line. File a dispatch-ready
CI statusAll 29 checks pass at
None is pending or failing. Branch statusThe branch is 2 commits ahead of main (the fix on 2026-10-16 and a merge of main on 2026-10-23) and 48 behind.
No other open PR touches Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
The fix is right: monthly_age is in years, so 1- and 2-year-olds wrongly got CMC $673, and comparing age x 12 against the 2-month limit matches 49.148(1m)(a)1 ('8 weeks old or less') from 2012. All 12 expectations hand-check. One should-address item: there's no axiom line, so please file a pe-parity issue for us-wi/statutes/49/148 and mark it queued. Four suggestions, including near-boundary tests (exactly 1/6 of a year is fragile in float32) and encoding the limit in weeks. Full report in the comment above.
Summary
wi_works_placementgave the Custodial Parent of an Infant (CMC) placement when a member'smonthly_agewas at or belowcmc_infant_age_limit(2,unit: month).monthly_ageis the age in years evaluated for a month, so any child aged 0, 1 or 2 years gave the unit the CMC placement and the $673 grant instead of the $653 Community Service Job (CSJ) grant.Wis. Stat. § 49.148(1m)(a)1 gives the CMC grant to "a custodial parent of a child 8 weeks old or less", and W-2 Manual 7.4.3 ends the placement 8 weeks (56 days) after the birth. The parameter already approximates 8 weeks as 2 months.
The formula now compares the limit with
age * MONTHS_IN_YEAR, the pattern of the state child care age-group variables (AK, KS, KY, AL, DC). With an age in whole years, age 0 still gets CMC (the model cannot tell an infant of 8 weeks or less from an older infant).Reproduction from the issue (January 2025): child aged 1 or 2 now gives CSJ and $653 (was CMC and $673); age 0 stays CMC and $673; age 3 stays CSJ and $653.
Tests
wi_works_placement.yaml: the cases now setage(in years, including 0.125 and 0.25) instead of settingmonthly_agedirectly; new cases for a 3-month-old, a 1-year-old and a 2-year-old (CSJ).integration.yaml: new Case 12, a 1-year-old gives CSJ and $653; corrected the age comments in Cases 2 and 9.policyengine-core testonstates/wi/dcf/works: 54 passed.Fixes #9815
🤖 Generated with Claude Code