Repository navigation
Add North Carolina state supplementation for 2026 - #10160
Conversation
…cutoff and tests - Apply the applicant-only $2,000 resource test to non-SSI applicants (budget unit of one) - Gate SSI receipt on (ssi > 0) | receives_ssi - Compare the income cutoff at cent precision instead of a float32 step - Registry placement and comments, SNAP title, revert shared HUD metadata, shorter programs.yaml note - Special Assistance HUD helper label and SAIH/24 CFR 5.609(b)(12)(ii) references; page anchors - Realistic households, trimmed cutoff cases, per-variable tests and intermediate outputs Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR Review: Add North Carolina state supplementation for 2026PR #10160 (author: hua7450, head SummaryThe PR adds North Carolina's State-County Special Assistance (SA). It is a state-administered optional supplement that counties run under N.C.G.S. 108A-40 et seq., and it covers adult care homes (basic rate), special care units (enhanced rate) and SA In-Home (SAIH):
The 2026 policy content is right:
Three should-fix items remain:
Critical (must fix)None. Should address1.
2. The parameter descriptions don't follow the house template.
3. North Carolina LIEAP doesn't count Special Assistance.
Suggestions
Verified correct
Batch checks
Axiom line assessmentInvalid (Should 1).
CI statusAll 26 checks pass (
Branch status
Verdict: REQUEST_CHANGES |
DTrim99
left a comment
There was a problem hiding this comment.
The 2026 policy is correct: the $1,397/$1,792 rates, $70 PNA and cutoffs match EFS-SA-CN-01-2026 and SA-3220, the budgeting follows SA-3210, every manual worked example reproduces, and all 59 cases check by hand. Three should items (see the comment above): (1) 'axiom: needed' isn't valid for staff, and rulespec-us has no SA module, so file a pe-parity issue and add a queued line; (2) the parameter descriptions are off the template; (3) the NC LIEAP unearned list omits nc_sa, though SA-5400 II and FNS 300.02 count Special Assistance (SAIH singles drop from the $400 band to $300).
…and LIEAP - Move the program to nc/ncdhhs/sa next to lieap, scca and tanf. - Uprate the basic and enhanced rates by the Social Security COLA (G.S. 108A-42.1) and derive eligibility from SA-3220 III.C at the rate actually used, replacing the stored income limits. - Make nc_sa_facility_rate and nc_sa_partial_month_days plain inputs (0 = published rate / full month) so one person's input no longer resets other residents; add nc_sa_rate and nc_sa_full_month_amount. - Require SSI eligibility unless the applicant is over income for SSI (SA-3100 I, II.A.6; SA-3110 V.K), add the inmate gate, and document spouses living apart as separate marital units. - Count nc_sa as unearned income for North Carolina LIEAP (FNS 300.02, SA-5400 II). - Descriptions, references, case names and new cases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks, David. The fixes are in 4ddc942, followed by a merge of Should 1 (Axiom line): filed TheAxiomFoundation/rulespec-us#1779 (
The source conflicts below are in a separate comment on that issue, and the axiom line now points to it. Should 2 (descriptions): the four remaining parameter files follow the template with the statute's name, "under the State-County Special Assistance program" (G.S. 108A-40). The two Should 3 (LIEAP): added Suggestion 1 (rates and cutoffs): fixed going forward; history stays out of scope.
Suggestion 2 (Texas rebate copy): #10226 tracks one Suggestion 3 (readings):
Suggestion 4 (gates and wiring):
Suggestion 5 (folder): moved to Suggestion 6 (polish):
One more fix I found:
On the merged head, these pass locally: all 258 North Carolina DHHS cases (75 SA, plus LIEAP, SCCA and TANF), 243 federal SSI cases, and the aggregate list integrity and program registry tests (677 passed, 10 skipped). |
PR Review (round 2): Add North Carolina state supplementation for 2026PR #10160 (author: hua7450). This round reviews head
SummaryZiming fixed all three round-1 should items. The axiom line now points to rulespec-us#1779, which is open, labelled The changes beyond the asks also check out against G.S. 108A-41 and 108A-42.1 and the SA and SA In-Home manuals:
The New Hampshire bug pattern doesn't occur: no North Carolina variable is used as a parameter key, and mixed-state simulations run cleanly. All 75 SA cases and the 10 LIEAP integration cases pass locally and in Quick Feedback. Only small suggestions remain. CI is still running: 17 pass, 10 pending and none failed. Round-1 findings status
New findingsCritical (must fix)None. Should addressNone. Suggestions1. Case 9's comment, and #1779's conflict 6, cite the wrong SSI resource limit.
2. The 2024 and 2025 rates are on a page the rate files already cite (optional).
3. Pin the manuals' worked examples as cases (optional).
Verified
Axiom line assessmentValid:
CI status17 pass, 10 pending, 0 failed (run 38789491571 on head
Branch status
Verdict: APPROVE |
DTrim99
left a comment
There was a problem hiding this comment.
Approving round 2; details in the report above. All three round-1 should items are fixed: rulespec-us#1779 is ready for the encoder, the descriptions name the State-County Special Assistance program, and the NC LIEAP list now counts nc_sa without double counting. The new logic checks out: COLA uprating under G.S. 108A-42.1, the derived cutoffs, the SSI-eligibility rule replacing the take-up gate, the inmate gate and whole-cent proration. The NH-sibling bug doesn't occur here (NC+VA+MA results match the single-state runs), and nothing points at the old nc/dhhs path. 75 SA, 10 LIEAP and the two-state case pass. Ten CI jobs (Rest and the Contrib shards) were still running when I posted, with none failing; please confirm they finish green before merging. Three optional suggestions are in the report.
…nths A formula-less monthly input carries forward to later months, so a partial first month also prorated every month after it. A formula that returns 0 keeps a one-month entry to that month. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
One follow-up to my reply, in fae907a. In policyengine-core, a monthly input with no formula carries forward to later months, so |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
What and why
North Carolina's State-County Special Assistance (SA) was missing from PolicyEngine-US. Add
nc_safor 2026 under G.S. 108A-41 and 108A-42.1 and the SA and SA In-Home manuals. It covers the basic rate (adult care homes and SA In-Home) and the enhanced rate (special care units and enhanced in-home cases).North Carolina administers SA itself, so the payment follows the manual's own budget. That budget is the maintenance amount (rate plus the $70 personal needs allowance) less total countable monthly income (TCMI), rounded to the nearest dollar.
gov.ssa.uprating.nc_sa_care_setting).nc_sa_partial_month_daysprorates the rate without deducting income (SA-3220 IV.A).nc_sa_facility_rateenters a lower contracted rate.nc_sa_care_setting.SA is added to the household and SPM benefit totals, and to SNAP and North Carolina LIEAP unearned income (FNS 300.02; SA-5400 II). HUD counts facility SA but not SA In-Home (SA-5400 III), through
nc_sa_countable_for_hud.References
Additional section and page citations are included alongside the parameters and formulas.
Coverage limits
The registry marks North Carolina as partial, verified for 2026.
Not modeled:
Earlier years use parameter backfilling and are unverified historical estimates; no historical rate coverage is claimed.
Related:
spm_unit_benefits(such as the Texas rebate's), which this PR leaves unchanged.Test plan
nc_sa.yaml, 9 each inintegration.yamlandnc_sa_eligible.yaml, 7 innc_sa_rate.yaml, 6 innc_sa_countable_for_hud.yamland 5 innc_sa_countable_income.yaml), plus North Carolina LIEAP integration Case 10. They cover:spm_unit_benefitsintegration.main: all 258 North Carolina DHHS cases (SA, LIEAP, SCCA and TANF) and 243 federal SSI cases pass locally, and the aggregate list integrity and program registry tests pass (677 passed, 10 skipped).ruff formatandgit diff --check.changelog.d/.axiom: N.C.G.S. 108A-41(b), 108A-42.1; NC SA Manual SA-3100 I–II, SA-3110 V.K, SA-3200 I, SA-3210 IV–V, SA-3220 II–IV; SAIH Manual SA-5300, SA-5400 TheAxiomFoundation/rulespec-us#1779 queued