Skip to content

Fix CA CalWORKs per-person applicant earned income disregard#7861

Open
hua7450 wants to merge 3 commits intoPolicyEngine:mainfrom
hua7450:fix-ca-calworks-per-person-applicant-disregard
Open

Fix CA CalWORKs per-person applicant earned income disregard#7861
hua7450 wants to merge 3 commits intoPolicyEngine:mainfrom
hua7450:fix-ca-calworks-per-person-applicant-disregard

Conversation

@hua7450
Copy link
Collaborator

@hua7450 hua7450 commented Mar 25, 2026

Note: 9 of 17 files changed are minor reference URL and typo fixes. The core logic change is in the income variables and tests.

Summary

Fixes #770, Fixes #5488

Per WIC 11450.12, the applicant earned income disregard ($450/month) must be applied "for each employed person", not as a single flat amount per assistance unit. A two-earner household should receive $900/month in disregards, not $450.

Regulatory Authority

  • WIC § 11450.12(a)(1): "exclusive of the first four hundred fifty dollars ($450) of earned income for each employed person"
  • ACL 21-130 (p.3): Worked example showing "$450 Earned Income Disregard Per Working Person ($450 x 2)" for two-earner household

Changes

Per-person applicant disregard (main fix)

  • New: ca_tanf_earned_income_person — Person-level gross earned income using CA income source list
  • New: ca_tanf_earned_income_after_disregard_person — Applies $450/person flat disregard at person level
  • Updated: ca_tanf_countable_income_applicant — Sums person-level post-disregard earned income via add()
  • Updated: ca_tanf_earned_income — Now derives from ca_tanf_earned_income_person (single source of truth)

Broken reference links (#5488)

  • Removed broken San Diego County URL (hhsaprogramguides.sandiegocounty.gov) from 6 parameter files and 1 variable
  • Replaced with CDSS ACL 24-55 official source

Minor fixes

  • Fixed typo financial_eligibilefinancial_eligible in ca_tanf_eligible.py
  • Fixed typo exlusionexclusion in ca_tanf_countable_income_recipient.py

Recipient disregard — verified correct (no changes)

The recipient $600 flat exclusion (WIC § 11451.5) is per-AU, not per-person — confirmed by ACL 21-130 (p.4) and the NA 200 budget worksheet which has a single disregard line. The existing code correctly implements the shared pool logic (DBI first → carry remainder to earned → 50% of remaining earned).

Test plan

  • 5 unit tests for ca_tanf_earned_income_after_disregard_person
  • 10 unit tests for ca_tanf_countable_income_applicant (including multi-earner Cases 8-10)
  • New integration Case 6: two-earner family of 4 exercising per-person disregard end-to-end
  • All 169 existing CA TANF cash tests pass (no regressions)

🤖 Generated with Claude Code

Per WIC 11450.12, the applicant $450 disregard must be applied "for each
employed person," not as a single flat amount per AU. This creates
person-level earned income variables and updates the applicant countable
income formula to sum post-disregard amounts across members.

Also fixes broken San Diego County reference links (PolicyEngine#5488) and a typo
in ca_tanf_eligible (financial_eligibile -> financial_eligible).

Closes PolicyEngine#770, Closes PolicyEngine#5488

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@codecov
Copy link

codecov bot commented Mar 25, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (4418878) to head (5bf4e37).
⚠️ Report is 53 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #7861   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            1         7    +6     
  Lines           21       100   +79     
=========================================
+ Hits            21       100   +79     
Flag Coverage Δ
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hua7450 hua7450 requested a review from PavelMakarchuk March 25, 2026 17:25
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.

Update CalWORKs payment standard source document Limit California TANF general disregard to disability+earnings

2 participants