Publish the captured release tag

This commit is contained in:
2026-10-05 18:24:37 +00:00
parent 7d2c0c10d4
commit 3757d40ac4
10 changed files with 642 additions and 22 deletions

View File

@@ -591,7 +591,7 @@ and unchanged persistent config and refs.
## Stage 7: Create and push the exact annotated tag
Status: Pending. Depends on Stage 6.
Status: Complete. Depends on Stage 6.
1. Implement public publication request/result values and explicit conversion
into the engine. Validate once between the complete preflight guards.
@@ -609,6 +609,13 @@ cannot expand publication. Note content, tag identity, and one-validation
behavior are checked through the public facade. Restrict stage trials to test
remotes while failure handling is incomplete.
Evidence: the public `releasekit.Publish` API captures the committed note,
validates once between exact remote guards, creates an unsigned annotated tag,
rechecks local and remote state, and pushes only the captured tag object. Bare
remote tests verify the note bytes, peeled commit, tag object, unchanged branch
and unrelated refs, disabled follow-tags and mirror expansion, validation count,
remote conflicts, and retained local tags with `unknown` status after push error.
## Stage 8: Resolve rejected and ambiguous publication
Status: Pending. Depends on Stage 7.