bench/LOCK: control 2 names the rows that exist - #205
Merged
Conversation
The procedural control that guards the c/cpp legs required "the unchanged shapes' c/cpp rows (bench_packet/ints/bits)" to reproduce in-sitting. Those three rows were retired by #199 under the owner's one-bench ruling (#196), so as written the control names nothing and cannot be run. Amended to name bench_mixed (family gen: write and round_trip) and bitpacker (family bits). bitpacker is the load-bearing half: its source is byte-identical across every harness change, so any movement it shows is the translation unit's layout and nothing else — which is precisely what control 2 exists to catch. Diff touches ONLY bench/LOCK, per the lock's own amendment protocol. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Aug 31, 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.
bench/LOCK's procedural control 2 requires "the unchanged shapes' c/cpp
rows (
bench_packet/ints/bits)" to reproduce in-sitting in any PR thattouches the c/cpp legs.
Those three rows no longer exist. The owner's one-bench ruling (#196) left
Bench.schemaas the only bench corpus, and #199 retired the threehand-coded shapes with it — their type declarations and goldens survive as
conformance fixtures, but no runner measures them. A control that names rows
nobody can produce is a control that cannot be run, and the very next PR
touching the c/cpp legs (#204) hits it.
Amended to name
bench_mixed(familygen:writeandround_trip) andbitpacker(familybits).bitpackeris the load-bearing half. Its source is byte-identical acrossevery harness change — the diffs move only its call site's position in the
file — so any movement it shows is the translation unit's layout and nothing
else. That is exactly what control 2 exists to catch, and it is what both
#199 and #204 found: frozen code moving several percent in one language
because the TU around it shrank.
Per the lock's own amendment protocol, this PR's diff touches only
bench/LOCK. The mechanical prefix list is untouched (it is currentlysuspended under the #189 one-shot carve), and the full lift condition —
the round closing on the owner's word, issue #170 — is unchanged.
🤖 Generated with Claude Code