docs(decisions): a judge's PASS is cached at the altitude of the question it answers - #361
Conversation
…tion it answers Records the ruling behind #360, which shipped without its why. New axis judge-verdict-cache-scope: completeness judges the commit MESSAGE's claims, so its confident PASS is keyed on branch + normalised message + brief rather than the staged bytes — a retry that reshapes the diff for a DIFFERENT reviewer is not re-judged. The Negative is on the record: a retry that guts claimed functionality under an unchanged message is not re-caught, and the message is the only guard. Filed as its own axis rather than a note under ship-gates-converge-not-restart: that axis rules that retries converge, this one rules what a verdict is scoped TO. Cross-linked both ways. Also notes the prewarm on review-gate-in-chain (placement, not scope): completeness now starts in parallel with the fleet at pre-commit on the ship path, and commit-msg re-judges from cache. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 34 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
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 |
Bump 0.48.0 -> 0.49.0 and rebuild dist from a clean origin/main worktree. Ships the review-latency work (#360) to consumers: completeness prewarmed in parallel with the reviewer fleet on the ship path, its PASS intent-scoped to branch + message so a retry does not re-pay opus, the cancelled judge actually killed and reaped, and review concurrency defaulting to 6. The ruling behind the sticky verdict is on the record in #361. Also drops dist/cli/commands/migrate.mjs, a stale artifact no build has produced since #68 deleted its source (cli/commands/migrate.mts). It was force-added at v0.33.0 and has shipped to consumers in every release since — dead code for a command that no longer exists. Found by rebuilding dist from EMPTY and diffing the result against the index in both directions; the release check until now only asked whether a built file was missing from the index, never whether an indexed file was still built. Note for the first ship after upgrading: cacheKey salts on the devkit VERSION, so every reviewer and completeness verdict earned under 0.48.0 is invalidated by design (sc-1437 / #353). That first attempt re-judges from scratch; the convergence shows up from the second attempt on. Gates bypassed at the maintainer's request (--no-verify). Release smoke checks ran: built bin reports 0.49.0, a from-empty rebuild is byte-identical to the index in both directions, and all four shipped behaviours are present in dist. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Bump 0.48.0 -> 0.49.0 and rebuild dist from a clean origin/main worktree. Ships the review-latency work (#360) to consumers: completeness prewarmed in parallel with the reviewer fleet on the ship path, its PASS intent-scoped to branch + message so a retry does not re-pay opus, the cancelled judge actually killed and reaped, and review concurrency defaulting to 6. The ruling behind the sticky verdict is on the record in #361. Also drops dist/cli/commands/migrate.mjs, a stale artifact no build has produced since #68 deleted its source (cli/commands/migrate.mts). It was force-added at v0.33.0 and has shipped to consumers in every release since — dead code for a command that no longer exists. Found by rebuilding dist from EMPTY and diffing the result against the index in both directions; the release check until now only asked whether a built file was missing from the index, never whether an indexed file was still built. Note for the first ship after upgrading: cacheKey salts on the devkit VERSION, so every reviewer and completeness verdict earned under 0.48.0 is invalidated by design (sc-1437 / #353). That first attempt re-judges from scratch; the convergence shows up from the second attempt on. Gates bypassed at the maintainer's request (--no-verify). Release smoke checks ran: built bin reports 0.49.0, a from-empty rebuild is byte-identical to the index in both directions, and all four shipped behaviours are present in dist. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Records the ruling behind #360, which merged without its why.
New axis
judge-verdict-cache-scope. Completeness judges the commit message's claims against what the change delivers, so its confident PASS is keyed on branch + normalised message + reviewer brief rather than on the staged bytes. A retry that reshapes the diff to satisfy a different reviewer is not re-judged.The Negative is on the record rather than buried: a retry that guts claimed functionality under an unchanged commit message is not re-caught on that branch — the message is the only guard. Amending the message, switching branch, or editing the brief re-opens the gate, and a FAIL is never sticky.
Why its own axis, not a note under
ship-gates-converge-not-restart: that axis rules that ship retries converge instead of restarting; this one rules what a verdict is scoped to. Different questions, so two rulings would not have competed — but leaving it as a note would have hidden a byte-exact→intent key change underneath a target that says verdicts cache "on their exact evidence bytes". Cross-linked both ways.review-gate-in-chaingets a note for the placement change (not the scope): completeness now starts in parallel with the fleet at pre-commit on the ship path, and commit-msg re-judges it from cache. The note also records the subshell trap that made the cancelled-judge path leak, since that is the kind of thing that gets silently "simplified" back.Anchored as
[BET]with a checkable expiry: revisit if a same-message retry is ever observed shipping a gap completeness had already passed, or once sc-1527 (per-judge cost instrumentation) shows completeness is no longer a material share of ship spend.Committed
--no-verifyby request — docs-only change.🤖 Generated with Claude Code