Skip to content

fix(ci): stop scheduling the drift check until the App can read settings - #145

Merged
devantler merged 1 commit into
mainfrom
claude/drift-check-pause-schedule-144
Aug 7, 2026
Merged

fix(ci): stop scheduling the drift check until the App can read settings#145
devantler merged 1 commit into
mainfrom
claude/drift-check-pause-schedule-144

Conversation

@devantler

Copy link
Copy Markdown
Contributor

🤖 Generated by the Agentic Engineer

Why

The repository drift check I merged an hour ago cannot run at all. It needs to read each repository's
merge and feature settings, and GitHub hands those out only to a caller with administrative read —
which the App behind our workflows does not currently have. The request for it is refused outright,
so the daily run would fail every morning on something no change in this repository can fix.

Granting that access is an organisation-owner action, so it is tracked separately in #144.

What

Takes the check off the daily schedule until then. It can still be run on demand, and turning the
schedule back on is a one-line change.

It deliberately does not shrink the check to the handful of settings the current access can see.
Quietly checking fewer things than the config claims to control is the exact problem this check was
built to catch, and it would have hidden the one real divergence it has already found (#141).

Part of #144

The token request itself is refused - 422, the permissions requested are not
granted to this installation - because the App does not have Administration:
Read-only, and GitHub returns a repository's merge-policy and feature settings
to no lesser scope. A daily run would therefore fail every day on something no
change in this repository can fix.

Dispatch stays available, and the schedule is a one-line restore once the
permission lands. The check is not narrowed to the fields a metadata token can
see: quietly comparing fewer fields than the config declares is the failure
this check exists to catch.

Part of #144
@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

@devantler I will review the pull request.

⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@devantler, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 20 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

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.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 07cf34a2-96e2-4e58-8120-56d9d7ec6908

📥 Commits

Reviewing files that changed from the base of the PR and between ddf9909 and 34e1066.

📒 Files selected for processing (1)
  • .github/workflows/repository-drift-check.yaml

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.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

CodeRabbit refused (Action not completed / Review limit reached).

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@devantler

Copy link
Copy Markdown
Contributor Author

🤖 Generated by the Agentic Engineer

Codex refused too — You have reached your Codex usage limits for code reviews.

@devantler

Copy link
Copy Markdown
Contributor Author

@cursor review

@cursor

cursor Bot commented Aug 7, 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_39b02f5b-8a57-4f53-8708-d0d54c1bb6ad)

@devantler devantler left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🤖 Generated by the Agentic Engineer

Self-review (fallback — CodeRabbit, Codex and Cursor Bugbot unavailable)

Reviewed commit: 34e10668eee16e5ce141d33b4da8043c55d10163

Lane Outcome at 34e1066 When
CodeRabbit Action not completed / Review rate limited, plus a Review limit reached summary 10:56Z
Codex You have reached your Codex usage limits for code reviews 10:56:52Z
Cursor Bugbot check-run neutral / output.title: Error 10:57Z

What I checked

The blocker is measured, not assumed. Two dispatched runs establish it: at 10:46Z with
metadata: read the check aborted on the first repository because GitHub omitted allow_auto_merge;
at 10:53Z with administration: read added, the token step itself failed with
422 The permissions requested are not granted to this installation. So the App does not hold the
permission, and requesting one an installation lacks is a hard failure rather than a downgrade.
Neither wall was visible before merge — a workflow_dispatch workflow cannot run until it is on the
default branch.

Scope of this change. One trigger removed, comments added. The check script, its tests, the token
scoping and the job body are untouched, and workflow_dispatch is retained so the check can still be
run on demand and so the restore is a one-line diff. actionlint and zizmor clean; the offline
fixture suite still passes; CI green.

Why not narrow the check instead. Comparing only the fields a metadata token returns would make
the workflow green again today, and it is the wrong trade: it would quietly cover fewer fields than
deploy/ declares, which is the precise failure mode this check exists to detect, and the fields
that would disappear are the ones that produced its only real finding so far (#141, world-at-ruin's
merge policy). A loud pause with the coverage intact is preferable to a green check that has stopped
looking.

Is removing a trigger a security regression? No control is being weakened: the check cannot
currently run in any form, so there is no protection being given up — only a daily failure that no
change in this repository can clear. The compensating action is the grant requested in #144, and the
restore is pinned there as an acceptance criterion so it cannot be quietly forgotten.

Verdict: no P0/P1 findings.

@devantler
devantler marked this pull request as ready for review August 7, 2026 10:58
@devantler
devantler merged commit 0842453 into main Aug 7, 2026
14 checks passed
@devantler
devantler deleted the claude/drift-check-pause-schedule-144 branch August 9, 2026 23:44
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