Repository navigation
Retry a pinned route that answers without its identity echo - #165
Merged
Merged
Conversation
A provider response that omits or contradicts the pinned model and provider echo is a transient gateway defect, not a decision about the review, yet it terminated the call on the first occurrence while a 502 from the same gateway was retried. A dropped echo now consumes the same transient retry budget and backoff as a retryable HTTP status. Acceptance is unchanged: a response is only ever used when the echo matches, and an echo that stays absent or wrong across the budget returns the identical terminal error and diagnostic classification it returned before.
The enum is Copy, so a borrowed receiver and a by-value receiver compile identically at every call site; the reference form reads naturally beside the downcast_ref that produces the borrow.
A single-use accessor on a two-variant enum adds a name without adding meaning; the match reads directly in the log construction it serves.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A pinned provider route that answers with HTTP success but without the echoed
modelandprovideridentity now retries on the shared transient budget, exactly like a retryable status or empty content, instead of failing the review on the first occurrence. Acceptance still requires a matching echo, an exhausted budget surfaces the original error with its terminal diagnostic classification intact, and every attempt reserves and records its spend through the existing per-attempt path.