Skip to content

claude-review: gha#198's high-denial stub signature recurred (12 denials, docs-only diff, nothing posted) #543

Description

@d-morrison

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions