ci(review): advisory review posts top-level comments only (fixes the thread deadlock at the source) - #292
Conversation
…auto-resolve The advisory review's inline comments create review threads that trip the "Require conversation resolution" branch rule and deadlock auto-merge. The auto-resolve step added in #262 turned out to be broken: the workflow GITHUB_TOKEN gets FORBIDDEN on the resolveReviewThread mutation (first exercised on #289 — three review rounds, 11 threads hand-resolved). Fix at the source: the bot now posts ONE top-level comment (file:line references inline in the body), never inline review threads — nothing to resolve, nothing to deadlock. Drop the inline-comment MCP tool from allowedTools and delete the dead auto-resolve step. Review quality stays (it caught two real bugs on #289); only the delivery mechanism changes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Claude finished @blove's task in 38s —— View job ReviewThis is a clean, well-reasoned fix. The diff removes the broken auto-resolve step and the inline-comment MCP tool, and updates the prompt to instruct the bot to post a single top-level comment. No correctness bugs, security issues, or type-safety problems found. One note worth validating:
The prompt now tells the bot to call Everything else looks good:
Looks good to merge. |
Problem
Two compounding issues with the advisory Claude review:
GITHUB_TOKENgetsFORBIDDEN: Resource not accessible by integrationon theresolveReviewThreadmutation. It was never exercised until #289 (its own PR had no inline comments), where every review round re-deadlocked the merge — 3 rounds, 11 threads resolved by hand.Fix — kill the deadlock at the source
The bot now posts one top-level comment per review (
gh pr comment), never inline review threads:path/file.ts:123in the comment body (still easy to locate),allowedTools, and the dead auto-resolve step is deleted.No threads → nothing to resolve → conversation-resolution can never deadlock on the bot. Human review threads are unaffected (and still gate merge, as intended).
Review quality is unchanged — on #289 it caught two real bugs (a production shutdown container leak and a Docker
writeFileparent-dir gap). Only the delivery mechanism changes.Self-test
pull_requestruns use the PR head's workflow, so this PR's own review should arrive as a single top-level comment with zero inline threads.🤖 Generated with Claude Code