Skip to content

fix(combo): dynamic connection ID extraction for precise lockout decay & telemetry (#4550) - #4581

Merged
diegosouzapw merged 1 commit into
release/v3.8.33from
fix/dynamic-connection-4550-integrated
Jun 21, 2026
Merged

diegosouzapw merged 1 commit into
release/v3.8.33from
fix/dynamic-connection-4550-integrated

Conversation

@diegosouzapw

Copy link
Copy Markdown
Owner

Integrates @Chewji9875's #4550 onto release/v3.8.33. The contributor's fork has maintainer-edits disabled, so this lands via an integration branch with the commit authored by @Chewji9875 + CHANGELOG credit (the GitHub Merged badge can't transfer to a locked fork).

Feature (kept): extracts the dynamically-selected connection from the X-OmniRoute-Selected-Connection-Id response header on the combo success/failure paths (priority + round-robin) so lockout decay / recordProviderSuccess / LKGP / telemetry attribute to the right connection instead of the often-empty static target.connectionId. Pre-screen 'unavailable' is no longer a permanent skip (re-checked per retry).

Out-of-scope reverts dropped during integration (stale fork base artifacts): the #4481 web-search routing wiring, the 404 NOT_FOUND credential fallback, and the webhook account/accountId fields are all preserved from release.

Validation: 40/40 across the 3 affected suites (chat-helpers, web-search-tool-routing-4481, combo-selected-connection-success); typecheck:core clean; file-size + complexity baselines reconciled.

Closes #4550 via cherry-pick (contributor credited in CHANGELOG).

…h for precise lockout decay and success telemetry (#4550)

On the combo success path, extract the actual selected connection from the
X-OmniRoute-Selected-Connection-Id response header (set by withSelectedConnectionHeader
from credentials.connectionId at the chat.ts return sites) so lockout decay,
recordProviderSuccess, LKGP and success/failure telemetry attribute to the connection
dynamic account-selection actually chose — not the often-empty static target.connectionId.
Mirrored on the failure path (targetWithConnection) and the round-robin combo path.

The pre-screen 'unavailable' snapshot is no longer a permanent skip: availability is
re-checked via isModelAvailable on each retry since connection cooldowns can expire
between setTry retries (circuit-breaker-OPEN providers are still caught by the dedicated
breaker check).

Out-of-scope reverts from the stale fork base were dropped during integration (the #4481
web-search routing wiring, the 404 NOT_FOUND credential fallback, and the webhook
account/accountId fields are all preserved from release).

Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@diegosouzapw
diegosouzapw merged commit 7ef34c2 into release/v3.8.33 Jun 21, 2026
3 checks passed
@diegosouzapw
diegosouzapw deleted the fix/dynamic-connection-4550-integrated branch June 21, 2026 23:03
diegosouzapw pushed a commit that referenced this pull request Jun 22, 2026
…e drift)

Pre-existing drift on origin/release/v3.8.33 surfaced by the release full CI
(cognitive-complexity doesn't run on PR->release fast-gates). My release-finalize
prod changes add 0 new violations to the count (verified: geminiHelper merge is
intra-function; auth.ts only gained args). +4 from this cycle's combo logic
(#4537/#4489/#4581). Structural shrink tracked in #3501.
tkgo11 pushed a commit to tkgo11/OmniRoute that referenced this pull request Sep 23, 2026
…h for precise lockout decay and success telemetry (diegosouzapw#4550) (diegosouzapw#4581)

Integrated into release/v3.8.33 (cherry-pick of diegosouzapw#4550 with stale reverts dropped; @Chewji9875 credited in CHANGELOG)
tkgo11 pushed a commit to tkgo11/OmniRoute that referenced this pull request Sep 23, 2026
…e drift)

Pre-existing drift on origin/release/v3.8.33 surfaced by the release full CI
(cognitive-complexity doesn't run on PR->release fast-gates). My release-finalize
prod changes add 0 new violations to the count (verified: geminiHelper merge is
intra-function; auth.ts only gained args). +4 from this cycle's combo logic
(diegosouzapw#4537/diegosouzapw#4489/diegosouzapw#4581). Structural shrink tracked in diegosouzapw#3501.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants