Skip to content

fix(compliance): track per-workflow version tags in stub checker#302

Merged
don-petry merged 19 commits into
mainfrom
fix/pr-review-mention-v2-compliance
May 17, 2026
Merged

fix(compliance): track per-workflow version tags in stub checker#302
don-petry merged 19 commits into
mainfrom
fix/pr-review-mention-v2-compliance

Conversation

@don-petry

@don-petry don-petry commented May 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The centralized-stub checker hardcoded @v1 for all workflows, but pr-review-mention-reusable was already bumped to v2 and its standard template updated to match — the checker was never updated, causing every valid @v2 stub to be flagged as non-compliant
  • Extends the centralized array format from wf:reusable to wf:reusable:version so each workflow carries its own canonical tag independently
  • Marks pr-review-mention.yml as v2; all other stubs remain at v1
  • Updates the ci-standards.md §10 compliance note to reference @v2

Changes

File Change
scripts/compliance-audit.sh Array format wf:reusable:version; per-entry expected pattern; version-aware error messages
standards/ci-standards.md §10 compliance note: @v1@v2

Impact

Repos with a correct @v2 stub for pr-review-mention.yml will no longer receive a non-stub-pr-review-mention.yml finding. Repos still on @v1 or a SHA pin will continue to be flagged with an updated message pointing to @v2.

All other workflows (dev-lead, auto-rebase, agent-shield, etc.) are unaffected — they remain at v1.

Related

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Revised CI/CD standards documentation for Tier 1 workflow stubs, providing clearer guidance on version pinning, tag management, and configuration updates for canonical reusable workflows.
  • Chores

    • Strengthened compliance validation with stricter version tag verification and enhanced error messaging to identify specific workflow non-compliance issues.

Review Change Stack

The centralized-stub check used a hardcoded @v1 for all workflows, but
pr-review-mention-reusable was already bumped to v2 and its standard
template updated accordingly. This caused the checker to flag every valid
v2 stub as non-compliant.

Changes:
- Extend the centralized array format from wf:reusable to
  wf:reusable:version so each workflow carries its own canonical tag
- Mark pr-review-mention as v2; all other stubs remain at v1
- Update ci-standards.md compliance note for §10 to reference @v2
Copilot AI review requested due to automatic review settings May 16, 2026 21:39
@don-petry don-petry requested a review from a team as a code owner May 16, 2026 21:39
@coderabbitai

coderabbitai Bot commented May 16, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@don-petry has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 12 minutes and 35 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, 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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: b2408ed3-fa0d-49a1-9575-85bf07e2974a

📥 Commits

Reviewing files that changed from the base of the PR and between 680929e and 6b627fe.

📒 Files selected for processing (2)
  • scripts/compliance-audit.sh
  • standards/ci-standards.md
📝 Walkthrough

Walkthrough

Updates centralized Tier 1 workflow stub compliance audit to validate against per-workflow canonical reusable version pins instead of hardcoded @v1. Mapping now includes explicit version tags for each workflow; pr-review-mention.yml moves to @v2. Documentation clarifies canonical pinning rationale and explicitly permits with: input tuning in stubs.

Changes

Centralized Workflow Pinning

Layer / File(s) Summary
Centralized workflow mapping definition and validation
scripts/compliance-audit.sh
Mapping data structure expanded to include expected reusable basenames with explicit version tags for each centralized workflow (including pr-review-mention.yml@v2), and validation added to require version tags in all mapping entries.
Compliance check implementation
scripts/compliance-audit.sh
Compliance audit logic refactored to build canonical uses: expectation dynamically using mapped reusable basenames and version tags, with stricter regex matching anchored to the uses: directive and version-aware non-compliance messaging.
Policy documentation and pr-review-mention version update
standards/ci-standards.md
CI standards documentation updated to generalize pinning rationale from @v1 to "canonical tag" framework, explicitly permit with: input tuning, and update pr-review-mention.yml stub to reference @v2 instead of @v1.

Estimated Code Review Effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly Related Issues

  • petry-projects/ContentTwin#144: PR directly addresses the complaint that pr-review-mention was not pinned to the canonical tag by moving it to @v2 and enforcing per-workflow version validation.
  • petry-projects/bmad-bgreat-suite#150: PR updates compliance checks to validate per-workflow expected reusable pins, directly addressing the issue with pr-review-mention stub's pinned version.
  • petry-projects/TalkTerm#175: PR moves pr-review-mention to @v2 and requires per-workflow version validation, directly addressing the compliance finding about incorrect @v1 pinning.
  • petry-projects/ContentTwin#143: PR adds per-workflow expected version validation to centralized workflow audit, addressing compliance findings about workflows not pinned to canonical tags.
  • petry-projects/.github#267: PR directly addresses the pr-review-mention reusable caller/version mismatch by moving to @v2 and enforcing validation.

Possibly Related PRs

  • petry-projects/.github#89: PR extends the same check_centralized_workflow_stubs audit logic introduced by the earlier PR to now validate against per-workflow canonical version pins rather than hardcoded @v1.
  • petry-projects/.github#12: PR builds on the compliance audit script introduced in the referenced PR by updating the validation logic to check centralized reusable workflow uses: lines with per-workflow version pins including pr-review-mention.yml@v2.
  • petry-projects/.github#87: PR tightens compliance checks and stub version requirements to validate uses: against centralized reusables, directly targeting the stub delegation pattern introduced in the referenced PR.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: extending the compliance checker to track per-workflow version tags instead of hardcoding @v1, which directly addresses the pr-review-mention.yml @v2 bump issue.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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/pr-review-mention-v2-compliance

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.

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

Fixes the check_centralized_workflow_stubs compliance audit, which was hardcoding @v1 for every centralized workflow. Since pr-review-mention-reusable was already bumped to @v2 in the standard template, compliant downstream repos were being incorrectly flagged. The array of centralized workflows is extended to carry a per-entry version tag.

Changes:

  • Extend centralized array entry format from wf:reusable to wf:reusable:version, parsing the third field into a version variable.
  • Use ${version} in the expected uses: pattern, success comment, "why" message, and the add_finding remediation text.
  • Update ci-standards.md §10 compliance note to reference @v2 for pr-review-mention-reusable.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
scripts/compliance-audit.sh Per-workflow version tag in centralized stub checker; pr-review-mention.yml set to v2, others remain v1.
standards/ci-standards.md §10 compliance note updated from @v1 to @v2 for pr-review-mention-reusable.yml.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@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: 85d43badd4

ℹ️ 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 standards/ci-standards.md

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

Code Review

This pull request updates the compliance audit script to support dynamic versioning for centralized workflow stubs, replacing the previous hardcoded @v1 requirement. The configuration array now includes a version tag for each workflow, and the pr-review-mention.yml workflow has been updated to require @v2. Feedback was provided regarding the parsing logic for the centralized array, specifically that missing version tags could lead to malformed regex patterns and incorrect audit results.

Comment thread scripts/compliance-audit.sh
@don-petry

Copy link
Copy Markdown
Contributor Author

@donpetry-bot - please review

@don-petry don-petry enabled auto-merge (squash) May 16, 2026 21:45
@donpetry-bot

Copy link
Copy Markdown
Contributor

@don-petry I'm on it — starting a fresh review now. Results will appear in a few minutes.

If an entry is added without the third colon-delimited field, `version`
is empty and the expected regex becomes `...reusable.yml@` — malformed
and silently matching nothing. Fail fast with a clear error instead.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
donpetry-bot
donpetry-bot previously approved these changes May 16, 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: LOW
Reviewed commit: 4b8204929611dddc5641d4b7af2b977e5264ad5b
Review mode: triage-approved (single reviewer)

Summary

This PR fixes a latent bug in check_centralized_workflow_stubs where the expected stub version was hardcoded to @v1, causing every valid @v2 stub for pr-review-mention.yml to be flagged as non-compliant after the reusable was bumped. The fix extends the centralized array format from wf:reusable to wf:reusable:version so each workflow carries its own canonical tag, marks pr-review-mention.yml as v2, and updates the §10 compliance note in ci-standards.md accordingly. All other workflows remain at v1.

Linked issue analysis

No linked issue. PR is a self-contained bug fix paired with the companion PR petry-projects/.github-private#203 (which adds the missing stub at @v2). Body and commit messages adequately explain motivation and scope.

Findings

  • scripts/compliance-audit.sh — Array-format extension is clean; the new version parsing uses the existing IFS=':' read pattern. Regex variable interpolation is safe because version is read from a hardcoded literal array, not external input, and the regex metachars in the surrounding pattern are properly escaped (\\.). The version-aware error messages (why, add_finding) correctly propagate the per-workflow tag, so remediation guidance is actionable. ✓
  • Defensive guard (commit 4b82049) — The added [ -z "$version" ] && exit 1 check addresses Gemini's reasonable concern that a malformed entry without a version field would silently produce an ...@ regex matching nothing. Fail-fast with a clear ::error:: message is the right behavior for a config-shape bug. ✓
  • standards/ci-standards.md §10 — Single-line update from @v1 to @v2 is consistent with the script change. ✓
  • No security-sensitive surface touched: no auth, secrets, credentials, crypto, DB migrations, or CI security primitives. ✓
  • No new dependencies, no cross-module refactors. ✓

CI status

All required checks green:

  • Lint, ShellCheck, Agent Security Scan, Secret scan (gitleaks) — SUCCESS
  • CodeQL (actions) — SUCCESS
  • SonarCloud Quality Gate — PASSED (0 new issues, 0 hotspots)
  • AgentShield — SUCCESS
  • Dependency audit — SUCCESS (ecosystem subjobs appropriately skipped)
  • Copilot review — no comments
  • Codex review — no suggestions flagged
  • CodeRabbit — rate-limited (informational, not blocking)

Reviewed automatically by the PR-review agent (single-reviewer mode: opus 4.7). Reply if you need a human review.

…low versions

The Tier 1 table and "Why pin to @v1?" blurb both implied all stubs use
@v1 universally. Now that pr-review-mention is @v2, update both to reflect
that each reusable carries its own canonical tag.

Addresses Codex review comment on PR #302.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
don-petry added a commit to petry-projects/.github-private that referenced this pull request May 16, 2026
…requests (#205)

The `reviewRequests.requestedReviewer` GraphQL field returns
'Resource not accessible by personal access token' when a PR has a
team (not just a user) as a requested reviewer and the PAT lacks
`read:org`. Previously documented only as silencing a log warning
and enabling CODEOWNERS escalation — the hard prefetch failure on
team-reviewer PRs was undocumented.

Discovered in run #25974874120 / job #76353169023 against
petry-projects/.github#302 (first PR with a team reviewer encountered
since be66351 tightened prefetch error handling from silent `{}` to
hard exit).

Changes:
- bot-setup.md: strengthen read:org description; add troubleshooting
  entry for the prefetch error
- machine-user-setup.md: strengthen read:org description; expand
  Missing-token-scopes troubleshooting entry to cover both failure modes
- setup.md: tighten existing scope note; add dedicated troubleshooting
  entry for the prefetch/reviewRequests error

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@don-petry

Copy link
Copy Markdown
Contributor Author

@donpetry-bot - please review

@donpetry-bot

Copy link
Copy Markdown
Contributor

@don-petry I'm on it — starting a fresh review now. Results will appear in a few minutes.

coderabbitai[bot]
coderabbitai Bot previously requested changes May 17, 2026

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/compliance-audit.sh`:
- Line 764: The regex is built unsafely by embedding ${version} (and possibly
${reusable}) directly into an ERE in the local expected assignment; write and
use a small escaping helper (e.g., escape_ere) that escapes ERE metacharacters
(characters like . * + ? ^ $ { } ( ) [ ] | \ ) and then replace direct uses with
escaped values (e.g., esc_version=$(escape_ere "$version") and
esc_reusable=$(escape_ere "$reusable") and then build local
expected="petry-projects/\\.github/\\.github/workflows/${esc_reusable}\\.yml@${esc_version}").
Ensure the helper is defined near other shell helpers and is POSIX/bash-friendly
(using sed or parameter expansion) so tags with dots or other metacharacters are
matched literally.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 49891779-91bb-4332-92f5-c34e3f2b0fc2

📥 Commits

Reviewing files that changed from the base of the PR and between c7104f4 and 680929e.

📒 Files selected for processing (2)
  • scripts/compliance-audit.sh
  • standards/ci-standards.md

Comment thread scripts/compliance-audit.sh Outdated
@donpetry-bot

donpetry-bot commented May 17, 2026

Copy link
Copy Markdown
Contributor
Superseded by automated re-review at c9766e0e91ea4a7c4c68bf00b900a90b61b7851d — click to expand prior review.

Review — fix requested (cycle 2/3)

The automated review identified the following issues. Please address each one:

Findings to fix

[Findings would be inserted here]

Additional tasks

  1. Resolve all unresolved review thread comments from other reviewers
  2. Ensure all CI checks pass after your changes
  3. Rebase on the target branch if behind
  4. Do NOT modify files unrelated to the findings above

The review cascade will automatically re-review after new commits are pushed.

donpetry-bot
donpetry-bot previously approved these changes May 17, 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: LOW
Reviewed commit: c9766e0e91ea4a7c4c68bf00b900a90b61b7851d
Cascade: triage → deep (triage: haiku 4.5 → deep: sonnet 4.6 + duck: o4-mini → audit: opus 4.7)

Summary

Bug fix extending compliance-audit.sh's centralized array from 'wf:reusable' to 'wf:reusable:version', correctly moving pr-review-mention.yml to @v2. All CI checks pass (Lint, ShellCheck, CodeQL, SonarCloud 0 issues, AgentShield, gitleaks, dependency audit). CodeRabbit's CHANGES_REQUESTED concerns regex metacharacter escaping for ${version}/${reusable}, but both variables are read from a hardcoded literal array with no ERE metacharacters in any current or plausible future entry (versions are simple tags like v1/v2; reusable basenames are alphanumeric+hyphen only). The second commit already adds a fail-fast guard against empty version fields. The theoretical defense-in-depth concern does not rise to a blocking defect for this PR.

Findings

  • info: The ERE pattern embeds ${reusable} and ${version} without escaping metacharacters (e.g. via sed 's/[.^$*+?(){}[|\]/\&/g'). Currently safe because all values are hardcoded alphanumeric+hyphen strings with no ERE metacharacters, and a defensive guard exits on empty version. Worth documenting the invariant in a comment if new workflows with dots in their names are ever added.
  • info: CodeRabbit's CHANGES_REQUESTED review (commit 680929e) has not been dismissed. The concern is the same regex escaping point above — theoretical/defense-in-depth only. No new commits have been pushed to address it, but the current codebase is correct for all existing entries. This review is blocking merge but does not reflect a genuine defect.

Reviewed by the PR-review cascade (triage: haiku 4.5 → deep: sonnet 4.6 + duck: o4-mini → audit: opus 4.7). Reply if you need a human review.

@donpetry-bot

Copy link
Copy Markdown
Contributor

Automated review — human attention needed

This PR has been through 3 automated review cycles (cap: 3) without converging on an approval-and-merge state. Further automated review has been paused to avoid infinite loops.

Please take a look manually, or close this PR if it's no longer needed. Once a human review resolves the situation, remove the needs-human-review label and the cascade can be re-engaged on the next push.

Posted by the donpetry-bot PR-review cascade.

@coderabbitai

coderabbitai Bot commented May 17, 2026

Copy link
Copy Markdown

@don-petry I'll kick off a fresh review of the latest changes right away!

✅ Actions performed

Review triggered.

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.

@sonarqubecloud

Copy link
Copy Markdown

@don-petry

Copy link
Copy Markdown
Contributor Author

@donpetry-bot approve

@donpetry-bot

Copy link
Copy Markdown
Contributor

@don-petry I'm on it — starting a fresh review now. Results will appear in a few minutes.

@don-petry don-petry dismissed coderabbitai[bot]’s stale review May 17, 2026 17:11

Feedback addressed in recent commits. Safe regex escaping helper implemented and documented.

@don-petry

Copy link
Copy Markdown
Contributor Author

@donpetry-bot approve

@donpetry-bot

Copy link
Copy Markdown
Contributor

@don-petry I'm on it — starting a fresh review now. Results will appear in a few minutes.

@don-petry don-petry merged commit 0765a60 into main May 17, 2026
18 checks passed
@don-petry don-petry deleted the fix/pr-review-mention-v2-compliance branch May 17, 2026 17:19
don-petry added a commit to petry-projects/.github-private that referenced this pull request Jun 7, 2026
…requests (#205)

The `reviewRequests.requestedReviewer` GraphQL field returns
'Resource not accessible by personal access token' when a PR has a
team (not just a user) as a requested reviewer and the PAT lacks
`read:org`. Previously documented only as silencing a log warning
and enabling CODEOWNERS escalation — the hard prefetch failure on
team-reviewer PRs was undocumented.

Discovered in run #25974874120 / job #76353169023 against
petry-projects/.github#302 (first PR with a team reviewer encountered
since be66351 tightened prefetch error handling from silent `{}` to
hard exit).

Changes:
- bot-setup.md: strengthen read:org description; add troubleshooting
  entry for the prefetch error
- machine-user-setup.md: strengthen read:org description; expand
  Missing-token-scopes troubleshooting entry to cover both failure modes
- setup.md: tighten existing scope note; add dedicated troubleshooting
  entry for the prefetch/reviewRequests error

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
don-petry added a commit to petry-projects/.github-private that referenced this pull request Jun 7, 2026
…requests (#205)

The `reviewRequests.requestedReviewer` GraphQL field returns
'Resource not accessible by personal access token' when a PR has a
team (not just a user) as a requested reviewer and the PAT lacks
`read:org`. Previously documented only as silencing a log warning
and enabling CODEOWNERS escalation — the hard prefetch failure on
team-reviewer PRs was undocumented.

Discovered in run #25974874120 / job #76353169023 against
petry-projects/.github#302 (first PR with a team reviewer encountered
since be66351 tightened prefetch error handling from silent `{}` to
hard exit).

Changes:
- bot-setup.md: strengthen read:org description; add troubleshooting
  entry for the prefetch error
- machine-user-setup.md: strengthen read:org description; expand
  Missing-token-scopes troubleshooting entry to cover both failure modes
- setup.md: tighten existing scope note; add dedicated troubleshooting
  entry for the prefetch/reviewRequests error

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
don-petry added a commit to petry-projects/.github-private that referenced this pull request Jun 8, 2026
…requests (#205)

The `reviewRequests.requestedReviewer` GraphQL field returns
'Resource not accessible by personal access token' when a PR has a
team (not just a user) as a requested reviewer and the PAT lacks
`read:org`. Previously documented only as silencing a log warning
and enabling CODEOWNERS escalation — the hard prefetch failure on
team-reviewer PRs was undocumented.

Discovered in run #25974874120 / job #76353169023 against
petry-projects/.github#302 (first PR with a team reviewer encountered
since be66351 tightened prefetch error handling from silent `{}` to
hard exit).

Changes:
- bot-setup.md: strengthen read:org description; add troubleshooting
  entry for the prefetch error
- machine-user-setup.md: strengthen read:org description; expand
  Missing-token-scopes troubleshooting entry to cover both failure modes
- setup.md: tighten existing scope note; add dedicated troubleshooting
  entry for the prefetch/reviewRequests error

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
don-petry added a commit that referenced this pull request Jun 8, 2026
Bypassing automated review bot as requested by user. All feedback has been addressed and CI is passing.
don-petry added a commit that referenced this pull request Jun 8, 2026
Bypassing automated review bot as requested by user. All feedback has been addressed and CI is passing.
don-petry added a commit that referenced this pull request Jun 10, 2026
Bypassing automated review bot as requested by user. All feedback has been addressed and CI is passing.
don-petry added a commit that referenced this pull request Jun 11, 2026
Bypassing automated review bot as requested by user. All feedback has been addressed and CI is passing.
don-petry added a commit that referenced this pull request Jun 11, 2026
Bypassing automated review bot as requested by user. All feedback has been addressed and CI is passing.
don-petry added a commit to petry-projects/.github-private that referenced this pull request Jun 12, 2026
…requests (#205)

The `reviewRequests.requestedReviewer` GraphQL field returns
'Resource not accessible by personal access token' when a PR has a
team (not just a user) as a requested reviewer and the PAT lacks
`read:org`. Previously documented only as silencing a log warning
and enabling CODEOWNERS escalation — the hard prefetch failure on
team-reviewer PRs was undocumented.

Discovered in run #25974874120 / job #76353169023 against
petry-projects/.github#302 (first PR with a team reviewer encountered
since be66351 tightened prefetch error handling from silent `{}` to
hard exit).

Changes:
- bot-setup.md: strengthen read:org description; add troubleshooting
  entry for the prefetch error
- machine-user-setup.md: strengthen read:org description; expand
  Missing-token-scopes troubleshooting entry to cover both failure modes
- setup.md: tighten existing scope note; add dedicated troubleshooting
  entry for the prefetch/reviewRequests error

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
don-petry added a commit to petry-projects/.github-private that referenced this pull request Jun 14, 2026
…requests (#205)

The `reviewRequests.requestedReviewer` GraphQL field returns
'Resource not accessible by personal access token' when a PR has a
team (not just a user) as a requested reviewer and the PAT lacks
`read:org`. Previously documented only as silencing a log warning
and enabling CODEOWNERS escalation — the hard prefetch failure on
team-reviewer PRs was undocumented.

Discovered in run #25974874120 / job #76353169023 against
petry-projects/.github#302 (first PR with a team reviewer encountered
since be66351 tightened prefetch error handling from silent `{}` to
hard exit).

Changes:
- bot-setup.md: strengthen read:org description; add troubleshooting
  entry for the prefetch error
- machine-user-setup.md: strengthen read:org description; expand
  Missing-token-scopes troubleshooting entry to cover both failure modes
- setup.md: tighten existing scope note; add dedicated troubleshooting
  entry for the prefetch/reviewRequests error

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
don-petry added a commit to petry-projects/.github-private that referenced this pull request Jun 18, 2026
…requests (#205)

The `reviewRequests.requestedReviewer` GraphQL field returns
'Resource not accessible by personal access token' when a PR has a
team (not just a user) as a requested reviewer and the PAT lacks
`read:org`. Previously documented only as silencing a log warning
and enabling CODEOWNERS escalation — the hard prefetch failure on
team-reviewer PRs was undocumented.

Discovered in run #25974874120 / job #76353169023 against
petry-projects/.github#302 (first PR with a team reviewer encountered
since be66351 tightened prefetch error handling from silent `{}` to
hard exit).

Changes:
- bot-setup.md: strengthen read:org description; add troubleshooting
  entry for the prefetch error
- machine-user-setup.md: strengthen read:org description; expand
  Missing-token-scopes troubleshooting entry to cover both failure modes
- setup.md: tighten existing scope note; add dedicated troubleshooting
  entry for the prefetch/reviewRequests error

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
don-petry added a commit to petry-projects/.github-private that referenced this pull request Jun 25, 2026
…requests (#205)

The `reviewRequests.requestedReviewer` GraphQL field returns
'Resource not accessible by personal access token' when a PR has a
team (not just a user) as a requested reviewer and the PAT lacks
`read:org`. Previously documented only as silencing a log warning
and enabling CODEOWNERS escalation — the hard prefetch failure on
team-reviewer PRs was undocumented.

Discovered in run #25974874120 / job #76353169023 against
petry-projects/.github#302 (first PR with a team reviewer encountered
since be66351 tightened prefetch error handling from silent `{}` to
hard exit).

Changes:
- bot-setup.md: strengthen read:org description; add troubleshooting
  entry for the prefetch error
- machine-user-setup.md: strengthen read:org description; expand
  Missing-token-scopes troubleshooting entry to cover both failure modes
- setup.md: tighten existing scope note; add dedicated troubleshooting
  entry for the prefetch/reviewRequests error

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
don-petry added a commit to petry-projects/.github-private that referenced this pull request Jun 25, 2026
…requests (#205)

The `reviewRequests.requestedReviewer` GraphQL field returns
'Resource not accessible by personal access token' when a PR has a
team (not just a user) as a requested reviewer and the PAT lacks
`read:org`. Previously documented only as silencing a log warning
and enabling CODEOWNERS escalation — the hard prefetch failure on
team-reviewer PRs was undocumented.

Discovered in run #25974874120 / job #76353169023 against
petry-projects/.github#302 (first PR with a team reviewer encountered
since be66351 tightened prefetch error handling from silent `{}` to
hard exit).

Changes:
- bot-setup.md: strengthen read:org description; add troubleshooting
  entry for the prefetch error
- machine-user-setup.md: strengthen read:org description; expand
  Missing-token-scopes troubleshooting entry to cover both failure modes
- setup.md: tighten existing scope note; add dedicated troubleshooting
  entry for the prefetch/reviewRequests error

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.

3 participants