Skip to content

Harden long-run 2100 donor-composite calibration#953

Merged
MaxGhenis merged 14 commits into
mainfrom
codex/crfb-long-run-main
May 12, 2026
Merged

Harden long-run 2100 donor-composite calibration#953
MaxGhenis merged 14 commits into
mainfrom
codex/crfb-long-run-main

Conversation

@MaxGhenis
Copy link
Copy Markdown
Contributor

@MaxGhenis MaxGhenis commented May 12, 2026

Summary

  • harden donor-composite long-term support so the 2100 ss-payroll-tob calibration can validate with nonnegative weights
  • add worker/all-clone non-target income sanitizer modes and metadata stamping
  • preserve realized Social Security/payroll values in target-year blueprint calibration while keeping clone age/prior support
  • add resumability for per-year parallel projection temp outputs
  • plumb sanitizer options through run_long_term_production.py and the manual long-run workflow

Verification

  • env -u UV_FROZEN uv run ruff check policyengine_us_data/datasets/cps/long_term/run_household_projection.py policyengine_us_data/datasets/cps/long_term/run_household_projection_parallel.py policyengine_us_data/datasets/cps/long_term/prototype_synthetic_2100_support.py policyengine_us_data/datasets/cps/long_term/support_augmentation.py policyengine_us_data/datasets/cps/long_term/calibration_artifacts.py policyengine_us_data/datasets/cps/long_term/projection_utils.py policyengine_us_data/datasets/cps/long_term/run_long_term_production.py modal_app/long_term_publishable_probe.py tests/unit/test_long_term_calibration_contract.py
  • env -u UV_FROZEN uv run ruff format --check .
  • env -u UV_FROZEN uv run pytest tests/unit/test_long_term_calibration_contract.py -q (66 passed)
  • production wrapper command plumbing test: included in the unit suite
  • workflow YAML parsed with PyYAML and verified sanitizer inputs
  • direct 2100 local H5 build:
    env -u UV_FROZEN uv run python policyengine_us_data/datasets/cps/long_term/run_household_projection.py 2100 2100 --profile ss-payroll-tob --target-source trustees_2025_current_law --support-augmentation-profile donor-backed-composite-v1 --support-augmentation-target-year 2100 --support-augmentation-blueprint-base-weight-scale 5.0 --support-augmentation-sanitize-clone-non-target-income --output-dir tmp/verify_2100 --save-h5
  • production-wrapper 2100 local H5 build:
    env -u UV_FROZEN uv run python policyengine_us_data/datasets/cps/long_term/run_long_term_production.py --years 2100 --jobs 1 --output-dir tmp/verify_2100_production --profile ss-payroll-tob --target-source trustees_2025_current_law --support-augmentation-profile donor-backed-composite-v1 --support-augmentation-target-year 2100 --support-augmentation-blueprint-base-weight-scale 5.0 --support-augmentation-sanitize-clone-non-target-income

2100 validation result

  • validation passed: true
  • validation issues: []
  • ESS: 368.1988
  • top-10 weight share: 11.2376%
  • top-100 weight share: 38.0720%
  • max constraint pct error: 2.36e-7%
  • positive households: 41,634; negative weight pct: 0.0

@MaxGhenis MaxGhenis merged commit b961501 into main May 12, 2026
12 checks passed
@MaxGhenis MaxGhenis deleted the codex/crfb-long-run-main branch May 12, 2026 02:56
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