gha#198 is closed, but its signature recurred today on
Morrison-Lab/wai#83, a documentation-only PR touching one .qmd and
inst/WORDLIST.
Run: https://github.com/Morrison-Lab/wai/actions/runs/32424955329/job/96604892908
"is_error": false,
"num_turns": 16,
"total_cost_usd": 1.77551245,
"permission_denials_count": 12
Step 21, "Resolve final review outcome", failed. Steps 22 and 23 ("Post
quota-exhausted comment", "Post review comment") were skipped, so nothing was
posted at all --- zero reviews and zero comments on the PR --- and
require-review went red. From the PR page there is no way to tell this apart
from a reviewer that simply has not run yet.
The guard behaved exactly as designed:
Claude review states no verdict (no '### Verdict' heading or 'Verdict:' line
anywhere in its output) -- looks like an incomplete/stub review, not a finished
one (gha#173, Lacaedemon/sparta#590).
::warning::permission_denials_count=12 exceeds the stub-retry threshold (5) --
this looks like gha#198's pattern, not gha#185's; not marking as retryable.
So this is not a regression in the detection. It is the underlying condition
recurring, on a repo that already fixed its own instance of the related
Morrison-Lab/wai#49 (closed 2026-08-08 by migrating that repo's caller onto
this reusable workflow).
What is worth checking
The run's claude_args allowlist contains no Task:
mcp__github_inline_comment__create_inline_comment,Bash(python3:*),Bash(maxima:*),
WebFetch,WebSearch,Bash(curl:*),Bash(gh pr view:*),Bash(gh pr diff:*),
Bash(gh pr list:*),Bash(gh issue view:*),Bash(gh issue list:*),Bash(gh search:*)
while the appended system prompt in the same run tells the agent to use "the
code-review plugin's own same-run parallel sub-agent fan-out" (with
run_in_background: false, per gha#392). If the plugin's command does fan out
and Task is not grantable, every one of those calls is a denial, which would
account for a double-digit count on a two-file docs diff where there is very
little else to be denied for.
I cannot confirm that, because the job log records only the count and not
the tool names --- which is gha#540, where I have posted the same evidence.
Fixing #540 first would make this issue answerable in one read rather than by
inference.
Cost
$1.78 and three minutes of runner time, spent on a run that posted nothing.
The intended review is unobtainable while this holds: self-review-fallback
correctly says not to re-dispatch the same reviewer on this signature, so the
PR has no route to an external verdict.
gha#198is closed, but its signature recurred today onMorrison-Lab/wai#83, a documentation-only PR touching one.qmdandinst/WORDLIST.Run: https://github.com/Morrison-Lab/wai/actions/runs/32424955329/job/96604892908
Step 21, "Resolve final review outcome", failed. Steps 22 and 23 ("Post
quota-exhausted comment", "Post review comment") were skipped, so nothing was
posted at all --- zero reviews and zero comments on the PR --- and
require-reviewwent red. From the PR page there is no way to tell this apartfrom a reviewer that simply has not run yet.
The guard behaved exactly as designed:
So this is not a regression in the detection. It is the underlying condition
recurring, on a repo that already fixed its own instance of the related
Morrison-Lab/wai#49(closed 2026-08-08 by migrating that repo's caller ontothis reusable workflow).
What is worth checking
The run's
claude_argsallowlist contains noTask:while the appended system prompt in the same run tells the agent to use "the
code-review plugin's own same-run parallel sub-agent fan-out" (with
run_in_background: false, per gha#392). If the plugin's command does fan outand
Taskis not grantable, every one of those calls is a denial, which wouldaccount for a double-digit count on a two-file docs diff where there is very
little else to be denied for.
I cannot confirm that, because the job log records only the count and not
the tool names --- which is
gha#540, where I have posted the same evidence.Fixing #540 first would make this issue answerable in one read rather than by
inference.
Cost
$1.78 and three minutes of runner time, spent on a run that posted nothing.
The intended review is unobtainable while this holds:
self-review-fallbackcorrectly says not to re-dispatch the same reviewer on this signature, so the
PR has no route to an external verdict.