Skip to content

release: verify and attest published release evidence#433

Closed
jeremi wants to merge 2 commits into
codex/issue-427-docs-cachefrom
codex/issue-427-release-evidence
Closed

release: verify and attest published release evidence#433
jeremi wants to merge 2 commits into
codex/issue-427-docs-cachefrom
codex/issue-427-release-evidence

Conversation

@jeremi

@jeremi jeremi commented Jul 20, 2026

Copy link
Copy Markdown
Member

Stacked on the documentation-cache PR. Implements the clean-room verifier, evidence bundle, and command-entrypoint recommendations from #427.

  • adds a clean published-release verifier that starts from downloaded public artifacts and anonymous registry/package access
  • validates the exact release asset contract, checksums, signatures, certificates, SLSA subjects, image locks, SBOMs, scans, labels, runtime UID, service versions, and the published registryctl authoring journey
  • emits closed, public-only verification JSON without commands, environment data, logs, credentials, or local paths
  • builds a deterministic release evidence bundle with lineage, run IDs, tool versions, hashes, counts, results, warnings, and held gates
  • signs the verification result and evidence bundle, publishes provenance for both, and makes the final release gate verify the exact 113-asset set
  • exposes the verifier and evidence flow through registry-release and checks every documented manual command against the real parser
  • preserves safe rerun reconciliation for the known evidence assets

Verification:

The live before/after rehearsal measurement remains a post-merge operational step because it requires a real GitHub release run. Part of #427.

Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@jeremi
jeremi force-pushed the codex/issue-427-docs-cache branch from dc82f31 to 888008b Compare July 20, 2026 06:55
@jeremi
jeremi force-pushed the codex/issue-427-release-evidence branch from 571a402 to 07600e9 Compare July 20, 2026 06:55
Comment thread release/scripts/check-release-manual.py Fixed
Comment thread release/scripts/test_verify_published_release.py Fixed
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@jeremi

jeremi commented Jul 20, 2026

Copy link
Copy Markdown
Member Author

Release and security review verdict: please do not merge as-is.

Required changes:

  • Prevent stale signed evidence after an existing release asset is replaced. Either block clobbering when final evidence exists unless that evidence is removed first, or have final verification download the current pre-evidence assets and compare their sizes and SHA-256 values with the signed artifact inventory.
  • Rebase onto current main after the release reproducibility work settles, dropping obsolete stacked commits and preserving the current release contract.
  • Run full CI and security checks on the rebased main-targeted head.

The verifier is useful, but the stale-evidence path is a release-integrity blocker for this PR. This improvement itself is not required for beta-16.

@jeremi

jeremi commented Jul 20, 2026

Copy link
Copy Markdown
Member Author

Fresh beta-16 review at head 76fbbaa: please keep this stacked draft out of the current release train.

Required before reconsideration:

This PR changes workflows, evidence schemas, and asset verification, so merging it after beta-16 preparation would invalidate candidate evidence unless the train were restarted.

@jeremi

jeremi commented Jul 22, 2026

Copy link
Copy Markdown
Member Author

Closing as not planned after the post-beta cost review. Signed Releases already passes at 10/10, and the existing workflow reconciles checksums, signatures, provenance, and published assets. PR #431 replaces this large evidence-bundle design with the smaller publish-once guard and fix-forward policy.

@jeremi jeremi closed this Jul 22, 2026
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.

2 participants