Repository navigation
Correct the #982 receipts: real pool at frame weight vs PUF-clone half ×2 - #1037
Merged
Merged
Conversation
The #982 receipts weighted the PUF-clone half x2 ("as if this half were the whole population") and compared that with SOI Table 1.1. In the real pool the survey half (clone index 0) carries the other 50% of the weight and has no units at $5M+ proxy AGI, so before calibration and main's capital-gains tail stage the pool reaches about half of SOI at $5M+ after #1033, not SOI. - Add actual_pool_bands.py (lint-clean restyle of the recovered script; it imports the SOI bands and income items from score_variants.py, and gives byte-identical JSON and stdout to the original on synthetic frames) and its recorded output results/actual_pool_bands.json. - README: new "Real pool at frame weight" section; label the existing tables "PUF-clone half ×2 (distribution check, not a level comparison)"; correct the Colorado limit (2.1x SOI with one record at 81%, not ~4x at 84%; the record's frame weight is 434, and 867 was its x2 weight). - changelog.d fragment (fixed). Refs #982, #940, #1033. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review follow-up (independent Opus review of #1037 approved; one minor and two nits taken): the 0.59-0.84x range held for returns only, so the README now gives AGI too (0.52-0.83x); "roughly quadruples" becomes "nearly quadruples (3.9x)"; the wage totals in the prose are marked x2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Colorado limit said state top-tail totals stay noisy until the #940 state x AGI-band targets enter calibration; #1102 added them on 2026-10-11. The scope sentence now names #1251 and #1259, which also postdate this fit. Smaller wording fixes from the same review: the script writes into its input directory, the four absent items are columns of the 15-item list, the $1.5M-5M ranges span the two designs, and two passives become active. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
I merged this at 094aaa9 after CI passed on that commit and an independent AI code review agreed with it. |
DTrim99
added a commit
that referenced
this pull request
Nov 9, 2026
Main brings #1037, #1109, #1416, #1417 and #1405. No conflicts; none of the 47 files overlaps this branch. repin_us_spec_engine_contracts --check, generate_us_bundle_from_constants --check (spec_sha256 23366c65), spec_engine_coverage --check (42451/42451 fields, 41/41 checks) and repin_us_pool_engine_contracts --check are clean; the release input coverage manifest and the H3 parity fixture regenerate unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Corrects
experiments/982-puf-self-prediction/README.mdon main. Refs #982, #940, #1033.Problem
The README's "Returns by size of proxy AGI" table and its Colorado figures weight the PUF-clone half ×2 ("as if this half were the whole population",
score_variants.py) and compare that with SOI Table 1.1. In the real pool, the survey half (clone index 0) carries the other 50% of the weight and has no units at $5M+ proxy AGI. So the real pool before calibration, and before main's capital-gains tail stage, is about half of SOI at $5M+ after #1033, not at SOI. Corrections are already posted on #982, #940 and #1033.Change
actual_pool_bands.py(new). This is the recovered lane script (~/PolicyEngine/_recovered/lane958-958-964-982-archive-20260926/982/), restyled to pass ruff: functions, a docstring, and imports ofSOI_TABLE_1_1,INCOMEandCOLORADO_SOI_INCOME_ABOVE_1M_BNfrom the siblingscore_variants.py, so the two scorers share one set of bands. The computation is unchanged. I ran the original and the restyled script in three runs of a synthetic harness, each with a different synthetic clone frame (checkpoint loading stubbed). Both gave byte-identical JSON and stdout; no microdata was loaded.results/actual_pool_bands.json(new). A byte-identical copy of the recorded output.Compared with the table posted in the corrections, this one adds ratios for the old design and the $10M+ AGI row. It also puts each Colorado largest-record share in its own design's cell and labels Colorado's $31.7B reference as SOI Historic Table 2, following
score_variants.py, because it does not come from Table 1.1.Review
An independent Opus 5.5 review (in-session, read-only) approved. It recomputed every figure, compared the two scripts line by line, reran the synthetic harness, and checked the mechanism claims against
puf_support.py,support_provenance.pyandpuf_capital_gains_tail.py. Its one minor finding and two nits are addressed in the second commit: the $1.5M–5M range now covers AGI as well as returns, "roughly quadruples" is now "nearly quadruples (3.9×)", and the ×2 wage totals in the prose are marked. Subfleet lanes had no capacity at either tier, so the review ran in-session.A second independent review (Opus 5.5, at a35cb06, in a fresh context) recomputed the README's figures from the recorded JSON and found them correct. It asked for two fixes: the Colorado limit said #940's targets had yet to enter calibration, though #1102 added them on 2026-10-11, and the scope sentence omitted #1251 and #1259. 094aaa9 makes both and applies the review's four wording notes.
Verification
results/actual_pool_bands.jsonandresults/scores_8_trees.json: 35 of 35 checks pass. It confirmed:PUF_TAX_DETAIL_CLONE_INDEXare inus_runtime/puf_support.pyandsupport_provenance.py. The 50/50 share is also observed inclone0_weight_share.compare_predictors.pyfits the QRF only and never runs the tail stage.ruff checkandruff format --checkpass onexperiments/982-puf-self-prediction/with the locked ruff 0.15.16.Limitation, disclosed in the README: the survey half's proxy AGI sums 11 of the 15 items, because the 15-item list's estate, farm, partnership and S-corporation columns are not on its person table.
axiom: n/a: documentation and experiment receipts only; no policy change.
🤖 Generated with Claude Code