Hotfix: drop the kernel-owned household_weight from the spine's output contract - #711
Hotfix: drop the kernel-owned household_weight from the spine's output contract#711MaxGhenis wants to merge 1 commit into
Conversation
…t contract Main went red on the #691/#692 cross-merge: #691 made household weights typed frame state (the {entity}_weight column names belong to the kernel), while #692's spine spec still declared household_weight in its outputs and nonnegative_outputs — so the post-stage produces check looked for a column the constructor deliberately absorbs. The weights themselves are unchanged: uk_national_frame builds typed household weights from the spine's legacy column, and the weights-audit and terminal gates continue to validate them off-table.
|
Same diagnosis over on #703 — the E3 branch has carried the identical two-line drop as a standalone commit since yesterday ( No objection to this hotfix landing first — it un-reds main for every open PR in minutes, and #703 rebases over it trivially (our seam commit simply drops out). One heads-up so the fix is complete: this same merge window left a second latent break that CI can't see — the E1 adapter passes |
|
Closing as superseded: #703 merged and main is green again. It carries this PR's exact two-line fix as a standalone commit ( |
Restores main to green.
Main went red on the #691/#692 cross-merge (both green independently, merged one minute apart): #691 (
uk-654-retire-clean) made household weights typed frame state — the{entity}_weightcolumn names now belong to the kernel and are absorbed off entity tables at frame construction — while #692's FRS spine spec still declaredhousehold_weightin itsoutputsandnonnegative_outputs. The post-stage produces check then looked for a column the constructor deliberately absorbs:test_root_stage_ignores_seed_frame_contentfails on main with "Stage 'frs_spine' declared it produces 'household_weight' but the column is absent after the stage ran."Change: remove the kernel-owned name from the spine's spec output contract (and the module mirror), with a comment and spec note stating where the weights actually live. The weights themselves are untouched —
uk_national_framebuilds typed household weights from the spine's legacy column, and the weights audit and terminal gates continue to validate them off-table.Verified: the failing test now passes; full spine suite, country-spec conformance, spec-only packages, release-input coverage (manifest
--checkclean), and repo ruff all green locally.cc @juaristi22 — this is the minimal restore-main fix; if #678's design wants the spine to declare weight establishment somewhere richer than the produces contract (e.g. a weights-audit arming receipt), happy to follow up separately.
🤖 Generated with Claude Code