Scope
The reproducible-build verification issue (round 3) tracks proving OUR build is reproducible. The deferred work is the consumer-side flip: documenting how a third party verifies it independently — clones the source at the published tag, builds in their own environment, compares sha256sums against the published NuGet package.
Without published instructions, "our builds are reproducible" is an unverifiable claim. The Reproducible Builds project (reproducible-builds.org) has conventions for this; vouchsafe.io and similar can publish third-party verification attestations.
Acceptance criteria
- A
docs/REPRODUCIBLE-BUILD.md documents: which exact tooling versions to use, the build command, what sha256sums to expect for each release artifact, and how to file a discrepancy issue.
- Per-release: the
release.yaml publishes a reproducible-build-manifest.json with expected hashes as a release artifact.
- A documented procedure for a third party to upload a verification attestation (Reproducible Builds project conventions or vouchsafe.io).
- The README links the documented procedure under a "Verify the build" section.
Notes
- Tier-1 follow-up. Pairs with the round 3 reproducible-build verification issue. Together they close the supply-chain integrity loop.
- Originated as part of the IAsyncEnumerable-Extensions thorough-review pass; tracked fleet-wide.
- Board: https://github.com/users/Chris-Wolfgang/projects/6
Scope
The reproducible-build verification issue (round 3) tracks proving OUR build is reproducible. The deferred work is the consumer-side flip: documenting how a third party verifies it independently — clones the source at the published tag, builds in their own environment, compares
sha256sums against the published NuGet package.Without published instructions, "our builds are reproducible" is an unverifiable claim. The Reproducible Builds project (reproducible-builds.org) has conventions for this; vouchsafe.io and similar can publish third-party verification attestations.
Acceptance criteria
docs/REPRODUCIBLE-BUILD.mddocuments: which exact tooling versions to use, the build command, whatsha256sums to expect for each release artifact, and how to file a discrepancy issue.release.yamlpublishes areproducible-build-manifest.jsonwith expected hashes as a release artifact.Notes