Skip to content

pr-pipeline: skip repeat workflow_run wakes in pr-verify, pr-review-main and pr-feedback-dispatch #12448

Description

@kyle-sexton

Refs: #12284

Owner: Automation Lanes.

Summary

Three workflows fire on every completion of another workflow, contract-only runs and re-runs included (all at cb8429f):

  • pr-verify (.github/workflows/pr-verify.yml:67-71).
  • pr-review-main (.github/workflows/pr-review-main.yml:59).
  • pr-feedback-dispatch (.github/workflows/pr-feedback-dispatch.yml:99, on eight workflows).

Measured over 7 days, the three ran 21,754 times (non-skipped) for 279 run-hours:

  • pr-verify: 5,470 runs, 114 run-hours.
  • pr-review-main: 3,939 runs, 64 run-hours.
  • pr-feedback-dispatch: 12,345 runs, 101 run-hours; with skipped runs included, 19,756, about 11 per merged PR.

On 2026-11-01, pr-verify and pr-review-main each ran about 1.8 times per distinct PR head. Source: audit comment, gates #11, #12 and #19.

The gates stay. Only the triggers change. Proposal:

  • Skip a completion whose head pr-verify or pr-review-main already judged.
  • Narrow pr-feedback-dispatch's workflows: list to the completions it acts on.

Done when

  • pr-verify and pr-review-main do no repeat work on a head they already judged, and the verdict binding is unchanged.
  • pr-feedback-dispatch's trigger list holds only the workflows whose completion it routes.
  • Runs per merged PR for the three workflows are measured before and after, and posted here.

Activity

  1. github-actions commented on Nov 2, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Medium
    Complexity: Medium
    Uncertainty: Knowable
    Flags: none
    Blocked by: none

    Understood: cut repeat workflow_run wakes in pr-verify and pr-review-main by skipping heads they already judged, with the verdict binding unchanged. Also narrow pr-feedback-dispatch's workflows: list to the completions it routes. Then measure runs per merged PR before and after. The scope and done-when are exact, so nothing is missing. No duplicate found among the open issues; it refers to #12284. Reading the workflows would settle which completions pr-feedback-dispatch acts on and how to detect an already-judged head.

    Automated triage, applied by the lanes App.

  2. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    on Nov 2, 2026
  3. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    on Nov 2, 2026
  4. kyle-sexton commented on Nov 2, 2026

    @kyle-sexton
    MemberAuthor

    Status: parked for a builder (Automation Lanes). Written by the issue-triage session.

    Every criterion here changes .github/workflows files: pr-verify.yml, pr-review-main.yml and pr-feedback-dispatch.yml. The issue lane cannot push workflow paths, so an issue-lane run would dead-end. The issue moves to status: confirmed without admission-deferred, and the Automation Lanes session builds it.

  5. added
    status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.
    and removed
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    on Nov 2, 2026
  6. github-actions commented on Nov 2, 2026

    @github-actions
    Contributor
    No description provided.
  7. removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 2, 2026
  8. github-actions commented on Nov 2, 2026

    @github-actions
    Contributor
    No description provided.
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

    priority: mediumReal value, no hard deadline; normal backlog flow.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Fields

    Work status

    agent-ready

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions