Repository navigation
Honor mounted provider account availability during routing - #77
Merged
Merged
Conversation
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.
When an application retains an unavailable provider account, role routing could treat its catalog failure as “no match” and inherit a different default account. Hosts can now register a synchronous
provider.check_available(instance_id)capability: routing checks the mounted account before exact models, cached catalogs, or fetched catalogs, tries only declared candidate/role fallbacks, and propagates the first failure when those are exhausted. Hosts without the capability retain legacy failure handling.Catalogs and concurrent fetches are keyed by the mounted account, and Core
instance_idtakes precedence over legacyid. Lifecycle cache propagation usespreresolved_models_by_instance, so old bare-family caches cannot be mistaken for another account’s catalog. A malformed async availability callback fails immediately, without silently trying another account.Hosts that resolve roles before each spawn/resume may opt into
routing.defer_agent_resolution=Trueto skip unrelated eager agent scans. It is off by default; the host must implement and enforce that resolution boundary. This PR adds no host adoption, provider configuration changes, or account switching policy. Seedocs/PROVIDER_AVAILABILITY.mdfor the consumer contract.Validation: 684 module and repository tests passed, including 27 focused availability/cache/lifecycle cases; pinned Ruff 0.15.11, bundle structure, and diff checks passed. Tests are offline with synthetic providers; real host/spawn adoption is separate. Prerequisite for microsoft/amplifier-unified#182.