fix: expand configured provider values during discovery - #365
Merged
Brian Krabach (bkrabach) merged 1 commit intoOct 2, 2026
Merged
Conversation
Generated with Amplifier Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Provider discovery and login now expand an independent copy of the complete configured provider settings once, before deriving constructor arguments. This preserves saved per-instance values and ensures constructor kwargs and
configuse the same expanded values without mutating the caller's settings. The shared environment-expansion helper now lives in a lightweight module so the provider loader can use it without importing runtime configuration and creating a cycle.This fixes the configured-provider inventory regression (#362). Existing runtime credential validation and provider/SDK fallback behavior are unchanged; unset placeholders still normalize to empty values in this loader, and the change does not claim to validate credentials.
Why
The discovery path previously derived partial constructor values and could miss environment-backed settings in saved provider instances, so
provider models <instance>could fail or return the wrong inventory even when runtime configuration was available.How to verify
gpt-6-astraandgpt-6.1-sol; no credential values are included here.CI results will be reported separately against this commit SHA. The independent qualification skips were for unavailable macOS
kqueue, production hook/logging tooling, and realtmux; the review noted cross-platform CI as a caveat.Breaking changes
None.