feat: enable multiple provider configs per provider family#23647
feat: enable multiple provider configs per provider family#23647ibetitsmike wants to merge 1 commit intomainfrom
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2821e52d1a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
2821e52 to
a475e54
Compare
Documentation CheckUpdates Needed
New Documentation Needed
Automated review via Coder Tasks |
325a0d8 to
eb050ef
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eb050eff3b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
5b08692 to
56ff06c
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 56ff06c31d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Deep Review Summary (10 parallel reviewers)Reviewers: Test Auditor, Edge Case Analyst, Contract Auditor, Database Reviewer, Go Architect, Frontend Reviewer, Security Reviewer, Product Reviewer, Style Reviewer, Go Modernization Fixed findings (2)
Assessed and accepted (not fixing)
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 002286c0a8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
e44bf71 to
ceb2d46
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ceb2d469e2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
1 similar comment
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 77ff9ca671
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 77ff9ca671
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1b315b993e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 75430f30ac
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1b25f1c2c6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dcbf8bc75d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
mafredri
left a comment
There was a problem hiding this comment.
Round 22 of 4 reviewers (Mafuuu, Hisoka, Chopper, Knov). Wildcard: Knov. Large rebase, no changes to files with open findings.
All 5 findings confirmed by 4/4 reviewers. One new P2: ChatProviderAPIKeysFromDeploymentValues extracts bridge API keys but not their paired base URLs, so custom endpoint deployments (Azure OpenAI, corporate proxy) will silently fail when bridge keys are used for chat.
Severity count: 1x P0 (F50), 4x P2 (F34, F49, F51, F53 new), 1x P3 (F52).
F50 (shouldCleanUnboundModelsAfterProviderDelete test failure) remains a CI blocker. Verified failing again this round.
"A deployment key decoupled from its base URL is a partial contract: the key promises to authenticate, but the system sends it to an endpoint where it cannot." -- Mafuuu
🤖 This review was automatically generated with Coder Agents.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c50570f3c1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
mafredri
left a comment
There was a problem hiding this comment.
Round 23 of 4 reviewers (Mafuuu, Hisoka, Knuckle, Razor). Wildcard: Razor.
F50 (P0 test failure), F51 (P2 env-preset visibility), F52 (P3 SQL tautology) all resolved in c50570f. Verified: shouldCleanUnboundModelsAfterProviderDelete test passes, env-preset re-add loop is correct, SQL collapsed with honest comment.
Three P2 findings remain open (F34, F49, F53), confirmed by all 4 reviewers. No new findings posted.
F49 (auto-binding) is now at 8 rounds without response. F53 (bridge keys without base URLs) at 2 rounds.
Severity count: 3x P2.
🤖 This review was automatically generated with Coder Agents.
|
@codex review |
mafredri
left a comment
There was a problem hiding this comment.
Round 24 of 3 reviewers (Mafuuu, Hisoka, Kite). Wildcard: Kite. No code changes since round 23.
All 3 findings confirmed by 3/3 reviewers. No new findings. No author responses.
F49 (auto-binding) at 9 rounds. F53 (bridge keys without base URLs) at 3 rounds. F34 (no non-admin test) at 10+ rounds.
Severity count: 3x P2.
🤖 This review was automatically generated with Coder Agents.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eb6fbb33ee
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3a6041f4d4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 99f3074124
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
mafredri
left a comment
There was a problem hiding this comment.
Round 25 of 3 reviewers (Mafuuu, Hisoka, Chopper). Wildcard: Chopper.
F53 (bridge keys without base URLs) resolved in eb6fbb3. Base URLs now propagated with test coverage for both populated and empty cases.
Two P2 findings remain open (F34, F49), confirmed by 3/3 reviewers. Both threads were marked Resolved on GitHub without code changes.
No new findings posted. The PR is converging.
Severity count: 2x P2.
🤖 This review was automatically generated with Coder Agents.
mafredri
left a comment
There was a problem hiding this comment.
Round 26 of 3 reviewers (Mafuuu, Hisoka, Meruem). Wildcard: Meruem. No code changes since round 25.
Both findings confirmed by 3/3 reviewers. No new findings. Both threads marked Resolved on GitHub without code changes.
F34 (no non-admin test for listChatModels) at 10+ rounds. F49 (auto-binding) at 10+ rounds.
Severity count: 2x P2.
🤖 This review was automatically generated with Coder Agents.
mafredri
left a comment
There was a problem hiding this comment.
Round 27 of 3 reviewers (Mafuuu, Hisoka, Knov). Wildcard: Knov. No code changes since round 25.
Both findings confirmed by 3/3 reviewers. No new findings posted. Reviewers re-raised previously discussed items (bridge key reversal, mutable var, bound-to-disabled fallback) which were evaluated and closed in earlier rounds.
F34 (no non-admin test) and F49 (auto-binding) both at 10+ rounds. Both threads Resolved on GitHub without code changes.
Severity count: 2x P2.
🤖 This review was automatically generated with Coder Agents.
mafredri
left a comment
There was a problem hiding this comment.
Round 28 of 3 reviewers (Mafuuu, Hisoka, Chopper). Wildcard: Chopper. No code changes since round 25.
Both findings confirmed by 3/3 reviewers. No new findings posted. Reviewers re-raised previously-evaluated items (bridge key reversal, disabled-bound fallback, double user-key query, sentinel pattern, function coverage) which were closed or accepted in prior rounds.
F34 and F49 both at 10+ rounds. Both threads Resolved on GitHub without code changes.
Severity count: 2x P2.
🤖 This review was automatically generated with Coder Agents.
99f3074 to
cc30959
Compare
cc30959 to
a3e75e4
Compare
mafredri
left a comment
There was a problem hiding this comment.
Round 29: churn guard verdict is BLOCKED. No reviewers spawned.
F53 (bridge keys without base URLs): resolved in eb6fbb3.
F49 (auto-binding): contested by author. Defense: intentional Stage 1 behavior; migration backfill mirrors it; changing to unbound would alter shipped semantics. Code unchanged. The reviewers will evaluate this defense when the block is lifted.
F34 (no non-admin test for listChatModels): silent. Author deferred in round 9 with "I'll track this as a follow-up" and no ticket was linked. Thread marked Resolved on GitHub without a code change. Non-admin tests were added to TestListChatModelConfigs (a different endpoint), not TestListChatModels. 10+ rounds without resolution.
Further review is blocked until F34 is addressed (test added or ticket linked) or the author responds substantively to the finding.
🤖 This review was automatically generated with Coder Agents.
Depends on #24145.
Enable full multi-provider config support: runtime key resolution via
provider_config_idbinding, frontend UI for managing provider configs, and removal of the single-provider-per-family guard.Runtime (
coderd/x/chatd):provider_config_idbinding for bound modelsEnabledProviderByID()cache method for O(1) provider lookupFrontend:
ModelFormfor binding models to specific configsProvidersSectionfor provider config managementBackend:
GetChatProviderByProviderquery for multi-provider lookup