Skip to content

feat(pr-review): conductor can trigger a full review via API/CLI/skill (+ cheat sheet) - #412

Merged
jrothrock merged 1 commit into
mainfrom
feat/conductor-pr-review
Sep 11, 2026
Merged

jrothrock merged 1 commit into
mainfrom
feat/conductor-pr-review

Conversation

@jrothrock

Copy link
Copy Markdown
Collaborator

Follow-up to #411 — lets the host (global) Claude run a full PR review itself, not just the browser button, and documents how to ask for it.

API (conductor-facing, background jobs)

  • POST /api/prs/<id>/review — starts the full-review workflow in the background (auto-runs enrich + risk if missing, then the pr.review prompt).
  • GET /api/prs/<id>/analysis — now exposes a review job field alongside enrich/risk to poll.
  • GET /api/prs/<id>/review — read the stored markdown once done.
  • POST /api/prs/<id>/comment — publish the review as a PR comment (writes to GitHub, gated by API-writes).
  • All added to the OpenAPI spec so the conductor discovers them (TestOpenAPINoDrift passes).

CLI

  • corral pr review <prId> [--wait] — start, or wait-and-print the markdown.

Skill

New "Full review of a PR" section in corral-api/SKILL.md that draws the distinction the user asked for:

  • Full review — host, read-only. Reads the PR + prior analysis, writes a review. Does not run the code.
  • Sandbox verify — spins up a sandbox on the PR branch and actually runs it (build/tests/app).
  • They're independent and can run at the same time. Explicit mapping: "do a full review of PR #N" → review only; "do a full review AND verify it in a sandbox" → both, concurrently.

Cheat sheet

docs/CHEAT_SHEET.md — human-readable, table-driven examples of what to say to the dashboard's Claude (fake repos project-planner / invoice-service), matched to real API/CLI/skill actions. Covers full review, full-review-plus-sandbox-verify, multi-repo projects, getting an app into Live View, GitHub housekeeping, and fan-out. Linked from docs/README.

Tests

TestAPIPRReviewRoutes (stored review null before a run; analysis exposes the review job; start route wired). internal/dashboard + internal/prreview + internal/automations pass.

🤖 Generated with Claude Code

Lets the host (global) Claude run a full PR review itself, not just the
browser button:

- API: POST /api/prs/<id>/review starts the review WORKFLOW as a background
  job (auto-runs enrich + risk if missing, then the pr.review prompt); poll
  GET /api/prs/<id>/analysis (new "review" field), read GET /api/prs/<id>/review.
  POST /api/prs/<id>/comment publishes the markdown as a PR comment. All in the
  OpenAPI spec so the conductor discovers them (drift test passes).
- CLI: `corral pr review <prId> [--wait]` — start, or wait-and-print.
- Skill: a "Full review of a PR" section that distinguishes a full review
  (host, read-only — reads the PR, writes a review, does NOT run code) from a
  sandbox verify (runs the branch in a container), and states they're
  independent and can run AT THE SAME TIME. Maps the phrasings: "do a full
  review" → review only; "do a full review AND verify in a sandbox" → both,
  concurrently.
- docs/CHEAT_SHEET.md: human-readable, table-driven examples of what to say to
  the dashboard's Claude (fake repos project-planner/invoice-service), matched
  to real API/CLI/skill actions; linked from docs/README.

Test: TestAPIPRReviewRoutes (stored review null before a run, analysis exposes
the review job, start route wired). Dashboard + prreview + automations pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jrothrock
jrothrock merged commit 55afbba into main Sep 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant