Let a monthly quota raise a pace warning - #258
Conversation
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 38 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. 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: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Comment |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
ceiling | b958aed | Commit Preview URL Branch Preview URL |
Aug 12 2026, 12:23 AM |
Automated reviewFound 5 issues:
For coding agents: fix BLOCK and FIX IF QUICK findings now; everything else is tracked or informational; never exceed one CodeRev fix round per PR. Advisory. Findings generated by |
Follow-up to #256, which fixed the displayed verdict but not the toast. Predictive pace warnings looked at the primary and secondary slots alone. A provider reports its monthly quota in the tertiary slot, so a month on course to run dry before it reset could never say so, while the weekly window beside it warned freely. Everything else was already in place: PredictiveWarningWindow::Monthly exists, predictive_window_for already maps anything past fourteen days onto it, and the dedup key includes window_minutes, so a tertiary window cannot collide with the secondary. The candidate list moved out of the loop into predictive_pace_candidates so the set of windows a warning can come from is testable on its own, rather than only observable by emitting a toast. Extra windows stay excluded. The displayed verdict can weigh every window because it shows one; here each candidate raises its own toast, and the extras are supplementary lanes that would multiply warnings rather than add information. `ceiling usage` is still weekly-only, but for a different reason: the CLI never renders tertiary or extra windows at all, so its pace line matches what it prints. Making the CLI monthly-aware means new output lines and belongs on its own. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
b0d7ed3 to
ec4282a
Compare
Version bumped in all five locations from VERSIONING.md, BUILD_NUMBER=131, Cargo.lock regenerated, and the Unreleased entries moved into a dated section. Supersedes 1.5.28, which was tagged but whose build was cancelled before it signed or uploaded anything, so that version produced no artifacts. The v1.5.28 tag stays as a marker, since the repository ruleset blocks deletion and non-fast-forward on v* tags. Ships the on-demand spend fix (#260, reported in #191), the monthly pace warning (#258), and reachable accessible names for settings controls (#259, closes #215).
Summary
Follow-up to #256, which fixed the displayed pace verdict but not the toast.
predictive_pace_candidatesso that set is testable on its own, rather than only observable by emitting a toastWhy
Predictive pace warnings looked at
primaryandsecondaryalone. A provider reports its monthly quota in the tertiary slot, so a month on course to run dry before it reset could never say so — while the weekly window beside it warned freely. That is the same blind spot #256 fixed for the on-screen verdict.Everything else was already in place:
PredictiveWarningWindow::Monthlyexists,predictive_window_foralready maps anything past fourteen days onto it, and the dedup key includeswindow_minutes(notifications.rs:52), so a tertiary window cannot collide with the secondary.Deliberately not included
Extra windows. The displayed verdict can weigh every window because it renders one; here each candidate raises its own toast, and the extras are supplementary lanes (Codex Spark, pooled team usage) that would multiply warnings rather than add information. Easy to widen if you'd rather.
The twelve-hour floor. Display pace skips windows under twelve hours because a marker on a bursty window is meaningless. An explicit "on course to be exhausted before it resets" toast is still actionable for a five-hour session, so warnings keep their existing reach.
ceiling usage. Still weekly-only, but for a different reason than I first thought: the CLI never renders tertiary or extra windows at all (cli/usage.rs:433-434), so its pace line is consistent with what it prints. Making it monthly-aware means new output lines and belongs on its own.Validation
cargo test --manifest-path apps/desktop-tauri/src-tauri/Cargo.toml(489 passed; +3 covering the monthly case, absent slots, and cadence-over-slot naming)cargo clippy --manifest-path apps/desktop-tauri/src-tauri/Cargo.toml --all-targets -- -D warningscargo fmt --all --manifest-path apps/desktop-tauri/src-tauri/Cargo.toml🤖 Generated with Claude Code