Skip to content

Reusable claude-review workflow: push-triggered runs sometimes go green posting only a stub, no verdict #173

Description

@dem-extra1

Observed repeatedly in Lacaedemon/sparta (a quarto-publish/review REVDEPS consumer) during a
high-throughput PR session on 2026-07-02, tracked there as
Lacaedemon/sparta#590:

Symptom

A push-triggered claude-review run completes green but posts only a stub comment
("I'll wait for the background agents..." or "needs your approval") with no review verdict.
The job's exit status gives no signal that no review happened.

  • sparta PR #583: both push-triggered runs stubbed; the two real reviews only came from
    workflow_dispatch re-triggers.
  • sparta PR #569: 3 of 5 runs stalled this way ("waiting for background agents" /
    "needs your approval" stubs) while the job still passed.
  • sparta PR #589: three consecutive stalls without a verdict; the fallback was a
    self-review posted by the session driving the PR.
  • sparta PR #578 (the original #590 report): same pattern, while sibling PRs reviewed fine.

workflow_dispatch re-triggers succeed far more reliably than push-triggered runs, which
suggests something about the push/synchronize event context (or a concurrency/approval
prompt in that path) rather than the review prompt itself.

Why it matters

Downstream automation treats "review job green" as "a review verdict exists". A green
stub breaks that: an ARDI loop waits on a verdict that never arrives (or worse, a
stale prior verdict gets read as current). A run that posts no verdict should fail, or
at minimum the workflow should detect the stub and retry once.

Possible root

May ultimately sit in anthropics/claude-code-action rather than this repo's reusable
workflow - the stub texts look like the action's agent stalling on an approval prompt.
Filing here first since the reusable workflow is where a stub-detect-and-retry (or
fail-on-no-verdict) guard could live regardless; if it reproduces cleanly against the
action itself, an upstream report there needs the owner's sign-off first.

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