Repository navigation
Cap Minnesota's K-12 subtraction per child by grade and add MSA living-alone pathways - #10586
Conversation
…ways Minn. Stat. 290.0132 subd. 4 caps the K-12 education subtraction separately for each qualifying child: $1,625 in kindergarten to grade 6 and $2,500 in grades 7 to 12. Main applied $2,500 to every child against a pooled tax-unit total. Two new person inputs record each child's qualifying expenses (net of those used for the credit) and whether the child attended grades 7 to 12; parameter references move from subd. 9 to subd. 4. Minn. Stat. 256D.44 subd. 2 also gives the MSA living-alone standard to people eligible for a medical assistance HCBS waiver and to those with the local agency's 256I.04 subd. 1a placement determination; main modelled only the housing-allowance pathway. Two monthly inputs join it in the payment-category upgrade, for either spouse of a couple. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LwQq6K4grkKNkfjkW6hbaN
|
Ready for hub review Head: Per-item status
Ownership checks: neither branch existed, and searches for open PRs found none on the same change. #10146 (SSI deeming) and #10374 (Medicaid medically needy) came up but touch other files. Tests (failing first, then passing; one file per process)
Hand computations
Mutants (each in its own process, code restored after)
CIDraft, not run. Judgment calls
Proposed follow-up
Generated by Claude Code |
A household that records only k12_tuition_and_fees got no subtraction after the per-child change. That total now meets the sum of the children's caps when no per-child expense exists. Per-child records still govern. 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 #10586 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 1 7 +6
Lines 15 88 +73
=========================================
+ Hits 15 88 +73
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 Independent review, round 1. The PR head is still Sources. This VM couldn't reach revisor.mn.gov, revenue.state.mn.us, dhs.state.mn.us, govinfo.gov or law.justia.com: the proxy refused every connection. I read no statute, form or manual text in this session. Every legal statement below rests on the code, the parameter files, or the hub's note that 290.0132 subd. 4, 290.0674 subd. 1a and 256D.44 subds. 2 and 3 match the backlog spec. I quote no law. FindingsP1. With no grade record, every child gets the lower $1,625 cap, so callers who set only
|
| Mutant | Change | Result | Killed by |
|---|---|---|---|
| K1 | higher cap for every child | 3 failed | "A child in kindergarten to grade 6…", "Each child is capped separately…", "A tax-unit total over the sum of the caps…" |
| K2 | pooled expenses against pooled caps | 2 failed | "Each child is capped separately…", "Negative expenses…" |
| K3 (mine) | drop is_tax_unit_dependent |
survives | nothing; see P2 |
| K4 (mine) | has_child_records always true |
2 failed | the two tax-unit-total cases |
| M1 | HCBS dropped from the OR | 2 failed in category, 1 in standard | Cases 6 and 8; "Case HCBS" |
| M2 | placement dropped | 2 failed | Cases 7 and 10 |
| M3 (mine) | couple uses own pathway only | 2 failed | includes Case 8 |
Readers.
mn_k12_education_subtraction: thesubtractions/sources.yamllists (2021 and 2023), thenmn_subtractions→mn_taxable_income.mn_msa_payment_category:mn_msa_assistance_standard,mn_msa_eligible_person(NONE test, unaffected),mn_msa_net_income_eligible,mn_msa_person,mn_msa_special_needs_total(facility test, unaffected), thenmn_msa.k12_tuition_and_fees:mn_k12_education_credit,mn_k12_education_subtractionandil_k12_education_expense_credit_potential. The IL file and its inputs aren't in the diff, so Illinois doesn't move.
Population impact. Impact pair: mn_k12_education_subtraction, mn_subtractions, mn_taxable_income, mn_income_tax and state_income_tax; and mn_msa_payment_category, mn_msa_assistance_standard and mn_msa. The MSA side can't move at baseline: both new inputs default to false. The K-12 side moves wherever the dataset holds a nonzero k12_tuition_and_fees, because the cap per child falls from $2,500 to $1,625 under the false default (P1). If the data leave that input at zero, nothing moves.
Scope. The 14 files touch nothing under .github/ or tests/policy/baseline/partners/. Open-PR searches for mn_k12_education_subtraction, mn_msa_payment_category, k12_tuition_and_fees and mn_msa_housing_assistance_eligible return only Cap Minnesota's K-12 subtraction per child by grade and add MSA living-alone pathways #10586.
Body lines. impact: and axiom: are both present. The hand-off's test counts (6 K-12 cases) and "API callers … now get $0" predate the hub's fallback commits, and the head carries 10 cases and the fallback. The PR body reflects the head.
What I couldn't check
- Every statute and manual text: Minn. Stat. 290.0132 subd. 4, 290.0674 subd. 1a, 256D.44 subds. 2, 3 and 5(g), 256I.04 subd. 1a, CM 0020.21 (including "actual residence isn't needed"), and the 2025 M1M instructions. The proxy refused all of these hosts.
- Whether the caps changed before 2021, and the $519-to-$1,055 relationship in subd. 3(a).
- Whether population data hold any
k12_tuition_and_fees. The impact run needs the hub's data.
Generated by Claude Code
|
Picking this up for the US hub. I'll post a hand-off comment here when it's ready. Generated by Claude Code |
Minn. Stat. 290.0132 subd. 4(b) caps the subtraction at $1,625 per child in kindergarten to grade 6 and $2,500 in grades 7 to 12; the Department of Revenue sets the cap by the grade at the end of the tax year. With the grade flag as a bare input, every child defaulted to the lower cap. Default it from age on is_in_k12_school's convention (grade = age - 5), so children aged 12 or older get the higher cap; the flag stays settable as an override. Also test the dependent half of "qualifying child" and the age-12 boundary, note in the per-child input that records must then cover every child, and attribute the $1,055 MSA standard to CM 0020.21 rather than the statute. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Ready for hub review Head: Merge. Started at Finding 1 (grade default).
Existing cases whose value changed: none. Every existing case with a child aged 12 or older already sets the flag to true (ages 14, 15, 15, 13, 15, 15). Every child without the flag is aged 4, 7, 9 or 11, so the default gives false, the same as before. All ten existing expectations are unchanged and still pass. Finding 2. Added the case "A K-12 student who is not a dependent is not a qualifying child" (expected 0) as given. Finding 3. Finding 4. Body. "Limit: grade" is replaced by "Grade default", which gives the age rule, its basis (subd. 4(b) plus the DoR K-12 page's end-of-year grade) and the $1,625-under-12 consequence for total-only callers. Other changes:
The readback is identical to my file. REST PATCH replaced the closing line with a different footer, so I wrote the body through the GitHub MCP tool instead, and that kept the line. Tests at head (one file per process):
Mutants (each in its own process, against the committed head, code restored after each):
CI. Pull request run 41522942388 was still in progress 60 minutes after the push: 32 jobs succeeded, none failed, and two were still running (Contrib other-shard-1 and other-shard-3). The run has no final conclusion yet. Judgment calls.
No follow-up issues proposed. Generated by Claude Code |
The revenue department's guidance gives the higher cap to a child who finished grade 12 and started college during the year, and the qualifying-child test is a proxy for the 32(c)(3) definition. The documentation, comments and a test name now say so. No behaviour changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The statute is silent on when a child's grade counts, and the department's page and the M1M line differ. The manual's couple lists limit an upgrade that 256D.44 subd. 2 doesn't. Each is a reading this PR takes, so each goes in as a candidate, with the register entry and the marker after this merges. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
US + core hub merge audit, us#10586 at
|
On main, #10586 replaced housing_assistance_eligible in mn_msa_payment_category with living_alone_pathway: the housing allowance, an HCBS waiver or a 256I.04 placement. Keep main's pathway, comment and references, and apply this branch's spouse sum, _ssi_couple_total, to the pathway in place of marital_unit.any. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Two verified model bugs from the statute-first backlog. The statute governs and forms fill gaps (Max, 2026-10-19). The statute settles the caps and the pathways. It doesn't say when a child's grade counts, so the Minnesota Department of Revenue's guidance fills that gap (see Notes).
us-mn-k12-subtraction-grade-caps(2021+)Source. Minn. Stat. 290.0132 subd. 4 (the governing subdivision; main cited subd. 9, which concerns delayed depreciation) and the 2025 Schedule M1M instructions, line 13 (PDF page 5). Both cap the subtraction separately for each qualifying child: $1,625 in kindergarten to grade 6, $2,500 in grades 7 to 12.
What changed.
mn_k12_education_subtractionwasmin(k12_tuition_and_fees, children × $2,500). It's now the sum over qualifying children (modelled as K-12 dependents, the proxymn_k12_qualifying_childrenuses) ofmin(max(own expenses, 0), cap for their grade). Two new annual person variables:mn_k12_education_subtraction_qualifying_expenses_person: the child's otherwise-qualifying subtraction expenses, after excluding expenses used for the K-12 education credit;mn_k12_education_subtraction_higher_cap_eligible: whether the child's grade at the end of the tax year is 7 to 12. It has an age default (see Notes) and stays settable as an override.The $1,625 and $2,500 values are unchanged; their references now cite subd. 4 and the M1M page.
Witness. 2025, an 11-year-old with $2,000 and a 15-year-old in grades 7–12 with $1,000: 1,625 + 1,000 = $2,625. Main gave min(3,000, 5,000) = $3,000. A single K-6 child with $2,000: $1,625 (main $2,000).
us-mn-msa-living-alone-pathways(2011+)Source. Minn. Stat. 256D.44 subd. 2 assigns the subd. 3(a) or (b) living-alone standard to people eligible for a medical assistance HCBS waiver and to people with the local agency's placement determination under 256I.04 subd. 1a. DHS Combined Manual 0020.21 agrees, and says residence in a Housing Support setting isn't required (PDF page 3). Its married-couple list (PDF page 5) gives the upgrade only to a couple on SSI federal living arrangement A or ineligible for SSI through excess income; subd. 2 has no such limit, so the code follows subd. 2. The 2026 standards are on PDF page 4.
What changed. Two monthly person inputs, default false:
mn_msa_hcbs_waiver_eligible(waiver eligibility, not enrollment) andmn_msa_housing_support_plan_approved(the subd. 1a determination, not Housing Support receipt or residence alone).mn_msa_payment_categoryORs them withmn_msa_housing_assistance_eligibleto upgrade "living with others" to "living alone". Either spouse's pathway upgrades a couple. Medicaid-facility handling is unchanged. No monetary parameters change.Witness. January 2026, an individual living with others who is eligible for an HCBS waiver: assistance standard $1,055 (main: $755.33). A couple living with others where one spouse is waiver-eligible: COUPLE_LIVING_ALONE for both. The pathways apply from the modelled 2011 start.
Notes
k12_tuition_and_feesmeets the sum of the children's caps, so a household that holds only that input keeps a subtraction. That path can't stop one child's unused cap from reaching another child's expenses. Once any qualifying child has a positive per-child record, the formula ignores the total for every child, so the records must then cover every child; the per-child input's documentation says so.k12_tuition_and_fees, and subd. 4(a)(3) subtracts "any amount used to claim the credit". On main the two also read the same total, so this PR doesn't change that gap. The per-child input's documentation excludes those expenses.mn_k12_education_subtraction_higher_cap_eligibleimputes grade from age onis_in_k12_school's convention (ages 5 to 17 are in school, so grade = age − 5): a qualifying child aged 12 or older gets $2,500 and a younger one $1,625. For a caller who sets only the tax-unit totalk12_tuition_and_fees, each child under 12 now adds $1,625 to the limit where main added $2,500, which subd. 4(b) requires for kindergarten to grade 6; each child 12 or older still adds $2,500.source_conflicts/candidates.yamlrecords the two readings this PR takes:us-mn:k12-subtraction-grade-cap-defaultandus-mn:msa-couple-arrangement-b-pathways. The register entries and markers follow after this merges. The K-12 file's old "In practice ..." comment is gone, so this PR removes itsKNOWN_UNMARKEDentry frompolicyengine_us/tests/code_health/test_source_conflicts.py.impact: none at baseline.
populace_us_2024.h5atpopulace-us-2024-spm-20260909stores nok12_tuition_and_feesor per-child K-12 expense column in any entity table, and both new MSA inputs default to false.axiom: TheAxiomFoundation/rulespec-us#1987 queued
🤖 Generated with Claude Code