fix(release): v0.64 cold-review corrections — retract a fabricated attribution, state the selector growth - #1194
Merged
Merged
Conversation
…und by the v0.64 cold review, and record the review Subject carries the artifact id and issue because R10 requires it there, not in the body — this commit's first attempt was refused by synth's own gate, which is the correct outcome and is fixed by satisfying the rule rather than loosening it. The cold review found six things wrong or overstated in the release I wrote. Corrected before the tag, which is what the review is for. 1. RETRACTED: the #1108 z3 disposition, and with it the release's only claim that the dependabot hold has ever caught a breaking bump. I closed that PR as "breaks the required Bazel build", attributing it to z3-sys linking the system libz3. `crates/BUILD.bazel:167-170` says there is NO z3-sys in the Bazel graph — the mechanism could not occur. The real failure was a 504 Gateway Time-out fetching bazel-skylib; Bazel compiled nothing, the log has zero occurrences of "z3", and it was never re-run. "Three siblings on the same base" was wrong too; their merge-bases differed. ROOT CAUSE, recorded because it generalizes: the job logs were unretrievable through the API, and instead of recording "unattributable, needs a re-run" I reasoned from the job's NAME plus a plausible mechanism and wrote it up as measurement. This repo's "read the failure name" rule extends to the failure's CONTENT — when that is unavailable the answer is "unknown", not an inference. The bump is neither exonerated nor convicted; sent for recreate. 2. The subtraction metric moved the WRONG way and the notes omitted it: selector_lines_code 19227 -> 19740 (+513) against a baseline that must FALL. Every increment is waivered with a reason, but the direction is the direction. 3. Mach-O "a second container disagreeing is unrepresentable" NARROWED to what ObjectPlan carries. It does not carry symbol BINDING — elf.rs hard-codes STB_GLOBAL, macho.rs marks N_EXT independently — so "the structural answer to #1180" was an overstatement, #1180 being binding. The module count is now derived (144) rather than three undated figures. 4. RQ-64-DEPS `landed:` asserted the artifact stays `proposed` while its status was `implemented`. 5. SCOPEGAP's two populations disambiguated: 23 undated citations across 13 artifacts flagged, of which 9 are the named shape. 6. check_live_floor_prose shipped with ZERO unit tests — its red-first was a one-time manual transcript, and a transcript is not a test. Five added in the file's own unittest style so CI actually runs them (a pytest-style first draft would never have executed — the same class again). MUTATION-VERIFIED: dropping the hit collection fails 1; a blinded rule returning clean fails 1; restored 77/77 OK. Also adds docs/reviews/v0.64-cold-review.md — step 7's DERIVED slot. It declares the reviewed commit `ed493625` in the form loop_conformance_check parses; that declaration is authoritative rather than ancestry-checked, because a squash-merge discards the reviewed head (#1161). It records what the review CONFIRMED as well as what it faulted, and carries the step-8 attestation inline: 15 merges, every one a 0-line PR-head vs merged diff. Verified: 77/77 tests, status_evidence exit 0, claim_check 62/62, rivet at the cross-repo baseline with 0 broken cross-refs. Refs #965, #910, #242, #1085, #1136
avrabe
force-pushed
the
fix/v064-cold-review-corrections
branch
from
September 7, 2026 17:35
72f22a8 to
e42f4d2
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
v0.64 cold-review corrections — before the tag
The clean-room review found six things wrong or overstated in the release I
wrote. Correcting them here is what the review is for.
1. Retracted: a fabricated attribution (severity 1)
I closed #1108 (z3 0.20.2→0.21.0) as "breaks the required Bazel build",
attributing it to
z3-syslinking the system libz3 — and made it the release'sonly evidence that the dependabot hold has ever caught a breaking bump.
The mechanism was impossible.
crates/BUILD.bazel:167-170:The real failure was a 504 Gateway Time-out fetching
bazel-skylib. Bazelcompiled nothing; the log contains zero occurrences of "z3"; it was never
re-run. "Three siblings on the same base" was also wrong — their merge-bases
differed.
How I got there matters more than the fact. The job logs were unretrievable
through the API, and instead of recording unattributable, needs a re-run, I
reasoned from the job's name plus a plausible mechanism and wrote it up as
measurement. This repo's "read the failure name, not the count" rule extends to
the failure's content — and when that's unavailable the answer is "unknown",
not an inference. The bump is neither exonerated nor convicted; sent for recreate.
2. The subtraction metric moved the wrong way, unstated
selector_lines_code19227 → 19740 (+513) against a baseline that mustfall. Every increment carries a written waiver, but the direction is the
direction — now stated in the notes, as v0.59 did.
3. Mach-O claim narrowed
ObjectPlandoes not carry symbol binding —elf.rshard-codesSTB_GLOBAL,macho.rsmarksN_EXTindependently. So "the structural answerto #1180" was an overstatement, #1180 being precisely binding. The module count
is now derived (144 here) instead of appearing as three different undated
figures (140/141/144) — in the release that named that defect class.
4–5. Internal contradictions
RQ-64-DEPSlanded:still said the artifact staysproposedwhile its statuswas
implemented. SCOPEGAP's two populations disambiguated: 23 undatedcitations across 13 artifacts flagged, of which 9 are the named shape.
6. The new gate had no tests
check_live_floor_proseshipped with zero unit tests — its red-first was aone-time manual transcript, and a transcript is not a test. Shipping that rule
unchecked is the defect the rule describes.
Five added, in the file's own
unitteststyle so CI actually runs them — apytest-style first draft would never have executed, which would have been the
same class again. Mutation-verified:
Verification
77/77 tests ·
status_evidenceexit 0 ·claim_check62/62 · rivet at thecross-repo baseline with 0 broken cross-refs.
Refs #965, #910, #242, #1085