Skip to content

chore(pr-agent): repoint the reusable pin to the fixed SHA - #84

Open
yakimoto wants to merge 3 commits into
mainfrom
chore/pr-agent-pin-to-main
Open

chore(pr-agent): repoint the reusable pin to the fixed SHA#84
yakimoto wants to merge 3 commits into
mainfrom
chore/pr-agent-pin-to-main

Conversation

@yakimoto

@yakimoto yakimoto commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

What this changes

Repoints this repo's pr-agent caller from a pinned SHA of
wave-av/wave-foundation/.github/workflows/reusable-pr-agent.yml to @main.

Why

The pinned SHA predates two fixes that are already merged on wave-foundation origin/main:

  • ed47221e (2026-08-22) — honest failure classification; the lane had been reporting a rate limit
    for causes that were not rate limits.
  • 32af9cef (2026-08-24) — ports four fixes the public mirror received, including the per-attempt
    timeout-minutes step budget.

Without the second one, a slow router call with auto_review and auto_improve both enabled can
consume the entire 15-minute job ceiling. GitHub renders that as cancelled, and the reusable's
bounded retry is structurally unable to catch it, because continue-on-error does not trap a
cancellation. The observable result is a review lane that looks configured and silently does not
run.

Evidence

Measured 2026-08-25 across the fleet, reading each repo's origin/main:

wiring repos
reusable-pr-agent.yml@main 100
inline copies (bypass the reusable entirely) 20
stale pins missing both fixes 15

On the pull_request bucket, callers on stale pins cancelled far more often than callers on current
logic. claude-workstation (pinned 51be84ea) cancelled 19 of 24; wave-console (@main)
cancelled 1 of 8. That control is n=1 on the current-logic side and is corroboration rather than
proof — the mechanism above is what carries the finding.

Reproduce the caller inventory:

gh api repos/wave-av/<repo>/contents/.github/workflows/pr-agent.yml \
  --jq '.content' | base64 -d | grep -oE 'reusable-pr-agent\.yml@[a-zA-Z0-9.]+'

Why @main and not a newer SHA

@main is what 100 of the fleet's callers already use, so this is the existing convention rather
than a new posture. The supply-chain argument for SHA-pinning is strong for third-party actions and
much weaker for a first-party reusable workflow inside the same org, which is why the fleet settled
where it did. Pinning to a fresh SHA would reintroduce exactly this drift the next time the lane is
fixed.

Blast radius

One line, in one workflow file. No change to triggers, concurrency, permissions, secrets, or any
job-level gate. If the lane misbehaves the revert is the same one line.

Verification

.github/workflows/pr-agent.yml parses as YAML after the change, and the diff is the pin line only.
Nothing here proves the lane now succeeds — that is only observable on the next pull_request run
after merge, and the receipt to look for is a review that either posts or ends with an explicit
timeout annotation, instead of a bare cancelled.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by Sourcery

Refresh the pr-agent reusable workflow reference to consume the latest upstream fixes and reduce silent cancellations of review runs.

Enhancements:

  • Update the pr-agent reusable workflow reference to the newer upstream revision containing improved failure reporting and timeout handling.

CI:

  • Refresh the GitHub Actions reusable workflow pin without changing triggers, permissions, secrets, or job configuration.

Note

Low Risk
Single-line CI dependency pin with no application or secret-handling changes; blast radius is limited to the PR-agent workflow behavior.

Overview
Updates the pinned revision of wave-av/wave-foundation/.github/workflows/reusable-pr-agent.yml used by the local pr-agent caller from 150ffae… to 4ac59c8….

Nothing else in the workflow changes—triggers, concurrency, permissions, and OPENAI_KEY wiring stay the same. The intent is to pick up upstream reusable-lane fixes (clearer failure reporting and per-step timeout handling) so PR review jobs are less likely to hit the job ceiling and show up as unexplained cancelled runs.

Reviewed by Cursor Bugbot for commit 717df77. Bugbot is set up for automated code reviews on this repo. Configure here.

Review in cubic

The pinned SHA predates ed47221e and 32af9cef, both already on wave-foundation
origin/main. Without the per-attempt timeout budget from 32af9cef a slow review
consumes the 15-minute job ceiling, which GitHub renders as `cancelled` and which
continue-on-error structurally cannot trap — so the lane looks configured and
silently does not run.

100 of the fleet's callers already use @main; this adopts that convention.
@codeant-ai

codeant-ai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because your workspace is out of credits. Ask your workspace admin to add credits to resume reviews. Manage billing

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @yakimoto, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 5 days and 4 hours by commenting @sourcery-ai review. Upgrade to get a review now.

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 53 minutes.

View limit details

Limit details: You’ve used the included review currently available. Your 93 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 7f4eea33-289e-4b50-86ad-09bd1baf7bde

📥 Commits

Reviewing files that changed from the base of the PR and between bc8c0e4 and 717df77.

📒 Files selected for processing (1)
  • .github/workflows/pr-agent.yml

Comment @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Aug 25, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_773dc6ff-bf26-47dd-8f46-d8c3edc51bca)

@sourcery-ai

sourcery-ai Bot commented Aug 25, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This one-line workflow change adopts the current first-party reusable PR-agent implementation, bringing in its failure-classification and per-attempt timeout fixes while matching the fleet's existing @main convention; verify YAML parsing and inspect the next pull-request run for a posted review or explicit timeout rather than a bare cancellation.

File-Level Changes

Change Details Files
Repoint the reusable PR-agent workflow from a stale commit pin to the shared workflow's main branch.
  • Replace the reusable workflow reference with @main.
  • Leave triggers, concurrency, permissions, secrets, and job configuration unchanged.
.github/workflows/pr-agent.yml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@macroscopeapp

macroscopeapp Bot commented Aug 25, 2026

Copy link
Copy Markdown

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — Although the repository diff is a one-line SHA update, the new reusable workflow materially changes secret-bearing PR automation through routing defaults, fork gating, retries, timeouts, and failure handling. The resulting CI and security-sensitive behavior warrants human review.

Not approved because:

  • Credit balance exhausted. Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@gitar-bot

gitar-bot Bot commented Aug 25, 2026

Copy link
Copy Markdown

Note

Automatic reviews are paused because your team has used its included automatic processing for this billing period (headroom scales with your seat count). You can still comment "Gitar review" to run one anytime, and automatic reviews resume on their own by September 1. Add seats for more headroom.
Learn more

Code Review ✅ Approved

Updates the PR-agent workflow caller to reference @main for the reusable workflow, picking up merged reliability fixes. No issues found.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@main trips the fleet zizmor `unpinned-uses` ratchet (baseline 0): claude-workstation
workflow-lint failed with "This PR ADDS a workflow-security finding". Pinning to
32af9cef — the last commit touching reusable-pr-agent.yml, and the one that ADDS the
per-attempt timeout budget — keeps SHA-pinning intact while still carrying both fixes
(ed47221e, 32af9cef) the previous pin lacked.
@codeant-ai

codeant-ai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@cursor

cursor Bot commented Aug 25, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_a3fb4677-b1a4-4099-937a-019887764cfd)

@yakimoto yakimoto changed the title chore(pr-agent): repoint the reusable pin to @main chore(pr-agent): repoint the reusable pin to the fixed SHA Aug 25, 2026
wave-foundation#1273 merged, which added a `lane version` step to the reusable
that annotates the resolved lane SHA and warns when a caller pins behind
32af9cef. Bumping from 32af9cef to 4ac59c8c picks that up, so this caller lands
current instead of one commit stale on merge.

Still SHA-pinned — @main trips the zizmor unpinned-uses ratchet (baseline 0).
@yakimoto
yakimoto enabled auto-merge August 25, 2026 21:06
@codeant-ai

codeant-ai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Your free trial PR review limit of 300 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@cursor

cursor Bot commented Aug 25, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_c332270d-0970-4945-b36e-a787362d320f)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant