Skip to content

Add CPS-derived income copies: survivor/educational/financial assistance (G7)#125

Merged
MaxGhenis merged 1 commit into
mainfrom
g7-cps-derived
Jun 1, 2026
Merged

Add CPS-derived income copies: survivor/educational/financial assistance (G7)#125
MaxGhenis merged 1 commit into
mainfrom
g7-cps-derived

Conversation

@MaxGhenis
Copy link
Copy Markdown
Contributor

Closes 3 of the 47 missing required export-contract columns.

Three person-level income leaves the Enhanced CPS exports as direct copies of raw ASEC fields, which Microplex produced none of:

  • survivor_benefits <- SRVS_VAL
  • educational_assistance <- ED_VAL
  • financial_assistance <- FIN_VAL

Mirrors eCPS policyengine_us_data/datasets/cps/cps.py:1493-1495 (direct copies). Maps the raw fields in PERSON_VARIABLES so _process_persons renames them onto the pe-us input leaves, and adds the leaves to SAFE_POLICYENGINE_US_EXPORT_VARIABLES. All three confirmed storable INPUTS (no formula) in the pinned policyengine-us — real source-data values, no fakes.

Tests: tests/data_sources/test_cps_derived_income_copies.py (4 tests) exercise the real _process_persons copy + non-degeneracy + allowlist/alias. Full data_sources suite: 13 passed.

🤖 Generated with Claude Code

…nce (G7)

Three person-level income leaves the Enhanced CPS exports as direct copies of
raw ASEC fields, which Microplex produced none of (raw fields unmapped + leaves
not allow-listed, so they never reached the H5):

- survivor_benefits      <- SRVS_VAL
- educational_assistance <- ED_VAL
- financial_assistance   <- FIN_VAL

Mirror eCPS policyengine_us_data/datasets/cps/cps.py:1493-1495 exactly (direct
copies). Map the three raw fields in PERSON_VARIABLES so _process_persons renames
them onto the pe-us input leaves, and add the leaves to
SAFE_POLICYENGINE_US_EXPORT_VARIABLES. All three are confirmed storable INPUTS
(no formula) in the pinned policyengine-us, so this exports real source-data
values, never fakes.

Closes 3 of the 47 missing required export-contract columns.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@MaxGhenis MaxGhenis merged commit ad6c814 into main Jun 1, 2026
5 checks passed
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.

1 participant