Skip to content

Sign the bus boardings as unresolvable on the pinned enhanced FRS (#1301) - #1318

Merged
juaristi22 merged 6 commits into
mainfrom
uk-national-incumbent-bus-1301
Oct 19, 2026
Merged

juaristi22 merged 6 commits into
mainfrom
uk-national-incumbent-bus-1301

Conversation

@juaristi22

Copy link
Copy Markdown
Collaborator

Signs two measures on the reviewed incumbent-unresolvable register, so that a national candidate built after #1286 can be scored against the pinned enhanced FRS. Approved by juaristi22 on 2026-10-19. Merge with a merge commit, after #1310 and #1316: the national release cut is certified at this PR's head.

It stacks on #1316, so until #1310 and #1316 merge, the diff here also shows their commits. This PR's own commit is the last one.

Why

The national candidate built from the local release's code state (#1301, 810315ac2) refused its rule-1 evaluation against the pinned enhanced FRS (e433e532). The scorer refuses a measure the incumbent cannot materialize unless that measure has a signed entry. household.bus_in_london_boardings had none.

The change (3bacfe76c)

  • The two entries, in the reviewed-exclusion schema, with Promotion for the constant-id national line: pointer and certified-loader extension #823's adjudication. They expire 2027-01-19, the three-month window the existing entries use.
  • The rows stay bound in the national solve. Only the rule-1 comparison prunes them from both arms, as it already does for the other unresolvable families.
  • No gate digest moves, so the contract needs no re-pin.

Tests

These ran locally at this head and pass:

  • country spec, candidate score, national candidate scorer;
  • release certification, gate-battery contract pins, data contract;
  • solve scope, national graph, rowwise national role, local rowwise;
  • sign-off draft, weighted integrity.

No figure from licensed data appears here.

🤖 Generated with Claude Code

juaristi22 and others added 6 commits October 18, 2026 02:09
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>
)

The national candidate built from the local release's code state
(microcosm#1301, 810315a) refused its rule-1 evaluation against the
pinned enhanced FRS (e433e532): household.bus_in_london_boardings, and
behind it household.other_local_bus_boardings, are unresolvable on the
incumbent and were not on the reviewed incumbent-unresolvable register.
The enhanced FRS carries no bus travel; the boardings come from the NTS
bus-travel stage (microcosm#930), and the 9 dft_bus_journeys rows that
bind through them were bound in microcosm#1286, after the last national
build. A diagnostic run of the scorer's pruning loop found no other
unlisted measure on the national surface.

Sign both, approved by juaristi22 on 2026-10-19 and expiring on
2027-01-19, with microcosm#823's adjudication. The rows stay bound in the
national solve; only the rule-1 comparison prunes them from both arms.
No gate digest moves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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