Skip to content

Build the processed CPS ASEC inputs in Microcosm - #1204

Draft
MaxGhenis wants to merge 3 commits into
mainfrom
us-asec-census-cps-builder
Draft

MaxGhenis wants to merge 3 commits into
mainfrom
us-asec-census-cps-builder

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

WIP. The full body, with invariants and receipts, comes when the receipts are regenerated on this head.

Ports the processed CPS ASEC builder into Microcosm, so future ASEC years no longer depend on the archived US data package (relates to #204).

  • us_runtime.asec_processed_source (library) and tools/build_us_asec_processed_source.py (CLI). They read a pinned Census archive, verified against education_assistance_source.ASEC_EDUCATION_ASSISTANCE_ARCHIVES, and write census_cps_YYYY.h5 with the archived loader's five tables (semantics of 40314a75 + 9f177ddd).
  • Tax units come from microunit.construct_tax_units (policyengine mode). The builder refuses the three record structures that make the construction drop a person or crash.
  • compare_asec_processed_stores compares two stores as pandas frames and column by column in HDF5 storage.

Plan:

  1. Regenerate the real-data receipts on this head (2024 and 2025 must equal the pinned files; 2022 and 2023 characterized).
  2. Trim the golden fixture.
  3. Independent review.
  4. Merge when green.

🤖 Generated with Claude Code

MaxGhenis and others added 3 commits October 11, 2026 11:03
Library us_runtime.asec_processed_source and tools/build_us_asec_processed_source.py
rebuild census_cps_YYYY.h5 from a pinned Census archive with the archived
loader's semantics (40314a75 + 9f177ddd). Tests, differential scripts and docs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ilder

# Conflicts:
#	docs/us-asec-source-pins.md
…ly cases in the golden fixture

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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