Skip to content

Impute US humanitarian immigration statuses to cited stocks (H.R.1 channels) - #779

Draft
MaxGhenis wants to merge 9 commits into
mainfrom
us-humanitarian-immigration-statuses-767
Draft

Impute US humanitarian immigration statuses to cited stocks (H.R.1 channels)#779
MaxGhenis wants to merge 9 commits into
mainfrom
us-humanitarian-immigration-statuses-767

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

Fixes #767.

Implements the design proposed and detailed in the issue thread: the US immigration_status source stage now draws humanitarian/temporary-protection statuses to externally cited stocks, so the enacted H.R.1 eligibility channels stop computing ≈$0 on the next build.

What changes

Kernel (us_runtime/immigration.py). Between the ASEC-UA legal-status indicators and the EAD worker/student spill, the stage runs thirteen seeded draws — sequential, mutually exclusive, in decreasing order of target precision:

  • PAROLED_ONE_YEAR per program origin: OAW Afghans (73,566), U4U Ukrainians (158,000), CHNV Nicaraguans (93,070) and Venezuelans (117,330);
  • REFUGEE (160k ≈ FY2023+FY2024 OHSS admissions; refugees must apply for LPR adjustment after one year) and ASYLEE (160k ≈ FY2022–24 OHSS grants; 88% of 2015–22 affirmative adult grantees had adjusted by end-2024) from the indicator-documented pool only;
  • TPS per country from the CRS RS20844 table (Venezuela 605,015; El Salvador 170,125 with the 2001 continuous-residence cutoff binding at PEINUSYR granularity; Honduras/Nicaragua/Nepal/other-designated likewise);
  • DEPORTATION_WITHHELD carries an explicit cited zero (EOIR grants ~2.2k/year and publishes no stock — below the CPS's resolution for a defensible draw).

Cuba/Haiti-born are excluded everywhere (the CUBAN_HAITIAN_ENTRANT class is the statutorily favorable label H.R.1 preserves — Haiti TPS rides it), as is the DACA statutory cohort; Ukraine/Afghanistan TPS registrants are carried by the parole draw (same U4U/OAW people). Residual-pool draws (parole/TPS only) flip ssn_card_type NONE → NON_CITIZEN_VALID_EAD, preserving the NONE ⇔ UNDOCUMENTED gate invariant, and the spill controls still bind the remaining residual pool, so the Pew undocumented-worker/student margins land exactly as before.

Manifest & spec. Every target lives in source_stages.json with one citation per number (all URLs verified live, several by exact byte match against the quoted documents); the sources schema gains the required humanitarian_status_stocks block; the bundle regenerates; thirteen _stable_site declarations join the seed protocol with owner-ledger bindings, and the BE/UK envelope digests re-pin because the shared seed-protocol source is attested.

Gates & probes. The composition gate bands each category's emitted mass against its cited target (explicit-zero categories must emit zero) and records achieved-vs-target in details for certification notes. Four release-blocking reform-coverage probes pin the channels end-to-end — restoring the pre-H.R.1 Medicaid list (§71109, 2027), the below-FPL PTC exception (§71302, 2026), the ACA lawful-presence list (§71301, 2027), and the pre-§10108 SNAP list (2026) must each move their budget measure on the export, binding only through immigration_status_str.

Evidence

Running the extended stage on the raw 2024 ASEC (seed 0): REFUGEE 162k (1.02× target, 74% reporting Medicaid), ASYLEE 160k (1.00×), PAROLED_ONE_YEAR 405k (0.92× — the Ukraine pool saturates below its admin count because the ASEC undercovers 2022–24 arrivals; recorded, in-band), TPS 865k (1.01×), undocumented 12.97M (1.18× the Pew anchor, in-band), undocumented workers 8.14M against the 8.3M control. CHIP-age humanitarian mass is present (TPS under-19: 120k weighted).

test_us_hr1_immigration_channels.py proves each probe's channel on synthetic households against the locked engine (medicaid +$10.6k, aca_ptc +$7.7k/+$6.3k, snap +$2.6k per household, all sign-correct from $0 baselines) — the PR-CI early warning for the engine side without restricted microdata.

Deliberately out of scope (filed)

No certified release is touched; the imputation activates in the next build lane, where the smoke gate enforces the four channels permanently.

🤖 Generated with Claude Code

MaxGhenis and others added 9 commits August 25, 2026 15:36
REFUGEE / ASYLEE / PAROLED_ONE_YEAR (per program origin) / TPS (per
country) are now selected between the ASEC-UA indicators and the EAD
spill, each to a manifest-cited target, so the H.R.1 $71109/$71301/
$71302 and SNAP $10108 eligibility channels stop computing $0 on the
release. DEPORTATION_WITHHELD carries an explicit cited zero (no
published stock). Residual-pool parole/TPS draws receive EAD SSN cards,
keeping the NONE-undocumented invariant; the composition gate now bands
each category against its target.

Refs #767

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Thirteen stable blake2b sites (per-origin parole, refugee, asylee,
deportation-withheld, per-country TPS) join the seed protocol; the
seed-owner ledger binds them to the immigration_status stage; the
sources schema gains the required humanitarian_status_stocks block; the
bundle regenerates with the new source_stages attestation.

Refs #767

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…h tests

Refs #767

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Restorations of the pre-H.R.1 Medicaid, SNAP, and ACA lawful-presence
lists and the below-FPL PTC exception must each move their budget
measure on the export; a ~$0 score means the humanitarian statuses
regressed and blocks publication.

Refs #767

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…n digests

test_us_hr1_immigration_channels builds each probe's reform against the
locked engine and shows nonzero, sign-correct movement per channel
(medicaid, aca_ptc twice, snap) so the release smoke gate's probes have
a PR-CI early warning. The thirteen humanitarian draw sites join
EXPECTED_LEGACY_V1_SITES and the audited-source manifest; BE/UK envelope
digests re-pin because the shared seed-protocol source is attested.

Refs #767

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Refs #767

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ration-statuses-767

# Conflicts:
#	packages/microcosm-build/tests/test_spec_engine_country_bundles.py
Main's #743 moved the UK bundle while this branch moves the shared seed
protocol; the merged UK digest combines both, BE carries only the
protocol move.

Refs #767

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… draws

The thirteen humanitarian sites move every closed-world census the
fail-closed machinery keeps: protocol site counts (53 -> 66), the
owner-link sum (112 -> 125, one owner each, distinct owners unchanged),
the configuration field universe (42,120 -> 42,419: +13 legacy-behavior
target fields, +286 attestation-only resolved seed fields), four pointer
claims (source_stages, spine/resolved seed-site bindings, resolved seed
protocol), and the source_stages byte attestation in the bundle tests.

Refs #767

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

US: humanitarian immigration statuses absent from the imputation — H.R.1 §71109/§71302 eligibility channels compute ≈$0

1 participant