Skip to content

Add Santa Clara County General Assistance Program#8358

Open
hua7450 wants to merge 12 commits into
PolicyEngine:mainfrom
hua7450:santa-clara-ga
Open

Add Santa Clara County General Assistance Program#8358
hua7450 wants to merge 12 commits into
PolicyEngine:mainfrom
hua7450:santa-clara-ga

Conversation

@hua7450
Copy link
Copy Markdown
Collaborator

@hua7450 hua7450 commented May 20, 2026

Summary

Adds Santa Clara County General Assistance (GA), a county-funded cash assistance program for indigent adults without dependent children.

This PR implements:

  • Santa Clara County residency detection via in_scc.
  • GA eligibility for single adults and married couples.
  • Income, property, immigration, SSI, CAPI, CalWORKs, and self-employment eligibility rules.
  • Monthly fill-the-gap benefit calculation: maximum aid payment minus countable income.
  • Need Standards amounts for single adults, married couples, shared housing reductions, Board and Care, and medical institutions.
  • Earned and unearned income treatment, including payroll/tax deductions and SSI-spouse income exclusion.
  • Baseline and integration tests for the SCC GA rules.

Closes #8357

Regulatory Authority

Main Rules Modeled

  • Applicants must be Santa Clara County residents, age 18+, and either citizens or qualifying noncitizens.
  • Personal property must be at or below the SCC GA limit.
  • SSI recipients, CAPI-eligible applicants, active self-employed applicants, and CalWORKs-eligible households are not GA eligible.
  • Married couples living together are aided as one case; unmarried adults are treated separately.
  • Countable income includes earned income after modeled deductions plus listed unearned income sources.
  • The benefit is capped at the applicable maximum aid payment and reduced dollar-for-dollar by countable income.

Need Standards Note

The Need Standards chart includes both percentage shared-housing rules and rounded whole-dollar table values. This PR keeps the percentage formula because the handbook states the operative shared-housing rule as a 15%, 20%, or 25% reduction.

The chart also includes 3-10+ person budget-unit rows. Those rows are not modeled here because the reviewed SCC application rules budget unmarried adults separately and aid only married couples together. I did not find a modeled pathway to a 3+ person GA budget unit in the provided policy PDFs.

Not Modeled

  • 15-day continuous-presence residency requirement.
  • Real-property deemed income.
  • Sponsor deeming.
  • Personal-property exemptions; inputs are treated as already net of exempt property.
  • Nonfinancial GA 204 deductions such as meals, union dues, and work expenses without existing PolicyEngine variables.
  • Public Works, job-search compliance, sanctions, voluntary-termination bars, IAR, Director's Exception, emergency support payments, special needs payments, and lump-sum disqualification.
  • Immigration categories without matching PolicyEngine enum values, such as VAWA battered noncitizens, trafficking victims, and FAS citizens.

Tests

  • policyengine-core test policyengine_us/tests/policy/baseline/gov/local/ca/scc/ -c policyengine_us -v — 107 passed
  • make format — Ruff format unchanged; Ruff check passed
  • CI passes

hua7450 and others added 3 commits May 20, 2026 17:03
Starting implementation of Santa Clara County General Assistance.
Documentation and parallel development will follow.

Refs PolicyEngine#8357
Mirrors Alameda County GA structure with SCC-specific values:
- MAP: $343 single, $460 married (effective 2016-04-01, frozen)
- Personal property limit: $500
- 6 qualified immigration statuses

Adds two deviations from the Alameda mirror:
- Shared-housing tiers (15/20/25% reductions per GA 282)
- Expanded countable income to 17 PE sources (Alameda has 6)

Closes PolicyEngine#8357

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

codecov Bot commented May 20, 2026

Codecov Report

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

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #8358   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            9        13    +4     
  Lines          149       181   +32     
=========================================
+ Hits           149       181   +32     
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 and others added 4 commits May 20, 2026 19:17
- personal_property/limit.yaml: period month -> year (asset stock not flow);
  cleaner template description
- age_threshold.yaml: add Cal. Family Code § 6500 reference (statutory source
  for age-of-majority "18")
- shared_housing/reduction.yaml: add GA-62 PDF as corroborating reference for
  derived percentage tiers
- Currency unit tests: add absolute_error_margin: 0.1 to base_amount,
  countable_income, countable_income_person

All 77 tests still pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Extends the SCC GA living-arrangement enum with BOARD_AND_CARE ($929/month)
and MEDICAL_INSTITUTION ($11/month) absolute-amount categories per the Need
Standards chart and GA-62. The base-amount formula returns the absolute amount
for these two categories instead of applying the single/married + shared-housing
reduction formula. Renames the enum variable from shared_housing_status to
living_arrangement to reflect the broader scope.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Income eligibility: GA 200 says ineligible only when income "exceeds" MAP, so
  switch strict < to <= at the threshold.
- Base amount: when num_eligible > 2 (an uncommon edge case since GA is for
  single adults or married couples), fall back to the married rate instead of
  silently returning the single rate.
- Register ca_scc_general_assistance in programs.yaml alongside Alameda.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hua7450 hua7450 marked this pull request as ready for review May 26, 2026 22:00
hua7450 and others added 4 commits May 26, 2026 18:00
- Exclude SSI/SSP spouse income (Responsible Relatives, Ch. 2):
  countable_income_person now zeros out for SSI recipients, matching the
  rule that an SSI-receiving spouse's income shall not be considered.
- Auto-derive institutional living arrangements (Ch. 14 chart rows):
  living_arrangement now derives MEDICAL_INSTITUTION from
  ssi_federal_living_arrangement and BOARD_AND_CARE from
  is_in_residential_care_facility. Shared housing tiers remain user input.
- Add DEPORTATION_WITHHELD as a qualified immigration status (GA 141):
  noncitizens "entitled to remain indefinitely" include withholding of
  removal recipients, which were previously missing.
- Add integration tests for the boundary case, undocumented-spouse income
  inclusion, SSI-spouse income exclusion, and RCF auto-derivation.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Per Santa Clara County GA 204, involuntary payroll deductions (federal/
state income tax, FICA, CA SDI) are exempt from countable income. Split
the countable income source list into earned and unearned, apply
person-level deductions (SS, Medicare, SDI) and tax-unit-level federal/
state income tax projected to each spouse by their share of tax-unit
earned income.

Remove strike_benefits from countable sources per handbook (strikers are
considered fully employed and ineligible for GA). Document the
PAROLED_ONE_YEAR inclusion in the immigration formula given the
handbook's "specific-period parolee" exclusion.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- New ca_scc_general_assistance_eligible (SPMUnit, MONTH): uses
  ~ca_tanf_eligible as the CalWORKs referral gate, covering minor
  children and pregnant adults via demographic TANF eligibility.
  Households whose CalWORKs application would be denied (income,
  resources, vehicle, immigration) can fall back to GA.
- ca_scc_general_assistance_eligible_person: add ~ca_capi_eligible
  to exclude aged/blind/disabled noncitizens steered to CAPI.
- ca_scc_general_assistance: defined_for now chains to
  ca_scc_general_assistance_eligible (income + categorical + state).
- ca_scc_general_assistance_living_arrangement: drop auto-derivation
  formula; treat as pure input per API partner contract.
- Tests: new eligible.yaml (6 cases), new in_scc.yaml, integration.yaml
  extended with realistic 2026-01 family combinations.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hua7450 hua7450 requested a review from PavelMakarchuk May 27, 2026 04:05
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.

Implement Santa Clara County General Assistance

1 participant