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)
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
NONEand 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
- 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.
- Until then, the gate's verdict must be recorded as
not comparable, notfail; a red verdict on a non-comparable anchor must not gate a release, and a green one must not certify. - 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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