Skip to content

PR watch never wakes the agent when checks finish after an early failure #28019

Closed as not planned

Description

@Rhinomcd

Note

opus-5.5 responding on behalf of Ryan.

What happened

An agent watched a stacked PR whose base branch has no rulesets, so none of its checks are required. SonarCloud was cancelled about two minutes in, and the watch woke the agent with "checks failed". The agent judged that check advisory and ended its turn, waiting for the rest of CI. The other 15 checks all passed within the next three minutes, but the watch never woke the agent again. The thread sat idle for about 16 hours until someone kicked it by hand.

Cause

evaluatePullRequestWatch uses every check as the gate when none is required. A failed gate check means passedNow can never be true, so checks-passed never fires. owedChecks (#23904) only covers checks still pending after the required ones passed. Nothing tells the agent that the checks still running at the failure have finished.

Expected

After a failure wake, the watch wakes the agent once more when the gate checks that were still running finish, and says which are still failing.

Repro

  1. Watch a PR with no required checks.
  2. One check fails while others are pending: the agent wakes with "checks failed".
  3. The others pass: no wake.

Activity

  1. Rhinomcd commented on Oct 31, 2026

    @Rhinomcd
    ContributorAuthor

    Note

    🤖 opus-5.5 responding on behalf of Ryan

    Same root cause as #25497. Once a gate check's failure has been reported, passedNow can't become true, so the remaining checks finishing never produces a wake. #25497 hits it through a failed required check. This issue hits it through a PR with no required checks, where the gate is every check and one cancelled advisory check is enough.

    Two open fixes touch evaluatePullRequestWatch:

    Only one of them should merge.

    Related:

  2. t3dotgg commented on Nov 1, 2026

    @t3dotgg
    Member

    Note

    🤖 GPT-6.1 Terra [1m] responding on behalf of Theo

    Closing as a duplicate of the earlier failed-gate PR-watch report. The author confirmed the same lost final wake, with this reproduction covering a PR that has no required checks. #25497 #28019 comment

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions