Skip to content

chore(release): v0.38.0 — memory-strategy soundness gate + reproducible output#332

Merged
avrabe merged 1 commit into
mainfrom
release/v0.38.0
Jul 10, 2026
Merged

chore(release): v0.38.0 — memory-strategy soundness gate + reproducible output#332
avrabe merged 1 commit into
mainfrom
release/v0.38.0

Conversation

@avrabe

@avrabe avrabe commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Cuts v0.38.0 (0.37.0 → 0.38.0). rivet release status v0.38.0✓ cuttable (SR-37 scoped, verified); rivet validate PASS.

Scope (already merged to main)

⚠ Default-behaviour change (#326)

--memory auto no longer selects shared+rebase (it silently corrupted computed-pointer memory) — always resolves to multi-memory. This supersedes ADR-4's "Auto is not flipped" maintainer decision (which assumed shared+rebase was a sound alternative isolation model). Default output now needs --enable-multimemory; explicit --memory shared --address-rebase still works but warns loudly.

Safety-doc reconciliation (this release's traceability gate)

Falsification

ls_m_11_auto_gates_unsound_shared_rebase (auto→multi + 2 memories), test_reproducible_attestation_is_byte_stable (+ control differs), llvm-dwarfdump --verify 1049→0.

On merge: tag v0.38.0 on green main (release.yml).

🤖 Generated with Claude Code

…le output

Cut v0.38.0 (0.37.0 → 0.38.0). Scope: #326 shared+rebase soundness gate, #325
--reproducible, the #319 DWARF-verify trilogy, #297 kiln-seam tracking.

Safety-doc reconciliation for #326 (the traceability gate for this release):
- SR-37 corrected: it had REQUIRED Auto to prefer shared+rebasing for grow-free
  multi-memory inputs — an unsound requirement (it specified a corrupting
  transform). Now requires Auto → multi-memory (sound); shared+rebase gated to
  explicit opt-in. Scoped release: v0.38.0, status verified.
- LS-M-11 added: shared-memory address rebasing does not rebase dynamic
  addresses → silent computed-pointer corruption; gate mitigation + pending
  rewriter fix. Pinned by ls_m_11_auto_gates_unsound_shared_rebase (renamed
  from auto_gates_shared_for_growfree_inputs_326 for the LS-N gate).
- ADR-4 superseded-in-part: its "Auto is not flipped" decision assumed
  shared+rebase was a sound alternative isolation model; #326 proved it
  corrupts, so the rejection rationale is void and Auto now resolves to multi.
  Corrected the stale "log-only, no behavior change, resolution unchanged" note.
- SWV-37 verification updated to the renamed test.

`rivet release status v0.38.0` → cuttable (1 artifact, verified). `rivet
validate` PASS. CHANGELOG [0.38.0] with falsification statements + the
default-behaviour-change callout.

Refs #326, #325, #319, #297, ADR-4, SR-37, LS-M-11.

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 15e25ad into main Jul 10, 2026
17 checks passed
@avrabe avrabe deleted the release/v0.38.0 branch July 10, 2026 16:34
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