Skip to content

fix(combo): avoid false ALL_ACCOUNTS_INACTIVE on quality failures - #1710

Merged
diegosouzapw merged 2 commits into
diegosouzapw:release/v3.7.3from
CruxExperts:fix/combo-false-all-accounts-inactive
Apr 28, 2026
Merged

diegosouzapw merged 2 commits into
diegosouzapw:release/v3.7.3from
CruxExperts:fix/combo-false-all-accounts-inactive

Conversation

@CruxExperts

Copy link
Copy Markdown
Contributor

Summary

  • prevent false ALL_ACCOUNTS_INACTIVE terminal errors when an upstream 200 response fails combo quality validation
  • propagate explicit terminal context (lastStatus=502, quality-validation lastError) in both priority and round-robin combo paths
  • add regression tests covering single-target quality-validation failures for priority and round-robin strategies

Why

In v3.7.2 combo routing, a 200 response that fails validateResponseQuality could exit the loop without terminal status context. In single-target scenarios this fell through to the generic ALL_ACCOUNTS_INACTIVE 503, which is misleading and can trigger false outage signals.

Validation

  • node --import tsx/esm --test tests/unit/combo-routing-engine.test.ts
  • local hook suite passed during commit
  • targeted regression tests added in tests/unit/combo-routing-engine.test.ts

Related

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the combo routing logic to provide more accurate error messages and status codes when upstream responses fail quality validation. By capturing the specific quality failure reason and defaulting to a 502 status code, the system avoids misleading 'ALL_ACCOUNTS_INACTIVE' errors. The changes include updates to both priority and round-robin strategies, along with new unit tests in the appropriate directory. I have no feedback to provide.

@diegosouzapw
diegosouzapw changed the base branch from main to release/v3.7.3 April 28, 2026 11:21
@diegosouzapw
diegosouzapw merged commit aa53574 into diegosouzapw:release/v3.7.3 Apr 28, 2026
1 check was pending
@diegosouzapw

Copy link
Copy Markdown
Owner

Thanks @CruxExperts for identifying this quality validation gap! 🎉 Your fix was spot-on and the regression tests you added are a great addition. We had already applied the production fix independently, but your tests now lock in the correct behavior. Merged into release/v3.7.3.

@diegosouzapw diegosouzapw mentioned this pull request Apr 28, 2026
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
…egosouzapw#1710)

Integrated into release/v3.7.3 — quality validation regression tests (production fix was already applied)
Poid-ZA pushed a commit to Poid-ZA/OmniRoute that referenced this pull request Aug 5, 2026
…egosouzapw#1710)

Integrated into release/v3.7.3 — quality validation regression tests (production fix was already applied)
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…egosouzapw#1710)

Integrated into release/v3.7.3 — quality validation regression tests (production fix was already applied)
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.

fix(combo): false ALL_ACCOUNTS_INACTIVE when single-target response fails quality validation

2 participants