Skip to content

make a way to easily see in progress thirdshift runs on machine and cut one off #574

Closed

Description

@JacobStephens2

such as if a pickup run started on an issue before I was ready to have that issue picked up and started on

Concrete example: Chart35 #239, “Spec: Couple Sharing for two accounts with one chart history.” On October 8, 2026, a cron-triggered thirdshift pickup base main took it and started a Codex implementation session before I considered it ready. The activity log recorded the run starting at 9:17:08 a.m. EDT.

I asked Codex to find and stop it, and also asked how I could see and stop runs myself. I was unsure whether it was running on another server. Codex found it on the server whose hostname is thirdshift, by inspecting processes and the repository’s activity and command logs. There was no built-in run-listing or stop command in the installed CLI.

To stop it, Codex sent SIGTERM to the Thirdshift Pickup parent process (kill -TERM 1826215), rather than killing the Codex process directly. Thirdshift stopped the session, pushed the issue-239 branch during cleanup, removed the local worktree and branch, and recorded Pickup run #239 ended: failed: interrupted at 9:22:16 a.m. EDT. The process tree exited; no PR was created.

This case illustrates the need to identify which issue each active run is working on, which machine it is on, and its logs, then stop the selected run gracefully and see confirmation that it stopped, including any branch or PR it left behind.

Activity

  1. JacobStephens2 commented on Oct 17, 2026

    @JacobStephens2
    OwnerAuthor

    This was generated by AI during triage.

    Triage Notes

    #711 now owns viewing active Runs across machines; this issue still owns selecting one and stopping it gracefully. Existing SIGTERM handling can preserve work, but there is no supported discovery/stop command.

    Decisions needed: How should a Run be selected by issue and machine, and is the first version local-only? Define authorization/transport for a remote stop, confirmation that the selected process actually ended, and the branch/PR information shown afterward. Coordinate Claim handback with #613/#617 rather than assuming a stop automatically makes the issue eligible for Pickup.

  2. added
    enhancementNew feature or request
    needs-triageMaintainer needs to evaluate this issue
    wontfixThis will not be worked on
    and removed
    needs-triageMaintainer needs to evaluate this issue
    on Oct 17, 2026
  3. JacobStephens2 commented on Oct 21, 2026

    @JacobStephens2
    OwnerAuthor

    This was generated by AI during triage.

    Closing as already implemented, per machine:

    • thirdshift status lists this machine's live Commands with their issue, stage and age. --json gives each one's Command log and Session log, and thirdshift logs reads them.
    • thirdshift stop <command> sends SIGTERM to the recorded process only, waits for its cleanup, and prints the outcome and the Issue branch and pull request it left. The Console's Stop does the same after a confirmation page.
    • Each machine's Console shows its own Commands and links to the others' Consoles (Spec: see, follow and Stop a machine's Commands from the CLI #711, ADR 0016), so a Run on another machine is stopped from that machine.

    Related follow-ups: stopping one Ticket's Run inside a Spec run (#832), and saying which machine holds a Claim (#833).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestwontfixThis will not be worked on

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions