Repository navigation
feat(pr-review): full-review workflow — risk+heuristics → editable prompt → PR comment - #411
Merged
Merged
Conversation
…ompt → comment Adds a "Full Review" of a PR that runs as a workflow and reuses everything we already compute: 1. New editable `pr.review` prompt in the catalog (the user's review brief: don't treat heuristics as binary, evaluate the whole PR, look for missed edge cases / concurrency / idempotency / at-least/at-most-once, decide additive vs subtractive, find & justify the ROOT CAUSE for fixes, flag hot-path perf). Editable globally AND per-repo like every catalog prompt (the Prompts carousel is catalog-driven, so it appears automatically). 2. Backend workflow (POST /prs/<id>/review): auto-runs risk + block/heuristics analysis if missing, then feeds the risk verdict + file heuristics + per- block findings + PR description + diff as context into pr.review, run by the host (read-only) claude. Result stored per-PR (GET /prs/<id>/review), latest-wins (new columns full_review / full_review_at, migration 0013). 3. Right-side "Full Review" drawer with a prominent ★ CTA in the PR toolbar. Renders the markdown; "Comment on PR" hands it to the action bar's comment box PRE-FILLED for edit-then-post (nothing posts to GitHub without the user confirming there). Tests: RunFullReview assembles the prior analysis as context + stores/round- trips; degrades to "not available" notes when prereqs are absent; nil-runner guard; StoredReview absent. Full dashboard + prreview + store packages pass; frontend typechecks + builds. Co-Authored-By: Claude Opus 4.8 (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.
What
A "Full Review" of a PR that runs as a workflow and builds on everything we already compute (risk, heuristics, per-block findings, description, diff), then reviews the whole PR against an editable review brief and can post the result as a comment.
The workflow
POST /prs/<id>/review:pr.reviewprompt on the host (read-only) Claude.GET /prs/<id>/review; new columnsfull_review/full_review_at, migration 0013).The prompt (editable, global + per-repo)
New
pr.reviewcatalog entry seeded with the review brief: don't treat heuristics as binary — evaluate the entire PR; look for commonly-missed issues (unhandled edge cases, concurrency, idempotency, at-least/at-most-once semantics); decide additive vs subtractive; for fixes, find & justify the root cause, not the symptom; flag hot-path performance. Editable in the Prompts carousel globally and per-repo (the carousel is catalog-driven, so it appears automatically — no per-key frontend work).UI
Tests
RunFullReviewassembles the prior analysis as context + stores/round-trips; degrades to "not available" notes when prereqs are absent; nil-runner guard;StoredReviewabsent. Migration 0013 applies. Fullinternal/dashboard+internal/prreview+internal/storepackages pass; frontend typechecks + builds.🤖 Generated with Claude Code