Restore fleet MCP tools after Host reconnect - #17
Merged
Conversation
Silently reload retained ACP sessions after durable outbox replay so orchestrators recover their fleet tool registry without losing configuration or sequence continuity. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Preserve ACP tool failure reasons, show them in the transcript, and silently reload the session when Copilot reports that a Fleet tool no longer exists. Co-authored-by: Copilot <223556219+Copilot@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.
Problem
Retained Copilot ACP processes can lose their HTTP MCP tool registry while the Host is unreachable or lose an individual deferred Fleet tool binding during an active session. The transcript previously rendered every attempt as only
failed, discarding ACP's actual error (MCP server 'fleet': Tool does not exist.), so operators could not distinguish a missing binding from a normal tool-level refusal.Root cause
MCP servers are supplied only during ACP
session/neworsession/load. A retained process is not normally reloaded after Host connectivity returns, and Copilot can also invalidate a deferred MCP tool binding after the session is already running. The Host endpoint and signed lead token remain healthy; the failure occurs inside the retained ACP process before the request reaches/mcp.Fix
rawOutput.messageon failed tool events and show the reason beneath failed transcript rows.Tool does not existfailure for Fleet tools and schedule one silent ACP reload when the turn reaches idle.Investigation evidence
/mcpendpoint authenticated successfully and returned the complete Fleet tool list.session/newandsession/loadprobes both calledfleet_list_worksuccessfully.fleet_list_work, followed by immediate binding failures, isolating the fault to that session's deferred Copilot tool binding.tool_call_update.rawOutput.message; Fleet previously dropped it.Validation