Repository navigation
2026.10.29: retry temporary upstream failures, reasoning effort in routing rules; pin core v0.83.1 - #372
Merged
Conversation
…iently - Types: add the request_retrying event and AttemptView.retry / backoff_ms (control API version 53), ahead of the core release that sends them. - Traffic: an in-flight request backing off before a retry reads "Retrying" and lists the upstreams it will retry, styled like a queued request; it can be aborted the same way. Snapshot replay handles the event like request_queued. RequestRow.queued becomes RequestRow.waiting with an optional retry number. - Upstreams: a request backing off is not counted against any upstream, as with queueing. - Request drawer: a retried hop shows "Retry n" and the backoff it waited; a chain whose last hop is a retry says it was retried automatically instead of "sent once the upstream was available again". - Settings: the failover wait limit description covers queueing and retrying. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a test Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
RuleRewrite.reasoning (RuleReasoning) replaces thinking, SetField "reasoning" replaces "thinking", AttemptView.effort (EffortChange, EffortReason), protocol 54. To be replaced by the types generated from core. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…mpt chain The rule dialog's extended-thinking control (keep/on/off) becomes Reasoning: Unchanged | Off | low | medium | high | xhigh | max, on its own row with a note that a level only rewrites requests that already have reasoning on. Rule summaries and dry-run rewrites read "Reasoning max" / "Reasoning off". Each attempt whose reasoning effort differs from what the client asked gets a line saying why (rule, rejected and resent, or remembered). A rejected hop and its resend count as one attempt in the note under the chain, so it no longer says the upstream recovered. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e API types Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Pin core v0.83.1 (protocol 54) and fill the new attempt field in a test. - The attempt chain says when turning reasoning off was refused and a level was used instead. - The update window no longer says the gateway waits for requests to finish before restarting. - Screenshot oracle regenerated for 0.83.1. - Version 2026.10.29 and its release notes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Release 2026.10.29 with core v0.83.1 (control protocol 54).
Changes
gw.upstream.stream_ended_early.release-notes/2026.10.29.md.Upgrade notes
A rule that still has
thinking:undersetno longer loads; the app opens in safe mode and Repair removes the field.Testing
cargo fmt --check,cargo clippy --all-targets -D warningsandcargo test --workspacewith the released twcore v0.83.1.control_plane::a_streaming_request_can_be_followed_live_until_it_endsfailed once under full parallel load and passed in five reruns of the suite. It is a timing window between core's request-started event and its live-content registration, unrelated to this change.tsc(app and screenshot scripts) and vitest (1318 tests).🤖 Generated with Claude Code