fix: preserve Strix PR scope on provider exhaustion - #1213
Conversation
|
Warning Review limit reached
Next review available in: 33 minutes Limit details: You’ve used the included review currently available. 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?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day 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 (6)
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 |
|
@opencode-agent Review only exact current head 5dbf903. Verify the trusted status-3 boundary, unchanged-finding attribution, provider-exhaustion neutralization, and fail-closed changed/unmapped/configuration paths. Submit a formal Reviews API verdict without changing the branch, self-approving, or bypassing protection. |
|
@opencode-agent Re-review exact current head 5dbf903 now that all hosted checks are terminal-success and the informational Devin thread is resolved. Submit the formal Reviews API verdict; do not mutate the branch or bypass protection. |
|
@opencode-agent Please review exact head |
| # The trusted PR-scope mapper has already proved these reports belong only | ||
| # to unchanged files. Keep that decision distinct from a real changed-file | ||
| # finding when every remaining provider is unavailable. | ||
| if [ "$PR_FINDINGS_DECISION" = "allow_baseline" ] && [ "$INFRA_ERROR_DETECTED" -eq 1 ]; then | ||
| if is_vertex_model "$PRIMARY_MODEL"; then | ||
| echo "Configured Vertex model and fallback models were unavailable after unchanged-file findings were excluded." >&2 | ||
| else | ||
| echo "Configured model and fallback models were unavailable after unchanged-file findings were excluded." >&2 | ||
| fi | ||
| return 3 | ||
| fi |
There was a problem hiding this comment.
📝 Info: Exit-3 neutral path skipped when no fallbacks are configured
The new return 3 (strix_quick_gate.sh) sits after the guard that returns 1 when no fallback ran (strix_quick_gate.sh). With zero configured fallbacks, a primary infra failure on baseline-only findings still returns 1 and the workflow hard-fails on the severity text. The workflow always sets STRIX_FALLBACK_MODELS, so the reproduced incident is covered.
Was this helpful? React with 👍 or 👎 to provide feedback.
Root cause
The trusted Strix PR mapper correctly excluded a hallucinated finding in an unchanged, nonexistent file, but later provider retirement failures reused the same exit status as changed-file findings. The outer workflow then saw the retained severity text and failed the required check even though the exact PR diff had already been cleared.
Repair
Exact-head verification
No secret, approval, protection, or reviewer-key boundary changes.