Skip to content

chore(release): v0.54.0 — "Close what we measured" (6 lanes) - #909

Merged
avrabe merged 2 commits into
mainfrom
release/v0.54.0
Aug 5, 2026
Merged

chore(release): v0.54.0 — "Close what we measured" (6 lanes)#909
avrabe merged 2 commits into
mainfrom
release/v0.54.0

Conversation

@avrabe

@avrabe avrabe commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

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

#894 #890 oracle-wiring gate — 70 undeclared scripts → 0 (145 wired / 7 manual with reasons), enforced inside an already-required check
#896 VCR-DEC-001 inc. 3 — colour across calls; 57 of 68 call declines taken; −100 B / −120 B, 0 WCET regressions (flag-off)
#897 VCR-VER-004 — a per-compilation validator that fails differently; v0.53's mutation now caught statically, zero false rejections
#898 aarch64 scalar float surface COMPLETEFRINT{P,M,Z,N}, FP memory, i64↔float, domain-guarded trapping i64 truncations
#899 aarch64 call_indirect + globals — all three §4.4.8 trap guards inline, structural type-class ids, param homing
#908 Code Coverage was RED repo-wide for a test binary-path bug, not for coverage

Numbers

aarch64_selector_ops 161 → 184. gale's matrix 45 → 61 ops / 119 → 355 native checks, declined frontier empty.

Assembly checklist

Per the standing rule this PR merges before the tag is cut, so v0.54.0 is an ancestor of main.

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

codecov Bot commented Aug 5, 2026

Copy link
Copy Markdown

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
@avrabe
avrabe merged commit 65417c0 into main Aug 5, 2026
55 checks passed
@avrabe
avrabe deleted the release/v0.54.0 branch August 5, 2026 13:01
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