feat: add /review-loop dual-reviewer slash command#49
Conversation
Adds the review-loop slash command: Claude and Codex each review the working-tree diff independently while fanning out into their own subagents, a Codex fixer repairs every valid finding from both reviews and hardens it with tests, and the loop repeats with fresh agent context until both reviewers independently sign off on the same post-fix state. - commands/review-loop.md: harness-agnostic command spec - prpm.json: register review-loop as a slash-command package Pairs with the workflow at AgentWorkforce/workflows repeatable/review-loop/workflow.ts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughThis PR adds a new ChangesReview Loop Command
Sequence Diagram(s)sequenceDiagram
participant Caller
participant agent_relay as agent-relay
participant Workflow as repeatable/review-loop/workflow.ts
participant Claude
participant Codex
participant Artifacts as .workflow-artifacts/review-loop
Caller->>agent_relay: check CLI (preflight)
Caller->>agent_relay: run --dry-run (Validation)
agent_relay->>Workflow: execute (pinned ref, env vars)
Workflow->>Claude: request review (claude-review.md)
Workflow->>Codex: request review+fix (codex-review.md)
Codex->>Workflow: produce fixes (review-fix-report.md)
Workflow->>Artifacts: write SIGNOFF.md / BLOCKED_NO_COMMIT.md
Workflow->>Caller: return final status & artifact paths
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@commands/review-loop.md`:
- Around line 49-52: The fenced code block containing the shell snippet starting
with "REVIEW_BASE=<ref> MAX_REVIEW_ITERATIONS=<n> REVIEW_PR_NUMBER=<pr> \"
should include a language to satisfy markdownlint MD040; update the opening
fence from "```" to "```bash" so the block is marked as a bash/shell snippet in
commands/review-loop.md.
- Around line 37-42: The workflow fetch step currently pulls
repeatable/review-loop/workflow.ts from a mutable source; update the fetch logic
(where the README/instructions refer to retrieving the workflow or the command
spec that loads "repeatable/review-loop/workflow.ts") to require and validate an
immutable ref (a tag, release version, or commit SHA) before fetching or
running; change the command/spec parsing to accept and enforce a version
parameter and error if none is provided, and document that the loader must use
that pinned ref (tag/sha) when constructing the GitHub URL or package install
command so the workflow is always run from an immutable ref.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 93f65ccc-d1e4-4f8f-859d-72bdad790b92
📒 Files selected for processing (2)
commands/review-loop.mdprpm.json
- Require pinning the fetched workflow to an immutable ref (published package version, git tag/release, or commit SHA); never fall back to the default branch silently. (CodeRabbit: deterministic-run concern) - Add `bash` language to the run-loop fenced block (markdownlint MD040). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Addressed both CodeRabbit comments in aadeff5:
cubic and Devin reported no issues. |
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
- commands/review-loop.md: add step verifying the agent-relay CLI is available before dry-run/launch; use full raw.githubusercontent URL for the commit-SHA example (cubic PR #49 P3) - commands/create-workflow.md: same agent-relay CLI verification step - writing-agent-relay-workflows: fix implementation-reconcile race by depending on the impl agent steps (failOnError:false) instead of a shared 'context' dep; restore pr_url to the valid verification-types row in the Common Mistakes table (relay PR #912 feedback) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- writing-agent-relay-workflows 1.6.12 -> 1.6.13 (reconcile race + pr_url table fix) - create-workflow 1.0.2 -> 1.0.3 (agent-relay CLI precheck step) - review-loop 1.0.0 -> 1.0.1 (agent-relay CLI precheck step + full raw.githubusercontent URL; also covers the un-bumped aadeff5 docs edit) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Adds the
/review-loopslash command and registers it for publishing./review-loop [base-ref] [--max N] [--pr N]runs a robust dual-reviewer code-review loop:VERDICT:contract.VERDICT: COMPREHENSIVELY_SATISFIED) on the same post-fix state, or a hard blocker is recorded, or the iteration budget is exhausted.The command is harness-agnostic and loads the
writing-agent-relay-workflowsandreview-fix-signoff-loopskills, then runs the workflow file atAgentWorkforce/workflowsrepeatable/review-loop/workflow.ts.Changes
commands/review-loop.md— command spec (args, skill loading, dry-run-first, honest reporting, constraints).prpm.json— registerreview-loopas aslash-commandpackage.Test plan
prpm.jsonparses as valid JSON;review-loopappears among slash-command packages.Validation: PASS (0 errors, 0 warnings).🤖 Generated with Claude Code