Skip to content

Prepare age-15 ASEC hours donors and ACS recipients - #926

Draft
MaxGhenis wants to merge 1 commit into
mainfrom
acs-hours-donor-preparation
Draft

MaxGhenis wants to merge 1 commit into
mainfrom
acs-hours-donor-preparation

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Prepare age-15 ASEC hours donors and ACS recipients from numeric parent projections and the accepted full ACS recovery sidecar from #924. The helper verifies identities, complete ACS exclusion, household membership, clone consistency and raw source domains, then selects baseline ASEC donors under an explicit pooled-2022–2024 or 2024-only policy. It preserves raw ACS hours, earnings NaNs and ASEC NIU codes in numeric sidecars with aggregate provenance receipts.

The ASEC role follows the documented published Build P lineage assumption; this is not a fresh raw-ASEC join. The tool imports only NumPy and the standard library. It performs no imputation, weighting, H5 modification or country-model calculation. Numeric projection provenance belongs to the upstream extractor, with exact input/receipt/output digests checked here. The model features and donor-year transport choice remain separate decisions.

Validation: all 26 invented fixture tests pass, including source/year collisions, PUF and ACS exclusion, age selection, incomplete recovery, malformed identities/membership, raw NIU and earnings preservation, hours-domain errors, digest mismatch and overwrite refusal. Ruff and staged CI test-group verification pass; an independent source review found no actionable issue. This PR contains source, tests, documentation and one changelog fragment only; no population payloads or runtime artifacts are included.

The unchanged helper also completed an actual preparation run over the exact dense-parent numeric projections in 7.231 seconds, with peak RSS 1,533,362,176 bytes. With the explicit pooled-years preparation policy, it selected 1,216 age-15 donors (425 from 2022, 392 from 2023, 399 from 2024) and 39,800 age-15 ACS recipients. This is preparation evidence only: no hours were imputed, and a final donor-year/model policy has not been selected. Independent output validation follows separately.

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