Verify a writable-WASM write actually lands (reproducible TinyGo fixture + write test)
Follow-up from #216 / #310 (M5 Phase 3). CLI parity for WASM sources landed: tinkerdown cli now constructs wasm sources, list works, and a read-only module correctly refuses a write. But the piece #216 is actually named for — a successful write through a module that exports write — has zero automated coverage in any transport (CLI or WebSocket).
Why it's not covered yet
What to build (in a TinyGo-available environment)
Verified today (so this issue is scoped to the gap, not the whole feature)
WasmSource.WriteItem exists and enforces the readonly guard (internal/wasm/source.go).
createCLISource constructs wasm; tinkerdown cli … list quotes returns rows; tinkerdown cli … add on the read-only module returns "source is read-only".
🤖 Generated with Claude Code
https://claude.ai/code/session_018M9pJSPmG6i1D8s6rpEV4h
Verify a writable-WASM write actually lands (reproducible TinyGo fixture + write test)
Follow-up from #216 / #310 (M5 Phase 3). CLI parity for WASM sources landed:
tinkerdown clinow constructswasmsources,listworks, and a read-only module correctly refuses a write. But the piece #216 is actually named for — a successful write through a module that exportswrite— has zero automated coverage in any transport (CLI or WebSocket).Why it's not covered yet
.wasmin the repo (examples/lvt-source-wasm-test/sources/quotes.wasm) is read-only — it exportsfetch/get_result_len/free_resultbut nowrite, soWasmSource.IsReadonly()is correctlytrue.//exportABI is incompatible with standard-Gowasip1(which is why thewasm-sourcetemplate mandatestinygo build -target=wasi)..wasmthat can't be rebuilt in-repo would reintroduce the committed-artifact provenance trap frommake buildregenerates the committed client bundle from stale node_modules, breaking checkbox e2e tests #295/Run a browser e2e smoke subset in CI so bundle regressions aren't purely human-detected #297 (a binary that can silently disagree with its source).What to build (in a TinyGo-available environment)
writealongsidefetch), with itstinygo buildwired intomakeso the.wasmis reproducible from source — never a committed mystery binary.tinkerdown cli … addand the live WebSocket/serve path.Verified today (so this issue is scoped to the gap, not the whole feature)
WasmSource.WriteItemexists and enforces the readonly guard (internal/wasm/source.go).createCLISourceconstructs wasm;tinkerdown cli … list quotesreturns rows;tinkerdown cli … addon the read-only module returns "source is read-only".🤖 Generated with Claude Code
https://claude.ai/code/session_018M9pJSPmG6i1D8s6rpEV4h