Add WA SFA, WA RCA, and federal 5-year bar; fix WA TANF countable-income test#8151
Open
hua7450 wants to merge 9 commits intoPolicyEngine:mainfrom
Open
Add WA SFA, WA RCA, and federal 5-year bar; fix WA TANF countable-income test#8151hua7450 wants to merge 9 commits intoPolicyEngine:mainfrom
hua7450 wants to merge 9 commits intoPolicyEngine:mainfrom
Conversation
…ome test Implements Washington State Family Assistance (SFA) and Refugee Cash Assistance (RCA), with shared parameters reused from WA TANF per WAC 388-478-0020 and 388-478-0035. Adds a federal 5-year bar check on TANF eligibility (8 USC 1613) with a new years_since_us_entry person-level input (default 5 years) and a bar_exempt_immigration_statuses parameter list. Fixes wa_tanf_income_eligible to also enforce the WAC 388-450-0162 countable-income-below-payment-standard test, which was previously missing and allowed households with high unearned income to pass eligibility. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8151 +/- ##
===========================================
+ Coverage 85.36% 96.79% +11.42%
===========================================
Files 3 13 +10
Lines 41 187 +146
Branches 2 2
===========================================
+ Hits 35 181 +146
Misses 6 6
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Adds an SPMUnit-level boolean input that lets API consumers display all three WA cash assistance programs' benefit amounts for the same household. The override bypasses the immigration gate on TANF, SFA, and RCA; demographic, income, and resource tests still apply. Also adds a cross-program integration test covering the mutually- exclusive immigration gates and the override behavior. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a YAML comment explaining that PAROLED_ONE_YEAR is included as RCA-eligible to cover Afghan and Ukrainian humanitarian parolees, at the cost of over-granting RCA to the smaller population of non- humanitarian parolees. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Critical fixes per review: - Remove CONDITIONAL_ENTRANT from federal TANF bar-exempt list. 8 USC 1613(b)(1) does not exempt conditional entrants; they are qualified aliens subject to the 5-year bar. - Correct WAC citation on wa_tanf_immigration_status_eligible from 388-424-0020 (SNAP) to 388-424-0006 and 388-424-0010. - Prevent mixed-status SFA+TANF double-pay. SFA eligibility now excludes households with any TANF-immigration-eligible member at the SPM-unit level, matching WAC 388-400-0010's intent that SFA is for families federally ineligible for TANF. Also applies the previously queued Option A fix to wa_rca_eligible: enforce the 12-month ORR window via years_since_us_entry and disqualify RCA applicants who are eligible for TANF or SFA per 45 CFR 400.47 and WAC 388-400-0030(2)(a). Override bypasses both new gates so API consumers can still display all three programs. Test updates: - wa_tanf_immigration_status_eligible: add DEPORTATION_WITHHELD and CONDITIONAL_ENTRANT cases (in-bar and past-bar). - wa_rca_eligible: reframe cases around the 12-month window, add past-window and default-year cases. - integration.yaml: flip Case 3 (refugee family) to TANF-only; add Case 8 (refugee past window), Case 10 (mixed-status household), Case 11 (override with refugee still fires all three). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds inline comments per the program review: - wa_show_all_cash_assistance_programs: explain consumer-facing use - years_since_us_entry: note the default preserves prior behavior - wa_sfa_immigration_status_eligible: list the unmodeled WAC 388-400-0010 SFA pathways (T/U visa, nonqualified-alien residency, student cases) - wa_rca_eligible: note the unmodeled WAC 388-400-0030(2)(b)/(c) exclusions (TANF-sanction history, full-time students) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Case 2 previously duplicated Case 1's inputs and output. Retarget it to cover the PAROLED_ONE_YEAR pathway for Afghan/Ukrainian humanitarian parolees, which is the main non-refugee RCA population. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Add PAROLED_ONE_YEAR to the federal TANF five-year-bar-exempt list so Afghan (P.L. 117-43) and Ukrainian (P.L. 117-128) humanitarian parolee families with children receive TANF rather than SFA/RCA. Cross-reference the existing approximation comment on the WA RCA eligible-status list. - Update WA SFA Case 4 (PAROLED_ONE_YEAR) and WA TANF Case 14 to reflect the bar-exempt routing. - Set immigration_status explicitly on dependent children in WA DSHS integration Cases 2, 3, 9, 11 so the test inputs match each case name (children otherwise default to CITIZEN, which routed mixed-status cases through the citizen-child pathway instead of the parent's status). - Add WA DSHS integration Case 12 covering an Afghan/Ukrainian humanitarian parolee family with a child receiving TANF only. - Drop the redundant default_value = False on wa_show_all_cash_assistance_programs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ping - Add wa_sfa_student_pathway_eligible covering WAC 388-400-0010(2)(c). Caretaker relatives per (2)(d) are picked up automatically through SPM-unit aggregation. Uses a single bracket-style age parameter (age_eligible.yaml) covering ages 19 and 20. - Wire the student pathway alongside the qualified-alien-in-bar pathway in wa_sfa_eligible, with TANF mutex via ~wa_tanf_eligible so families with an under-18 child still route to TANF. - Update wa_sfa_immigration_status_eligible docstring to mark the student and caretaker pathways as modeled. - Tests: 6 cases on the new variable + 7 new SFA eligibility cases (19/20 student, vocational, age boundaries, caretaker, TANF mutex, LPR-in-bar parent + citizen student). New integration Case 13 covers single-mom-plus-19-year-old-senior end-to-end. - Consolidate the 6 changelog fragments into a single .added.md per one-fragment-per-PR convention. - Revert programs.yaml additions so SFA and RCA registry entries can be added later with an accurate partial/complete status. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Both PAROLED_ONE_YEAR additions were dated to 1996-08-22 alongside the original PRWORA-era statuses, which retroactively grants Afghan/ Ukrainian-style bar-exemption and RCA eligibility to humanitarian parolees in pre-2021 historical-year simulations. - bar_exempt_immigration_statuses: split into two value entries; only the 2021-09-30 entry includes PAROLED_ONE_YEAR, matching enactment of P.L. 117-43 § 2502 (Continuing Appropriations Act, 2022). - eligible_immigration_statuses (WA RCA): same split, kept consistent with the federal bar-exempt list as the cross-reference comment promises. - Add 8 USC 1641(b)(8) and P.L. 117-43 § 2502 to the bar-exempt YAML reference block; the comment already named them but the structured reference list cited only 1613(b)(1), which does not actually enumerate parolees. - Update both comments to lead with the 2021-09-30 start date and cite P.L. 117-128 / P.L. 118-42 § 209(f) for the Ukrainian extension. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements two new Washington State cash assistance programs alongside fixes to the existing WA TANF implementation:
years_since_us_entryperson-level input, federal parameters for the bar duration and statutory exemptions, and awa_tanf_immigration_status_eligiblevariable applying the bar to Washington TANF.PAROLED_ONE_YEARis treated as TANF-bar-exempt to cover Afghan (P.L. 117-43) and Ukrainian (P.L. 117-128) humanitarian parolees, who are statutorily treated as refugees for federal benefit purposes. The PE enum doesn't distinguish those populations from other INA 212(d)(5) parolees, so this over-grants the bar exemption to a small population of non-humanitarian parolees — disclosed inline.wa_show_all_cash_assistance_programs(SPM-unit bool) bypasses immigration gates and the TANF/SFA/RCA mutex so consumers can display all three programs side-by-side. Demographic, income, and resource tests still apply.wa_tanf_income_eligiblenow also enforces WAC 388-450-0162 (countable income must be strictly below the payment standard). The prior implementation only checked the WAC 388-478-0035 applicant gross-earned-income cap, which let households with high unearned income pass eligibility.Shared parameters
SFA and RCA reuse
wa_tanf_payment_standard,wa_tanf_countable_income,wa_tanf_countable_earned_income, andwa_tanf_resources_eligible— consistent with WAC 388-478-0020 and 388-478-0035, which publish a single table for TANF, SFA, and RCA.Eligibility gates
Not modeled (documented in code)
is_in_secondary_school.Registry updates
spm_unit_benefitssums the two new programs alongside TANF.household_state_benefits.yamlincludes the WA entries under 2023-01-01 and 2024-01-01.programs.yamlis not updated in this PR; SFA/RCA still have documented coverage gaps and would warrantstatus: partialrather thancomplete. Will be added in a follow-up.Regulatory authority
Microsim note
years_since_us_entrydefaults to 5 and has no CPS imputation. With microsim defaults (immigration_status→ CITIZEN,years_since_us_entry→ 5), all eligible households route to TANF; SFA and RCA evaluate to zero. This is intentional — both programs have small caseloads in real life, and the household calculator is where the SFA/RCA logic matters most. A future imputation can drive non-zero microsim counts.Test plan
wa_tanf_immigration_status_eligible(14 cases),wa_sfa_immigration_status_eligible(8),wa_sfa_eligible(15),wa_sfa_student_pathway_eligible(6),wa_rca_immigration_status_eligible(10),wa_rca_eligible(9),wa_sfa(6),wa_rca(6)wa_tanf_eligible.yamlandwa_tanf_income_eligible.yamlpasswa/dshs/integration.yaml) passes — 13 cross-program scenarios including mixed-status, override, RCA window, humanitarian parolee, and student pathwaymake formatclean🤖 Generated with Claude Code