MALT v0.0.7-rc.2 — Verifier/Writer Separation and Content-Addressed WASM Delivery
Pre-releaseThis release candidate completes the browser Verifier/Writer separation
introduced in v0.0.7-rc.1 and establishes a reproducible, content-addressed
WASM delivery contract.
MALT remains pre-v1, experimental, and not production-ready.
Highlights
Separate Verifier and Writer runtimes
The browser Verifier no longer initializes Writer-only commitment state or IPA
fixed-base committer tables. Writer functionality is published as one KZG
module and three IPA modules using the direct, compact, and fast
committer profiles.
All IPA profiles preserve the same parameter set, commitments, typed roots,
transcripts, proofs, and wire formats. Core requires an explicit exact
backend/profile; device selection and retrying another profile remain host
policy.
Hardened Writer lifecycle
The Writer controller provides lazy initialization, cancellation-safe startup,
one runtime per controller, exact backend/profile targeting, observable idle
Worker failures, and fail-closed retirement of fatal runtimes. Failed stateful
operations are not automatically replayed against a replacement runtime.
Content-addressed WASM assets
Verifier and Writer files are published as coordinated sets. Each asset set is
identified by the full SHA-256 digest of its exact SHA256SUMS bytes. Archive
filenames additionally bind the SHA-256 of the exact compressed archive.
Only complete digest paths are immutable. Consumers must load every runtime
file from one asset set and must not mix files from different digests.
The Writer bundle uses malt.web-writer.provenance/v3, which binds split
artifacts and Core-enforced runtime invariants without asserting host device
selection or retry behavior.
Compatibility
This RC does not change MALT roots, CIDs, parameter sets, transcripts,
commitments, proof encodings, ProofLists, receipts, or serialized protocol
profiles relative to v0.0.7-rc.1.
Browser integrations built against rc.1 must adopt the split Writer filenames,
the createMaltWriterWorker controller API, and Writer provenance v3.
The v0.0.7 line remains an intentional pre-v1 source- and wire-breaking change
relative to v0.0.6. The structured 0x30VSBB roots, 4096-slot KZG geometry,
Map membership/non-membership proofs, and client-root contracts introduced in
rc.1 remain experimental.
See the complete release notes and WASM asset contract.
Release contract
- Authoritative source tag:
v0.0.7-rc.2 - Tagged commit:
80a6dc86e35815e3d4201adfbecf949caca21c42 - Toolchain: Go 1.25.7
- Convenience assets: Verifier archive, Writer archive, release manifest, and
top-levelSHA256SUMS
Release assets are immutable and must not be renamed or replaced.
Validation
- Exact-commit Go release gate and CodeQL checks passed.
- Full Go test, vet, and build gates passed locally and in CI.
- 32-bit KZG and IPA commitment tests passed.
- Verifier WASM passed 49 Resolve/Read plus 8 Map-proof vectors with both
backends, and 25 plus 4 vectors in each backend-selected run. - Writer controller tests passed 12/12; KZG and all three IPA Writer profiles
passed their WASM/session tests and Worker smoke. - A temporary external Go module compiled against the tagged tree.
- Two builds under different ambient Go environments and umasks produced
byte-identical release assets. - Canonical gzip/ustar, provenance, checksums, archive members, metadata,
padding, and end-block validation passed. - Seven self-consistent but noncanonical archive variants were rejected.
Published checksums
b152ed22cefeb80928ced636896635f18e6bb407d472125bb8c2bb688cfe6d4d malt-verifier-v0.0.7-rc.2-d12a6cd24aded6a0f371f87d4067eadd360a5da4ef6e7736dfd5654ec406fb3f-b152ed22cefeb80928ced636896635f18e6bb407d472125bb8c2bb688cfe6d4d.tar.gz
87dd6eaa703ef3690505d64aa514175e54ce7e06b08d084ebcf1fcde46c14019 malt-writer-v0.0.7-rc.2-0e7b6506ffc9f446a6bf7f42649632c3f42a7520d0a827f2ee95d11ba67ae12a-87dd6eaa703ef3690505d64aa514175e54ce7e06b08d084ebcf1fcde46c14019.tar.gz
d3f5b2c8d67429842b9f84e9b23e273a2895f3bb41777ba0ae5c5f6f9e188407 malt-wasm-release-v0.0.7-rc.2-d3f5b2c8d67429842b9f84e9b23e273a2895f3bb41777ba0ae5c5f6f9e188407.json
Known limits
- The browser Verifier is the Go verifier compiled to WebAssembly, not an
independent cryptographic implementation. - Core does not select Writer profiles from browser capability hints or retry a
different profile after failure; applications define that host policy. - Running clients must reload after the application entrypoint selects a new
Verifier or Writer asset-set digest. - Client-root bundles and materialization receipts are not portable
state-transition, publication, freshness, or trust proofs.