Skip to content

fix(cpa): isolate credential-pool failures - #8308

Merged
diegosouzapw merged 2 commits into
diegosouzapw:release/v3.8.49from
RaviTharuma:fix/8280-cpa-credential-pool-isolation
Jul 24, 2026
Merged

diegosouzapw merged 2 commits into
diegosouzapw:release/v3.8.49from
RaviTharuma:fix/8280-cpa-credential-pool-isolation

Conversation

@RaviTharuma

@RaviTharuma RaviTharuma commented Jul 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • propagate CLIProxyAPI transport provenance through executor normalization
  • prevent shared CPA OAuth-pool failures from mutating the native OmniRoute connection key selected before proxy dispatch
  • preserve native key-health behavior for native executor responses
  • add focused key-health regression coverage

Verification

  • node --import tsx/esm --test tests/unit/chatcore-key-health.test.ts — 6 passed
  • npm run typecheck:core — passed
  • focused git diff --check — passed

The broad CI failure set matches the repository baseline on merged PRs #8292 and #8296: Docs Gates, Fast Quality Gates, Vitest, and all four unit shards fail independently of this five-file CPA diff. No unrelated baseline files were modified.

This is the focused CPA credential-pool isolation follow-up; the Kimi non-stream half is handled separately in #8302.

Refs #8280

Co-Authored-By: Claude <noreply@anthropic.com>
@RaviTharuma
RaviTharuma force-pushed the fix/8280-cpa-credential-pool-isolation branch from da920c7 to 8701022 Compare July 23, 2026 18:14
@RaviTharuma

Copy link
Copy Markdown
Contributor Author

Rebased the single focused commit onto current release/v3.8.49 tip c525a0f452a7 and safely force-pushed 8701022d7.

Fresh focused verification:

  • node --import tsx/esm --test tests/unit/chatcore-key-health.test.ts: 6/6 passed
  • npm run typecheck:core: passed
  • focused git diff --check: passed

There is no owner review feedback and Git reports the PR mergeable. The broad failed jobs are the same baseline set present on merged #8292/#8296 (Docs Gates, Fast Quality Gates, Vitest, unit shards 1–4); their failures are unrelated to this five-file CPA provenance/key-health change, so no unrelated baseline fixes were added.

The local recordKeyHealthStatus wrapper in handleChatCore only declared
(status, creds), so the transport argument added for CPA credential-pool
isolation was silently dropped at the call site (TS2554 "Expected 2
arguments, but got 3" once chatCore.ts is typechecked with tsc directly —
this file is not in tsconfig.typecheck-core.json's file list, so `npm run
typecheck:core` did not surface it). The CPA isolation guard in
keyHealth.ts never received `transport`, so it never fired.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
@RaviTharuma

Copy link
Copy Markdown
Contributor Author

Confirmed the owner follow-up commit 28a547b2f fixes a real PR-attributable integration gap: the local chatCore wrapper previously dropped the new transport provenance before calling keyHealth.ts, so the CPA isolation guard could not run. I fast-forwarded the canonical worktree to the updated branch and reran focused verification:

  • node --import tsx/esm --test tests/unit/chatcore-key-health.test.ts: 6/6 passed
  • npm run typecheck:core: passed
  • focused git diff --check: passed

No unrelated baseline fixes were added. The refreshed CI run is still in progress.

@diegosouzapw
diegosouzapw changed the base branch from release/v3.8.49 to main July 23, 2026 23:07
@diegosouzapw
diegosouzapw changed the base branch from main to release/v3.8.49 July 23, 2026 23:07
@diegosouzapw
diegosouzapw merged commit 1f7ec2c into diegosouzapw:release/v3.8.49 Jul 24, 2026
5 checks passed
@diegosouzapw

Copy link
Copy Markdown
Owner

Merged into release/v3.8.49 — thanks @RaviTharuma! Validated via local merge-train (32-core .113) + a per-file discriminator confirming zero regressions vs the pure release tip; CI reds on this PR were pre-existing base-red drift (tracked separately). 🙏

@diegosouzapw diegosouzapw mentioned this pull request Jul 28, 2026
HouMinXi pushed a commit to HouMinXi/OmniRoute that referenced this pull request Aug 2, 2026
* fix(cpa): isolate credential pool failures

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(cpa): forward transport through the chatCore key-health wrapper

The local recordKeyHealthStatus wrapper in handleChatCore only declared
(status, creds), so the transport argument added for CPA credential-pool
isolation was silently dropped at the call site (TS2554 "Expected 2
arguments, but got 3" once chatCore.ts is typechecked with tsc directly —
this file is not in tsconfig.typecheck-core.json's file list, so `npm run
typecheck:core` did not surface it). The CPA isolation guard in
keyHealth.ts never received `transport`, so it never fired.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

---------

Co-authored-by: Ravi Tharuma <RaviTharuma@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
@RaviTharuma
RaviTharuma deleted the fix/8280-cpa-credential-pool-isolation branch September 23, 2026 19:38
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
* fix(cpa): isolate credential pool failures

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(cpa): forward transport through the chatCore key-health wrapper

The local recordKeyHealthStatus wrapper in handleChatCore only declared
(status, creds), so the transport argument added for CPA credential-pool
isolation was silently dropped at the call site (TS2554 "Expected 2
arguments, but got 3" once chatCore.ts is typechecked with tsc directly —
this file is not in tsconfig.typecheck-core.json's file list, so `npm run
typecheck:core` did not surface it). The CPA isolation guard in
keyHealth.ts never received `transport`, so it never fired.

Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>

---------

Co-authored-by: Ravi Tharuma <RaviTharuma@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
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