Repository navigation
fix: select provider sources before configuration imports - #379
Merged
Brian Krabach (bkrabach) merged 2 commits intoOct 22, 2026
Merged
Conversation
Generated with Amplifier Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
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.
Summary
Fix first-run startup when an installed provider wheel is present but runtime selects the provider from its configured Git source. Configuration-time metadata discovery previously imported the wheel first, leaving cached child modules that correctly caused Core to reject the later mixed-origin runtime load.
Only three production files change:
provider_loader.py,provider_sources.py, andprovider_manager.py. Add fresh-process origin regressions, correct existing SDK-repair fixtures to fail at metadata import rather than source resolution, and record the boundary inAGENTS.md. No Core, Foundation, provider, SDK, dependency, lockfile, or default-model changes.Verification
git diff --checkpasses.Session.execute. A genuine model-selected read-only probe tool returned an unseen synthetic marker, and the model reported it correctly. Configured Sonnet 5.5, default/unset effort, 4,096 output tokens, six iterations; configured provider retries five / SDK retries zero. Vendor response model, usage, cost, HTTP and actual retry counts were not independently measured.file://<native-path>spelling and adds a real local-resolver check plus DNS, external-connect, and loopback-connect denial controls. The strict audit hook, origin assertions, and all production bytes remain unchanged. Original failing results are retained; the fresh exact-head Windows matrix must pass before merge. This does not change production raw-drive-path classification.Compatibility and limits
Selected-source/origin failures now remain explicit rather than falling back to an ambient wheel or entering dependency installation. Genuine missing-SDK import failures retain the existing repair path. Installed-only unknown providers remain supported. Core's origin guard is unchanged.
This is not a new full interactive REPL, resume, native-computer, desktop, all-provider, or Python 3.11/3.12 runtime qualification. The hosted matrix must still pass at this PR's exact head before merge. The normal host installation is not changed by publication or merge.
Review and scope
An independent source review identified two manager-path gaps; both were corrected with regression coverage before the final tests. Requested Astra and Fable second-opinion reviews will be performed against this exact candidate before admin merge. These are independent supplied-evidence reviews, not GitHub approval submissions.
No private transcripts, credentials, environment snapshots, raw runtime artifacts, or fixture corpora are included in this PR. Public content-class leak review is not applicable: this adds ordinary synthetic regression tests and existing guidance only, not a new public artifact or evidence corpus.