Publish and verify signed SBOM and ABI release assets

Open
#1,811 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
bash, c, github-actions
Domain
devops, release

Research direction

Start with docs/RELEASE_PROCESS.md and docs/SIGNING.md, then inspect scripts/release/generate-sbom.sh, the release workflow, ABI generation and baseline policy, and existing release-verification and draft-publication helpers. The acceptance criteria call for exact-tag provenance, verification of uploaded bytes and identity, failure cases, partial-publication retries, regression checks, and downstream instructions; completion means these checks pass while preserving source-archive behavior and signing boundaries.

Written by the indexing model from the issue text.

Description

p1-high track/release track/sec

Scope and ownership

Automate generation/selection, signing, verification, and publication of SBOM and ABI release assets. This is an engineering child of #687 and delegates the SBOM/ABI artifact-signing slice of #750. #750 retains broader signing/GA acceptance; #1154 retains maintainer GPG identity and operational validation; #1318 owns certificate-minting authority.

Discovery context

The 2026-09-22 post-0.70.0 triage reviewed released commit c353350232c35356b34085abf5780a2fcb81e80f. docs/RELEASE_PROCESS.md and docs/SIGNING.md explicitly describe SBOM/ABI release attachment as unautomated. Existing generators and drift gates exist, and the release workflow signs the source archive, but #687 has no separate attachment implementation owner. Architect and Critic agreed to this decomposition and explicit delegation from #750; it is not a second source-archive signing pipeline.

Implementation boundary

  • Reuse scripts/release/generate-sbom.sh, ABI generation/baseline policy, existing release verification, and draft-release publication helpers.
  • Tie SBOM formats and ABI manifests to the exact tag SHA and documented build/architecture profile; preserve the existing Linux x86_64 layout-manifest versus architecture-independent symbol policy.
  • Publish checksums and verifiable artifact signatures, binding verification to the exact bytes and intended signing identity.
  • Preserve existing source-archive signing behavior, immutable published assets, and safe partial-publication retry semantics.
  • Preserve narrowly scoped signing permissions and resolve #1318's authority boundary before relying on an expanded signed-artifact release claim.
  • Do not designate GPG keys, waive GA checks, publish a GA release, or invent new ABI support tiers.

Acceptance criteria

  • The draft-release pipeline attaches both supported SBOM formats and the documented ABI manifests with exact-tag/build provenance.
  • Checksums/signatures verify against the uploaded bytes and intended identity before successful publication is reported.
  • Missing, stale, substituted, tampered, or inconsistent artifact sets fail required-mode validation.
  • Contract tests cover positive verification, negative identity/content cases, partial publication, and retry without overwriting immutable assets.
  • Source-archive behavior and signing-permission boundaries remain covered by regression checks.
  • Downstream verification instructions cover all new assets and clearly identify retained manual/operational GA steps.

Target: 0.90.0 preparation; #687/#750 retain release-specific evidence and final acceptance. No additional runner-provisioning issue is introduced.

Dominant language
C
Stars
18
Forks
2
Avg merge
10h 5m
Merged PRs (30d)
146

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from semantic-reasoning/wirelog

All issues in semantic-reasoning/wirelog

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.