chore(release): v0.54.0 — "Close what we measured" (6 lanes) - #909
Merged
Conversation
Version sweep: workspace + all intra-workspace path-dep pins + MODULE.bazel + npm + status.json; Cargo.lock refreshed to 0.54.0 (no CI job builds --locked, so this stays a release-process gate rather than a CI one). Docs regenerated once at assembly per #805. claim_check 37/37 · check_version_pins OK · oracle-wiring gate clean · frozen anchors 10/10 · build 0 · fmt 0 · aarch64_selector_ops 184. CHANGELOG headline added by the coordinator over the 10 lane-written entries. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…"declined"
F1 (BLOCK) — the CHANGELOG carried a THIRD stale copy of the aarch64 decline
list, naming `call_indirect` and globals as "still genuinely declined" when both
SHIP in this release. Written by the float lane before the call_indirect/globals
lane landed; the fan-in reconciled the decline ORACLE and the FEATURE_MATRIX row
and missed the prose. Same defect as v0.51, in the document that becomes the
frozen public record at tag time.
F2 (BLOCK) — "f32 complete" was an overclaim CREATED BY THIS RELEASE. v0.54
makes `f32.{ceil,floor,trunc,nearest}` LOUD-DECLINE on ARM (the legacy pseudo-op
round-tripped through a saturating VCVT, so ceil(1e30)/ceil(±inf)/ceil(NaN) were
all wrong — the #709 more-total-than-WASM class), and three docs still claimed
completeness: the f32 matrix row ("Complete op set"), the honest summary
("complete i32/i64/f32/f64"), and README's "the remaining float residual"
(singular, when there are now five). Row is now P with the residual named.
Verified on the release binary: f32.ceil declines on BOTH cortex-m4f and
cortex-m7dp; f64.ceil lowers on m7dp (declines on m4f only for want of a double
FPU, which is the pre-existing single-precision limit, not this change).
F4 — the anti-vacuity gate had its OWN vacuity hole. `oracle_wiring_check.py`
appended `run:` bodies verbatim, and YAML only eats `#` in a single-line plain
scalar — so commenting out the body of a `run: |` step (nearly every oracle step
here) left the script "referenced" and the gate GREEN while the step ran
nothing. The earlier comment-demotion mutation passed only because it targeted a
single-line `run:`. Now strips shell comments; proven red-first: commenting the
gpio-thin invocation inside its block scalar reddens the gate with
"only in a COMMENT — prose does not run an oracle".
F3 — FEATURE_MATRIX stated #890's residual in its PRE-fix form ("57 of 130 not
CI-wired and nothing distinguishes manual from forgotten"): both halves are now
false. Restated as what is actually still open (the 7 `manual` scripts + the
sweeps asserting exit status rather than per-script check counts).
F5 — stale measured numbers from fan-in drift: VCR-VER-004's shipping-path audit
is Holds 431 / NotAttempted 202 / Violated 0 over 633 (not 422/195/617) and the
allocator histogram moved 174->175 / 11->17, because the corpus is
`scripts/repro/*.{wat,wasm}` and GREW by 16 fixtures during this release's own
fan-in. Corrected, and both sites now say the counts are a snapshot while
`Violated 0` and the byte/cycle deltas are the durable claims.
F6 — two more bare `set -o pipefail` steps (the VCR-VER-004 ones, landed after
#900's sweep). Without `-e` the step's status is its LAST command's.
Gates: build 0 · fmt 0 · cargo test --workspace 130 suites / exit 0 ·
claim_check 37/37 · oracle-wiring 0 · check_version_pins 0 · frozen 10/10.
Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YJK5LZZEkV5smCY1jKn18L
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.
Release assembly for v0.54.0. All six lanes plus the coverage fix are already on main; this PR carries the version sweep, lockfile refresh, regenerated docs and the CHANGELOG headline.
Lanes
calldeclines taken; −100 B / −120 B, 0 WCET regressions (flag-off)FRINT{P,M,Z,N}, FP memory, i64↔float, domain-guarded trapping i64 truncationscall_indirect+ globals — all three §4.4.8 trap guards inline, structural type-class ids, param homingCode Coveragewas RED repo-wide for a test binary-path bug, not for coverageNumbers
aarch64_selector_ops161 → 184. gale's matrix 45 → 61 ops / 119 → 355 native checks, declined frontier empty.Assembly checklist
MODULE.bazel+ npm +status.jsonCargo.lockrefreshed to 0.54.0 — no CI job builds--locked, so this is a release-process gateclaim_check37/37 ·check_version_pinsOK · oracle-wiring gate clean · frozen anchors 10/10 · build 0 · fmt 0Per the standing rule this PR merges before the tag is cut, so
v0.54.0is an ancestor ofmain.