Repository navigation
Apply North Carolina Work First's $3,000 resource limit - #10686
PavelMakarchuk wants to merge 3 commits into
Conversation
10A NCAC 71W .0407 and the Work First Manual (section 115) make a unit ineligible when its countable reserve exceeds $3,000. Cash, bank accounts, stocks, bonds and mutual funds count; vehicles, real property and retirement accounts do not. nc_tanf_eligible now requires nc_tanf_resources_eligible. Fixes #10685 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 #10686 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 1 3 +2
Lines 37 42 +5
=========================================
+ Hits 37 42 +5
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: Apply North Carolina Work First's $3,000 resource limitSummaryThe PR adds the missing Work First reserve test. It creates the parameter There is one gap against the binding rule. .0407(b) counts only the resources of parents who do not receive SSI and of children included in the payment. The new variable counts every SPM-unit member's assets, SSI recipients included. The rest of the NC model already excludes SSI recipients from household size and income. As a result, a family with an SSI-recipient parent or child holding more than $3,000 is wrongly denied. A probe at the head confirms this: such a family gets $0 instead of $2,172 a year. There are also two smaller items. The PR body has no axiom line, and one reference does not follow the CLAUDE.md multi-page rule. Critical (must fix)1. SSI recipients' resources are counted, contrary to 10A NCAC 71W .0407(b)
Should address1. No axiom line in the PR body
2. A multi-page variable reference lacks the CLAUDE.md page comment, and the binding lists aren't cited
Suggestions
Verified correct
Axiom line assessmentMissing (Should address 1). The PR body has no CI statusAll 38 checks pass at head bf595a7 (re-checked with Branch status
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
Requesting changes per the review above: 1 critical (countable resources include SSI recipients' assets, which 10A NCAC 71W .0407(b) leaves out), 2 should (no axiom line; multi-page reference missing its page list), 4 suggestions.
10A NCAC 71W .0407(b) counts a parent's resources only if the parent does not receive SSI, and a child's only if the child is in the payment. Subtract SSI recipients' person-level cash assets from spm_unit_cash_assets, reading the components from that variable's adds, as MO and SC TANF do. Cite .0407(b), (d) and (e) from the OAH Subchapter 71W PDF (pages 6-7), add the PDF page comment for the Work First Manual 115 chart (pages 2-4), add the FFY 2026-2028 State Plan Financial Rules 1-2 reference to the limit, and name the checking-balance and non-parent-adult simplifications. Add variable-level and integration tests for SSI-recipient parent and child households. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks for the careful review. All items are addressed in db0ee98:
The NC TANF tests pass locally (72). Could you take another look when you have a moment? |
PR Review (round 2): Apply North Carolina Work First's $3,000 resource limitSummaryOne author commit (db0ee98) addresses every round-1 finding. Round 1 was at bf595a7 on 2026-11-07, with 1 critical, 2 should and 4 suggestions.
I found no new critical or should items. Two optional suggestions follow. CI is 38/38 green, and the branch merges cleanly with current main. Prior findings
C1 in detail
New findingsCriticalNone. Should addressNone. Suggestions
Verified
Axiom
CI
Branch
Verdict: APPROVE |
DTrim99
left a comment
There was a problem hiding this comment.
Round 2: the SSI-asset critical, the axiom line and the reference page list are all fixed and pinned; CI is green. Two optional suggestions remain.
hua7450
left a comment
There was a problem hiding this comment.
Reviewed at db0ee98 against the primary sources. The limit and the counting rules are right.
- Limit: 10A NCAC 71W .0407(a) (OAH Subchapter W rules PDF, pages 6-7): "shall be allowed to reserve resources at a maximum of three thousand dollars ($3,000). The assistance unit is ineligible if the reserve level exceeds this maximum."
countable_resources <= p.limitmatches, and the 3,000 / 3,001 cases pin the operator. State Plan FFY 2026-2028 Financial Rules 1 (page 18) and Work First Manual 115 I.A (page 1) say the same. - Applicants: Manual 115 I.C.1 counts the resources of those receiving and "those applying to be included in the case", so one test for both, with no
is_tanf_enrolledsplit, is correct. - What counts: .0407(d) counts cash, savings, checking and stocks, bonds and mutual fund shares, and .0407(e) excludes vehicles, real property and retirement funds.
spm_unit_cash_assets(bank, stock, bond) matches. The test excludes the $20,000 vehicle. - SSI exclusion: .0407(b)(1)-(2) cover a parent "unless the individual receives SSI" and a child only "if the child is included in the payment".
(ssi > 0) | receives_ssimatchesnc_tanf_household_sizeand the NC income variables. Subtracting from the aggregate keeps SPM-levelspm_unit_cash_assetsinputs working, the same approach asmo_tanf_countable_resources. Reading the components fromspm_unit_cash_assets.addsavoids the hand-copied list MO has to keep in sync. - Test arithmetic: 0.5 × 472 × 12 = 2,832 and 0.5 × 362 × 12 = 2,172 both check out.
Non-blocking, for a follow-up: the documented non-parent-adult limitation is a real gap. .0407(b) lists only parents, stepparents and children in the payment, so a grandparent's savings in a multigenerational SPM unit shouldn't count, but here they can make the family ineligible. NC's household size and income already treat every non-SSI SPM member as in the unit, though, so fixing only resources would be inconsistent. It belongs in an NC assistance-unit composition fix across size, income and resources, as Missouri does with mo_tanf_non_parent_caretaker_budget_member. Fine to leave out of this PR.
Approving.
Summary
nc_tanf_eligibletested only income and demographics. North Carolina Work First Family Assistance also has a resource limit:Changes:
gov.states.nc.ncdhhs.tanf.resources.limit($3,000; 10A NCAC 71W .0407(a), Work First Manual 115 I.A, State Plan FFY 2026-2028 Financial Rules 1-2). The earliest source found is the 2009 manual section; the value is backdated to 1997, as the other North Carolina TANF parameters are.nc_tanf_countable_resources:spm_unit_cash_assets(bank, stock and bond assets) less the same assets held by SSI recipients. 10A NCAC 71W .0407(b) counts a parent's resources only if the parent does not receive SSI, and a child's only if the child is in the payment. The SSI test matchesnc_tanf_household_sizeand the NC income variables, and the subtracted components are read fromspm_unit_cash_assets.adds. Vehicles, real property and retirement funds are not counted (.0407(e)).nc_tanf_resources_eligible: countable resources ≤ the limit (the unit is ineligible only when it exceeds $3,000).nc_tanf_eligiblenow requiresnc_tanf_resources_eligible.Tests
nc_tanf_resources_eligible.yaml: $3,000 is eligible, $3,001 is not.nc_tanf_countable_resources.yaml: $1,000 bank + $1,500 stock + $700 bond = $3,200 and a $20,000 vehicle is excluded; an SSI parent's $4,000 and an SSI child's $4,000 give 0; an SSI parent's $6,000 is removed from a $9,500 total, leaving $3,500.nc_tanf_eligible.yaml: demographically and income eligible but resources above the limit givesfalse.integration.yaml: a parent and a 17-year-old with no income get 0.5 × 472 × 12 = $2,832 with $3,000 in the bank, and $0 with $5,000 in stocks; an SSI parent with $4,000 and a child aged 10 get 0.5 × 362 × 12 = $2,172; a parent, an SSI child aged 8 with $4,000 and a child aged 5 get 0.5 × 472 × 12 = $2,832.Locally, the NC TANF tests pass (72) after the SSI exclusion; before it,
gov/states/ncpassed (411), and the NC partner fixtures andgov/hhs/tanfpassed (124). No partner fixture changes.Found by the PE-vs-PRD comparison (PolicyEngine/prd-comparison): 8 units in the 2025 CPS with more than $3,000 of liquid assets got PE Work First ($23.6k), and PRD, which applies the $3,000 test, paid nothing.
Fixes #10685
axiom: rulespec-us#2081 queued
🤖 Generated with Claude Code