Repository navigation
Sign the UK local release's gate-only failures for the local line (#1301) - #1316
Open
juaristi22 wants to merge 5 commits into
Open
juaristi22 wants to merge 5 commits into
juaristi22 wants to merge 5 commits into
Conversation
Signing out the North East and Wales £2m region rows (4850088) left their local-authority cells, all deferred by the 400-home floor, on legs with no control. The small-cell rule adds such cells to the reconciliation frame to take their share of a region control, so the unparented-leg check then refused the surface: compile_uk_full_target_surface stopped on the abf0921 feed, and build 1 would have failed at uk.full.target_compilation. Nothing in CI compiles the full surface on the feed. The local surface now passes the reconciliation the area rows that bind nothing (its frame-only rows). A leg on which every open row is one of them and every target is licensed empty needs no control: it is receipted under deferred_legs_without_control instead of refused. A bound row on such a leg, a frame-only row without the licence, and a row of a target the leg is not licensed for are still orphans, as the Scottish authority of an England-only target is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#866) The ons.savings_interest_income measure exclusion lapses on 2026-10-22. After that date no national calibration could run, since the window is checked when the exclusions are applied, and the dense two-build flow's gate clock and assembly deadline stop there too. The row stays a measured diagnostic and is never fitted, as ruling R3 of 2026-09-22 set: the ONS D.41 row is a national-accounts concept, while the model carries cash interest, and the SPI interest rows are the fitting anchor. Renewed by juaristi22 on 2026-10-16 in the sixth #1095 ports PR (#1308), and shipped here ahead of it, unchanged, so that the first local release build stands on it; #1308's re-review recommended shipping it alone. The packaged-exclusions test pins the new window and the renewal note, and the 2026-10-16 approvals are now the employer NICs diagnostic and this. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…1301) The first dense release build (microcosm#1301, attempt 1f0939c4) failed uk_export_surface on three household columns outside the incumbent surface with no allow-list entry: high_value_support_copies, high_value_support_copy_index and household_is_high_value_support_copy. They are the microcosm#1240 high-value homes support split's declared outputs (the release input coverage manifest lists them), the exact analog of the CGT support split's three columns, which the list already carries. microcosm#1270 added the stage but not the allow-list entries, so every UK build since then fails the gate at the calibrated battery. Add them to gates.json and UK_ALLOWED_EXTRA_EXPORT_COLUMNS in the same place as the CGT split's columns. The gate fails only on missing or unexpected columns, so a line that does not carry them is unaffected. Re-pin the full gate battery's policy, gates-manifest and spec digests and the release-cut part's digests; the spine, calibration-seam and dense digests do not move, so existing spines stay valid. gates.json is in the solve fingerprint, so the next dense build re-solves. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
test_the_committed_pins_rewrite_and_reparse rewrote every committed pin back with local_only=False, which held only while the gate-only registers were empty. The drafter adds the local-line scope pin whenever every entry of a register is local-only, so the first real sign-off's pins lost that line on the way back and the test failed. Rewrite back with the scope the committed register has, as the drafter decides it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The second dense build (attempt uk-local-candidate-f100-s42-20261018T161007Z-35fb4c89, at 07d6b43) was blocked only by gate-only failures. This is tools/draft_uk_dense_signoff.py's patch from that run, unchanged except the changelog's wording: 15 national target-fit rows, 31 local target-fit cells and 2 areas below the support floor, every entry scoped to the local line, approved by juaristi22 on 2026-10-19; fit entries expire on 2026-11-16 and area entries on 2027-01-19. The registers' key-set pins move with them. Every signed row stays bound in the solve, and the reuse build fails any entry whose row passes as stale. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
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 gate-only sign-off for the UK local release (#1301), approved by juaristi22 on 2026-10-19. Merge it with a merge commit, after #1310: the release build runs at this PR's head, and its commit must stay in main's history.
It stacks on #1310 (the fixes the release builds need), so until #1310 merges, the diff here also shows #1310's three commits. This PR's own commits are the last two.
Which builds
uk-local-candidate-f100-s42-20261018T161007Z-35fb4c89, at07d6b43e7(UK local release builds: deferred-cell legs, the savings-interest renewal and the export surface's high-value support columns (#1301) #1310's head).uk_export_surface, which no sign-off can cover, and UK local release builds: deferred-cell legs, the savings-interest renewal and the export surface's high-value support columns (#1301) #1310 fixed that.tools/draft_uk_dense_signoff.pynames the measured build "build 1" and the reuse build "build 2". That wording is in the drafted reasons and stays as drafted, because--verifychecks the committed entries against the draft.--require-solve-reuse, gate clock 2026-10-19) runs at this PR's head and stages the release candidate.The sign-off (
810315ac2)The drafter's patch, unchanged except for the changelog's wording. Register data and test pins only. Every signed row stays bound in the solve: each entry is scoped to the local line and suppresses only its release fence. A build in which a signed row passes fails its entry as stale.
uk_target_fit)uk_local_target_fit)uk_local_area_support)S14000027) and council area (S12000013). Both missed the area-support floor. They stay in the solve and are flaggedsupport_below_floorin the build's area-support table.slc.borrowers.plan_2_above_thresholdandslc.borrowers.plan_2_liableexpire. The reuse build, its--verifyand the release assembly must all run by then.uk_target_fit,uk_local_target_fitanduk_local_area_support.The pin round-trip test (
356dc4f7f)test_the_committed_pins_rewrite_and_reparserewrote every committed pin back withlocal_only=False. That held only while the gate-only registers were empty. The drafter adds the local-line scope pin whenever every entry of a register is local-only, so the first real sign-off failed the test. It now rewrites back with the scope the committed register has, as the drafter decides it. Test-only.Tests
These ran locally at this head and pass:
test_uk_graph_terminal.py.Disclosure
This body and the patch carry only:
Per-row errors, the local registers' stale-risk and near-bound counts, and per-area support figures stay in the private review file outside every git work tree.
🤖 Generated with Claude Code