fix(protocol): make signal checkpoints immutable #4496
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Claude Code | |
| # https://docs.anthropic.com/en/docs/claude-code/github-actions | |
| on: | |
| issue_comment: | |
| types: [created] | |
| jobs: | |
| claude: | |
| # SECURITY: only trusted authors can trigger this secret-bearing job. | |
| # Anyone with comment access could otherwise spend the ANTHROPIC_API_KEY | |
| # and run a job with contents/pull-requests/issues/id-token write. | |
| if: >- | |
| github.event_name == 'issue_comment' | |
| && contains(github.event.comment.body, '@claude') | |
| && github.event.issue.pull_request != null | |
| && contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association) | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| issues: write | |
| id-token: write | |
| steps: | |
| - name: Fetch owner/repo of pull request | |
| uses: alessbell/pull-request-comment-branch@v2.1.0 | |
| id: comment-branch | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| # SECURITY: Pin to exact commit at comment time to prevent TOCTOU attacks | |
| ref: ${{ steps.comment-branch.outputs.head_sha }} | |
| repository: ${{ steps.comment-branch.outputs.head_owner }}/${{ steps.comment-branch.outputs.head_repo }} | |
| # Fetch more history for better git operations | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "20" | |
| - name: Run Claude Code | |
| id: claude | |
| uses: anthropics/claude-code-action@v1 | |
| with: | |
| anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} | |
| track_progress: true | |
| prompt: | | |
| Perform a comprehensive code review of the changes in this pull request. | |
| For protocol(smart contract) changes always start in the `packages/protocol` directory. | |
| You MUST run `pnpm install --ignore-scripts` first for security (prevents malicious lifecycle scripts). | |
| You MUST follow the development workflow described in CLAUDE.md. | |
| You MUST make sure the tests are passing before creating a pull request. | |
| You MUST open a draft pull request after creating a branch. | |
| You MUST create a pull request after completing your task. | |
| You can create pull requests using the `mcp__github__create_pull_request` tool. | |
| Use top-level comments for the review. Leave out sections that have no relevance, for example if it is a documentation change testing may be irrelevant. | |
| Be constructive and helpful in your feedback. Don't be overly polite or verbose, be direct. | |
| # Tools for comprehensive PR review | |
| claude_args: | | |
| --allowedTools " | |
| mcp__github_inline_comment__create_inline_comment, | |
| Bash(gh pr comment:*), | |
| Bash(gh pr diff:*), | |
| Bash(gh pr view:*), | |
| Bash(pnpm install --ignore-scripts), | |
| Bash(pnpm test:*), | |
| Bash(pnpm fmt:sol), | |
| Bash(pnpm snapshot:*), | |
| Bash(pnpm compile:*), | |
| Bash(pnpm layout:*), | |
| Bash(cat *), | |
| Bash(find *), | |
| Bash(grep *), | |
| Bash(ls *), | |
| WebFetch(domain:docs.anthropic.com) | |
| " | |
| use_sticky_comment: true |