Skip to content

Let CLI recovery create a new exact release tag #14

Description

@rmcdaniel

Problem

The repository-owned recovery workflow can resolve the exact immutable plan but cannot create a previously absent release tag. In run 29746484987, the workflow resolved 0.1.94 at 36bde75882980e834854a145c9ad0f61ceec4659; its GITHUB_TOKEN had contents: write, but POST /git/refs failed with Resource not accessible by integration (HTTP 403). The earlier successful recovery path only verified an already-existing tag, so new-version recovery was never proven.

Acceptance criteria

  • An untagged exact release-plan component can create its planned tag at the exact source commit through the repository-owned GitHub recovery workflow.
  • Tag mutation authority is repository-scoped, available only inside a protected publication environment, and is not exposed to discovery or pull-request jobs.
  • Existing exact tags remain idempotent; an occupied or mismatched tag fails closed without dispatching publication.
  • Recovery explicitly dispatches the exact release workflow after tag creation and retains public evidence linking the plan, tag, commit, and publication run.
  • Focused tests cover absent-tag creation authority, exact replay, mismatched occupancy, unavailable credentials, and interrupted retry.

Completion

Close only after GitHub recovery creates 0.1.94 at the planned commit, publishes and verifies the complete CLI asset set, and target-branch qualification passes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    authority:githubGitHub is the authoritative lifecycle record for this workbeta:blockerMust be resolved before the first 2.0 betacompletion:evidence-verifiedAcceptance, fixed version, and required operational evidence are publicly verifiedkind:release-blockerA release cannot proceed until this issue is resolvedpriority:P0Immediate release or data-integrity riskrepo:cliOwned by the CLI repositorystatus:doneDerived from the authoritative closed issue state

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions