Repository navigation
Count B2's persons per Max's d1242 ruling - #546
Conversation
Max confirmed section 16c's proposed clarification on 2026-10-16 (d1242). B2's disclosed count is the number of code-90 and code-92 persons in 2019, 2021 and 2023 family units that would otherwise supply a U2 observation. It is disclosed and decides nothing, as B1's is. - sources.PERSON_COUNTED_EXCLUSIONS now names B2 as well as B1. The cohort already collected each exclusion's members per wave in units that would otherwise supply an observation, so the tuple was the only gate. - test_exclusion_counts_are_the_ones_section_16c_names checks both counts against the raw-frame oracle, each in its own waves. On the old code it fails for U0 and U1. - test_earlier_dispositions_keep_precedence treats both counted exclusions alike. A unit whose would-be observation is disposed of earlier no longer adds its trigger member to B2's count either. - Section 19 records the ruling. Section 16c, which the d1090 record test pins and which records the proposal, is unchanged. The specification's SHA-256 is re-pinned, and the exposure record notes the change. tests/track_u2 plus the U2 data and birth-evidence files: 1,338 passed, 254 skipped, under the PSID guard (nothing refused). Tiers are unchanged (unit 9,916, artifact 4,247; total 16,414). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
F1: a new invented variant puts a second, sex-unknown code-92 member in one B2-excluded 2019 unit. The count test asserts that every observation and disposition is unchanged while B2's 2019 count and its distinct count each rise by one, under both role contexts. The units and sexknown mutations, which survived the review, now fail. F2: each counted exclusion is also disclosed as distinct persons across the waves (n_family_unit_exclusion_persons_distinct), checked against a raw-frame oracle; the per-wave counts sum to person-waves. The sources comment and the section 19 entry say so; the specification is re-pinned. N1: the precedence test's dead else branch is gone. N2: the sex-unknown variant's note mentions B2's count. The exposure record notes the reading. INVENTED DATA ONLY. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merge audit: merged as Base. The PR was cut from
Neither changes any file this PR changes. This PR adds no test function and leaves the tier files alone, so #549's counts stand. No tier-count slot was needed. Independent reviews, each in a standalone clone with its own venv and the PSID guard:
Review outputs: What landed:
Evidence at
CI at Blindness: invented data only. No real PSID record was read, and no restricted file was opened. Next: this merge is d1649's last precondition for the §20 step-4 structural pass, together with #544 ( |
Applies Max's ruling d1242 (2026-10-16, recorded in the decision ledger). B2's disclosed count is the number of code-90 and code-92 persons in 2019, 2021 and 2023 family units that would otherwise supply a U2 observation, as specification §16c proposed. Like B1's count, it is disclosed and decides nothing.
d1649 makes this change a precondition for the §20 step-4 pass: the pass runs once, at a master head containing #544 and this change. INVENTED DATA ONLY: no real PSID record was read, and no restricted file was opened.
Changes
sources.PERSON_COUNTED_EXCLUSIONS= (B1, B2). The cohort already collects each exclusion's members per wave in units that would otherwise supply an observation (cohort.py, theexcluded_personsmap), so this tuple was the only gate on which counts are disclosed.test_u2_roles.py:test_exclusion_counts_are_the_ones_section_16c_namesnow checks both counts against the raw-frame oracle, each within its own waves. On master's code it fails for U0 and U1.test_earlier_dispositions_keep_precedencetreats both counted exclusions alike. A unit whose would-be observation is disposed of earlier (a sex-unknown target in a B2 unit) no longer adds its code-90/92 member to B2's count. That matches the existing B1 case and the oracle.Specification:
u1_identity.jsonre-pins the specification's SHA-256.Exposure record: a note on this change.
Review of
17e2a096(REQUEST_CHANGES) answered in743555d7:second_trigger_in_excluded_unit_2019, adds a second, sex-unknown code-92 member to one B2-excluded 2019 unit. Under both role contexts, the count test asserts that observations and dispositions are unchanged and that B2's 2019 count and distinct count each rise by one. Theunitsandsexknownmutations, which survived the review, now fail.n_family_unit_exclusion_persons_distinct), against a raw-frame oracle; the per-wave counts sum to person-waves. The sources comment and the §19 entry say so, and the runner's disclosure test pins both keys.Tests
All runs used an audit hook refusing any PSID, evidence-directory or REFS access, with HOME and the PSID directory empty. The hook refused nothing.
tests/track_u2plus the U2 data and birth-evidence files: 1,338 passed, 254 skipped.743555d7: counting units, counting targets, skipping sex-unknown triggers, dropping code 92, and summing the per-wave counts in place of the distinct union. Each fails the count tests.-l 79) and ruff are clean.🤖 Generated with Claude Code