Skip to content

Pay CO, TX and NM SSI supplements to both members of an SSI couple - #10145

Open
MaxGhenis wants to merge 5 commits into
mainfrom
ssi-supplement-couple-spouse-eligibility
Open

MaxGhenis wants to merge 5 commits into
mainfrom
ssi-supplement-couple-spouse-eligibility

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Three state SSI supplements decided eligibility from is_ssi_eligible_individual alone:

  • Colorado AND-CS (co_state_supplement_eligible)
  • Texas supplement for SSI recipients in Medicaid facilities (tx_ssi_state_supplement_eligible)
  • New Mexico adult residential shelter care supplement (nm_ssi_state_supplement_eligible)

is_ssi_eligible_individual is false for the member of an SSI couple who holds the tax-unit spouse role; that member carries is_ssi_eligible_spouse instead. So when both spouses were SSI-eligible, only the tax-unit head could get these supplements. #10141's "Known limitations" section notes this.

Each state's rule pays every SSI recipient on their own. This PR:

  • gates Colorado and New Mexico on SSI receipt, (ssi > 0) | receives_ssi. That is each rule's own condition and the convention the KS, GA, MI, IN, NE, ID, WA and FL supplements already use;
  • gates Texas on H-6000's own test: an SSI-eligible facility resident who takes up SSI and whose countable income does not exceed the $30 reduced standard (ssi_countable_income <= gov.ssa.ssi.amount.institutional.individual, SSI not abolished), or reported receipt. H-6000 keeps such a resident eligible for SSI when countable income "does not exceed" $30, including a $0 federal payment, and the test does not depend on the SSI living-arrangement inputs;
  • adds co_state_supplement_countable_income, so each spouse of an SSI couple counts their own income for AND-CS (9 CCR 2503-5 3.549(A)) rather than half the couple's pooled federal countable income.

Each program's other conditions are unchanged.

What each state's rule says

State Rule Couples
CO 9 CCR 2503-5 3.546: AND-CS is for "clients age zero (0) to fifty-nine (59) who are receiving SSI due to a disability or blindness". 3.547(D): "If a client is terminated from SSI, the client shall lose eligibility for the AND-CS program." 3.548(A): "AND-CS grants shall be calculated on an individual basis with just one client per case." 3.549(A)(2) counts the client's own unearned income, with the $20 disregard "split between the client and the spouse", and 3.549(F) does not deem an SSI-recipient spouse's income. SSA's January 2011 Colorado table pays a couple a combined $1,398 (2 × $699) with a state supplement of $387 (1,398 − 1,011).
TX HHSC MEPD Handbook H-1500: "SSI recipients who live in an institutional setting and receive the $30 reduced federal benefit receive a state supplement." H-6000: such a person "remains eligible for SSI if their countable income does not exceed the SSI reduced standard payment amount". Human Resources Code 32.024(w) sets the $75 personal needs allowance for each resident. H-6000: when both spouses are in the facility, "SSA lowers the SSI payment standard to the reduced standard for a couple ($60)", i.e. $30 each, and "HHSC supplements the reduced SSI payment standard by $45 per month". SSA's 2011 Texas table: "Couples residing in this living arrangement for more than 30 days are treated as two individuals."
NM 8.106.500.10(A) NMAC: "The individual must be a recipient of supplemental security income (SSI)". (C)(2): $100 per month. 8.106.400.10(C) NMAC: "Two SSI recipients who would constitute a family if living at home, but who reside in an adult residential shelter care facility, are considered to be two separate benefit groups." SSA's 2011 New Mexico table: couple supplement $200.

None of the three limits the supplement to one spouse, so all three needed the change.

Why not is_ssi_eligible_individual | is_ssi_eligible_spouse

On current main, is_ssi_eligible_spouse is the tax-unit spouse of a marital unit whose two members are both aged, blind or disabled. It has no citizenship test. With the label OR, an undocumented aged, blind or disabled tax-unit spouse, who cannot receive SSI, would have become eligible for these supplements. (#10141 adds the citizenship condition through ssi_claim_is_joint.) The invariants test below shows it: with the label OR in place, the citizenship invariant fails. The gates in this PR do not depend on tax roles before or after #10141.

The new gates also stop paying people who are aged, blind or disabled but get no SSI: those above the resource limit, those whose income exceeds the limit, and those who do not take up SSI. All three rules require SSI, so this is intended. For Colorado it is the fix proposed in #9338.

Worked cases

Case main This PR Rule
CO: disabled couple aged 50 and 52, no income, 2026 (each spouse: SSI 1,491 / 2 = $745.50/month) head $2,982/yr, spouse $0 $2,982/yr each 3.548(A); 994 − 745.50 = 248.50/month
CO: same couple with a $300/month pension each head $2,982, spouse $0 $2,982 each 3.549(A)(2): 300 − 10 + 455.50 SSI = 745.50
CO: pensions of $400 and $200 a month head $2,982, spouse $0 head $1,782, spouse $4,182 3.549(A)(2): own income 390 and 190
CO: head earns $500/month, spouse no income (SSI $641.75 each) head $2,982, spouse $0 head $1,617, spouse $4,227 3.549(A)(1): (500 − 65) / 2 = 217.50; (2)(c), (f): no disregard on SSI-only unearned income
CO: couple with outside shelter support, no cash income (couple PMV 1,491 / 3 + 20 = $517) head $2,982, spouse $0 $2,982 each 3.549(A)(2): half the couple's ISM, 258.50 − 10
CO: disabled 45-year-old with $3,000 of resources (no SSI) $11,928/yr $0 3.546, 3.547(D)
TX: married couple both in a Medicaid facility, 2024 (SSI $30 each) head $540/yr, spouse $0 $540/yr each H-1500, H-6000
TX: facility resident, $50/month pension (countable $30, SSI $0) $540 $540 H-6000 "does not exceed"
TX: facility resident, $51/month pension (countable $31) $540 $0 H-6000
TX: facility resident aged 80 with $3,000 of resources $540 $0 H-1500
TX: resident flagged only by is_in_medicaid_facility (SSI on the $943 own-household rate), $963/month pension $540 $0 H-6000: countable $943 > $30
NM: married couple both in an ARSCH home, 2025 (SSI $725 each) head $1,200/yr, spouse $0 $1,200/yr each 8.106.400.10(C), 8.106.500.10
NM: ARSCH resident aged 70 with $3,000 of resources $1,200 $0 8.106.500.10(A)

Every row is a YAML case built from real inputs (marital unit, tax-unit roles, disability, income, facility living arrangement), not label inputs. In the Colorado couple rows with only unearned income, the two grants always sum to $497/month, as SSA's couple column implies; only the split between spouses follows 3.549. With earnings the total differs, because 3.549(A)(1) deducts $65 for each client where SSI deducts $65 once for the couple, and an SSI recipient's unused share of the $20 does not reach earnings.

co_state_supplement_countable_income follows 3.549(A) as Axiom encodes it (us-co:regulations/9-ccr-2503-5/3.549):

  • the $20 unearned disregard is halved for a married client;
  • a client whose only unearned income is SSI gets none of it;
  • the unused part reaches earned income only when gross unearned income, SSI included, is under $20 ((A)(2)(f): "the difference between the gross unearned income and the $20.00 deduction");
  • a couple's in-kind support and maintenance is one presumed maximum value for the couple (ssi_pmv_amount), so each spouse counts half of it.

The variable applies only where SSI's couple computation applies. Elsewhere it returns ssi_countable_income as before; the follow-up chip for 3.549 covers single clients and spousal deeming.

Tests

  • New and rewritten cases:
    • CO: co_state_supplement.yaml Cases 14-19, co_state_supplement_eligible.yaml Cases 8-11, and a new co_state_supplement_countable_income.yaml.
    • TX: integration.yaml Scenarios 6 and 9-13, and tx_ssi_state_supplement_eligible.yaml Cases 1-9 (rewritten for the new gate, including the $30 boundary, take-up and the abolish_ssi reform).
    • NM: integration.yaml Cases 3, 8 and 9, and nm_ssi_state_supplement_eligible.yaml Case 8.
  • Each state has a case where the tax-unit spouse is undocumented. That spouse gets no SSI and no supplement, which pins the citizenship behaviour that the label OR would have broken.
  • Existing unit cases that set is_ssi_eligible_individual as an input now set the inputs each gate reads. Integration cases that set the label now compute SSI from age, disability and the facility living arrangement. Existing TX Scenario 6 and NM Case 3 set the label to true for both spouses, which hid the bug; they are now real married couples.
  • grant_standard.yaml: the 9 CCR 2503-5 link for ruleVersionId=12428 pointed at #page=99, which is 3.550; 3.546 is on page 91.
  • Locally on this head: the three programs' YAML (82 cases) and the invariants file (6 tests) pass. Of all CO partner fixtures and my_friend_ben/2025.yaml (30 cases), only the one below fails.

Partner test (waiting on @hua7450)

partners/analytics_coverage/edge_cases/state/co/state_supplement.yaml, case co_state_supplement_disabled_ssi_couple_positive, pins the bug: its spouse expects $0 and its comment says "the current model pays them no AND-CS supplement". On this PR the spouse gets $2,982. Under CLAUDE.md's partner-contract rule the file is not edited here. The three questions are in the comment below, and that one case fails in CI until Ziming answers. The edit will be made, and this PR merged, only after he approves.

Invariants

policyengine_us/tests/core/test_ssi_state_supplement_couple_invariants.py runs one vectorized simulation of 72 married couples (144 people). The grid crosses five axes:

  • state (CO, TX, NM);
  • which spouse is tax-unit head;
  • the second spouse's citizenship (citizen, undocumented);
  • the first spouse's resources ($0, $4,000);
  • the spouses' monthly pensions (none, $300 each, $400 and $200).

The tests check:

  1. Receipt. Anyone paid SSI is eligible, and no one is eligible without SSI eligibility at or under the income limit; in CO and NM eligibility is exactly a positive SSI payment.
  2. Role invariance. Eligibility and the supplement are identical when the head and spouse roles are swapped.
  3. Equal treatment. Two citizen spouses with equal income have the same eligibility and the same supplement.
  4. Citizenship. A spouse who fails the SSI citizenship condition is never eligible.
  5. Colorado couple total. When both spouses of a joint claim get AND-CS and have only unearned income, the two grants sum to twice the grant standard less the couple's federal SSI and pooled countable income, however 3.549 splits their own income.
  6. The grid reaches both eligible and ineligible people in each state.

On main, 1-3 fail. With the label OR in place of the gates, 1, 2 and 4 fail. On this head all six pass. Measured locally on macOS: 0.7-3.7 s of test time depending on host load, and 17.6 s wall and 1.0 GB peak RSS for the whole process, nearly all of it importing the model. The file runs in the Rest/core Python group. YAML can state each case but not compare a person across role assignments in one run, which is what invariants 2, 3 and 5 need.

ssi reads none of the three supplements (they feed SNAP unearned income and household benefit totals only), so the gates add no dependency cycle.

Review

  • Round 1 (GPT-6.1 Sol, 9524da0f): REQUEST_CHANGES on two blocking findings:

    • the Texas $0-payment boundary;
    • Colorado spouses with unequal income.

    Plus one note: duplicate references. All three are addressed in f2d650669e.

  • 66ddf925ca then aligns the Colorado earned-income disregard with 3.549(A)(2)(f) and Axiom's encoding.

  • Round 2 (f2d650669e): REQUEST_CHANGES.

    • The Texas gate admitted residents after abolish_ssi, and residents on the own-household rate.
    • Colorado counted the couple's whole in-kind support for each spouse.
    • The earnings-spillover and invariant-wording findings were already fixed in 66ddf925ca.

    3d1da21317 addresses the rest.

  • Round 3 is running on 3d1da21317.

Impact

No microsimulation yet. It will run at the final head through the US hub's impact queue (co_state_supplement, tx_ssi_state_supplement, nm_ssi_state_supplement).

Axiom

axiom: us-co:regulations/9-ccr-2503-5/3.546#and_cs_client_qualifies_for_program and 3.549#and_cs_total_countable_client_income encoded-correct (Person-level, no spouse-role input, married split of the $20 disregard; companion tests and_cs_qualified_client_below_floor_receives_state_supplement, ssi_only_client_has_no_unearned_disregard) | TheAxiomFoundation/rulespec-us#1709 queued (TX HR 32.024(w), MEPD H-1500/H-6000) | TheAxiomFoundation/rulespec-us#1708 queued (NM 8.106.500.10, 8.106.400.10(C) NMAC)

Fixes #9338.

🤖 Generated with Claude Code

The Colorado AND-CS, Texas Medicaid-facility and New Mexico adult
residential care supplements gated on is_ssi_eligible_individual, which
is false for the tax-unit-spouse member of an SSI couple. Each state's
rule pays every SSI recipient on their own (9 CCR 2503-5 3.546-3.548;
HHSC MEPD H-1500 and H-6000; 8.106.400.10(C) and 8.106.500.10 NMAC), so
gate on SSI receipt instead, the repo's convention for SSI-recipient
programs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One vectorized simulation of 48 married couples checks that eligibility
is SSI receipt, that the result does not depend on which spouse is the
tax-unit head, that two citizen spouses are treated alike, and that a
spouse failing the SSI citizenship condition is never eligible. main
fails the first three; the is_ssi_eligible_individual |
is_ssi_eligible_spouse alternative fails the fourth.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis marked this pull request as ready for review October 12, 2026 10:29
Review round 1 (GPT-6.1 Sol):
- Colorado: 9 CCR 2503-5 3.549(A) counts each AND-CS client's own
  income, with the $20 disregard split between spouses and no deeming
  between SSI-recipient spouses (3.549(F)). The model used
  ssi_countable_income, which halves a joint claim's pooled income.
  New co_state_supplement_countable_income does the per-client count
  where SSI's couple computation applies and keeps the federal amount
  elsewhere.
- Texas: H-6000 keeps a facility resident eligible for SSI when
  countable income "does not exceed" the $30 reduced standard, and
  42 USC 1382(a)(1)(A) agrees, so gate on SSI eligibility within the
  limit (a $0 payment included) plus take-up, or reported receipt.
- One reference per document for the CO rule PDF.

Also reverts the partner fixture edit: partner API contract tests
change only after Ziming Hua approves (CLAUDE.md).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis requested a review from hua7450 October 12, 2026 10:48
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

@hua7450, this PR changes the result of one partner API contract test. Per CLAUDE.md I have not edited the partner file. It is unchanged on this branch, so that case fails in CI until you decide.

Changed case: policyengine_us/tests/policy/baseline/partners/analytics_coverage/edge_cases/state/co/state_supplement.yaml, co_state_supplement_disabled_ssi_couple_positive (co), output people.spouse.co_state_supplement for 2026.

Output Expected now Model on this PR
head.co_state_supplement 2,982 2,982 (unchanged)
spouse.co_state_supplement 0 2,982

No other output in this file, or in the other CO partner fixtures, changes.

Model change. co_state_supplement_eligible checked is_ssi_eligible_individual, which is false for the tax-unit spouse of an SSI couple. So only the head of a married couple who both receive SSI could get Colorado AND-CS. This PR gates on SSI receipt.

Law.

  • 9 CCR 2503-5 3.546: AND-CS is for "clients age zero (0) to fifty-nine (59) who are receiving SSI due to a disability or blindness".
  • 3.548(A): "AND-CS grants shall be calculated on an individual basis with just one client per case."

Both spouses in this case are disabled, aged 50 and 52, with no income. Each receives 1,491 / 2 = 745.50/month of SSI, so each is owed (994 − 745.50) × 12 = 2,982. The fixture's own comment already says the spouse's 0 reflects the model ("the current model pays them no AND-CS supplement"). SSA's January 2011 Colorado table pays couples the same way: combined standard 1,398 (2 × 699), state supplement 387.

Proposed edit, once you agree: set spouse.co_state_supplement to 2_982.0, and replace the two comments that describe the old behaviour with:

  • head: "Each member of the SSI couple receives 1,491 / 2 = 745.50/mo SSI; supplement = (994 - 745.50) x 12 = 248.50 x 12 = 2,982/yr."
  • spouse: "The tax-unit spouse also receives SSI, and 9 CCR 2503-5 3.548(A) calculates AND-CS for each client individually, so the spouse receives the same 2,982/yr."

The three questions from CLAUDE.md:

  1. Are you sure you want to edit this test file?
  2. Have you notified a team member about this change?
  3. Have you notified the API partner about this change?

I'll make the edit only after you answer yes to all three.

MaxGhenis and others added 2 commits October 12, 2026 06:55
…ients

3.549(A)(2)(f) applies "the difference between the gross unearned income
and the $20.00 deduction" to earnings only when the client's unearned
income is under $20, and (A)(2)(a) counts unearned income "from all
sources", SSI included. So an AND-CS client, who always receives SSI,
gets no share of the disregard on earnings unless their gross unearned
income is under $20. This matches Axiom's encoding of 3.549
(us-co:regulations/9-ccr-2503-5/3.549). co_state_supplement_countable_income
becomes MONTH so it can read that month's SSI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n CO

Review round 2 (GPT-6.1 Sol):
- Texas: testing uncapped_ssi admitted an SSI-abolished resident and a
  resident on the own-household rate whose income equalled it. Test
  H-6000's condition directly: countable income not over the $30
  reduced standard, with SSI not abolished.
- Colorado: a joint couple's in-kind support and maintenance is one
  presumed maximum value (ssi_pmv_amount), which SSI splits between
  the spouses; count half of it for each spouse, not all of it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

A note for this PR's Texas eligibility gate, from the primary-source work in #10148, which touches no file here. Both merge cleanly together: 38 Texas YAML cases and both invariants files pass on the merged tree.

  • Binding rule. 1 TAC §358.381(c)(2) (effective Sept. 1, 2009): "For a person receiving the reduced SSI federal benefit rate, HHSC issues a supplement to give the person a PNA at the minimum level set by the HHSC executive commissioner." It could join the references in tx_ssi_state_supplement_eligible.
  • Non-SSI residents. The 2008 MEPD handbook (item 3233.1) says: "State supplementation will not be allowed for a Medicaid recipient who is not an SSI recipient." That supports this PR's receipt-based gate.
  • RSDI conflict, not modeled in either PR. HHSC Information Letter 2023-45 (Dec. 21, 2023) says: "Individuals who receive a Retirement, Survivors, and Disability Insurance (RSDI) benefit, are not eligible to receive a PNA supplemental payment from HHSC. The PNA is included in the determination of the recipient's co-payment to the facility." For RSDI-only residents this agrees with your gate, since they are not SSI recipients. For residents with both RSDI and SSI (RSDI under $50 a month), it conflicts with §358.381(c)(2). Date the Texas SSI supplement's PNA history from primary sources #10148 leaves eligibility to this PR and follows the rule. If you prefer the letter's reading, it would be a social_security > 0 exclusion here.

@hua7450 hua7450 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: policy verified; partner pin approved; one known interaction

The policy checks out in all three states:

  • CO: AND-CS grants are calculated "on an individual basis with just one client per case" (9 CCR 2503-5 §3.548(A)).
  • TX: a facility resident stays SSI-eligible while countable income doesn't exceed the $30 reduced standard, or $60 for a couple (MEPD H-1500, H-6000).
  • NM: two SSI recipients in residential care are "two separate benefit groups" (8.106.400.10(C) NMAC).

Partner case. The CO spouse's $2,982 is correct: ($994 − $1,491 / 2) × 12. Yes to the three partner-test questions. Please update the pin, and I'll approve once that's in.

Known interaction (not blocking). The new TX $30 income test reads ssi_countable_income, which still pools a couple's income unless SSI's own facility inputs are set. If a caller sets only is_in_medicaid_facility, a resident with no income whose spouse at home has a $100 pension counts ($100 − $20) / 2 = $40, so the resident loses the $45. Under 20 CFR 416.414(b)(3) and H-6000, SSA separates the payments and counts each spouse's own income. main already mispays this household, since SSI treats it as an at-home couple. The root cause is that is_in_medicaid_facility and the SSI facility inputs aren't linked. I'll file a separate issue for that fix, so no change is needed here.

Suggestions

  • co_state_supplement_countable_income has no defined_for = StateCode.CO.
  • §3.549(A)(2)(f) supports two readings of how a married client's unused $10 disregard share carries to earnings. The difference is at most $5 to $10 a month. A comment noting the reading you chose would help.
  • TX Scenario 6's comment cites both H-6000's $60 couple standard and SSA's 2011 "treated as two individuals" note; cite just the rule the model applies.

@hua7450 hua7450 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes only until the partner value is updated (my earlier review); I'll approve on that head.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CO AND-CS state supplement pays people who do not receive SSI

2 participants