PolicyEngine / PolicyEngine/microcosm

Immigration composition gate anchors on a Pew 2022 unauthorized stock that is not the runtime SSN-card residual (c-27 lane F2)

Open
#864 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
0
Forks
4
Avg merge
1d 3h
Merged PRs (30d)
94

Description

What is wrong

The US stacked-pool immigration composition gate compares the runtime SSN-card NONE residual (the pool's proxy for unauthorized status) against Pew's July 2022 unauthorized-immigrant estimate of 11.0 million, and fails candidate-26 on 18,919,043 / 11,000,000 = 1.72x. The sealed c-27 root-cause lane (run 20260903-073827-c27-root-cause, sol) read the archived Pew page and the runtime construct and found them not comparable [integrity-failed]:

  • the runtime residual is a proxy after documented/EAD classifications; Pew's is a demographic residual with a lawful-population subtraction and an undercount adjustment;
  • the pool includes 45,510 sampled ACS group-quarters people; the archived Pew page states no equivalent group-quarters universe;
  • Pew counts over 3 million temporarily protected people (DACA, TPS, pending asylum, T/U — overlapping components); the runtime excludes DACA from NONE and has no matching categories;
  • the pool construct is 2024; the anchor is July 2022, with no sourced rebase.

So the 1.72x ratio is not a valid acceptance criterion in either direction: it can neither fail nor pass a candidate. The lane proposes no replacement anchor, adjustment, or number — only same construct or comparable after stated adjustments would permit one.

What to do

  1. Re-anchor the gate on a construct the runtime actually measures, or state the adjustments (universe, categories, reference year) that make the Pew stock comparable and receipt them in the gate's evidence.
  2. Until then, the gate's verdict must be recorded as not comparable, not fail; a red verdict on a non-comparable anchor must not gate a release, and a green one must not certify.
  3. Regression: the gate refuses to emit a numeric verdict when the anchor's construct receipt does not match the numerator's construct.

Evidence

Sealed deliverables: _buildo-runtime/out/candidate-27/root-cause/deliverables/ (IMMIGRATION-READING.md, immigration-reconciliation.json, FINAL-REPORT.md §R1, sha256 2f71c43cb68e2a942250b5158195eca7c17e0e1780fd264fec2490811dfa1c60; archived Pew page sha256 1215853ce1a97b944a76176aa19833b496ed7eda601cba6f8f8e059841f53ac1). Related: #857, candidate-26 exclusion.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the sealed deliverables in _buildo-runtime/out/candidate-27/root-cause/deliverables/, especially IMMIGRATION-READING.md, immigration-reconciliation.json, and FINAL-REPORT.md §R1, then trace the immigration composition gate and its candidate-26 exclusion. Done means the gate records non-comparable anchors without a numeric verdict and includes a regression covering construct-receipt mismatch.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, testing-qa
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.