Skip to content

OP0.1: source, exposure, access and power audit for the demographic gates - #567

Merged
MaxGhenis merged 13 commits into
masterfrom
openpop-op0-1-audit-20261024
Oct 25, 2026
Merged

MaxGhenis merged 13 commits into
masterfrom
openpop-op0-1-audit-20261024

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Ready: reviewed (APPROVE), master 097d3cb4 merged and tiers recounted in the coordinator's slot. This PR builds milestone OP0.1 of the open-population design (docs/design/open_population.md on master, merged in #557 at f8ffc7d9): the source, exposure, access and power audit for the demographic phase's gates and target manifest. Max approved the design in ruling d1925 at revision 11; revision 12 adds the death-alignment boundary under ruling d1922. The build cites revision 12 by commit (5c82dbd9, now in master's history); revision 13, on master, also has OP0.1 list OACT's death probabilities as validation_only (§4), which commit a40254a8 applies. A Subfleet lane (GPT-6.1 Sol) built it in a standalone clone. It opened no microdata and computed no real-data statistic.

What it adds

  • docs/design/open_population_op0_1.md: six draft records (gate_birth, gate_imm, the emigration check, the demographic target manifest, gate_pop, the demographic horizon record), each with Track B §5.2's elements, the design's §5.2 additions, the §5.3 tolerance class, a candidate-uncertainty procedure and a named, unrun power procedure; plus an exposure inventory, a donor-pool comparison from documentation, an access table, proposed conventions and open questions.
  • docs/design/open_population_op0_1_records.json: the same records, machine-readable (open_population_op0_record.v1, every record draft).
  • docs/design/open_population_op0_1_report.md: the builder's report, with every official page read and every repository line cited.
  • tests/open_population/test_op0_1_records.py: checks that every record has every required element, none is frozen, every held-out year is pending_registry, OACT's death probabilities are validation_only, and no natality year whose value the repository's code prints is held out.

What it establishes, in brief

  • Every held-out year stays pending_registry. The shared holdout registry is cited at Track B: held-out data registry for every Track B and open-population gate #560's daf02425, by file SHA-256. Track B: held-out data registry for every Track B and open-population gate #560 has merged (097d3cb4), daf02425 is in master's history, and the registry file is byte-identical on master. Only the separate mutation record was rerun after the merge (404a7ee6), and OP0.1 does not rely on it; J has no candidate entry yet, and the registry's source vocabulary does not yet cover these sources.
  • No in-repository reader of ACS PUMS microdata was found. NCHS 2016–2024 age-group rates are exposed; 2015, the share male and births by nativity are candidates for unused observations, pending confirmation.
  • No independently observed emigration holdout was found, so the emigration check stays report-only (EMIGRATION_UNIDENTIFIED).
  • OACT publishes single-age population but no single-age fertility was located; the fertility bridge is a choice for review.
  • Conventions (exit timing and same-year entry and exit, OP5's reference date and group quarters, gate_pop's arms) are proposals, not rulings.

Checks

  • pytest tests/open_population/test_op0_1_records.py: 7 passed (unit tier). black -l 79 and ruff clean.
  • The audit's last section discloses three incidental exposures in the build lane, without values. Under the coordinator's ruling of 24 October 2026:
    • no year whose value is printed at scripts/fetch_nchs_asfr.py:119, tests/test_nchs_asfr.py:46 or baselines/asfr.py:22,124 may be recorded as unused for any natality gate; the review checks this;
    • these files need a validation-only values scan before an A-COLA, lane F or OP10–OP12 builder reads them.

Reviews

  • GPT-6.1 Sol, at cdde095c: APPROVE with two minor findings (OACT's death probabilities should be validation_only; three more consumers of the derived NCHS 2024 shape). Both are applied in a40254a8 and 43586133, with two new tests that each fail on their mutation. 7a4b15a0 restores spaces the build dropped before numbers (whitespace only).
  • GPT-6.1 Sol delta review, at 43586133: APPROVE, no findings (17 of 17 test mutations rejected).

Tier counts

  • f925cc76 merges master 097d3cb4; a184564b recounts on the merged tree: unit 18,254 → 18,261 (the seven OP0.1 record tests), artifact 4,271, integration_psid 1,450, reproduction_legacy 520, oracle_policyengine 308; total 24,810. The tier-policy test passes on a full collection. The OP0.1 files are byte-identical to the reviewed head 43586133.

Still to do

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
social-security-model Ready Ready Preview Oct 25, 2026 5:28am UTC

Request Review

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Revision 13 of the design (section 4, on master) has OP0.1 list OACT's
period death probabilities in the demographic target manifest as
validation_only: they are the mortality lane's target under ruling
d1922, and OP6 selects nothing against them. The record had them as
available.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 2 commits October 24, 2026 11:53
Whitespace only (git diff -w is empty): the build's text ran words into
the numbers after them, as in "reads2024" or "toTR2008". Identifiers,
file paths, URLs and code spans are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Name three more consumers of the derived NCHS 2024 shape: the
  baseline description script, the TR2026 ASFR-sums-to-TFR invariant
  test and the invented-roster smoke test. They add no candidate-year
  exposure.
- Test that OACT's death probabilities are validation_only in every
  manifest (design section 4), and that no natality year whose value
  the repository's code prints is held out, per the coordinator's
  exposure ruling. Both tests fail on the corresponding mutation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 2 commits October 24, 2026 13:10
The seven OP0.1 record tests add 7 to unit: 18,254 to 18,261. The other
tiers are unchanged (artifact 4,271, integration_psid 1,450,
reproduction_legacy 520, oracle_policyengine 308); total 24,810.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxGhenis and others added 2 commits October 25, 2026 01:22
# Conflicts:
#	tests/README-tiers.md
#	tests/tier_counts.json
The merge took master's tier files. The seven OP0.1 record tests then add
7 to unit: 18,332 to 18,339. The other tiers are unchanged (artifact
4,271, integration_psid 1,450, reproduction_legacy 520,
oracle_policyengine 308); total 24,888.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis
MaxGhenis merged commit 51323be into master Oct 25, 2026
12 checks passed
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Merged by the Microcosm Dynamics coordinator at 2026-10-25 06:12:44Z with gh pr merge --merge --match-head-commit a58fbb03d6cc49dcd9f61685c85f0245833b2846. Merge commit 51323bed3b38155d240f1bea92d9e46f0ad4621d.

Gates at the head:

  • gh pr checks exited 0 on run 40165580871: four pytest shards, pytest (3.14), graph-integration 3.13 and 3.14, lint, build and Vercel passed; deploy was skipped.
  • MERGEABLE and CLEAN, not a draft, with no CHANGES_REQUESTED review.
  • An independent Opus 5.5 delta review approved a58fbb03. It checked both master merges against git merge-tree and recounted the tiers itself, getting the same counts. Earlier rounds approved 43586133.

What I checked before merging:

  • git diff --name-only 4e20c6e4 a58fbb03 lists the four OP0.1 files and the two tier files. The four OP0.1 files are byte-identical to the approved 43586133.
  • At the merge commit 03d9a3ea, the tier files are master's. The recount in a58fbb03 changes only unit, from 18,332 to 18,339; the total is 24,888.

This PR held the tier-count slot. The next PR in the slot merges this master and recounts.

This branch was successfully deployed

1 active deployment
Preview — a58fbb03 Deployed Oct 25, 2026 by vercel[bot]
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