add Claude Code PR review pilot - #34
Merged
Merged
Conversation
CLAUDE.md: project context for Claude Code sessions and CI review, covering architecture, session structure, conventions, and non-obvious gotchas (Resource API v2, GenericTrackedObject spread, tsc || true build semantics, ESLint-only lint). claude-review.yml: baseline PR review via anthropics/claude-code-action. Gated to HarperFast org members (author_association), Sonnet 4.6, max_turns 8, concurrency 1/PR cancel-in-progress, SHA-pinned actions, COMMENT-only review type during calibration. Requires ANTHROPIC_API_KEY secret on the repo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Drop permissions.id-token (only needed for Bedrock/Vertex OIDC; we authenticate with ANTHROPIC_API_KEY) - Remove "Proposed:" header comment from draft phase - Tighten the 10-finding cap phrasing so it does not contradict the "no closing summary" rule — overflow is appended to the last finding Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two fixes for the first live CI run:
1. Restore id-token: write — previous review thought the OIDC token
was only needed for Bedrock/Vertex, but the v1 action requires it
for its own GitHub context detection even when authenticating via
anthropic_api_key. Dropping it produced:
Could not fetch an OIDC token. Did you remember to add
id-token: write to your workflow permissions?
2. Move model and max_turns into claude_args. v1 migrated these
(and others) from top-level inputs to Claude Code CLI pass-through
flags. Prior config produced:
Unexpected input(s) 'model', 'max_turns'
per anthropics/claude-code-action/docs/migration-guide.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
heskew
added a commit
that referenced
this pull request
May 14, 2026
#34 fixes the post-#33 turn-exhaustion: passes PR-context env vars (PULL_REQUEST_NUMBER, REPOSITORY, ISSUE_TITLE, ISSUE_BODY) so the agent doesn't burn turns running `printenv` / `env | grep` / `git remote -v` trying to figure out which PR it's reviewing. Also widens tools.core to match upstream (`head`/`tail` added) so denial retries stop eating the turn budget. Claude has no functional change from #34; pin moves to stay symmetric with the Gemini pin within this repo. Continuing to use this PR as the comparison-test surface for one more iteration. If clean, next bump disables `gemini_debug`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CLAUDE.md(first commit of this file) as project context for Claude Code sessions and CI-based review. Trimmed to stable content only — no branch-state, no user-home refs, corrects a few factual drifts (lint is ESLint not typecheck, runtime deps exist,npm run buildistsc || true)..github/workflows/claude-review.yml— baseline PR review viaanthropics/claude-code-action. Sonnet 4.6,max_turns: 8, concurrency 1/PR with cancel-in-progress, SHA-pinned actions, gated to HarperFast org members viaauthor_association. Review type is COMMENT-only during calibration (no merge-blocking, no auto-approval).Part of a broader AI review pilot starting here (solo-maintained, small blast radius). Lessons from the next ~2 weeks feed into expanding to
/harper,/harper-pro, and/nextjs.Not in this PR
HarperFast/ai-review-log— pending PAT approval; follow-up PR will addclaude_env: AI_REVIEW_LOG_TOKEN+ issue-creation instructions in the prompt.@claude deep-reviewtriggered workflow (Opus) — deferred to Phase 4 after baseline calibration.Prerequisites
ANTHROPIC_API_KEYsecret added to repoTest plan