Repository navigation
refactor: inject lazy provider schema resolution - #61
Merged
Merged
Conversation
7 of 9 tasks
…a-composition-20261018 # Conflicts: # .agents/README.md # docs/en/design/architecture.md # docs/zh/design/architecture.md
anycodes
marked this pull request as ready for review
October 18, 2026 08:47
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.
Description
Transport configuration imports provider discovery from an upper layer. Move schema values/callback to a low-level private module and register a lazy adapter at package composition. Preserve provider selection, registered/installed/entry-point resolution, derivation/default/inheritance and the existing ProviderSchema import alias. Bare package import still loads neither Pydantic nor registry; builtin config needs no registry.
Fixes #59. Accepted native source PR57 and records PR58 are ordinarily merged as the base.
Type of Change
Changes
No public signature/config-name/default/schema/dependency change. Bilingual architecture, changelog, ADR/evidence included; no CLI/Node/registry/website generated contract change is needed.
Testing
Initial extraction missed the moved class's builtin constant; existing tests caught it before final repeats. Corrected with a lower-level lazy constant read. No initial failure is called a pass. Native unconfigured providers are skips, not endorsements.
Checklist / Definition of Done
The original Python3.11 red job was fixed independently by PR64 (merge5d700d6eaa1fd75f62297b3f289be2a45be772b4,9/9 checks), then ordinarily merged here with accepted PR62 docs. Both architecture paragraphs/indexes retained; already merged owner records moved to implemented without modifying historical evidence. Fresh config/local-listener focused,health/hygiene pass; latest combined-head full matrix rerunning. No blind CI rerun or transport behavior change.