Repository navigation
Closed
Labels
enhancementNew feature or requestNew feature or requestready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Description
Parent
What to build
Complete thirdshift release's resilience and operator controls by adding unfinished-release resume and unpublished-tag recovery, single-attempt targeted Fix run recovery on bump pull requests, optional --with-experiment release gating, and interactive --review summary editing.
- Unfinished release discovery, resume, and unpublished-tag recovery: After acquiring the release lock and reservation,
thirdshift releasechecksoriginfor an unfinishedrelease-<X.Y.Z>branch, openRelease <X.Y.Z>pull request, or unpublishedv<X.Y.Z>tag newer than the latest published GitHub Release (never moving an already-published GitHub Release, and refusing if GitHub Release publication state cannot be verified):- In Pass mode, machine-recoverable states (a pushed exact-bump branch without a pull request, an open non-draft exact-bump pull request waiting on CI, or a completed failed release workflow run whose GitHub Release was never published) are automatically adopted and resumed/recovered (honouring any higher requested bump flag when re-cutting from newer
main), whereas human-blocked states (a draft bump pull request left after a failed Fix run, non-bump commits onrelease-<X.Y.Z>, or an unverifiable publication check) cause the Pass to skip quietly naming the blocked release rather than repeatedly failing into Needs you. - In direct
<version>mode,thirdshift release <version>resumes or recovers that exact version and refuses with clear recovery instructions if a different unfinished version is live or if<version>is closed or human-blocked.
- In Pass mode, machine-recoverable states (a pushed exact-bump branch without a pull request, an open non-draft exact-bump pull request waiting on CI, or a completed failed release workflow run whose GitHub Release was never published) are automatically adopted and resumed/recovered (honouring any higher requested bump flag when re-cutting from newer
- Targeted Fix run recovery on bump PRs: While waiting on
Release <version>checks and mergeability, if the pull request hits a Merge conflict or a completed failing check run,thirdshift releaseruns at most one in-process targeted Fix run (--no-merge --no-base-fix), verifies the resulting head still has a Git tree identical to itsorigin/mainmerge-base plus only the exact Cargo manifest/lockfile version bump, refreshes any requested Experiment and release summary if the content base moved, and stops before pushingv<version>if the pull request was converted to draft or remains failing/conflicted. - Optional
--with-experimentgating: Off by default; when passed (via CLI oradmin-scopedPOST /api/v1/startand Console Start controls),thirdshift releasepins the selected content commit in a local candidate ref so interrupted runs resume cleanly, runs or resumes the release Experiment in-process against the last release tag on touched Eval suites (polling pending rechecks or leak decisions with periodic progress lines), promptsrelease anyway? [y/N]onfailorinconclusiveonly when standard input is a terminal, and fails cleanly when unattended. - Interactive
--review: Validated before expensive work; refuses immediately when standard input is not a terminal, and on a terminal prints the summary and lets the maintainer accept, edit in$EDITOR, or cancel. Registerrelease --reviewas a reasoned CLI-only exclusion in Console parity checks.
Acceptance criteria
- Pass mode auto-resumes machine-recoverable unfinished
release-<X.Y.Z>states (branch without PR, open non-draft exact-bump PR waiting on CI, and failed release workflow with no published GitHub Release) and skips quietly with a deduplicated Activity log entry when an unfinished release is human-blocked (draft bump PR, foreign commits onrelease-<X.Y.Z>, or unverifiable publication lookup). - Direct
thirdshift release <version>resumes/recovers matching recoverable states, never moves an already-published GitHub Release, and fails with actionable recovery instructions when another unfinished version exists or<version>is closed or human-blocked. - On a bump PR Merge conflict or completed failing workflow,
thirdshift releaseruns at most one in-process targeted Fix run (--no-merge --no-base-fix), re-validates the exactorigin/mainversion-bump tree, refreshes--with-experimentand summary when the content base moved, and aborts before tagging if the PR becomes draft or stays failing. -
--with-experimentruns/resumes the release Experiment in-process from the running binary (withoutcargo runon the Launch directory), pins the content commit across interruptions, allows interactive terminal override onfail/inconclusive, fails unattended onfail/inconclusive, and is exposed onadmin-scopedPOST /api/v1/startand Console Start controls. -
--reviewfails fast before expensive work when stdin is not a terminal, supports accept /$EDITORedit / cancel on a terminal, and passes Console CLI parity checks as a documented CLI-only flag.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agent
Activity
thirdshift releaseCommand and Pass for scheduled and on-demand releases #2054minor/patchselection #2158JacobStephens2 commentedon Nov 14, 2026
Closed by #2186, merged into issue-2054 by a thirdshift Ticket run with Self-merge.