Skip to content

Preserve partnership loss support in donor imputation#181

Merged
MaxGhenis merged 1 commit into
mainfrom
codex/partnership-loss-support-20260602
Jun 2, 2026
Merged

Preserve partnership loss support in donor imputation#181
MaxGhenis merged 1 commit into
mainfrom
codex/partnership-loss-support-20260602

Conversation

@MaxGhenis
Copy link
Copy Markdown
Contributor

@MaxGhenis MaxGhenis commented Jun 2, 2026

Summary

  • Add a signed zero-inflated support family for variables with real negative/zero/positive donor support.
  • Classify person- and tax-unit partnership/S-corp income as signed zero-inflated so donor imputation remains support-aware without forcing negative values to zero.
  • Keep true positive-only variables in nonnegative_vars, and keep signed zero-inflated variables in the ZI-QRF zero gate.

Why

Raw PUF has partnership/S-corp loss support, but the Gate-2 candidate H5 had zero negative partnership_s_corp_income rows. eCPS has negative rows and nonzero partnership/S-corp loss targets.

The cause is that Microplex metadata marked partnership/S-corp income as ZERO_INFLATED_POSITIVE, which put it in nonnegative_vars; both donor imputer backends then clamp negative predictions with np.maximum(..., 0).

Validation

  • uv run --python 3.13 --extra dev pytest tests/test_variables.py tests/pipelines/test_us.py -k 'partnership_income_semantics or signed_zero_inflated_donor_vars or zi_qrf_backend'
  • uv run --python 3.13 --extra dev ruff check src/microplex_us/variables.py src/microplex_us/pipelines/us.py tests/test_variables.py tests/pipelines/test_us.py
  • uv run --python 3.13 --extra dev ruff format --check src/microplex_us/variables.py src/microplex_us/pipelines/us.py tests/test_variables.py tests/pipelines/test_us.py

Notes

This does not touch the active rent/childcare PR lane. It removes a support-family mismatch; it does not add any target bucket cap or record-level adjustment.

@MaxGhenis MaxGhenis merged commit 91d9057 into main Jun 2, 2026
5 checks passed
@MaxGhenis MaxGhenis deleted the codex/partnership-loss-support-20260602 branch June 2, 2026 17:20
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