Add Contra Costa County General Assistance#8593
Open
hua7450 wants to merge 6 commits into
Open
Conversation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add the county-administered General Assistance (GA) cash-relief program (CA Welfare & Institutions Code section 17000 et seq.): - Fill-the-gap benefit: max_(grant standard - max_(countable income, 0), 0), with the inner floor guarding against negative-income inflation. - Grant standards: single $336/month (stable since 2011 per WCLP), couple $454/month (current EHSD). - Eligibility: age >= 18; $500 personal-property limit; qualified immigration status; no dependent children (families -> CalWORKs); not receiving SSI/SSDI/UIB/SDI; Contra Costa County residence. - Register the program in programs.yaml. - 46 unit/integration tests, all passing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8593 +/- ##
============================================
+ Coverage 77.77% 100.00% +22.22%
============================================
Files 1 11 +10
Lines 9 135 +126
============================================
+ Hits 7 135 +128
+ Misses 2 0 -2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
- Date couple grant ($454) at 2011-01-01 to match the stable single rate; document the frozen-standards rationale (single $336 unchanged since 2011). - Drop PAROLED_ONE_YEAR from qualified immigration statuses (time-limited parole conflicts with EHSD's 'no limitation on stay'); aligns with Santa Clara (PolicyEngine#8358) and San Mateo (PolicyEngine#8360) County GA. Add comment + test. - Re-anchor personal-property limit, fill-the-gap, and no-children references from the GA-80 brochure (which lacks those figures) to the EHSD program page. - Note only SSDI bars eligibility; OASDI retirement/survivors count as income. - Add tests: income=0 -> full $336, income==$336 -> ineligible/$0, three eligible adults -> single $336, personal property summed across members. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…into ca-contra-costa-ga
- Rename ca_cc_general_assistance_base_amount -> _maximum_grant (it is the full grant standard, not a base that gets supplemented). - Split eligibility: ca_cc_general_assistance_income_eligible is now purely the income test (income < maximum_grant); a new composite ca_cc_general_assistance_eligible ANDs has-eligible-person, no-dependent-children, and income eligibility. The benefit now gates on the composite. - Model 'dependent children' as is_child & is_tax_unit_dependent (explicit; equivalent to minor children in the current model). - Add an endogenous SSI integration test: an aged adult who qualifies for SSI (computed, not input) is excluded from GA. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Document that 3+ eligible adults in one SPM unit is not a real GA configuration (each adult or couple is a separate case); the fall-through to the single grant standard is a defensive default. Clarify the comment in ca_cc_general_assistance_maximum_grant and the corresponding test. Co-Authored-By: Claude Opus 4.8 (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 Contra Costa County, California's General Assistance (GA) program — a county-administered indigent cash-assistance program under California Welfare & Institutions Code § 17000 et seq. GA pays the gap between a grant standard and the recipient's net countable income to adults without dependent children who are ineligible for other cash aid.
Administered by the Contra Costa County Employment and Human Services Department (EHSD). Files live under
gov/local/ca/cc/, parallel to the existing Alameda County GA implementation atgov/local/ca/ala/ga/.Closes #8592
Regulatory authority
Benefit
Fill-the-gap:
max_(grant standard - max_(countable income, 0), 0), where the grant standard isca_cc_general_assistance_maximum_grant. The innermax_(income, 0)floors countable income at zero so net-negative flows (e.g. self-employment losses) cannot inflate the grant above the standard.Eligibility
The benefit gates on
ca_cc_general_assistance_eligible(SPM unit), which ANDs three checks:ca_cc_general_assistance_eligible_person(per person: age ≥ 18, personal property ≤ $500, qualified immigration status, head/spouse, not receiving SSI/SSDI/UIB/SDI)is_child & is_tax_unit_dependentsummed to the SPM unit == 0 (families → CalWORKs)ca_cc_general_assistance_income_eligible:income < maximum_grant("earnings less than the maximum allowable grant")in_cc(county_str == CONTRA_COSTA_COUNTY_CA)Per-person checks (age ≥ 18; personal property ≤ $500; qualified immigration status — CITIZEN, REFUGEE, ASYLEE, CUBAN_HAITIAN_ENTRANT, LEGAL_PERMANENT_RESIDENT; not receiving SSI/SSDI/UIB/SDI via
ssi,social_security_disability,unemployment_compensation,ca_state_disability_insurance) live inca_cc_general_assistance_eligible_person.Updates from review
This branch incorporates
/review-programfindings plus follow-up refactors:ca_cc_general_assistance_income_eligibleis now purely the income test (income < maximum_grant); a new compositeca_cc_general_assistance_eligibleANDs has-eligible-person, no-dependent-children, and income eligibility, and the benefit gates on it (mirrors the San Mateo Add San Mateo County General Assistance #8360 structure). The no-children rule no longer lives inside the income variable.ca_cc_general_assistance_base_amount→ca_cc_general_assistance_maximum_grant— it is the full grant standard, not a base that gets supplemented.is_child & is_tax_unit_dependent(explicit; equal to the minor-child count in the current model, since only adults can head/spouse a tax unit).PAROLED_ONE_YEAR— time-limited parole conflicts with EHSD's "no limitation on your stay" criterion; aligns with Santa Clara (Add Santa Clara County General Assistance Program #8358) and San Mateo (Add San Mateo County General Assistance #8360) County GA.<), three eligible adults→single $336, personal property summed across members, composite-eligibility cases, and an endogenous SSI integration test (an aged adult whose SSI the model computes — not forced as input — is excluded from GA). Test count 46 → 56.Verification notes / known simplifications
DEPORTATION_WITHHELD/CONDITIONAL_ENTRANT(used by Add Santa Clara County General Assistance Program #8358 / Add San Mateo County General Assistance #8360) are not added here because the EHSD page does not enumerate them for Contra Costa.ssi > 0). Unlike San Mateo (Add San Mateo County General Assistance #8360), CC does not additionally exclude CAPI-eligible applicants (the aged/blind/disabled-LPR SSI off-ramp); the "apply for potential income" rule is therefore only partially modeled.personal_propertyis treated as the net countable-asset figure.Not modeled (by design)
Files
Reference implementation
policyengine_us/variables/gov/local/ca/ala/ga/Test plan
policyengine-core test policyengine_us/tests/policy/baseline/gov/local/ca/cc/)make formatclean (ruff format + check)🤖 Generated with Claude Code