Two state programs built for undocumented residents mark the person eligible and then pay nothing, because the benchmark premium they depend on is zero for anyone the federal premium tax credit excludes.
slcsp adds slcsp_age_curve_amount_person and slcsp_family_tier_amount, and slcsp_age_curve_amount_person is defined_for = "pays_aca_premium". pays_aca_premium requires is_aca_ptc_immigration_status_eligible, which is false for an undocumented person. So their slcsp is 0, and:
co_omnisalud is adds = ["slcsp"], so it is 0.
wa_cascade_care_savings caps the household amount at slcsp - aca_ptc, so Group 3 (undocumented residents, #9513) is capped at 0.
Reproduction
main at 25380ed, single adult aged 40, tax year 2026. Only immigration_status changes between rows.
| State |
Earnings |
Status |
Eligible |
slcsp |
Member amount |
Benefit |
| CO |
10,000 |
UNDOCUMENTED |
co_omnisalud_tax_unit_eligible true |
0 |
|
co_omnisalud 0 |
| WA |
32,000 |
UNDOCUMENTED |
wa_cascade_care_savings_eligible true |
0 |
3,000 |
wa_cascade_care_savings 0 |
| WA |
32,000 |
CITIZEN |
true |
7,176.90 |
660 |
660 |
The Washington Group 3 tests pass because they supply slcsp as an input.
Possible fix
Give the benchmark premium a gate that does not depend on federal credit eligibility (age curve, rating area and the no-other-coverage test), and let pays_aca_premium keep the federal status test for the federal credit. Then add one case per program that computes slcsp instead of supplying it.
This interacts with #9506, which adds an income floor to the same gate.
Found while reviewing #9513 and #9506.
Two state programs built for undocumented residents mark the person eligible and then pay nothing, because the benchmark premium they depend on is zero for anyone the federal premium tax credit excludes.
slcspaddsslcsp_age_curve_amount_personandslcsp_family_tier_amount, andslcsp_age_curve_amount_personisdefined_for = "pays_aca_premium".pays_aca_premiumrequiresis_aca_ptc_immigration_status_eligible, which is false for an undocumented person. So theirslcspis 0, and:co_omnisaludisadds = ["slcsp"], so it is 0.wa_cascade_care_savingscaps the household amount atslcsp - aca_ptc, so Group 3 (undocumented residents, #9513) is capped at 0.Reproduction
main at 25380ed, single adult aged 40, tax year 2026. Only
immigration_statuschanges between rows.slcspco_omnisalud_tax_unit_eligibletrueco_omnisalud0wa_cascade_care_savings_eligibletruewa_cascade_care_savings0The Washington Group 3 tests pass because they supply
slcspas an input.Possible fix
Give the benchmark premium a gate that does not depend on federal credit eligibility (age curve, rating area and the no-other-coverage test), and let
pays_aca_premiumkeep the federal status test for the federal credit. Then add one case per program that computesslcspinstead of supplying it.This interacts with #9506, which adds an income floor to the same gate.
Found while reviewing #9513 and #9506.