Skip to content

Say what #720 changed in the unmarried-partner gap's reason - #1157

Merged
MaxGhenis merged 2 commits into
mainfrom
us-unmarried-partner-gap-wording
Oct 9, 2026
Merged

MaxGhenis merged 2 commits into
mainfrom
us-unmarried-partner-gap-wording

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

What this changes

Wording only, in the reviewed is_unmarried_partner_of_household_head US parity gap (ecps_parity_known_gaps.json) and the release manifest reason regenerated from it (tools/build_us_release_input_coverage_manifest.py).

Two statements described Build J, which predates microcosm #720, as if they were current:

The reason now also states a fact it previously left unsaid. The #720 restore (ASEC_CENSUS_PERSON_COLUMNS) excludes PERRP, PECOHAB and A_FAMREL, although the pinned 2022-2024 Census person files carry all three. The A_EXPRRP note now gives code 13's make-up in those files: PERRP 44 and 47 (unmarried partners without relatives) plus PERRP 55 (housemates or roommates without relatives). PERRP 43 and 46 partners fall in code 12.

Not changed: classification (source_unavailability), issue (#38), gating, and every other evidence field. Whether this exclusion should stay as classified is a methodology call queued for Max (decision d1099, memo in the evidence folder). This PR does not prejudge it.

Relation to #1146

#1146 (spec-symbol-citations-us-uk, open) rewrites this entry's derived_A_EXPRRP and hermetic_build_contract, which on main still cite drifted asec_pool.py line ranges and say the pool reads the H5 tables "without refreshing omitted Census columns". This PR leaves those two fields to #1146. The two branches touch different lines and git merge-tree merges them cleanly at #1146 head 0a841e448. Once both land, the entry is consistent. The new text uses only commit-pinned line citations and dotted microcosm.* names that resolve, so #1146's citation guard accepts it (checked with its line_citations and DOTTED_MICROCOSM_SYMBOL on this branch).

Review

The independent review (Subfleet 20261008-175311-review-1157, Opus) approved head 0d8d0a56a. It recomputed every figure from SHA-verified files and found no factual errors. It raised seven nits.

Commit 7f50ba142 applies five of them:

It also adds the sixth nit's point. A raw-stage checkpoint built before #720 keeps the fallback codes. The US spec's asec_raw_stage pin is one such checkpoint: it has been pinned since 2026-08-17 (f85c248), and #720 landed on 2026-09-23.

Deferred: the PECOHAB sibling note still says "Only the 2024 locked input". That is true of Build J, but the pinned 2025 input also carries PECOHAB. Editing that line conflicts with #1146's rewrite of the adjacent derived_A_EXPRRP line, so it waits until #1146 merges, or until d1099 rewrites the entry.

Disk on the build machine was under 40 GB when the nits went in, so pytest was not re-run for 7f50ba142. The same assertions were checked directly instead:

A delta re-review is running against 7f50ba142.

Evidence (computed 2026-10-08, members checked against their pins)

income year (member) PERRP partners 43/44/46/47 A_EXPRRP == 13 PERRP inside code 13 PERRP 43/46 → code
2022 (pppub23.csv, 19b56537…) 3,889 4,312 44: 2,628 · 47: 184 · 55: 1,500 12
2023 (pppub24.csv, 21a2b9e0…) 3,893 4,387 44: 2,597 · 47: 189 · 55: 1,601 12
2024 (pppub25.csv, 06921fe8…) 3,751 4,257 44: 2,464 · 47: 179 · 55: 1,614 12

Counts are unweighted person records. Census labels come from api.census.gov/data/2024/cps/asec/mar/variables/{PERRP,A_EXPRRP}.json: PERRP 55 is "Housemate/Roommate without Relatives" and A_EXPRRP 12 is "Nonrel w/own rels in hhld". The 2025 H5 (4c5a3218…) carries A_EXPRRP (3,816 code-13 records), PECOHAB and A_FAMREL, but not PERRP. Its Census member pppub26.csv was not on disk and was not checked. The reproduction script and its output are in ~/reviews/microcosm-unmarried-partner-gap-2026-10-08/.

Checks

  • test_us_relationship_inputs.py (4 passed, 0 skipped). The 2022-2024 locked H5s are mounted locally, so test_locked_artifacts_confirm_source_presence_and_absence ran rather than skipping. test_unmarried_partner_exclusion_is_source_unavailability asserts the manifest reason equals the gap reason.
  • engine_free/shared/test_release_input_coverage.py, engine_contract/us/test_release_input_coverage.py, test_us_parity_reference.py, test_us_register_consistency.py, test_us_asec_sources.py, test_country_spec.py, microcosm-data test_contract.py: 579 passed in total with the relationship file, 0 skipped, 0 failed.
  • Manifest regenerated with uv run python tools/build_us_release_input_coverage_manifest.py. Its diff is the one reason line.

Invariant (test-enforced, unchanged): the manifest's reviewed_exclusions reason equals the gap register's reason byte for byte.

🤖 Generated with Claude Code

MaxGhenis and others added 2 commits October 8, 2026 10:53
The reviewed is_unmarried_partner_of_household_head exclusion said only
the 2024 input carries A_EXPRRP and that older vintages take the line,
spouse, sex and parent relationship fallback. That described Build J,
which predates #720. Since #720 the two pooling tools bind each year to
its pinned Census person file and _prepare_year_input restores Census
A_EXPRRP before the recode, so no pooled vintage reaches the fallback.

The reason (and the release manifest entry regenerated from it) and the
A_EXPRRP note now say so, scope the Build J facts to that build, and
state that the restore leaves out PERRP, PECOHAB and A_FAMREL although
the pinned 2022-2024 Census person files carry them. The A_EXPRRP note
gives code 13's make-up there: PERRP 44, 47 and 55. PERRP 43 and 46
partners fall in code 12. Wording only: classification, issue and gating
are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review nits on #1157: say "Build J" rather than "the hermetic build"
(which the repo also uses for the current build), note that a raw-stage
checkpoint built before #720 (the US spec's asec_raw_stage pin, set
2026-08-17) keeps the fallback codes, give the closing sentence a clear
referent, and attach years to the PERRP 55 counts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis merged commit 7b30551 into main Oct 9, 2026
10 checks passed
@MaxGhenis
MaxGhenis deleted the us-unmarried-partner-gap-wording branch October 9, 2026 04:16
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