Register one UK full-build graph with all-geography calibration - #901
Register one UK full-build graph with all-geography calibration#901juaristi22 wants to merge 11 commits into
Conversation
|
Review at The structure is right and the two behavioural claims I could test hold: all geographies is the default with Blocking1. The US engine lanes break, and both causes are in this diff. us-p fails now; us-qs, us-am and engine-shared will follow.
2. The uv.lock digest is not re-pinned. This diff changes Should-fix3. The merge commit carries the Chronicle work. 4. "Temporary redirects" overstates what the shims do. 5. The kernel parity re-pins absorb a stale base pin silently. Questions
Nits
Could not verifyEngine-gated tests (h2 spine parity, full graph on fixture), the pinned-feed tests, the native f001 claim and the outstanding full-UK and wheel regressions. Blocked on 1 and 2 until the US lanes and the spec-engine check are green; 3 is the one I would want before this leaves draft, since the Chronicle port is currently unreviewable as a merge hunk. |
|
Follow-up to this review, against current head
git show --remerge-diff 22a4dbff -- \
packages/microcosm-build/src/microcosm/build/uk_runtime/graph_targets.py \
packages/microcosm-build/src/microcosm/build/uk_runtime/full_targets.py \
packages/microcosm-build/src/microcosm/build/uk_runtime/full_problem.py \
packages/microcosm-build/src/microcosm/build/uk_runtime/graph_build.py \
packages/microcosm-build/tests/test_uk_full_graph_admission.py \
docs/uk-chronicle-feed-repin.md
On CGT: deleting the old Engine-less and installed-engine identities intentionally differ: the dependency tuple records The three formatting nits remain; I have not changed them during this CI repair. The em-dash escape is serializer noise with identical decoded text; the two The old 730/39 counts were earlier scoped local runs; I removed them from the body rather than presenting them as a reproducible current-suite total. Current affected validation includes 521 provenance-guard cases, 69 parent US acceptance cases and an ordered 101-case PUF/survey regression with no skips or failures and no producer-identity drift. All 630 packaged files match the rebuilt wheels and installation. CI for |
UK population construction and calibration currently span source-spine, national and joint-local drivers, with transformations and acceptance evidence outside the executable graph. This change registers one full build from canonical raw FRS sources through geographic replication, target compilation, calibration, optional exact-count sizing, gates, diagnostics and checked export.
Stacked on #893 at
1cebe3547543bf2917a7af7362bfbb22a05bf964; review againstmicrocosm-us-launch-integration-20260909.--target-geographies countryexplicitly filters the same graph. Pool copies K, exported household count k and target scope remain independent; failed support or fit checks never narrow scope automatically.frs_hmrc_retained_leavesandhmrc_spi_incomestages; retain the canonical spine replacements already present in Consolidate the US survey graph build and enrichment pipeline #893. Retire independent national/joint-local scientific drivers. Legacy command names route into the new full-build/readiness interfaces, but retired flags fail explicitly: these are entry-point shims, not compatibility with old invocation scripts. Usemicrocosm-build-uk/tools/build_uk_full.pyfor the maintained build interface.The coverage manifest also drops the historical pre-spine
hmrc_cgt_gainsentry, which already declaredhmrc_cgt_gains_spineas its replacement. Canonical CGT coverage remains required at build, with pinned source verification, capital-gains output/rewrite checks, the conserved-mass receipt and all 76 published facts fenced from calibration. This removes validation of the old certified-input-H5 route, not canonical CGT construction.The context mutation guard now includes immutable frame metadata, mass records and declared column order.
_context_digestchecks for input mutation around kernel execution; it does not directly construct node keys. The shared implementation source changes deliberately change implementation and cache identities. The H1 parity refresh also resolves inherited stale implementation pins: direct input and numerical fixture bytes remain unchanged, and old/new node identities were independently reconstructed. The PR workflow now runs for non-main base branches so stacked PRs receive CI; that trigger remains after merge.The latest parent adds supplied-parent US export verification and moves US atomic assignment after initial cloning, with a typed geography-gate artifact consumed before financial fitting. Its shared artifact is opt-in. The UK graph retains its existing ladder and assignment method; adopting shared atomic assignment and changing UK stage order remain subsequent work.
Validation includes direct-versus-graph target/matrix/solver parity, required replay, real preflight refusal before solving/export, CLI failure/export evidence, and UK source-spine H2 parity. UK regression runs covered 2,018 distinct cases; corrected fixture cases passed fresh reruns, and the inherited licensed-reference mismatch below remains explicit. Both UK engine and UK-spine jobs passed on the preceding pushed head.
On the merged source, all 521 source-provenance audit cases, 89 shared/UK adapter checks and nine previously failing survey/default/manifest cases pass. Python 3.13 and 3.14 produce identical 438 audit contracts and 1,071 references. All six wheels were rebuilt: 475 Python files and 155 resources match source, wheel and installation, and all 54 installed versions match the lock. The engine-free wheel environment passes 125 shared/UK/export checks; canonical CLI help retains the all-geography default.
All 69 affected parent US acceptance cases pass across seven files, including export comparison, post-clone identity, financial/population graph execution, age-calibration replay and origin-budget integrity checks.
The final ordered regression passes all 101 cases: the complete 58-case PUF file followed by all 43 affected survey/budget cases from CI. All cases execute without skips, errors or failures. An observer checks every teardown and confirms zero changes to sealed producer identities or source bytes.
The reviewed repairs and merged parent are pushed at
051fb972b19d319d58277bd63306d0d0e0947ce2. GitHub CI on this exact head is running; local acceptance does not substitute for its final result.CI repairs cover issues introduced by this stack and failures in the moving parent:
051fb972, with all 65 source stamps verified against that exact commit. Its output remains candidate-only. Align the expected module list with all 44 maintained calibration modules.One local test with a licensed cached eFRS file exposes an inherited reference mismatch: the frozen extraction uses PolicyEngine-UK 2.89.0, while both parent and current locks use 2.97.0. The unchanged parent generator reproduces the difference against the pinned H5. The historical reference remains unchanged.
A native f001 smoke reached the UC capital-coherence donor-support refusal, reproduced by a direct call to the maintained helper. The available ladder has the older digest. A full native run against the corrected ladder and native certification remain outstanding; this PR does not publish or certify a production dataset. The maintained command, operation inventory and migration boundaries are documented in
docs/uk-full-build-graph.md.