Repository navigation
Conversation
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a localized server bug fix that preserves an already reported future Claude usage-limit reset only when a repeated event omits the timestamp, while retaining existing recovery and invalid-data handling. The accompanying tests cover the reset, expiry, recovery, and multi-window cases without introducing schema or deployment changes. You can add or adjust custom eligibility rules. Learn more. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. 🧰 Additional context used📚 Code guidelines (1)No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe Claude adapter now preserves a prior future reset timestamp when a blocked rate-limit update omits one. It validates supplied reset values. Parameterized tests cover reset selection and usage-limit failure classification. ChangesClaude rate-limit reset tracking
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~15 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to No actionable merge-blocking risk is identified; the change is ready for normal merge checks. Security Architecture ReviewSecurity architecture risk: ⚪ Minimal · up to The fix preserves a previously reported reset only for the same named limit window while that reset remains in the future. Recovery still clears the stored value, and an exhausted window with an unknown reset still prevents reporting a combined reset. No new access path, privilege, or weakened security control was identified. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
A repeated Claude rejected rate-limit event without
resetsAterased a future reset timestamp already reported for the same window. Activity could therefore show a countdown while the terminal failure lost its reset and recovery controls.Preserves the prior future timestamp only when the same named window omits
resetsAt. Recovery events still clear it. Expired or explicitly invalid timestamps, unidentified windows, and separate exhausted windows with unknown resets still prevent scheduling. Automatic recovery remains controlled by the user's setting.Refs #15665. The reporter's raw SDK events are unavailable, so this fixes a demonstrated cause consistent with the report without claiming its exact run is fully resolved.
Validation: ten new terminal-failure cases produced three failures and seven passes against the original adapter. With the patch,
vp test run apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.tspassed all 140 tests. The server typecheck passed withGOMAXPROCS=2 GOMEMLIMIT=3GiB ./node_modules/.bin/tsc --noEmit -p apps/server/tsconfig.json. The two issue typechecks ran sequentially. Targeted formatting, lint, and whitespace checks passed, with one unchanged existing lint warning for unusedlayer. A separate GPT-6-Astra reviewer at medium reasoning approved the patch with no findings. No live provider session or browser verification was performed.Implemented by GPT-6.1-Sol at xhigh reasoning through the Codex harness.