Skip to content

ci: restore Claude reviews with a supported Bedrock model - #10057

Open
zahin-mohammad wants to merge 1 commit into
masterfrom
WAL-2202-fix-claude-reviews
Open

zahin-mohammad wants to merge 1 commit into
masterfrom
WAL-2202-fix-claude-reviews

Conversation

@zahin-mohammad

@zahin-mohammad zahin-mohammad commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Description

Restore Claude workflows by upgrading the pinned action to v1.0.260 and selecting the active Sonnet 5.5 global Bedrock inference profile through ANTHROPIC_MODEL. The upgrade applies to both pull-request reviews and the iyarc-prune workflow from the linked failed run.

Migrate the bare @claude review path to the supported prompt input, include repository and pull-request context, require explicit GitHub CLI targeting, and allow the commands needed to read and publish the review. Keep custom mentions in interactive mode so the action supplies comment and conversation context. Replace the ignored timeout_minutes input with a ten-minute job timeout.

The linked failure used action v1.0.194, which carried Claude Code 2.1.234. Sonnet 5.5 requires Claude Code 2.1.280 or newer; action v1.0.260 carries Claude Agent SDK 0.3.309 and a sufficiently new runtime.

No application code or dependencies change. Existing AWS roles, region, and permissions are unchanged.

Issue Number

WAL-2202

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature
  • Breaking change
  • This change requires a documentation update — not applicable

How Has This Been Tested?

  • actionlint passed for .github/workflows/claude-pr.yml and .github/workflows/iyarc-prune.yml using the repository's locked Nix tool source.
  • A targeted harness verified action v1.0.260, the global Sonnet 5.5 profile, MAX_THINKING_TOKENS=0, explicit GitHub CLI targeting, removal of obsolete inputs, and prompt selection for bare, whitespace-padded, and custom mentions.
  • Verified prompt-versus-interactive mode behavior and accepted inputs against the pinned action source.
  • Verified the pinned action carries Claude Agent SDK 0.3.309.

Live inference was not exercised because comment-triggered review workflows use the default branch definition. After merge, request a bare @claude review and a custom mention; confirm successful inference and posted feedback. The inference role must allow the global Sonnet 5.5 profile and its destination models. Application builds and unit tests are not applicable to this workflow-only change.

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • Application code compiles correctly — not applicable; no application changes
  • The commit follows Conventional Commits
  • The ticket is linked
  • Permanent tests added — targeted workflow harness used; no implementation-detail test checked in
  • Application unit tests run — not applicable; workflow-only change

@linear-code

linear-code Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

WAL-2202

@zahin-mohammad

zahin-mohammad commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor Author

AI-generated review — updated after validating the linked Sonnet 5.5 failure. Please use your own judgment before acting on any findings.


PR Review: #10057 — restore Claude workflows with Sonnet 5.5

Changes: +19 / -11 across 2 files

Summary

This PR upgrades pull-request reviews and iyarc-prune to claude-code-action v1.0.260, whose Claude Agent software development kit (SDK) dependency is 0.3.309, and selects the global Sonnet 5.5 Bedrock inference profile (.github/workflows/claude-pr.yml:84, .github/workflows/claude-pr.yml:87, .github/workflows/iyarc-prune.yml:73, .github/workflows/iyarc-prune.yml:82).

flowchart TD
    A[Claude workflow starts] --> B[claude-code-action v1.0.260]
    B --> C[Claude Code 2.1.280 or newer]
    C --> D[Global Bedrock Sonnet 5.5 profile]
    D --> E{Workflow}
    E -->|PR review| F[Post review to triggering pull request]
    E -->|iyarc-prune| G[Analyze and update dependency policy]
Loading

Findings

  • ✅ Fixed: run 40019548206 used action v1.0.194 and Claude Code 2.1.234; the runtime rejected Sonnet 5.5 because it requires 2.1.280 or newer. iyarc-prune now uses v1.0.260 (.github/workflows/iyarc-prune.yml:73).
  • ✅ Fixed: every affected workflow now uses AWS's global Sonnet 5.5 profile rather than the US-only profile (.github/workflows/claude-pr.yml:87, .github/workflows/iyarc-prune.yml:82).
  • ✅ Fixed: review commands explicitly target the triggering repository and PR (.github/workflows/claude-pr.yml:101).
  • ✅ Aligned with WAL-2202: bare reviews and interactive mentions retain their intended modes.

Verification

actionlint (.github/workflows/claude-pr.yml .github/workflows/iyarc-prune.yml): PASS
latest-action/profile harness: PASS
commitlint: 0 errors
Mermaid render: PASS (202490 bytes)

Remaining live check: comment-triggered review workflows use the default-branch definition, so actual review inference must be verified after merge. The inference role must permit the global profile and its worldwide destination-model resources.


Generated by the wallet-platform:review-pr skill

Upgrade the pinned Claude action to v1.0.260 and select the global Sonnet 5.5 profile.

The action carries Claude Agent SDK 0.3.309, which supports the selected model.

Apply the upgrade to pull request reviews and the failing iyarc-prune workflow.

Keep custom mentions interactive and target the triggering pull request explicitly.

Ticket: WAL-2202

Session-Id: 146db0fb-b94c-4d9e-806e-4c150d26cfd3

Task-Id: e2770251-64bd-49f8-9e3f-2606f7e17c68

Requested-By: Zahin Mohammad <zahinmohammad@bitgo.com>
@zahin-mohammad
zahin-mohammad force-pushed the WAL-2202-fix-claude-reviews branch from 72954e9 to 9eaba10 Compare October 23, 2026 23:46
@zahin-mohammad
zahin-mohammad marked this pull request as ready for review October 23, 2026 23:50
@zahin-mohammad
zahin-mohammad requested review from a team as code owners October 23, 2026 23:50

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

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@zahin-mohammad

Copy link
Copy Markdown
Contributor Author

@claude review always

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error —— View job


I'll analyze this and get back to you.

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

Nothing blocking. The comments below are optional suggestions. There is no need to push a fix for them before merging.

Comment on lines +107 to 118
- uses: anthropics/claude-code-action@8d70a0dd265122bd65b8e09d3d959e65373ae2a1 # v1.0.260
if: steps.determine-prompt.outputs.use-code-review-prompt == 'false'
env:
ANTHROPIC_MODEL: arn:aws:bedrock:us-west-2:168000258654:inference-profile/global.anthropic.claude-sonnet-5-5
AWS_REGION: us-west-2
AWS_ACCESS_KEY_ID: ${{ steps.inference-role.outputs.aws-access-key-id }}
AWS_SECRET_ACCESS_KEY: ${{ steps.inference-role.outputs.aws-secret-access-key }}
AWS_SESSION_TOKEN: ${{ steps.inference-role.outputs.aws-session-token }}
COMMENT_BODY: ${{ github.event.comment.body }}
MAX_THINKING_TOKENS: '0'
with:
timeout_minutes: '10'
github_token: ${{ secrets.GITHUB_TOKEN }}
use_bedrock: 'true'

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 (optional) Members whose comment says @ claude inside punctuation or markup, like "(@ claude)", "@ claude", "@ claude" or "@ claude's", get a green run with no reply. The job gate at line 19-20 only checks contains(..., '@ claude'). This step has no prompt, so v1 tag mode runs only when the mention matches (^|\s)@ claude([\s.,!?;:]|$). Fix: make every comment the gate accepts get handled, either by sending non-matching comments to a prompt-based step or by gating the job on the same whitespace-bounded match. The base direct_prompt always triggered.

Why this was flagged

The trigger is an issue_comment or pull_request_review_comment from an OWNER/MEMBER whose body contains '@ claude' but not as a whitespace-delimited token. Examples are "(@ claude can you check this)", "@ claude explain", "@ claude's take?" or "@ claude-review". It passes the job if at claude-pr.yml:19-20, and determine-prompt (line 67) sends it to the non-review step at line 107. That step now passes no prompt or direct_prompt. The v1.0.260 action therefore picks tag mode only if checkContainsTrigger matches the trigger phrase between whitespace or start/end and [\s.,!?;:] or end. Otherwise it falls back to agent mode with no prompt and exits without running Claude, so the job ends green with no tracking comment and no reply. On the base, the v0 action at 69dec299 had direct_prompt set, and v0's checkContainsTrigger returned true whenever a direct prompt was given. Every comment the gate accepted reached Claude. The removed COMMENT_BODY/direct_prompt was the only thing bypassing the action's stricter trigger regex, and nothing in the workflow replaces it.

Verification: The job gate at .github/workflows/claude-pr.yml:19-20 is a plain substring check, contains(github.event.comment.body, '@ claude'). After this change the step at lines 107-118 has no prompt. So these comments pass the gate and get a green run with no reply. In the base, direct_prompt made the trigger check always pass, so the step ran for any comment the gate let through.

This branch has not been deployed

No deployments
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