Skip to content

chore(release): v0.41.0 — MCU-dissolve completion + const-expr miscompile fix - #347

Merged
avrabe merged 1 commit into
mainfrom
chore/release-v0.41.0
Jul 15, 2026
Merged

chore(release): v0.41.0 — MCU-dissolve completion + const-expr miscompile fix#347
avrabe merged 1 commit into
mainfrom
chore/release-v0.41.0

Conversation

@avrabe

@avrabe avrabe commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Cut v0.41.0 (0.40.0 → 0.41.0). Scope: #334 (SP-global coalesce + dead-trampoline DCE), #298 (vestigial cabi_realloc drop + dead-grow defer), #338 (global.get extended-const preservation).

Theme

v0.40.0 (#326) made --memory shared correct; v0.41.0 makes the fused node cleanly dissolvable on a real MCU and fixes a silent miscompile of the PIE const-expr shape lowering relies on. With #326, gale's gust:os node fuses and dissolves with no hand WAT surgery.

Gate

  • rivet release status v0.41.0Cuttable (SR-49/50/51 all verified)
  • rivet validatePASS
  • CHANGELOG [0.41.0] with falsification

Verification highlights

Two Mythos passes on each of #298 and #338 caught real latent bugs before merge: a live-allocator grow-trap (#298 — the call-graph reachability gate), and an operand-swapped const-expr sibling + an imported-global remap ordering bug (#338).

Falsification

shared_stack_pointer_runtime_non_clobber (#334), live_internal_grow_keeps_realloc_and_hard_errors (#298), test_338_multimodule_const_first_embedded_globalget_remaps (#338).

Refs #334, #298, #338, SR-49, SR-50, SR-51.

🤖 Generated with Claude Code

…pile fix

Cut v0.41.0 (0.40.0 → 0.41.0). Scope: #334 (SP-global coalesce + dead-trampoline
DCE), #298 (vestigial cabi_realloc drop + dead-grow defer), #338 (global.get
extended-const preservation — silent miscompile). Together with #326 (v0.40.0),
gale's gust:os node fuses AND dissolves cleanly with no hand WAT surgery.

SR-49/50/51 proposed → verified (all merged + tested; two Mythos passes each on
#298 and #338 caught real latent bugs — a live-allocator grow-trap and an
operand-swapped const-expr sibling + an imported-global remap ordering bug).

`rivet release status v0.41.0` → Cuttable (3 artifacts verified). `rivet
validate` PASS. CHANGELOG [0.41.0] with falsification.

Refs #334, #298, #338, SR-49, SR-50, SR-51.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

LS-N verification gate

59/59 approved LS entries verified

count
Passed (≥1 test, all green) 59
Failed (≥1 test failure) 0
Missing (no ls_*_NN_* test found) 0

Approved loss-scenarios.yaml entries are expected to have a
regression test named ls_<letter>_<num>_* (e.g. LS-A-11
ls_a_11_*). The gate runs each prefix via cargo test --lib --no-fail-fast and aggregates pass/fail/missing.

Failed LS entries

(none)

Missing regression tests

(none)

Updated automatically by tools/post_verification_comment.py.
Source of truth: safety/stpa/loss-scenarios.yaml.

@avrabe
avrabe merged commit d3fb908 into main Jul 15, 2026
17 checks passed
@avrabe
avrabe deleted the chore/release-v0.41.0 branch July 15, 2026 05:07
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