Consolidate the US survey graph build and enrichment pipeline - #893
Draft
MaxGhenis wants to merge 79 commits into
Draft
Consolidate the US survey graph build and enrichment pipeline#893MaxGhenis wants to merge 79 commits into
MaxGhenis wants to merge 79 commits into
Conversation
…m-consolidated-main-20260909
This was referenced Sep 9, 2026
Draft
…ntegration-20260909
Integrate the PUF59 profile, source-specific growth, receipt-bound donor codec, and current survey financial and demographic source owners. Fix checkpoint test coverage and pool registry import order, and document block-first US and small-area UK geography as pending build requirements.
…ISRA's published lookup (#887) - Re-pin the UK Chronicle consumer feed 6fb700e -> ec7169b (131,450 facts, facts sha 4a50ee95); no national or local reference changed status or value. - Northern Ireland: replace the active-postcode modal DZ2021->PARLCON24 inference with NISRA's published administrative lookup (v3, April 2025) and rebuild the OA ladder: only constituency_code moves, at 10 Data Zones; NI sums land within 16 households of NISRA's 18 published counts (was 694). A ladder-vs-Chronicle household dispersion receipt scores every build. - Declare ons.census.households as the 34th UK local contract target (650 constituency + 361 local-authority cells) compiled from the two households record-set specs; delete the ladder append loop; A15 uprating is now per grain from the Chronicle sums (29,003,000 / 28,061,271 and / 28,061,277); A17 tenure cells take the local-authority factor. - Close the hatches: cross_grain refuses external: sides and skips the exact-signature key for a reviewed-unbound bridge; UK bridges must name a contract lower side; the pinned_in_ladder status and the 1,011 ladder-derived battery exclusions are removed; guard tests pin all of it. - Registers and docs: census disclosure fence and adjudication re-worded to per-area dispersion (approver and dates unchanged, pending ratification); receipts in experiments/887-census-households-receipts.md. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Vahid (CHANGES_REQUESTED at 0a8787d): - Blocker 1: the candidate manifest keys this PR renamed are read under their new, Chronicle-named shape by the release preflight, the dense-release assembler, the incumbent-surface evaluator and the microcosm-data release contract: identity.targets.chronicle, census_household_uprating with per-grain factors, ladder_assignment_provenance, household_dispersion (ladder_vs_chronicle_household_dispersion / chronicle_households); manifest and dry-run plans are schema_version 3; the contract names a missing identity instead of silently skipping the surface evaluation. Frozen ledger-named surfaces stay per the chronicle_epoch rule. - Blocker 2: rebased onto main 141bfac (previous commit); national references regenerate byte-identical to main, the local surface is unchanged; main's stale national parity receipts refresh on its own pin. - Should-fix 3: the census source rows cite the artifacts Chronicle pinned (Nomis NM_2059_1 TYPE172/TYPE424, NRS UV404 CSVs on UKDS CKAN, NISRA PARLCON24/LGD14). - Should-fix 4: the receipt states the A17 rule is unchanged while its factor moves from 1.0335759 to the LA-grain 1.0335595; all 1,011 cells before and after in docs/evidence/uk-887/census-households-cells.json. The f100 re-measure is deferred by ruling. - Should-fix 5: local_area_support_exclusions.json is schema 3 with a signed bound_despite_support_floor.census_households block; the generator reads excluded areas and binding families from the register. - Questions: ons.census.households carries the occupied-household measurement filter and the exact-signature skip is reverted, so the census cells pair only through the composition bridge, never with dwelling stock; fence and adjudication say so. - Nits: touched files formatted; households-only identities joined by area code; the NISRA lookup sha pinned in local_area_crosswalk.json. Max (source review at 0a8787d): - The households-only scope now runs through uk_local_target_surface, so it applies the per-grain A15 factor and carries the uprating receipt. - openpyxl is declared in the microcosm-build[uk] extra with a named import error in the NISRA loader; the workbook tests skip without it. CI on the rebased commit: main's #891 seam-driver test now asserts the reviewed local pin, and the workbook tests importorskip openpyxl before the loader imports it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ty (#887) Declaring openpyxl in the microcosm-build[uk] extra re-resolved uv.lock, and the primary-QRF worker identity refuses an unapproved lock digest by design (engine-us us-qs: 13 failures + 324 errors, one cause). Same one-line approval as 45833f1 for the merged #834 tree. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…cle-887 Bind UK census households from Chronicle and map NI Data Zones with NISRA's published lookup (#887)
This was referenced Sep 10, 2026
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.
The US builder needs a reproducible path from original ACS and ASEC sources to one complete population, imputed inputs, calibration and verified analysis files. This draft consolidates that implementation with shared graph, atomic-geography, artifact/replay and calibration changes. It is an integration branch; its full completion is not a prerequisite for independent UK work.
The intended order, corrected on 10 September, is ACS + ASEC → complete initial multispine including support/PUF clones → assign one Census block per resulting household → derive larger geographies → remaining imputation and derivation → national/CD calibration → full and pruned exports. Distinct initial clones can receive different constrained draws, keyed by stable source identity plus a clone discriminator. Their locations then remain fixed. The corrected nine-node prefix now clones before block assignment, with nineteen-node financial and twelve-node age extensions. Its 70 inventoried controls plus a separate default-path compatibility check pass on invented inputs; the small native post-clone pilot did not complete final verification within its reviewed resource budget and remains unaccepted. Earlier native acceptance remains explicitly scoped to the prior order.
The PUF operator acts on the combined survey population. Social Security values and unknownness remain source-owned; the two PUF55 routes use nine predictors when the selected total is known and eight when it is unknown. Prior wages are excluded from the launch input profile. National and local exports must preserve the same constructed record values and relationships; calibration weights, scope and sparsity may vary.
Parallel review and dependencies
Coordination corrected after the 10 September team meeting: Maria intentionally stacks her UK graph-node PR on #893; pin its parent revision and coordinate shared-interface changes. Her #900 source/target reconciliation merged on 10 September at 14:54 UTC, clearing that dependency for Anthony's #855 hierarchy/diagnostics and dashboard work. Anthony's staging #896 proceeds independently. Anthony considers #885 superseded; it is reference material, not another runtime implementation to retain or merge. This does not claim the PR is closed or that he has approved #893.
The US integration owner will support Maria's graph with the shared atomic-area adapter, not build a competing UK graph. Keep UK graph-node registration and stage reordering as separate PRs. Record shared dependencies as specific changes and pinned revisions, extracting smaller prerequisites where useful while preserving Maria's intentional stack. Full native US PUF completion does not gate UK source/target repairs, staging or candidate validation. Full graph coverage in both countries remains a requirement for the broader advertised launch.
Verification and remaining work
This branch incorporates main through
6f7571e1ab8c516154289bd8ebf75cb2646f03b5, including Maria's merged #900 target/lookup reconciliation, UK CGT observation-period work #889 and PR CI scheduling #899. The integration preserves both parent histories and introduces exactly the upstream changed paths; dependency metadata parses and the updated worker lock digest matches. No dependency installation or new runtime acceptance is implied. The shared solver retains UK ordinary/informed behavior and the US grouped-bound path; unsupported combinations fail explicitly.The CI diagnostic preserves missing event merge metadata as empty while requiring checkout/event equality and head/base identities. Forty-one environment-only controls were added; the bootstrap test step passed on a preceding commit, while spec-identity derivation still encounters restricted dependency probes. No source-access or bootstrap permissions were broadened.
Remaining release requirements include native execution/replay of the corrected geography order, current-head CI/spec identities, complete native PUF and other model-input coverage, a small full candidate, model/holdout quality, national/CD calibration, progressive scaling, full/pruned readback and a dashboard tied to the exact release file. No dataset release, default consumer promotion or deployment is claimed.
See the review and evidence index, shared US/UK release-path reference, historical native replay record, and companion site/methods draft #72. Typed-model #873 still needs reconciliation; #885 is retained as historical reference following Anthony's supersession decision.