Skip to content

review: a Claude error result is a red run, and it pages - #1238

Merged
claude-yolo[bot] merged 1 commit into
mainfrom
ci/review-error-is-red
Sep 2, 2026
Merged

review: a Claude error result is a red run, and it pages#1238
claude-yolo[bot] merged 1 commit into
mainfrom
ci/review-error-is-red

Conversation

@lroolle

@lroolle lroolle commented Sep 2, 2026

Copy link
Copy Markdown
Member

What went wrong

Today at 05:15 UTC the day-shift review of #1237 ran for 11 seconds, four turns, and Claude's result was "is_error": true (the shared OAuth token was at its spending cap; the hn-digest curate step hit the same wall 17 minutes later and, using the fork of the action, failed properly). anthropics/claude-code-action@v1.0.168 reported the step as success, the run went green, and #1237 sat with no review, no merge, no comment, no page. Eight green review runs in a row; this one produced nothing and looked the same.

The change

Two steps after the review, mirroring what fetch-claude-docs.yml already does for the night shift:

  • Fail if the review errored: grep the action's execution_file for "is_error": true and exit 1 with the result text in the log. Skipped when the review step itself was skipped ([skip-review], [WIP]) since there is no execution file.
  • Alert on failure: the same Bark push the fetch workflow sends, with its own title. Copied verbatim except for the words, so it fires under the same secrets.

The detection was checked against the error shape from today's log. The Bark step could not be exercised without the secrets; it is the fetch workflow's step with a different title.

Nothing about the review prompt or its permissions changes.

anthropics/claude-code-action reports success even when Claude's own
result is an error. 2026-09-02 05:15 UTC: is_error true after 11 s (the
shared OAuth token at its spending cap), the run went green, and #1237
sat unreviewed with nothing to show for it. The fetch workflow already
verifies its outcome and pages on failure; the review workflow had
neither. Now: grep the execution file for is_error, fail the step, and
send the same Bark push the fetch side sends.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 2, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-02T06:13:56.406546Z 1322df8 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@claude-yolo
claude-yolo Bot merged commit cb26f9a into main Sep 2, 2026
1 check passed
@claude-yolo
claude-yolo Bot deleted the ci/review-error-is-red branch September 2, 2026 06:11

@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: 1322df8ffc

ℹ️ 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".

if: steps.claude-review.outcome == 'success' && steps.claude-review.outputs.execution_file != ''
run: |
f="${{ steps.claude-review.outputs.execution_file }}"
if grep -Eq '"is_error":\s*true' "$f"; then

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Restrict the check to the final result event

When Claude encounters a recoverable tool error and then completes the review, the execution log still contains a tool-result block with is_error: true; the SDK documentation explicitly defines this flag for tool results (content/en/docs/claude-code/agent-sdk/todo-tracking.md:210-215), while the action documentation describes execution_file as the entire event log and locates the final outcome by selecting an entry whose type is result (content/github/claude-code-action/base-action/README.md:366-377). Grepping the whole file therefore makes such successful reviews exit 1 and send a false Bark page. Parse the final type == "result" event and test its is_error field instead.

Useful? React with 👍 / 👎.

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