@@ -6,8 +6,8 @@ Title: Contract Build Reproducibility for Verification
66Author: Leigh McCulloch <@leighmcculloch>
77Status: Draft
88Created: 2026-05-01
9- Updated: 2026-06-16
10- Version: 0.4 .0
9+ Updated: 2026-06-18
10+ Version: 0.5 .0
1111Discussion: https://github.com/orgs/stellar/discussions/1923
1212```
1313
@@ -243,6 +243,9 @@ lives.
243243
244244- This SEP defines a vocabulary, and a mechanism, not a complete
245245 implementation.
246+ - The vocabulary targets the common build workflow, not every possible build; a
247+ bespoke workflow's build inputs may not be fully expressible, by design (see
248+ [ Design Rationale] ( #design-rationale ) ).
246249- It captures the build environment and source identity, not whether the source
247250 itself is trustworthy, audited, or non-malicious; that is an orthogonal
248251 concern.
@@ -253,6 +256,15 @@ lives.
253256
254257## Design Rationale
255258
259+ ** Why target the common build workflow rather than every workflow?** The
260+ vocabulary captures the common contract build workflow, not every possible
261+ build. A bespoke workflow's build inputs may not be fully expressible, and that
262+ is acceptable. If the proposal sought to satisfy every possible build workflow
263+ it would grow without bound and could not realistically be completed. The goal
264+ is for contracts to converge towards the workflow supported by this proposal,
265+ not for this proposal to expand to satisfy every build workflow. The vocabulary
266+ can expand, but it should do so when it serves the common workflow.
267+
256268** Why a vocabulary, not an algorithm?** Verification practice is still emerging
257269across CIs, registries, on-chain indexes, and ad-hoc scripts. Locking in one
258270workflow would close off useful directions; a shared vocabulary lets
@@ -435,6 +447,7 @@ the rebuilt wasm to the original is the verification result.
435447
436448## Changelog
437449
450+ - ` v0.5.0 ` - Clarified that this proposal targets the common build workflow.
438451- ` v0.4.0 ` - Replaced the
439452 ` source_repo ` /` source_rev ` /` tarball_url ` /` tarball_sha256 `
440453 source-identification fields with a required ` source_sha256 ` and an optional
0 commit comments