Skip to content

Add Rhode Island state supplementation for 2026 - #10168

Merged
hua7450 merged 7 commits into
mainfrom
ri-ssp-2026
Oct 20, 2026
Merged

hua7450 merged 7 commits into
mainfrom
ri-ssp-2026

Conversation

@hua7450

@hua7450 hua7450 commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

What and why

Rhode Island's State Supplementary Payment (SSP) was missing from PolicyEngine-US. Add ri_ssp for 2026 under R.I. Gen. Laws § 40-6-27, 218-RICR-20-00-5 and POMS SI 01415.058 L.

  • 2026 rates (§ 5.6.A):

    Category Individual Couple
    A, own household $39.92 $79.38
    B, household of another $51.92 $97.30
    D, certified residential care or assisted living $332 — (adults only; couples and children fall back to A)
    E, Title XIX facility $45 $90
  • Payment: the category rate less countable income above the FBR (§ 5.2.B.3). Eligible couples are computed jointly and halved, and spouse deeming follows POMS SI 01320.430 D. All of this goes through the shared state supplement helper.

  • Who pays:

    • DHS pays A, B and E (§ 5.1.1.A).
    • SSA pays D for SSI recipients (§ 5.1.1.B), with SSA rounding and the $1 minimum.
    • A Category D resident denied SSI for excess income gets a DHS state-only payment, with no $1 minimum (§§ 5.1.1.A.1, 5.2.B.3).
  • Certified care: entered with ri_ssp_certified_residential_care. ri_ssp_living_arrangement derives the category in this order: Title XIX facility, certified care, household of another, own household. Entering certified care for one person leaves other household members unchanged.

The SSP is added to the household and SPM benefit totals and to SNAP and HUD unearned income.

References

Additional section and page citations are included alongside the parameters and formulas.

Coverage limits

The registry marks Rhode Island as partial, verified for 2026.

Not modeled:

  • the $300 supportive residential-care category in § 40-6-27(a)(1)(vii), which neither § 5.6 nor SSA's 2026 chart publishes;
  • grandfathered payments and ancillary facility subsidies.

The Category E couple amount ($90) is inferred as twice the individual amount, since § 5.6.A prints "N/A".

Earlier years use parameter backfilling and are unverified historical estimates; no historical coverage is claimed.

Related:

Test plan

  • 36 Rhode Island SSP YAML cases (22 in ri_ssp.yaml, 8 in ri_ssp_living_arrangement.yaml, 6 in integration.yaml). They cover:
    • each category, the income reduction, and the state-only and SSA-paid Category D;
    • a couple in a Title XIX facility, deeming from an ineligible spouse, mixed-category averaging, and the child and couple fallbacks;
    • category precedence and two people with an input on one only;
    • SNAP, HUD and household benefit wiring.
  • After merging main: all 429 Rhode Island cases (SSP and tax) pass locally, and the aggregate list integrity and program registry tests pass (677 passed, 10 skipped).
  • ruff format and git diff --check.
  • Changelog fragment in changelog.d/.

axiom: R.I. Gen. Laws § 40-6-27(a)(1), (a)(3); 218-RICR-20-00-5 §§ 5.1.1, 5.6.A; POMS SI 01415.058 L TheAxiomFoundation/rulespec-us#1785 queued

hua7450 and others added 3 commits October 12, 2026 14:29
…istries and tests

- Limit Category D to adult individuals; couples and children use own-household rates
- Couple table uses the individual rate where no couple rate is published (deeming uses the higher rate)
- Registry placement and comments, SNAP reference title, shorter programs.yaml note, reference fixes
- Federally administered D rounding, couple-with-income, deeming, earned-income and realistic boundary cases

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hua7450
hua7450 marked this pull request as ready for review October 13, 2026 08:14
An input for one member gives the other members the NONE default, so
integration Case 6 and ri_ssp Case 14 now set the own-household
arrangement explicitly, as their comments intend.

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

DTrim99 commented Oct 13, 2026

Copy link
Copy Markdown
Collaborator

PR Review: Add Rhode Island state supplementation for 2026

PR #10168 (author: hua7450, head 0719ad83d5, merge-base 2e9eea7e6e). 15 files (+711/−4), 4 commits.

Summary

The PR adds Rhode Island's State Supplementary Payment (SSP):

  • Parameters. gov.states.ri.dhs.ssp.amount.individual and .couple are broken down by a new ri_ssp_living_arrangement enum. Every cell is dated 2026-01-01:
    • Category A, own household: $39.92 individual, $79.38 couple
    • Category B, household of another: $51.92 individual, $97.30 couple
    • Category D, certified residential care or assisted living: $332. The couple cell is also $332, but it is used only in the ineligible-spouse comparison.
    • Category E, Title XIX facility: $45 individual, $90 couple
  • Living arrangement. ri_ssp_living_arrangement (Person, MONTH, defined_for = StateCode.RI) is derived from the federal SSI arrangement:
    • a Medicaid facility maps to E
    • a one-third-reduction household maps to B
    • everything else maps to A
    • Category D comes only from an input.
  • Benefit. ri_ssp pays a child or a member of an eligible couple who has the D input at the Category A rate. It then calls a new shared helper, ssi_state_supplement() in variables/gov/ssa/ssi/_ssi_state_supplement.py. The helper:
    • subtracts countable income above the federal benefit rate from the supplement
    • splits an eligible couple's joint rate between the two members
    • applies the POMS SI 01320.430 lesser-of rule when income is deemed from an ineligible spouse
    • for SSA-administered Category D only, applies SSA's rounding and a $1 minimum, held in a new parameter gov.ssa.ssi.state_supplement.minimum_payment
  • Aggregates. The payment is added to household_state_benefits (all four year blocks), spm_unit_benefits, SNAP unearned income and HUD unearned income.
  • Registry and tests. There is a programs.yaml entry (partial, verified_years: "2026") and 27 YAML cases.

The policy content is right for 2026:

  • Amounts. Every amount matches R.I. Gen. Laws § 40-6-27, the 218-RICR-20-00-5 § 5.6.A table and POMS SI 01415.058 L.
  • Administration. SSA pays Category D and DHS pays A, B and E, as 218-RICR-20-00-5 § 5.1.1 and the 2026 POMS chart say.
  • Category D. Only adult individuals can be in Category D. POMS SI BOS01415.012 B.1 says the same.
  • Income and deeming. The income reduction and the deeming computation follow 20 CFR 416.2025(b)(3) and POMS SI 01320.430 D.
  • Tests and CI. All 27 cases check by hand and pass at the head. CI is green and the branch merges cleanly with main.

Two should-fix items remain, the same two as in #10174:

  • The PR body's axiom: needed isn't a valid form for a staff PR.
  • The new parameter descriptions don't follow the house template.

Critical (must fix)

None.

Should address

1. axiom: needed isn't valid here, and this PR adds a program.

  • Where: the last line of the PR body, axiom: needed.
  • The rule. main's CLAUDE.md, "Axiom Parity (required for policy changes)":
    • "Put one line in the PR body: axiom: <legal id> encoded-correct | <rulespec PR> encoded | <rulespec issue> queued | n/a: <reason>."
    • needed is reserved for external contributors, and the author is PolicyEngine staff.
    • This PR adds a new program, and none of the n/a grounds applies.
  • Nothing to point to yet.
  • Precedent.
  • Fix: file a dispatch-ready pe-parity issue on the Add AMT parameters for 2020-2023 #1467 / DC CDCC #1708 model, then add a line such as axiom: R.I. Gen. Laws § 40-6-27; 218-RICR-20-00-5 TheAxiomFoundation/rulespec-us#NNNN queued. The issue needs:
    • Module paths.
      • us-ri/statutes/40-6-27.yaml for (a)(1)(i)–(v) and (a)(3). This uses the flat naming of us-ri/statutes/44-30-103.yaml.
      • us-ri/policies/dhs/218-ricr-20-00-5/2026/state-supplemental-payment-rates.yaml for the § 5.6.A table and § 5.1.1 administration.
      • us-ri/policies/ssa/poms/si-01415-058/2026/ri-ssp-individual-state-supplement-levels.yaml for Category D. This mirrors the existing DE and DC modules.
    • Corpus citations, plus the blocker if a source isn't in the corpus yet.
    • Verbatim law: the statute and regulation text quoted under Verified correct.
    • Required outputs (Person, monthly):
      • Money parameters per category: A $39.92 / $79.38, B $51.92 / $97.30, D $332 (individual only), E $45 per individual.
      • A Judgment for the administering agency: SSA for D, DHS for A, B and E.
      • A Judgment that Category D is only for an adult individual who is not a member of an eligible couple.
      • A Money output equal to the category rate minus countable income above the federal benefit rate, floored at 0. An eligible couple is computed jointly and the result divided by 2.
    • Companion tests from the same sources, not from PolicyEngine output. The § 5.6.A combined totals are:
      • A individual: 1,033.92 = 994 + 39.92
      • B individual: 714.59 = 662.67 + 51.92
      • D: 1,326 = 994 + 332, which matches the POMS L "Total Payment Levels"
      • E: 75 = 30 + 45
      • A couple: 1,570.38 = 1,491 + 79.38
      • B couple: 1,091.30 = 994 + 97.30
      • A § 5.2.B.3.a case: an individual in Category A with countable income of 1,010, above the federal cap and below the total cap, gets 23.92.
  • Shared federal pieces. The shared helper and the minimum-payment parameter encode 20 CFR 416.2020(c) and 416.2025(b)(3). The same pieces appear in Add New Jersey state supplementation for 2026 #10157, Add New York state supplementation for 2026 #10158, Add Pennsylvania state supplementation for 2026 #10167 and Add Vermont state supplementation for 2026 #10171, so they can share one batch issue.
  • The batch. The sibling SSP PRs all carry axiom: needed and need the same fix.

2. The new parameter descriptions don't follow the house template.

  • Where:
    • policyengine_us/parameters/gov/states/ri/dhs/ssp/amount/individual.yaml:1: "Rhode Island provides these monthly state supplementary payment rates for an eligible individual."
    • .../amount/couple.yaml:1: the same sentence, ending "for an eligible couple".
  • The template. "one sentence, spell the program out fully (no acronyms), [State] [verb] ... under the [Full Program Name] program."
    • These sentences have no "this amount ... under the ... program" clause.
    • They also write the program name in lower case.
    • The sibling SSP amounts on main follow the template. For example, ga/dhs/ssp/amount.yaml: "Georgia provides this amount as the monthly supplement under the State Supplementary Payment program." And de/dhss/ssp: "Delaware provides this amount as the couple State Supplementary Payment under the State Supplementary Payment program."
  • Fix:
    • individual.yaml: description: Rhode Island provides this amount as the monthly individual payment under the State Supplementary Payment program.
    • couple.yaml: description: Rhode Island provides this amount as the monthly couple payment under the State Supplementary Payment program.
  • The shared federal parameter has the same gap. gov/ssa/ssi/state_supplement/minimum_payment.yaml:1 also has no "under the ... program" clause. A template version is: "The Social Security Administration raises a positive federally administered optional state supplement to at least this monthly amount under the Supplemental Security Income program."

Suggestions

  1. Category E before June 2023 and the deleted Category F (deferral documented in the PR body).
    • The leak. Every parameter has only a 2026-01-01 value, so backdating copies it to 2015. The probe at the head gives a Medicaid-facility resident a ri_ssp of 45 in 2015-01, 2020-01 and 2023-01.
    • The law before mid-2023 paid $20.
      • The 2015 text of § 40-6-27(a)(3) reads: "Individuals living in institutions shall receive a twenty dollar ($20.00) per month personal needs allowance from the state".
      • P.L. 2023, ch. 79, art. 9, § 3 (Article 9) strikes "twenty-dollar ($20.00)" and inserts "forty-five dollar ($45.00)".
      • Section 11 of Article 9 says "This article shall take effect upon passage". The statute's history line gives "effective June 16, 2023".
      • POMS SI BOS01415.950 A.4 and B.3 show E at $20 for an individual and $40 for a couple through 2010.
    • Categories A, B and D are right back to 2015.
      • BOS01415.950 shows A and B at $39.92, $51.92, $79.38 and $97.30 from 1/09.
      • It shows D at $332 from 10/11.
      • The 2015 statute text lists the same five amounts.
    • Category F (unmodeled). P.L. 2021, ch. 162, art. 12, § 1 (Article 12), effective July 1, 2021, deleted (a)(1)(vi).
      • (vi) covered Medicaid long-term-care recipients in Medicaid-certified assisted living: "up to $465.00", or "$797" at or below 120% of poverty.
      • POMS SI BOS01415.012 C dates this category F to January 1, 2016.
    • Fix:
      • individual.yaml MEDICAID_INSTITUTION: 2015-01-01: 20, 2023-06-16: 45
      • couple.yaml MEDICAID_INSTITUTION: 2015-01-01: 40, 2023-06-16: 90
      • Widen Rhode Island SSP 2017, 2018, 2019 #8542 (open, "Rhode Island SSP 2017, 2018, 2019") to cover E for 2015 through June 2023 and F for 2016 through June 2021.
  2. The Texas rebate reform's copy of spm_unit_benefits now omits ri_ssp.
    • Where: policyengine_us/reforms/states/tx/rebate/tx_rebate.py:53-122 redefines spm_unit_benefits nationwide with a hard-coded list. It already lacks ca_state_supplement, and after this PR it also lacks ri_ssp.
    • Probe at the head: a Rhode Island aged SSI-only single in 2027.
      • spm_unit_benefits is 14,893.30 at baseline and 14,414.26 under the Texas-only reform, a drop of 479.04.
      • spm_unit_net_income falls by the same amount.
      • household_net_income is unchanged.
    • Fix: insert "ri_ssp", # Rhode Island benefits after "fl_oss", at line 65, as spm_unit_benefits.py does. This is consistent with Add Wyoming state supplementation for 2026 #10174.
  3. Setting the living arrangement for one person resets everyone else to NONE.
    • Where: ri_ssp_living_arrangement.py:26, default_value = RISSPLivingArrangement.NONE. The enum is the only way to enter certified care.
    • Why it happens. When a variable is given as input for one member, policyengine-core fills the other members with the default instead of running the formula.
    • The author hit it.
      • The superseded run on 9ae63e3ab6 failed in Quick Feedback and states-shard-1.
      • The head commit says "An input for one member gives the other members the NONE default".
      • The fix patched only the tests: ri_ssp.yaml Case 14 and integration.yaml:154 now set INDEPENDENT explicitly.
    • Probe at the head. This is Case 14 with person 1's explicit input removed:
      • The arrangement is [NONE, RESIDENTIAL_CARE].
      • ri_ssp is 19.845 each instead of 39.69, because the NONE couple cell of 0 halves the joint rate.
      • Any other SSI recipient in such a household would get 0.
    • Fix: add a boolean input such as ri_ssp_certified_residential_care (Person, MONTH, default False) and make ri_ssp_living_arrangement formula-only, with D selected when the input is true.
      • At minimum, warn in the variable's documentation that every member's arrangement must be set.
      • This is a suggestion and not a should-fix only because the enum-with-NONE pattern is common on main (AL, DC, DE, FL, HI, ID, IN, MD, MO, NE).
  4. Write down and pin the income-attribution readings.
    • (a) Category D when there is no federal SSI.
      • Case 16 (ri_ssp.yaml:197-210) pays SSA's $1 minimum to a resident whose countable income (1,325.50) leaves no federal SSI.
      • Supporting that reading: 20 CFR 416.2025(b)(3) ("If countable income exceeds the amount of the Federal benefit rate, the State supplementary benefit will be reduced by the amount of such excess") and the POMS L total payment level of 1,326.00.
      • Cutting the other way, all in 218-RICR-20-00-5:
        • § 5.1.1.B has SSA administer D "for SSI recipients" (p. 1).
        • § 5.1.1.A.1 makes DHS "responsible for income eligibility determinations for those who are denied Federal SSI due to excess income".
        • § 5.2.B.3.c, under "State-Only Supplemental Calculation", discusses Category D (p. 3).
        • § 5.3.B.1.a mentions state-only redeterminations "for individuals receiving Category D" (p. 7).
      • Under the state-only reading, Case 16 would pay 0.50, with no minimum and no SSA rounding. The gap is under $1 a month, within a $1 band of income.
      • Fix: state the chosen reading in the ri_ssp.py:41 comment.
    • (b) Untested branches. Probes at the head:
      • Couple in a Title XIX facility: SSI 30 each and ri_ssp 45 each. The $90 couple cell is an inference, since § 5.6.A shows "N/A" for E couples. Statute (a)(3) ("Individuals living in institutions shall receive ...") and the historical couple E rate of $40 = 2 × $20 in BOS01415.950 B.3 support it.
      • Category A individual with an ineligible spouse, whose Social Security is $1,000 a month: SSI 511 and ri_ssp 39.92. The lesser-of rule picks the individual computation.
      • The same with $1,600 a month: SSI 0 and ri_ssp 0.
      • Mixed A/B couple: 44.17 each, the average of 39.69 and 48.65 under POMS SI 02005.030 G.1.
      • Fix: add these to ri_ssp.yaml.
    • (c) Integration Case 6 (integration.yaml:142-184) deems a spouse's income to an assisted-living resident. 20 CFR 416.1160(a)(1) deems only "If you live in the same household with your ineligible spouse".
      • Fix: say in the comment that both spouses live in the facility.
  5. Polish.
    • Blank lines. The PR adds a stray blank line before metadata: in household_state_benefits.yaml:412 and in hud/annual_income/sources/unearned.yaml:33. Neither relates to Rhode Island.
    • Case count. The PR body says "15 source-based YAML cases". The PR has 27: 16 in ri_ssp.yaml, 6 in integration.yaml and 5 in ri_ssp_living_arrangement.yaml.
    • Wiring assertion. No case asserts spm_unit_benefits. Integration Case 3 already checks SNAP, HUD and household_state_benefits.

Verified correct

  • Statute. R.I. Gen. Laws § 40-6-27 (current text):
    • (a)(1) sets the amounts: "(i) Individual living alone: $39.92 (ii) Individual living with others: $51.92 (iii) Couple living alone: $79.38 (iv) Couple living with others: $97.30 (v) Individual living in state-licensed assisted-living residence: $332.00"
    • (a)(3): "Individuals living in institutions shall receive a forty-five dollar ($45.00) per-month personal needs allowance from the state".
    • Every parameter cell matches, including the inferred couple E of 2 × $45.
  • Regulation. 218-RICR-20-00-5 (effective January 7, 2026):
    • § 5.6.A table (p. 13): A $39.92 / $79.38, B $51.92 / $97.30, D $332.00 (couple N/A), E $45.00 (couple N/A). The combined columns are consistent with federal amounts of 994, 1,491, 662.67, 994 and 30.
    • § 5.1.1 (p. 1): "DHS administers the State supplemental portion for ... Category A ... Category B ... Category E", and "SSA administers the State supplemental portion for SSI recipients in ... Category D". That is the PR's federal_payment_rules=category_d split.
      • The statute's (a)(2) says "As of July 1, 2010, state supplement payments shall not be federally administered". The regulation and SSA's 2026 chart both show SSA still paying D, so following them is right.
    • § 5.2.A.1 (p. 3): "Individuals eligible for an SSI benefit are automatically eligible for an SSP". That supports gating on SSI eligibility and take-up.
    • § 5.2.B.3.a: "An individual/couple who has countable income over the Federal cap but below the total cap may be eligible for the State-only Supplemental Payment". That supports reducing the supplement by income above the federal rate (Cases 5–7, Integration Cases 4–5).
    • § 5.1.1.A.1: someone who fails the 416.1205 resource limit "is not eligible for an SSI payment, Federal or State" (Case 8).
  • SSA.
    • POMS SI 01415.058 L (link): the January 2026 chart has one federally administered row, Federal code A / OS code D, FBR 994.00, state 332.00, total 1326.00. "Apply OS code D only to recipients living in residential care or assisted living facilities as certified by the Rhode Island Department of Human Services." The #l anchor resolves.
    • SI BOS01415.012 B.1: "applies to adult individuals only. Members of a couple are not eligible for this optional State supplement category." Also: "Anyone living in a State licensed residential care/assisted living facility who does not meet one of the above criteria is determined to be in optional State supplement category A." That supports the A fallback in ri_ssp.py:29-40 and Cases 13–15.
  • Federal rules in the shared helper.
    • 20 CFR 416.2020(c) (LII): "optional supplementary payment amounts of less than $1 will be raised to a dollar". That is the $1 minimum parameter.
    • POMS SI 02001.010 A.1: raise a fractional cent "only if there is a third digit"; "Do not round up the fourth digit". The floor-to-mills-then-ceil-to-cents expression matches, and SI 02001.010 A.3 says to round federal and state amounts separately.
    • 20 CFR 416.2025(b)(3) and POMS SI 01320.430 C.7 and D.1–D.3: in a deeming case, subtract the excess from "the higher of the State supplementary rates for an eligible couple or an eligible individual" and pay "the lesser of" the individual and deeming results. The helper's lines 28–42 implement this. Setting the D couple cell to $332 makes the comparison use the individual rate where no couple rate exists.
    • POMS SI 02005.030 G.1: compute couples jointly and divide by 2, and for mixed living arrangements "average their individual OSS payment". That matches the helper's couple_total averaging.
  • Kept out of SSI income. 20 CFR 416.1124(c)(2) excludes state supplementation. ri_ssp isn't added to SSI income, so there is no circularity. The rates are the state share only, so summing them with ssi doesn't double-count.
  • Counted for SNAP and HUD. 7 CFR 273.9(b)(2) counts SNAP. The PR consolidates the SNAP list's two 7 CFR 273.9 references into one entry, which follows main's one-entry-per-document rule. The HUD addition matches the batch convention.
  • Code:
    • No hard-coded policy values. The 1,000, 10 and 100 in the rounding are decimal-place shifts.
    • Vectorized throughout (where, max_, min_, select).
    • Periods are correct. YEAR flows such as countable and deemed income come in ÷12 through period. YEAR booleans use period.this_year. The MONTH benefit sums to 479.04 a year (Integration Case 3).
    • References.
      • One entry per document.
      • The #page 1,13 title in couple.yaml follows main's CLAUDE.md format for nonconsecutive pages.
      • The variable tuples carry # PDF pages 1, 13 comments.
    • Callers. ri_ssp is referenced only in the lists this PR edits.
  • Hand checks: all 27 expectations. The 2026 federal rates are $994 for an individual, $1,491 for a couple and $30 in a facility.
    • ri_ssp.yaml Cases 1–4: 39.92, 51.92, 332 and 45.
    • Case 5: $12,360 / 12 = $1,030 − $20 = $1,010 countable; that is $16 over $994; $39.92 − $16 = 23.92.
    • Case 6: $12,642 / 12 = $1,053.50 − $20 = $1,033.50; that is $39.50 over; $39.92 − $39.50 = 0.42, with no state minimum.
    • Case 7: countable $1,480 is above the $1,033.92 cap, so 0.
    • Cases 8–11: resources of $2,001, age 30, Ohio and no take-up each give 0.
    • Case 12: $60 − $20 = $40 countable; that is $10 over $30; $45 − $10 = 35.
    • Cases 13 and 14: $79.38 / 2 = 39.69 each, under Category A.
    • Case 15: a child is paid at Category A, 39.92.
    • Case 16: $1,345.50 − $20 = $1,325.50; that is $331.50 over; $332 − $331.50 = $0.50, raised to 1.
    • Integration Case 1: SSI is 1,491 / 2 = 745.50 each, and ri_ssp is 39.69 each.
    • Integration Case 2: SSI is 745.50 × 2/3 = 497 each, and ri_ssp is 97.30 / 2 = 48.65 each.
    • Integration Case 3: 39.92 × 12 = 479.04, so SNAP and HUD unearned income are 11,928 + 479.04 = 12,407.04.
    • Integration Case 4:
      • countable income: ($1,050 + $500 − $20) / 2 = $765 each
      • that is $19.50 over $745.50
      • $39.69 − $19.50 = 20.19 each. The POMS joint form gives the same: ($79.38 − $39) / 2.
    • Integration Case 5: ($2,100 − $20 − $65) / 2 = $1,007.50; that is $13.50 over; $39.92 − $13.50 = 26.42.
    • Integration Case 6:
      • deemed income: $1,600 − $20 = $1,580
      • federal SSI: $1,491 − $1,580 is negative, so 0
      • as an individual, with own income 0: 332
      • with deeming: max($332, $332) − $89 = 243
      • the lesser is 243
    • ri_ssp_living_arrangement.yaml Cases 1–5: A, B, E, A (no Medicaid majority) and NONE (Ohio).
  • Extra probe. With one spouse in a Medicaid facility, ssi_couple_computation_applies is false. The facility spouse gets SSI 30 and ri_ssp 45, and the home spouse gets SSI 994 and ri_ssp 39.92. That is right under 20 CFR 416.414(b)(3).
  • Changelog: changelog.d/ri-ssp-2026.added.md is top-level, typed added, and accurate.
  • Registry:
    • The programs.yaml entry sits under ssi_state_supplement.state_implementations, after WA.
    • partial fits the unmodeled grandfathered, supportive-care and facility-subsidy paths.
    • parameter_prefix resolves.

Batch checks

  1. Axiom line: SHOULD (Should 1). axiom: needed is invalid for a staff PR. rulespec-us has no RI SSP module or issue, so a dispatch-ready pe-parity issue and a queued line are needed.
  2. Parameter descriptions: SHOULD (Should 2). individual.yaml and couple.yaml are off-template, and so is the shared minimum_payment.yaml.
  3. Backdating: SUGGESTION (Suggestion 1). A, B and D are right back to 2015. E leaks $45 into 2015 through June 2023, where the law paid $20 (P.L. 2023 ch. 79 art. 9 § 3). Category F (2016 to June 2021) is unmodeled. The PR claims only 2026 and documents the deferral (Rhode Island SSP 2017, 2018, 2019 #8542).
  4. tx_rebate.py copy: SUGGESTION (Suggestion 2). ri_ssp is missing, which costs a Rhode Island SSI-only single 479.04 in 2027. ca_state_supplement is still missing too.
  5. Aggregate wiring: complete, with no double count. ri_ssp is in spm_unit_benefits, all four household_state_benefits blocks, HUD unearned, SNAP unearned and programs.yaml. It holds the state share only, separate from ssi.
  6. Income attribution: correct for 2026, with three readings to pin (Suggestion 4).
    • Pinned: eligible couples (joint and halved), mixed couples (averaged), ineligible-spouse deeming (the POMS lesser-of rule, D path), the child and couple fallback out of D, and one spouse in a facility (individual treatment).
    • Still to pin: OSS-only Category D, the Category A deeming path, and couple E.
  7. Sibling conflicts (branch note):
  8. CI: all 26 checks pass on the head. An earlier run on 9ae63e3ab6 failed because of the NONE default, and the head commit fixed it in the tests (see Suggestion 3).
  9. State law first: done.
    • Read the statute (current and 2015), P.L. 2021 ch. 162 art. 12, P.L. 2023 ch. 79 art. 9, 218-RICR-20-00-5 pp. 1, 3, 6, 7 and 13, POMS SI 01415.058 L, BOS01415.012, BOS01415.950, SI 01320.430, SI 02005.030 G, SI 02001.005, SI 02001.010, and 20 CFR 416.2020 and 416.2025.
    • Every 2026 amount, the administration split and the effective date check out.
    • All 27 expectations check by hand.

Axiom line assessment

Invalid (Should 1).

CI status

All 26 checks pass (gh pr checks 10168).

  • The run. Run 38399933952 (pull_request, 2026-10-13 12:47 UTC) on head 0719ad83d5. It includes PR validation, the baseline and contrib state shards, household, and Household API Partners.
  • Superseded run. Run 38367928349 on 9ae63e3ab6 failed in Quick Feedback and states-shard-1. The head commit fixed those RI test inputs.
  • Main since then. The shared files this PR depends on changed on main only in #9558, which renamed unemployment_compensation to total_unemployment_compensation in the HUD, SNAP and SSI lists, spm_unit_benefits and tx_rebate.py, and in a 3-line California programs.yaml edit. Neither touches the lines this PR adds.
  • Local run. The three new test files at the head with policyengine-core 3.33.2: 27 passed.
  • Partner tests. The PR touches none, and the Household API Partners job passes.

Branch status

  • Position: 31 commits behind main, 4 ahead.
  • Merge: git merge-tree --write-tree PolicyEngine/main 0719ad83d5 is clean (tree f04885d871).
  • Sibling conflicts. The sibling SSP PRs insert lines at the same places, in household_state_benefits.yaml, hud/.../unearned.yaml, snap/.../unearned.yaml, programs.yaml and spm_unit_benefits.py.

Verdict: REQUEST_CHANGES

@DTrim99 DTrim99 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.

The 2026 policy is correct: categories A, B, D and E match § 40-6-27, 218-RICR-20-00-5 § 5.6.A and POMS SI 01415.058 L, SSA pays only D, and all 27 cases check by hand. Two should items (see the comment above): (1) 'axiom: needed' isn't valid for staff and rulespec-us has no RI SSP module, so file a dispatch-ready pe-parity issue and add a queued line; (2) the individual.yaml, couple.yaml and shared minimum_payment.yaml descriptions are off the template. Notable suggestion: category E is backdated at $45 but was $20 until June 16, 2023.

hua7450 and others added 2 commits October 15, 2026 18:06
…administration

- Enter certified residential care through a new boolean input, so the
  living arrangement formula no longer resets other household members.
- Pay Category D to a resident denied SSI for excess income as a DHS
  state-only supplement, without SSA rounding or the $1 minimum
  (218-RICR-20-00-5 Sections 5.1.1 and 5.2.B.3).
- Update descriptions and references, and add Title XIX couple, deeming,
  mixed-couple and two-person tests.

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

hua7450 commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator Author

Thanks, David. The fixes are in ec759eb, followed by a merge of main (5279c1b). The shared helper and minimum_payment.yaml are unchanged.

Should 1 (Axiom line): filed TheAxiomFoundation/rulespec-us#1785 (pe-parity). It has:

  • your module paths;
  • the verbatim § 40-6-27, 218-RICR and POMS L text;
  • the required outputs;
  • your companion totals mapped to the PE cases.

It notes that 416.2020(c) and 416.2025(b)(3) can share a module with the other SSP issues. The source conflicts are in a separate comment, and the axiom line now points to it.

Should 2 (descriptions):

  • individual.yaml and couple.yaml now say "Rhode Island provides these amounts as the monthly individual [couple] payment under the State Supplementary Payment program". I used "these amounts" because the files are breakdowns by category, the same wording as Pennsylvania.
  • I left the shared minimum_payment.yaml as it is: it's byte-identical across the SSP PRs, and its description matches its federal folder.

Suggestion 1 (Category E history): history stays out of scope, so the $20 rate before June 16, 2023 and the deleted Category F aren't added, and I didn't widen #8542.

Suggestion 2 (Texas rebate copy): #10226 tracks one spm_unit_benefits list that reforms append to, so this PR leaves tx_rebate.py unchanged.

Suggestion 3 (NONE default): fixed rather than documented.

  • Certified care now comes from a boolean input, ri_ssp_certified_residential_care. 2026 has only one certified category, so a boolean is enough.
  • ri_ssp_living_arrangement is formula-only, in this order:
    • a Title XIX facility is E, since D is used with federal arrangement A only (BOS01415.012 B.1);
    • then certified care;
    • then the household of another;
    • otherwise A.
  • The two INDEPENDENT workaround inputs are gone.
  • ri_ssp.yaml Case 22 pins two people with the input on one only: [39.92, 332].
  • ri_ssp_living_arrangement.yaml Cases 6–8 pin the precedence.

Suggestion 4 (readings):

  • (a) Category D without federal SSI: I followed 218-RICR. SSA pays D "for SSI recipients" (§ 5.1.1.B), and DHS handles those "denied Federal SSI due to excess income" (§ 5.1.1.A.1, § 5.2.B.3). So that payment is state-only, with no SSA rounding or $1 minimum.
    • Case 16 is now 0.50.
    • New Case 17 keeps the SSA branch pinned: a reported SSI recipient gets 1.
    • A NOTE says 416.2025(b)(3) and the $1,326 POMS total also fit SSA-paid supplement-only cases. 416.2010(a)(1) leaves that coverage to the State, so the model follows the regulation.
  • (b) Untested branches:
    • Case 18, a couple in a Title XIX facility: SSI [30, 30], ri_ssp [45, 45].
    • Case 19, an ineligible spouse with $1,000 a month: SSI [511, 0], [39.92, 0].
    • Case 20, the same with $2,000 a month: [0, 0]. I used $2,000 rather than $1,600, which sits $9.62 above the cutoff.
    • Case 21, the mixed A/B couple: 44.17 each. Its comment says a couple living together shares one federal arrangement, so the case pins the averaging step only.
  • (c) Integration Case 6: the comment now says both spouses live in the facility (416.1160(a)(1)), and that its 243 is a state-only payment.

Suggestion 5 (polish):

  • I kept the blank lines before metadata:; they come from our formatting pass and are harmless.
  • The body's case count is updated.
  • I didn't add a spm_unit_benefits assertion. Integration Case 3 already checks household_state_benefits, SNAP and HUD income, and spm_unit_benefits would tie the case to projected FY2027 SNAP values.
  • The POMS references now point at L.1 (#l1) and L.2 (#l2).

On the merged head, these pass locally: all 429 Rhode Island cases, and the aggregate list integrity and program registry tests (677 passed, 10 skipped).

@DTrim99

DTrim99 commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

PR Review (round 2): Add Rhode Island state supplementation for 2026

PR #10168 (author: hua7450). This round reviews head 5279c1bb6c; round 1 reviewed 0719ad83d5. Two commits landed in between:

Summary

Ziming fixed both round-1 should items:

He also fixed Suggestions 3 and 4 and the POMS anchors, and gave reasons for the rest, which I accept. Two of the fixes go further than I asked:

  • The NONE default. He fixed the cause with a boolean input instead of documenting it.
  • Category D without SSI. He adopted the regulation's state-only reading, so Case 16 is now 0.50, and kept the SSA branch pinned in Case 17.

The batch lessons don't catch anything here.

One optional suggestion: bring #1785 in line with the head.

No critical or should items remain. CI is 27/27 green on the head. The branch is 56 commits behind main and now conflicts with it in all five shared lists, because sibling SSP lines landed at the same spots (branch note).

Prior findings status

Finding Status Evidence
Should 1: axiom: needed isn't valid for a staff PR that adds a program Fixed The line now reads axiom: R.I. Gen. Laws § 40-6-27(a)(1), (a)(3); 218-RICR-20-00-5 §§ 5.1.1, 5.6.A; POMS SI 01415.058 L TheAxiomFoundation/rulespec-us#1785 queued. #1785 is open and labelled pe-parity; Ziming filed it on 2026-10-15. It has the three module paths I proposed, with corpus status. It quotes § 40-6-27(a)(1)–(3), 218-RICR-20-00-5 §§ 5.1.1, 5.2, 5.3.A.2 and 5.6.A, POMS L.1 and L.2, BOS01415.012 B.1, and 20 CFR 416.2020(c) and 416.2025(b)(3). It has seven required outputs and companion tests A–I mapped to PE cases. A source-conflicts comment covers four conflicts.
Should 2: two parameter descriptions were off-template Fixed; the shared parameter declined (accepted) The two files now read "Rhode Island provides these amounts as the monthly individual [couple] payment under the State Supplementary Payment program." "These amounts" fits a breakdown parameter and matches Pennsylvania's files on main (#10167). minimum_payment.yaml was left alone. It has since landed on main unchanged with New Jersey (#10157), so the PR's copy is byte-identical to main's, and any edit belongs in its own PR.
Suggestion 1: Category E before June 2023, and the deleted Category F Declined (accepted) The body says "Earlier years use parameter backfilling and are unverified historical estimates; no historical coverage is claimed". The registry claims only "2026", and #1785 records "Category E was $20 before the 2023 amendment". That makes it a documented deferral; $45 still carries back to 2015.
Suggestion 2: the Texas rebate's copy of spm_unit_benefits omits ri_ssp Deferred to #10226 (accepted) #10226 is open. tx_rebate.py on main still goes straight from "fl_oss" to "ks_sspp" (lines 65-66), as in the sibling PRs.
Suggestion 3: setting the arrangement for one person reset everyone else to NONE Fixed The input. ri_ssp_certified_residential_care (Person, MONTH, default false) documents § 5.2.B.2.a(1)–(2) (p. 3), including the 1998 exemption. The formula. ri_ssp_living_arrangement is now formula-only, in this order: Title XIX facility (E), certified care (D), household of another (B), otherwise A. The two INDEPENDENT workaround inputs are gone. The order. It follows BOS01415.012 B.1: D "is used in conjunction with Federal living arrangement A". Cases 7 and 8 pin it. The fix holds. Case 22 pins [INDEPENDENT, RESIDENTIAL_CARE] and [39.92, 332]. In my four-household probe the input was set only on the certified resident, and the other Rhode Island residents stayed INDEPENDENT.
Suggestion 4(a): Category D without federal SSI Fixed (state-only reading adopted) The code. federal_payment_rules = category_d & ((ssi > 0) | receives_ssi). The regulation. § 5.1.1.B (p. 1): "SSA administers the State supplemental portion for SSI recipients". § 5.3.A.2 (p. 6): a person "denied SSI by SSA for excess income may be eligible for a State-only supplemental payment as an SSI 'lookalike'". The NOTE records the other reading. It rests on 416.2010(a)(1), which I checked: "Receiving (or at the option of the State would, but for the amount of their income, be eligible to receive) supplemental security income benefits". Tests. Case 16 is 0.50 and Case 17 is 1. No period mismatch. receives_ssi is a MONTH boolean input.
Suggestion 4(b): untested branches Fixed Cases 18–21 match my round-1 probes: [45, 45]; [39.92, 0] with SSI [511, 0]; [0, 0]; and 44.17 each. Case 20 uses $2,000 a month. $1,600 would also give 0, since 1,580 − 1,491 = 89, which exceeds 79.38. Case 21's comment says this mix can't arise for a couple living together, so it pins only the averaging.
Suggestion 4(c): Integration Case 6 deeming comment Fixed "Both spouses live together in the assisted living residence, so person2's income is deemed to person1 (20 CFR 416.1160(a)(1))". It also says that 243 is a state-only payment.
Suggestion 5: polish Partly fixed; the rest declined (accepted) The count. The body says 36 cases (22 + 8 + 6), which matches the head. The POMS links now use #l1 and #l2, and both anchors resolve (POMS effective 08/28/2026 to present). L.1: "Apply OS code D only to recipients living in residential care or assisted living facilities as certified by the Rhode Island Department of Human Services." L.2: "A | D | All | 994.00 | 332.00 | 1326.00". Declined. The blank lines before metadata: stay (harmless). There is still no spm_unit_benefits assertion; the reason, that it would tie the case to projected FY2027 SNAP values, holds.

New findings

Critical (must fix)

None.

Should address

None.

Suggestions

1. Bring #1785 in line with the head.

  • The case count. Its summary says ri_ssp_living_arrangement.yaml has 7 cases. The head has 8, because Cases 6–8 came in ec759eb565.
  • Case 21's name. Under "Interpretations that change a result" it cites "Case 21, couple with one spouse in another person's household averages the two rates." The head names it "Case 21, mixed household-of-another and own-household inputs for a couple average the two rates."
  • The state-only income definition. The issue quotes § 5.2.B.3, B.3.a and B.3.c but not B.3.b (p. 3): "Countable income and resources are calculated consistent with provisions established in 210-RICR-40-00-3.2 and 210-RICR-40-00-3.5."
    • Add it, with 210-RICR-40-00-3 § 3.1.A's adoption of 20 CFR Part 416.
    • That tells the encoder that DHS's payments use SSI's income count, which is why ssi_countable_income is right here (see Verified).

Verified

  • The wage count for the state-administered parts (NH Add New Hampshire state supplementation for 2026 #10156 r3, OK Add Oklahoma state supplementation for 2026 #10165, OR Add Oregon state supplementation for 2026 #10166 r2).
    • Where it matters.
      • SSA's Category D payments follow SSI's count by definition.
      • For SSI recipients in A, B and E, countable income is below the FBR, so the helper pays the full rate whatever the count.
      • The count matters only for DHS's state-only payments: countable income above the FBR but below the combined level (§ 5.2.B.3.a). That covers Cases 5–7, 12 and 16 and Integration Cases 4–6.
    • The rule.
      • § 5.2.B.3.b (p. 3), quoted above, points to 210-RICR-40-00-3 (the current version on the Secretary of State's site).
      • § 3.1.A (p. 1): "These Regulations hereby adopt and incorporate 20 C.F.R. Part 416 (2023) by reference".
      • § 3.2.1.A (p. 1): the State determines eligibility "using the SSI methodology and in a manner that is no more restrictive than the way it is applied for SSI".
      • § 3.2.6.A.1, p. 5 restates 20 CFR 416.1110's opening text.
      • § 3.3.5, p. 15 counts "Net earnings from self-employment ... calculated on a taxable year basis".
      • Nothing in Part 3 counts wages before payroll deductions, as New Hampshire's He-W 601.04(m) does.
    • SSI's count.
      • 20 CFR 416.1110(a)(1): "Wages are the same for SSI purposes as for the social security retirement program's earnings test."
      • POMS SI 00820.102 C.2: "Amounts used to purchase qualified benefits under a cafeteria-plan with a salary-reduction agreement are not the employee's wages and are not considered income for SSI purposes."
      • 416.1111(b): net losses from self-employment are divided over the taxable year, and "we deduct them only from your other earned income".
    • The code.
      • The helper reads ssi_countable_income.
      • That builds on ssi_earned_income, which since Document disjoint health premium inputs and correct consumer treatment #10046 subtracts min_(wages, pre_tax_health_insurance_premiums) and otherwise sums the earned sources, so a self-employment loss offsets wages.
      • ssi_countable_income then floors earned income at 0, so a loss can't reach unearned income.
      • The state-only paths therefore count income as the rule requires.
    • Probe at this head. An aged Rhode Island worker with $26,400 a year of wages, in 2026-01:
      • with $1,200 a year of pre-tax premiums: ssi_earned_income is 2,100 a month and countable income 1,007.50, so ri_ssp is 39.92 − 13.50 = 26.42;
      • without them: 2,200, 1,057.50 and 0.
  • State-gated keys (NH Add New Hampshire state supplementation for 2026 #10156 check).
    • The only gated key variable is safe. ri_ssp_living_arrangement has defined_for = StateCode.RI, an enum default of NONE, and is the breakdown key of both amount parameters. NONE is a key in both, with value 0, so a non-resident's lookup can't miss.
    • The new input ri_ssp_certified_residential_care is a gated boolean that only feeds the select.
    • A two-state probe ran without error. One simulation held the two Rhode Island workers above, a certified Rhode Island resident and an aged Massachusetts resident:
      • ri_ssp_living_arrangement [INDEPENDENT, INDEPENDENT, RESIDENTIAL_CARE, NONE];
      • ri_ssp (2026-01) [26.42, 0, 332, 0];
      • household_state_benefits (2026) [317.04, 0, 3,984, 1,545.84];
      • SNAP unearned [317.04, 0, 15,912, 13,473.84];
      • HUD unearned [317.04, 0, 15,912, 11,928].
    • The input carries forward. The certified-care input was set for January only and carried to all 12 months (3,984 = 12 × 332). That is how a formula-free input should behave under auto_carry_over_input_variables, and certification does persist.
  • The Category D administration change.
    • ssi and receives_ssi are both MONTH variables. ri_ssp is not an SSI income source, so reading ssi creates no cycle.
    • The regulation citations check against the PDF:
      • 5.1.1 (p. 1);
      • 5.2.B.2.a (p. 3);
      • 5.2.B.3 (pp. 3–4);
      • 5.3.A.2 (p. 6);
      • 5.3.B.1 (p. 7);
      • 5.6 (p. 13).
    • So the # PDF pages 1, 3-4, 6-7, 13 comment in ri_ssp.py is right.
    • The 416.2020#c LII anchor opens "(c) Minimum amount. ... optional supplementary payment amounts of less than $1 will be raised to a dollar."
  • What the main merge changes for Rhode Island.
  • New and changed expectations, checked by hand. The 2026 FBRs are $994 and $1,491, and $30 in a facility.
    • ri_ssp.yaml:
      • Cases 3, 13, 14 and 15: only the input changed, to the boolean.
        • Case 3: 332.
        • Case 13: [39.69, 39.69].
        • Case 14: [39.69, 39.69]. Person 1 is now INDEPENDENT by formula: (79.38 / 2 + 79.38 / 2) / 2.
        • Case 15: 39.92.
      • Case 16:
        • countable income: 16,146 / 12 = 1,345.50 − 20 = 1,325.50;
        • that is 331.50 over 994, so SSI is 0;
        • DHS pays 332 − 331.50 = 0.50.
      • Case 17: the same income with receives_ssi. Under SSA's rules, 0.50 is raised to 1.
      • Case 18: SSI is 60 / 2 = 30 each. Jointly, (90 / 2 + 90 / 2) / 2 = 45 each.
      • Case 19:
        • deemed income: 1,000 − 20 = 980;
        • SSI: min(994, 1,491 − 980) = 511;
        • SSP: min(39.92 − 0, max(79.38, 39.92) − max(980 − 1,491, 0)) = min(39.92, 79.38) = 39.92.
      • Case 20: 2,000 − 20 = 1,980, so SSI is 0. 79.38 − (1,980 − 1,491) = 79.38 − 489 < 0, so 0.
      • Case 21: (97.30 / 2 + 79.38 / 2) / 2 = (48.65 + 39.69) / 2 = 44.17 each.
      • Case 22: separate units and homes, so [INDEPENDENT, RESIDENTIAL_CARE] and [39.92, 332].
    • ri_ssp_living_arrangement.yaml:
      • Case 6: certified care alone gives RESIDENTIAL_CARE.
      • Case 7: certified care in a Medicaid facility gives MEDICAID_INSTITUTION.
      • Case 8: certified care with the household-of-another inputs gives RESIDENTIAL_CARE.
    • integration.yaml, Case 6:
      • the input was renamed, and person 2's INDEPENDENT now comes from the formula;
      • only the comments changed otherwise;
      • the result is still min(332, 332 − 89) = 243, unrounded on the DHS path.
  • Wiring at the head:
    • ri_ssp is in all four household_state_benefits blocks, in spm_unit_benefits.py, and on the SNAP and HUD unearned lists;
    • programs.yaml is partial, with verified_years: "2026";
    • ri_ssp is still not an SSI income source.
  • Changelog. changelog.d/ri-ssp-2026.added.md is unchanged, top-level and typed added.
  • Tests.
    • In CI: Quick Feedback ran the three Rhode Island files at the head: 22, 8 and 6 passed.
    • Locally: one small probe, covering the wage path, the two-state check and the input carry-over.
  • Partner tests. The PR touches none, and Household API Partners passes.

Axiom line assessment

Valid: axiom: R.I. Gen. Laws § 40-6-27(a)(1), (a)(3); 218-RICR-20-00-5 §§ 5.1.1, 5.6.A; POMS SI 01415.058 L TheAxiomFoundation/rulespec-us#1785 queued.

  • Issue state.
    • Correct MO income tax brackets #1785 is open and labelled pe-parity. It is the only rulespec-us issue for Rhode Island's supplement.
    • rulespec-us main (5796861e58, 2026-10-20) has no module for it: us-ri/ holds only .axiom/, policies/ (cms/, income_tax/) and statutes/44-30-103. So queued is still the right form.
  • Dispatch-ready. It has:
    • module paths with corpus status: the statute and 218-RICR-20-00-5 need ingest, and POMS L is in the corpus as blocks 42 and 43;
    • the verbatim law;
    • seven required outputs;
    • companion tests A–I from § 5.6.A, POMS L.2, § 5.2.B.3 and 416.2020(c), mapped to PE cases;
    • the interpretations that change a result;
    • a source-conflicts comment covering four conflicts: Category D without SSI, § 40-6-27(a)(2) against § 5.1.1.B, the Category E couple rate, and the $300 (a)(1)(vii) category.
  • Matches the head, except for the three items in Suggestion 1.

CI status

27 pass, 0 pending, 0 failed (run 38814998603 on head 5279c1bb6c, pull_request, 2026-10-15 22:08 UTC to 2026-10-16 00:23 UTC).

  • Passed:
    • PR validation, and Package and compatibility;
    • Quick Feedback;
    • Household API Partners;
    • Microsimulation and both Rest (Python) jobs;
    • all 11 Baseline shards and all 9 Contrib shards.

Branch status

Verdict: APPROVE

@DTrim99 DTrim99 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.

Approving round 2; details in the report above. Both round-1 should items are fixed: rulespec-us#1785 is queued and ready for the encoder, and the descriptions follow the house template. The new certified-residential-care input, the state-only Category D path and Cases 16–22 all check out. The NH-sibling bug doesn't occur here (an RI + MA probe runs clean). There's no wage-count gap either: the state-only count adopts SSI methodology under 210-RICR-40-00-3, so ssi_countable_income is right. CI is 27/27 green. Branch note: 56 behind main and conflicting in all five shared lists; keep both lines when rebasing. One optional suggestion is to update the counts and citation in #1785.

@hua7450
hua7450 marked this pull request as draft October 20, 2026 16:55
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hua7450
hua7450 marked this pull request as ready for review October 20, 2026 18:04
@hua7450
hua7450 merged commit e180056 into main Oct 20, 2026
7 checks passed
@hua7450
hua7450 deleted the ri-ssp-2026 branch October 20, 2026 18:10
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.

2 participants