Skip to content

Say which machine holds a Claim #833

Open

Description

@JacobStephens2

From the #711 grilling, Q23 (c). Two machines run thirdshift, thirdshift and stephens, and both pick up from some of the same repositories, thirdshift and clave among them. Each Console shows only its own machine's Commands (#776) and links to the others. But GitHub alone can't answer "which machine is working on this issue?": a Claim is just the in-progress label.

Wanted: the Claim says which machine took the issue, so the issue on GitHub answers it. Today:

  • The Pickup reservation on origin (ADR 0017, refs/heads/thirdshift/pickup/<n>) has a commit message naming the Launch directory, process and start time, but not the machine.
  • thirdshift already knows its hostname, and uses it in Run notifications and failed-run commits.

Options to weigh:

  • a comment on the issue when it's Claimed, naming the machine and the Command (and edited when it ends);
  • the hostname added to the Pickup reservation's commit message;
  • a label per machine, such as on:stephens. That's probably too noisy.

Open questions:

  • Should a Run started by hand on an Issue URL say so too, or only Pickup runs?
  • Is a comment per Claim too noisy on issues that get picked up many times?
  • Should the Console link a Command to the other machine's Console when it isn't local?

Activity

  1. JacobStephens2 commented on Oct 20, 2026

    @JacobStephens2
    OwnerAuthor

    This was generated by AI during triage.

    Another reason for the Claim comment: say how the run ended

    A Claim kept after a Failed run looks the same on GitHub as a run still in progress. Educational-Travel-Adventures/tourbot#880 kept in-progress after a Pickup run on 2026-10-20 that failed after 34s with Tickets not done: #883. Nothing on the issue said it had stopped. You could only tell from the notification email.

    If the Claim comment is edited when the Claim ends, as this issue already suggests, it could also say how the run ended:

    Then the issue answers "is the factory still working on this?" without changing what the Claim means. in-progress stays on, so the Claim limit and the hand-back label history work as they do now. Swapping in-progress for a triage label when a run fails was considered and rejected for those two reasons.

    Related: #884 (Pickup passes over a Spec with no Ticket it can start) would have stopped the #880 run from happening at all.

  2. JacobStephens2 commented on Oct 25, 2026

    @JacobStephens2
    OwnerAuthor

    This was generated by AI during triage.

    Triage: the trivial, reversible slice (recording Host: in the Pickup reservation) is split out as #1328. This stays needs-triage for the Claim-comment questions (post one and edit it with the outcome? also on direct Runs?). I'd grill it together with #1165, #585, #710, #959 and #960, which all concern how a Claim lives and ends.

  3. JacobStephens2 commented on Nov 9, 2026

    @JacobStephens2
    OwnerAuthor

    This was generated by AI during a grill-with-docs session.

    Partly covered by Spec #1901 (Ticket #1904): when a Run ends agent-failed, its issue gets a generated Recovery comment that names the machine. Nothing names the machine while a Run is live, so this stays open for that. The Fleet Console (#1769) also shows every listed machine's live Commands.

  4. added
    in-progressA Claim: thirdshift has taken this issue
    and removed
    needs-triageMaintainer needs to evaluate this issue
    on Nov 10, 2026
  5. JacobStephens2 commented on Nov 10, 2026

    @JacobStephens2
    OwnerAuthor

    This was generated by AI during triage.

    Investigation summary

    What's left of this issue is naming the machine on GitHub while a Run is live. The other parts have been split out or covered elsewhere.

    Already done or decided (confirmed):

    Code facts (confirmed on Base):

    • The Claim is made in src/run.rs (make_claim → claim::make) and ended in claim.end(ending) (src/claim.rs).
    • GitHub::comment_issue (src/github.rs:319) only posts a comment. No edit-comment API exists, so editing a Claim comment when the Claim ends would need a new GitHub operation and a fake-gh seam.
    • crate::host::name() (src/host.rs) already supplies the hostname to notifications, the Console, logs and the reservation.
    • Runs started by hand on an Issue URL, Custom processes and Triage runs record their machine nowhere on GitHub.

    Still open (Day shift decisions): whether to name the machine during a live Run at all, how to do it, which Commands do it, and how to keep issues that are claimed many times from filling with comments. See the questionnaire.

    Suggested minimal slice if approved: when the Claim is made, post one AI-attributed comment naming the machine and the Command (no edit, no local paths), for every Command that makes a Claim. Test it through the fake gh integration tests by asserting the recorded comment.

    Questionnaire

    Questions for the Day shift: naming the machine that holds a live Claim (#833)

    Context: two machines (thirdshift and stephens) pick up from the same repositories. The Pickup reservation ref now records Host: (#1328). Spec #1901 makes in-progress mean only a live Run and marks each ending by labels. Failed Runs get a Recovery comment naming the machine (#1904). The Fleet Console (#1769) shows every machine's live Commands. The issue page itself still doesn't say which machine is working on a live Claim, and a Run started by hand records its machine nowhere on GitHub.

    1. Is naming the machine on the issue during a live Run still wanted, or do the Fleet Console plus the reservation ref's Host: line cover it? (If they cover it, Say which machine holds a Claim #833 closes as done.)
    2. If wanted, which form: (a) one generated comment when the Claim is made, naming the machine and the Command; (b) the same comment, edited when the Claim ends; (c) something else? Labels per machine such as on:stephens were already judged too noisy. Note that (b) needs a new edit-comment GitHub operation, and Spec: in-progress marks only a live Run #1901 already shows the ending through labels and the Recovery comment.
    3. Which Commands should post it: only Pickup runs, or every Command that makes a Claim (runs started by hand on an Issue URL, Architect and Security dispatches, Custom processes, Triage runs on existing issues)?
    4. For issues claimed many times, which do you prefer: a comment on every Claim, one only when the machine differs from the last Claim comment, or one per issue that gets edited?
    5. Is anything about linking a Command to the other machine's Console still needed after Fleet: start work and administer any fleet machine from one Console #1769, or can that open question be dropped?

    If the answer is form (a) for every Claim-making Command, the work is one ready-for-agent Ticket.

  6. added and removed
    in-progressA Claim: thirdshift has taken this issue
    on Nov 10, 2026
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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions