mirror of
https://github.com/facebook/rocksdb.git
synced 2026-07-07 14:47:40 +08:00
46ce1a03a9
Summary: ### Motivation Claude's auto review workflow classifies the PR as complex and sets `MAX_THINKING_TOKENS`=**32000** in `.github/workflows/ai-review-analysis.yml:534`. The Claude action then sends a request where `thinking.budget_tokens` is **32000**, but the request `max_tokens` is not greater than that, so Anthropic rejects it before the review starts ([example](https://github.com/facebook/rocksdb/actions/runs/25691112276/job/75427435133)). ### Fix Reduce the "complex" thinking budget from **32000** to **24000** tokens and clamps manual overrides to the same ceiling, preventing the thinking budget from exceeding or equalling the action's effective `max_tokens`. 24k is still generous — enough for deep reasoning on complex PRs while guaranteeing the model can emit the formatted review. Pull Request resolved: https://github.com/facebook/rocksdb/pull/14731 Reviewed By: xingbowang Differential Revision: D104749426 Pulled By: mszeszko-meta fbshipit-source-id: bf94d0f50e7c2c9bc9e4d4cdffd61087d739018a
70 lines
2.2 KiB
YAML
70 lines
2.2 KiB
YAML
# Claude Code Review — Analysis Workflow
|
|
#
|
|
# Thin wrapper around .github/workflows/ai-review-analysis.yml so provider
|
|
# specific triggers and workflow_dispatch inputs stay stable while the shared
|
|
# implementation lives in one reusable workflow.
|
|
|
|
name: Claude Code Review
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["facebook/rocksdb/pr-jobs"]
|
|
types: [completed]
|
|
|
|
# The early pull_request_target path is limited to same-repo PRs by the job
|
|
# condition below. Fork PRs skip this path and rely on workflow_run instead.
|
|
pull_request_target:
|
|
types: [opened, reopened, synchronize]
|
|
|
|
issue_comment:
|
|
types: [created]
|
|
|
|
workflow_dispatch:
|
|
inputs:
|
|
pr_number:
|
|
description: PR number to review
|
|
required: true
|
|
type: number
|
|
model:
|
|
description: Claude model to use (defaults to latest Opus)
|
|
required: false
|
|
type: choice
|
|
options:
|
|
- claude-opus-4-6
|
|
- claude-sonnet-4-6
|
|
default: claude-opus-4-6
|
|
thinking_budget:
|
|
description: Override MAX_THINKING_TOKENS (blank = auto-classify, capped at 24000)
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
|
|
permissions:
|
|
contents: read
|
|
# The shared analysis workflow polls check state, inspects prior runs, and
|
|
# reads PR metadata. Keep those permissions read-only in the caller.
|
|
actions: read
|
|
checks: read
|
|
pull-requests: read
|
|
|
|
jobs:
|
|
review:
|
|
if: >-
|
|
github.event_name != 'pull_request_target' ||
|
|
github.event.pull_request.head.repo.full_name == github.repository
|
|
uses: ./.github/workflows/ai-review-analysis.yml
|
|
with:
|
|
provider: claude
|
|
display_name: Claude
|
|
review_command: /claude-review
|
|
query_command: /claude-query
|
|
result_artifact_name: claude-review-result
|
|
comment_file: claude-review-comment.md
|
|
default_model: claude-opus-4-6
|
|
selected_model: ${{ github.event_name == 'workflow_dispatch' && inputs.model || '' }}
|
|
classifier_model: claude-sonnet-4-6
|
|
recovery_model: claude-sonnet-4-6
|
|
thinking_budget: ${{ github.event_name == 'workflow_dispatch' && inputs.thinking_budget || '' }}
|
|
dispatch_pr_number: ${{ github.event_name == 'workflow_dispatch' && inputs.pr_number || '' }}
|
|
secrets: inherit
|