fix(core): recover idle moves through the selected instance - #46955
Open
kitlangton wants to merge 1 commit into
Open
fix(core): recover idle moves through the selected instance#46955kitlangton wants to merge 1 commit into
kitlangton wants to merge 1 commit into
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.
Why
An idle session cannot escape an existing source directory whose instance fails to initialize. For example, a missing
{file:./missing.txt}config reference or unreadable directory prevents the source runner from starting, leaving accepted moves stranded in the inbox.What Changes
Extend the existing missing-source recovery path to failed source-instance initialization:
Selected instance and admission ordering
Probe
SessionRunner.Servicethroughinstances.provide(session), the same selection boundary used by execution—not the default Location map. A healthy private instance withdiscovery: falsemust remain usable even when ambient configuration is broken; a broken private instance must not be mistaken for a healthy default Location. This corrects the selection problem in the closed #46445 approach.Initialization runs outside the inbox lock so cancellation remains available. Inside the lock, recovery requires the same directory/workspace placement and a fresh idle-execution check. Missing sources still skip initialization entirely.
Scope
Core-only idle-move recovery, with no public API changes. Failed Location-cache eviction and active runner continuation remain separate concerns.
Verification