058-one-tagged-run-releases-the-family
One tagged run releases the family (amends 021, 031, 053 and 056)
A proposed amendment of approved specs 021 (3.1, 3.8 to 3.10), 031 (3.9, 3.11, 3.12), 053 and 056 (3.3 to 3.5), modeled on spec-spine's tag-gated release. Pushing the owner's signed annotated tag `vX.Y.Z` on a commit of `main` starts one workflow run that builds every artifact once, checks reproducibility inside the run, generates and attests the manifest from what it built, publishes crates and npm packages through trusted publishing, creates and verifies the GitHub release, and ends with the fresh-consumer qualification. The rehearsal precondition, the owner-signed manifest, the second run, the signed publication instruction and its journal continuation are removed; release candidates become optional. Ratified by the owner on 2026-10-28 (A-61): the signed tag alone authorizes a release, and crates.io is published through trusted publishing.
Read the full pinned specification ↗Relationships
depends on
depended on by
amends
amended by
Claimed units
- extends
{ "nature": "amending", "spec": "031-public-api-and-release-family", "unit": { "kind": "directory", "path": "tools/rustev-release/" } }
Source headings
- 058: One tagged run releases the family (amends 021, 031, 053 and 056)
- 1. Purpose
- 1.1 The motivating case: 0.2.0
- 1.2 The model: spec-spine's release
- 2. Territory
- 3. Behavior
- 3.1 The trigger and the authority
- 3.2 One run
- 3.3 Publication
- 3.4 Verification and qualification
- 3.5 Failure and resume
- 3.6 What stays
- 3.7 Candidates become optional
- 3.8 What a human does
- 3.9 What is removed
- 4. Observable negative cases
- Acceptance
- Verification
- Implementation record
- Open questions for the owner
Frozen anchors
No frozen anchors declared.