Repository navigation
Add thirdshift stop for live Runs - #783
Merged
Merged
Conversation
This was referenced Oct 18, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #773.
The Command records who stopped it in its Activity log before its ending. Stop refuses ended or died Commands, never prompts or forcibly kills, and reports “still ending” each minute during cleanup.
Evidence
cargo test --test stopfailed becausestopwas parsed as an Issue URL.After: Stop integration tests pass for unpushed work, pushed branch/PR retention, requeue with and without a push, and refusal without signaling a live process behind an ended or stale record.
cargo test --test review_stop_spec stopping_a_fresh_numbered_branch_does_not_keep_a_claim_for_a_finished_pr -- --exact --nocapturefailed: an old merged PR leftin-progresson an unpushed numbered branch.After: the same command passes for both merged and closed historical PRs; the regression is retained.
a_stop_request_in_the_file_adapter_is_logged_before_the_endingfailed because recording bypassed its file adapter.After: the retained test passes; request reads now use the existing adapter.
cargo test,cargo check --all-targets,cargo fmt --check, andcargo clippy --all-targets -- -D warningsall pass.Test seams: Claim endings through the existing in-memory adapter; compiled CLI against real Git and the existing GitHub/Harness fakes; Stop's clock and output while waiting; recorder lifecycle through its existing file adapter.
Review coverage
Independent
thirdshift-code-reviewStandards and Spec reviews usedissue-711at276f02d84efbed062a711bbf0d202e99e3f86420, the fetched origin base (the stale local ref is checked out in another worktree). Both reviewers read all 16 changed files, including their follow-up coverage, with no generated-output exclusions. Changed files left unread: none.Unaddressed findings
Merge Danger
Door: two-way
Additive CLI command and Stop-request files. Ordinary interruption keeps its existing Claim behavior. macOS identity-aware signaling requires runtime support; unsupported versions refuse without sending a signal. Linux validation ran locally; macOS execution awaits CI.
Blast Radius: Commands
Stop changes Claim labels and interrupts the selected Command through normal cleanup, preserving pushed work. Stopping a child Run resolves to its owning Command.
Built with codex · gpt-6.1-sol · high