Skip to content

finding(AFD-023): loom dead-stores miscompiles the meld-fused core — SIL gate caught it (loom#220)#45

Merged
avrabe merged 1 commit into
mainfrom
finding/loop-iter20-loom-deadstores
Jun 14, 2026
Merged

finding(AFD-023): loom dead-stores miscompiles the meld-fused core — SIL gate caught it (loom#220)#45
avrabe merged 1 commit into
mainfrom
finding/loop-iter20-loom-deadstores

Conversation

@avrabe

@avrabe avrabe commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Release-watch loop iteration #20 (2026-06-14). New: falcon v1.59.0, synth v0.11.45, spar v0.18.0.

The catch (behavioral SIL gate, on the meld→loom reorder)

Moving to meld → loom → synth makes loom optimize the fused core — and the §3a behavioral gate caught loom's dead-stores pass producing valid-but-wrong output on the fused falcon-v1.59 core: run-stabilization 0.023399856 → 0.32916 (kiln, same runtime). Pass-bisected: only dead-stores is wrong; the other 15 passes are correct. Filed loom#220 with a byte-exact committed repro (repro/loom-dead-stores/).

  • BUILD.bazel now runs wasm_optimize with all passes except dead-stores (SIL-verified correct) — keeps the meld→loom→synth order safe until loom#220 lands. AFD-023.

Per-piece (new releases)

Piece Result
falcon v1.59.0 wasm asset present (relay#140 holds); SIL gate 0.0234 / 0.1317 ✅
meld v0.31.0 fuse valid ✅
kiln v0.3.2 fused-core stab == reference ✅
spar v0.18.0 WIT codegen valid ✅
synth v0.11.45 installed (burndown deferred — clean fixture needed post-loom-fix)

Supervision

  • rwc#505 (my wasm_component_import) MERGED — jess can drop its local adopt shim (follow-up: bump rwc pin past the merge).
  • gale#63 (msgq now dissolves via synth v0.11.45 → joins sem/pipe/mutex for the WIT world), relay#177 (ownership resolved: relay owns seam, gale owns ring) — progressing.

rivet validate: PASS.

🤖 Generated with Claude Code

…core — SIL gate caught it (loom#220)

iter#20. Moving to meld→loom→synth made loom optimize the FUSED core, and the
behavioral SIL gate caught loom's dead-stores pass producing valid-but-wrong
output (run-stabilization 0.0234 → 0.329 on kiln). Pass-bisected: only
dead-stores is wrong; the other 15 passes are correct.

- AFD-023 / loom#220: filed with byte-exact committed repro
  (repro/loom-dead-stores/falcon-v1.59.fused.wasm) + the bisect table.
- BUILD.bazel: wasm_optimize now runs all passes EXCEPT dead-stores
  (SIL-verified correct), keeping the meld→loom→synth order safe until loom#220
  lands.
- Per-piece this iter (falcon v1.59 / new releases): SIL gate 0.0234/0.1317 ✅,
  meld v0.31 fuse ✅, kiln == reference ✅, spar v0.18 WIT ✅,
  synth v0.11.45 installed. rwc#505 (wasm_component_import) MERGED upstream.

rivet validate: PASS.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@avrabe avrabe merged commit 9de7ef7 into main Jun 14, 2026
@avrabe avrabe deleted the finding/loop-iter20-loom-deadstores branch June 14, 2026 19:28
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