Skip to content

fix(dev-lead): hold auto-merge while working a PR + push defensively (#452) - #453

Merged
don-petry merged 19 commits into
mainfrom
fix/dev-lead-hold-automerge-during-work
Jun 7, 2026
Merged

don-petry merged 19 commits into
mainfrom
fix/dev-lead-hold-automerge-during-work

Conversation

@don-petry

@don-petry don-petry commented Jun 7, 2026 •

Copy link
Copy Markdown
Collaborator

What

Fixes #452.

Holds GitHub auto-merge OFF while dev-lead is working a PR, and pushes defensively so a PR that merges mid-run doesn't fail the job. Also fixes the stale concurrency test so same-PR serialization is locked.

Why

dev-lead enables auto-merge (squash) by default (#447). GitHub's auto-merge is asynchronous and not gated by the workflow concurrency lane, so a review approval landing while the agent is mid-edit can satisfy branch protection and make GitHub merge + delete the branch out from under the run — which then fails on push:

! [remote rejected] ... (cannot lock ref 'refs/heads/fix/...':
  unable to resolve reference 'refs/heads/fix/...')
##[error]git push failed

Observed in run 27078382804: a review-changes run committed 1 second after PR #449 auto-merged. Per-PR serialization (#450) stops two dev-lead runs fighting, but it can't stop GitHub's async merge because the merge isn't a dev-lead run.

How

scripts/lib/auto-merge.sh (new):

  • hold_auto_merge — disables auto-merge at the start of a PR-modifying run (only if it was on), so a mid-flight approval can't merge the branch.
  • restore_auto_merge — registered as an EXIT trap; re-enables auto-merge on any exit (success/error/timeout), but only if this run disabled it and the PR is still open. Never newly enables auto-merge on a PR that didn't have it.
  • push_with_merge_guard — if git push is rejected because the PR was merged/closed (branch deleted) mid-run, logs ::notice:: and exits 0 cleanly; a genuine push failure still aborts with exit 1.

dev-lead-fix-reviews.sh / dev-lead-fix-ci.sh — register the restore trap + hold_auto_merge before checkout, and push via push_with_merge_guard.

scripts/lib/pr-worktree.sh — checkout_pr_in_worktree now chains its cleanup onto any pre-existing EXIT trap instead of clobbering it, so the auto-merge restore survives.

tests/dev-lead/integration/test_concurrency_config.sh — was stale: it still asserted the pre-#450 repo-wide dev-lead group and failed against main. Rewritten to assert the per-PR/per-issue serialization lanes + cancel-in-progress: false on both the inline and reusable workflows — this is the same-PR serialization regression lock.

Why hold-then-restore (not just serialize)

Serializing dev-lead runs (#450) ensures two runs don't fight, but GitHub's auto-merge fires independently. Holding auto-merge off for the duration of a run is what actually prevents the mid-flight merge. The EXIT trap restores it however the run ends, so we don't trade a loud failure for a silently-stuck PR. Backstop for the rare hard-kill (SIGKILL escapes traps): the existing enable-auto-merge-on-bot-approval intent re-enables on the next approval.

Testing

  • bats tests/dev-lead/unit/ — 284 pass (new test_auto_merge.bats covering hold/restore/push-guard; trap-chaining case added to test_pr_worktree.bats).
  • test_concurrency_config.sh and test_prompt_coverage.sh integration tests pass (concurrency test now green — it was red on main).
  • shellcheck -S warning clean on all four scripts.
  • No leftover worktrees/temp dirs after test runs.

🤖 Generated with Claude Code


Added in this PR — reply-with-specifics, then resolve (also #452)

Commit a301873 expands the scope to fix dev-lead's review-thread handling, which is what left a Copilot thread on this PR stuck open (blocking pr-review):

  • Reply before resolve: the three review prompts (fix-reviews.md, review-changes.md, fix-bot-comment.md) now tell the engine, for every thread it fixes, to post a reply naming the specific file/function changed and how it addresses the concern (addPullRequestReviewThreadReply, body passed as a GraphQL variable) — then resolve. No more silent resolves.
  • Resolve fixed bot threads regardless of trigger: fix-reviews.md previously only resolved ${TRIGGERING_REVIEWER}'s threads, so a bot thread fixed during another reviewer's run stayed open forever. It now resolves every bot thread it actually fixed (human threads remain gated to the trigger and are replied-to but left for the human).
  • Rubber-duck phase verifies each fixed thread was replied-to and resolved.
  • test_prompt_coverage.sh now asserts each review prompt instructs reply-with-specifics + resolve.

Tests: 292 unit + prompt-coverage + concurrency all pass.

Summary by CodeRabbit

  • New Features

    • Dev-lead bot now provides detailed replies on review threads describing specific code changes before resolving them.
    • Improved handling of bot-authored vs human-authored review thread resolution.
  • Bug Fixes

    • Enhanced stability during PR edits by preventing race conditions with auto-merge operations.
  • Tests

    • Added comprehensive test coverage for auto-merge management and review thread handling.

Copilot AI review requested due to automatic review settings June 7, 2026 02:48
@don-petry
don-petry requested a review from a team as a code owner June 7, 2026 02:48
@coderabbitai

coderabbitai Bot commented Jun 7, 2026 •

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@don-petry, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 59 minutes and 53 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 3af0cfb6-9e17-4783-b5e3-6b204981b657

📥 Commits

Reviewing files that changed from the base of the PR and between bdbefe9 and e76120d.

📒 Files selected for processing (11)
  • prompts/dev-lead/fix-bot-comment.md
  • prompts/dev-lead/fix-reviews.md
  • prompts/dev-lead/review-changes.md
  • scripts/dev-lead-fix-ci.sh
  • scripts/dev-lead-fix-reviews.sh
  • scripts/lib/auto-merge.sh
  • scripts/lib/pr-worktree.sh
  • tests/dev-lead/integration/test_concurrency_config.sh
  • tests/dev-lead/integration/test_prompt_coverage.sh
  • tests/dev-lead/unit/test_auto_merge.bats
  • tests/dev-lead/unit/test_pr_worktree.bats
📝 Walkthrough

Walkthrough

Dev-lead agent workflow updated to require explicit per-thread replies describing specific code changes before resolving review threads, paired with a new auto-merge hold/restore system that prevents approval-triggered PR merges mid-run while safely handling defensive push and EXIT trap composition.

Changes

Review thread reply-before-resolve workflow and auto-merge race prevention

Layer / File(s) Summary
Review thread reply-before-resolve workflow documentation
prompts/dev-lead/fix-bot-comment.md, prompts/dev-lead/fix-reviews.md, prompts/dev-lead/review-changes.md
Three prompts updated to enforce explicit per-thread replies with specific change details (file/function names) before resolving; bot-authored threads resolve when fixed regardless of triggering reviewer; human threads only when author matches; output format changes to [replied + resolved]. Includes concrete GraphQL mutation examples for thread replies.
Auto-merge hold/restore/guard library
scripts/lib/auto-merge.sh
New utility implementing three functions: hold_auto_merge disables GitHub PR auto-merge and captures original merge method, commit text, and head SHA; restore_auto_merge re-enables it on EXIT using captured settings with refreshed head SHA (fallback to held SHA on failure); push_with_merge_guard treats PR merge/close mid-run as benign success while failing on real push errors.
Script integration of reply-workflow and auto-merge guard
scripts/dev-lead-fix-ci.sh, scripts/dev-lead-fix-reviews.sh
Both scripts now source auto-merge.sh and install EXIT trap for restore_auto_merge; fix-reviews.sh holds auto-merge before resolving HEAD_SHA and uses push_with_merge_guard on push; adds configurable merge method and optional commit subject/body for auto-merge re-enable; extends review-thread GraphQL query to fetch author.__typename for bot vs human distinction.
EXIT trap chaining for composable cleanup
scripts/lib/pr-worktree.sh
checkout_pr_in_worktree now preserves pre-existing EXIT trap handlers by capturing via trap -p and installing a new trap that chains both library cleanup and prior handlers, enabling multiple layers to register independent cleanup without clobbering.
Integration tests for prompts and concurrency
tests/dev-lead/integration/test_prompt_coverage.sh, tests/dev-lead/integration/test_concurrency_config.sh
Prompt coverage test adds validation that review-related prompts include required GraphQL mutations (addPullRequestReviewThreadReply, resolveReviewThread) and specificity wording. Concurrency test refactored to validate per-PR and per-issue lanes via WORKFLOWS array and check_concurrency_field helper extracting YAML concurrency: block.
Unit tests for auto-merge and trap behavior
tests/dev-lead/unit/test_auto_merge.bats, tests/dev-lead/unit/test_pr_worktree.bats
test_auto_merge.bats comprehensive suite with stubbed gh/git CLIs tests hold/restore/guard functions covering enable/disable toggle, merge method restoration, head SHA refresh with fallback, commit metadata replay, and mid-run PR merge/close handling. test_pr_worktree.bats verifies trap chaining preserves prior EXIT handlers.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related issues

Possibly related PRs

  • petry-projects/.github-private#285: Both modify dev-lead review-thread resolution in prompts/dev-lead/fix-reviews.md and scripts/dev-lead-fix-reviews.sh; main PR additionally requires per-thread reply before resolving.
  • petry-projects/.github-private#435: Both extend scripts/dev-lead-fix-reviews.sh GraphQL query to include author.__typename for bot detection in thread resolution logic.
  • petry-projects/.github-private#297: Both modify scripts/dev-lead-fix-reviews.sh auto-merge behavior; main PR adds guarded hold/restore via new scripts/lib/auto-merge.sh.

Suggested labels

needs-human-review

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 72.73% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and specifically summarizes the two main changes: preventing auto-merge from running mid-PR and using defensive push logic to handle branch deletion.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/dev-lead-hold-automerge-during-work

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) June 7, 2026 02:49
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-bot-comment (no-changes)

Agent reasoning
Issues addressed: 0
Files changed: none
Skipped (informational): 0
Notes:
- Quality Gate passed: 0 new issues, 0 security hotspots, 0 duplications
- No open review threads from sonarqubecloud[bot] to resolve
- No SonarQube hotspot patterns detected in changed files (no curl|bash,
  no hardcoded credentials, no eval with user input, no HTTP download URLs)
- No Tier 1 CI blockers present
- PR is clear; no code changes required
```

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request introduces a mechanism to hold GitHub auto-merge while dev-lead is running on a PR, preventing asynchronous merges from causing push failures. It adds a new auto-merge.sh library, integrates it into the CI and review fix scripts, and updates worktree checkout logic to chain EXIT traps rather than clobbering them. Additionally, concurrency tests and unit tests are updated or added. The review feedback highlights two valuable improvements: refining the trap extraction pattern in pr-worktree.sh to support environments where 0 is returned instead of EXIT, and making the auto-merge restoration check in auto-merge.sh more resilient to transient API failures.

Comment thread scripts/lib/pr-worktree.sh Outdated
Comment thread scripts/lib/auto-merge.sh Outdated
@don-petry
don-petry disabled auto-merge June 7, 2026 02:51
donpetry-bot
donpetry-bot previously approved these changes Jun 7, 2026

@donpetry-bot donpetry-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Automated review — APPROVED ✓

Risk: MEDIUM
Reviewed commit: 990cf9a46d1d46c2fdd9cffd2e6e128a0da5a57d
Review mode: triage-approved (single reviewer)

Summary

Fixes a real race where GitHub's async auto-merge can delete a PR's branch mid-run, failing dev-lead's push with cannot lock ref. The hold-then-restore design is defensively correct, with three independent guards in restore_auto_merge (a _AM_NEEDS_RESTORE flag that's only set after a successful disable, a PR-still-open check, and a current-auto-merge-state check) so it can never newly enable auto-merge on a PR that didn't have it. push_with_merge_guard correctly distinguishes the benign mid-run merge from genuine push failures by re-checking PR state.

Linked issue analysis

Fixes #452. The issue describes the exact ! [remote rejected] ... cannot lock ref failure mode observed in run 27078382804 (a review-changes run committed 1s after PR #449 auto-merged). The PR addresses this directly via three coordinated mechanisms — hold during work, restore on exit, and a push guard for the SIGKILL-escapes-traps edge case.

Findings

  • scripts/lib/auto-merge.sh — Defensive design verified: hold_auto_merge only sets _AM_NEEDS_RESTORE=1 on a successful --disable-auto, so restore_auto_merge can never re-enable a PR that didn't have auto-merge to begin with. EXIT trap covers normal exit, error, and timeout; the existing enable-auto-merge-on-bot-approval intent is the documented backstop for SIGKILL.
  • scripts/lib/pr-worktree.sh — Trap-chaining captures any pre-existing EXIT trap via trap -p EXIT | sed, then concatenates with ;. The sed pattern only handles bare function names (no embedded single quotes), but the inline comment correctly notes this matches actual dev-lead usage (restore_auto_merge). Cleanup runs before the chained prior trap, which is the right order (worktree teardown before auto-merge restore).
  • dev-lead-fix-ci.sh / dev-lead-fix-reviews.sh — trap restore_auto_merge EXIT is registered before hold_auto_merge, so even a failure inside hold_auto_merge would still trip the trap (which then no-ops because _AM_NEEDS_RESTORE=0). Correct ordering. Both scripts route git push through push_with_merge_guard || exit 1 — note push_with_merge_guard calls exit 0 (not return 0) on the benign-merge path, intentionally short-circuiting the rest of main() since there's nothing left to summarize once the PR is merged.
  • tests/dev-lead/unit/test_auto_merge.bats — 11 new test cases covering hold/restore/push-guard happy paths, dry-run, the no-op-when-already-off case, the don't-restore-on-closed-PR case, and the don't-double-restore case. Gh and git stubs are isolated via STUB_BIN_DIR on PATH.
  • tests/dev-lead/unit/test_pr_worktree.bats — New trap-chaining test asserts both cleanup_pr_worktree and the prior echo PRIOR survive in the final EXIT trap. Correctly locks the regression.
  • tests/dev-lead/integration/test_concurrency_config.sh — Was stale (asserted the pre-#450 repo-wide group, failing against main). Rewritten to assert per-PR/per-issue lanes + cancel-in-progress: false on both dev-lead.yml and dev-lead-reusable.yml. Good catch on the reusable workflow coverage.

No blocking findings. Suggestion (non-blocking, future): if more callers start registering EXIT traps with single quotes or complex syntax, the sed-based trap capture in pr-worktree.sh may need to be revisited — the comment already calls this out.

CI status

All 24 required checks passing: CodeQL, AgentShield, SonarCloud (Quality Gate passed: 0 new issues, 0 hotspots), gitleaks, dependency-audit, shellcheck, bats unit tests, validate-agent-profiles, gh-aw-compile, agent-security-scan. CodeRabbit was rate-limited (organizational quota) — not a finding.


Reviewed automatically by the PR-review agent (claude-opus-4-7). Reply if you need a human review.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 7, 2026
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed.

@don-petry
don-petry dismissed stale reviews from coderabbitai[bot] and donpetry-bot via 2b335ec June 7, 2026 02:52
@don-petry
don-petry enabled auto-merge (squash) June 7, 2026 02:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR addresses a failure mode where GitHub auto-merge can merge and delete a PR branch while dev-lead is mid-run, causing subsequent git push to fail. It introduces an auto-merge “hold + restore” mechanism and a defensive push guard so mid-run merges don’t produce red CI failures, and it updates tests to lock in the intended concurrency serialization model.

Changes:

  • Add scripts/lib/auto-merge.sh to (1) disable auto-merge during PR-modifying runs, (2) restore it via an EXIT trap when appropriate, and (3) treat “PR merged/closed mid-run” push failures as a clean no-op.
  • Update dev-lead-fix-reviews.sh and dev-lead-fix-ci.sh to register the restore trap, hold auto-merge before worktree checkout, and push via the merge-guard helper.
  • Update worktree trap handling and refresh unit/integration tests to cover trap chaining and the current per-PR/per-issue concurrency lanes.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/dev-lead/unit/test_pr_worktree.bats Adds coverage ensuring checkout_pr_in_worktree doesn’t clobber an existing EXIT trap (needed for auto-merge restore).
tests/dev-lead/unit/test_auto_merge.bats New unit tests covering hold/restore behavior and the defensive push guard.
tests/dev-lead/integration/test_concurrency_config.sh Updates the integration assertion to match the current per-PR/per-issue concurrency model across both inline and reusable workflows.
scripts/lib/pr-worktree.sh Chains worktree cleanup onto any pre-existing EXIT trap instead of overwriting it.
scripts/lib/auto-merge.sh New library implementing hold/restore auto-merge and push guarding for mid-run merges.
scripts/dev-lead-fix-reviews.sh Hooks in auto-merge hold/restore and uses guarded push to avoid failing if the PR merges mid-run.
scripts/dev-lead-fix-ci.sh Hooks in auto-merge hold/restore and uses guarded push to avoid failing if the PR merges mid-run.

Comment thread scripts/lib/auto-merge.sh
@don-petry
don-petry disabled auto-merge June 7, 2026 02:52
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (applied)

Changes committed and pushed.

@don-petry
don-petry enabled auto-merge (squash) June 7, 2026 02:55
@don-petry
don-petry disabled auto-merge June 7, 2026 02:55
@don-petry
don-petry enabled auto-merge (squash) June 7, 2026 02:58
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-bot-comment (no-changes)

Agent reasoning
Issues addressed: 0
Files changed: none
Skipped (informational): Quality Gate passed — 0 new issues, 0 security hotspots, 0 duplications reported. No open review threads from this bot. No Tier 1 CI/review blockers detected.
```

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c202e77659

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread scripts/lib/auto-merge.sh Outdated
@don-petry
don-petry disabled auto-merge June 7, 2026 03:01
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 7, 2026
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed.

@don-petry
don-petry enabled auto-merge (squash) June 7, 2026 03:06
@don-petry
don-petry disabled auto-merge June 7, 2026 03:07
@don-petry
don-petry enabled auto-merge (squash) June 7, 2026 03:10
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

…query too (#452)

The fix-reviews OPEN_THREADS_JSON build was updated to select author.__typename
(GraphQL omits the [bot] suffix from bot logins, so bots are identified by
__typename == "Bot"), but the review-changes build still selected only
author.login. Without __typename the review-changes engine cannot reliably tell
bots from humans, so its "resolve only human threads, never bots" rule could
misclassify coderabbitai / chatgpt-codex-connector / etc. as human.

- Add __typename to the review-changes OPEN_THREADS_JSON query.
- review-changes.md now identifies humans/bots by author.__typename (User/Bot),
  with an explicit note not to rely on a [bot] login suffix.
- test_prompt_coverage.sh now asserts EVERY OPEN_THREADS_JSON build selects
  author.__typename, so a future build can't silently omit it.

Full unit suite + prompt-coverage + concurrency green; shellcheck clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 78ad06457f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread prompts/dev-lead/review-changes.md Outdated
@donpetry-bot

Copy link
Copy Markdown
Contributor

@don-petry assigned me as reviewer — starting a fresh review now. Results will appear in a few minutes.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 7, 2026
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Note

@don-petry I received your request but all AI engines are currently rate-limited. I'll retry automatically once the rate limit clears.
Rate limit resets at: 2026-06-07T13:40:42Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — rate-limited (intent: review-changes)

PR: #453
The retry cron will re-attempt automatically. Rate limit resets at: 2026-06-07T14:51:02Z

@sonarqubecloud

sonarqubecloud Bot commented Jun 7, 2026

Copy link
Copy Markdown

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

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

Labels

needs-human-review Flagged by automated PR review agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

dev-lead: PR auto-merged mid-run fails the job on push (hold auto-merge while working)

3 participants