Skip to content

fix(routing): share provider alias pools with combo discovery - #15927

Merged
diegosouzapw merged 3 commits into
release/v3.8.52from
fix/12844-alias-pools-drain
Oct 9, 2026
Merged

diegosouzapw merged 3 commits into
release/v3.8.52from
fix/12844-alias-pools-drain

Conversation

@diegosouzapw

@diegosouzapw diegosouzapw commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

Combo discovery queried connections by a single provider ID even though direct credential selection already expands aliases. An agy account could therefore serve direct antigravity requests but disappear from auto scoring, quota expansion, tags and affinity; the same mismatch affected opencode / opencode-zen.

Extract the existing provider search-pool resolver unchanged and share it with the combo consumers. The pooled reader reuses the existing DB cache and deduplicates connection IDs. Quota expansion checks membership in each target's resolved pool, preserving rejection of foreign pins even when that provider is another target in the combo. Existing API-key/step allowlists, tags, forced pins and unambiguous custom-node ownership checks remain in place.

Validation:

  • Before fix: six behavioral failures and one passing direct/RR control on base 97da13f773625a8e0eb25559d3d70fbb2c7113d0.
  • After fix: 245 passing / 0 failing across 23 affected test files. Eight new cases cover both alias directions, pool union, restricted auto/quota selection, foreign pins, tags, round-robin dispatch and terminal sticky health. DB fixtures are temporary and quota fetchers deterministic; no external provider account is used.
  • Core typecheck, ESLint, file-size, both complexity ratchets, test discovery, changelog integrity, docs-all and cycle ratchet pass. Normal commit hooks pass. The shared resolver body was compared with the original and is unchanged apart from its export.
  • Dashboard typecheck remains red in the same three groups independently reproduced on the exact base: useModelImportHandlers TS2339 (17)/TS2345 (1) and engineConfigSave TS2345 (1). No baseline changes; release validation debt remains separate under 🔴 Release branch not green: release/v3.8.52 #15306.

#13177 remains the separate provider-consolidation proposal awaiting a maintainer decision. This implements the independent pool correction requested in the #12844 maintainer comment, including OpenCode, without migrating or consolidating providers.

Closes #12844

Evidence

Mutation-runner follow-up: node scripts/check/check-mutation-test-coverage.mjs --strict reproduced the missing test registration (exit 1) before this update and passed (exit 0) after adding the existing regression file to stryker.conf.json tap.testFiles. npm run check:test-discovery also passed. This follow-up changes only test selection; the previously reported production/test executions remain unchanged. No mutation-score run or globally green CI is claimed.

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

CI Coverage Report

  • Coverage job: skipped
  • PR test policy: success

Coverage artifact was not available for this run.

@diegosouzapw
diegosouzapw merged commit 6f9a6d1 into release/v3.8.52 Oct 9, 2026
8 of 11 checks passed
diegosouzapw added a commit that referenced this pull request Oct 10, 2026
…15968 (#16107)

Test-only alignment to merged contracts (#15891, #15927, #15968); each red reproduced alone on the pure tip and green on the branch; typecheck, API typecheck, eslint, file-size, test-masking, changelog, test-discovery green.
@diegosouzapw
diegosouzapw deleted the fix/12844-alias-pools-drain branch October 18, 2026 23:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant