ACP: recover parent relay output from gateway state#664
Open
BingqingLyu wants to merge 1 commit into
Open
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.
Summary
streamTo: "parent"relay only sees syntheticstart/stallnotices because it depends on localonAgentEvent(...)delivery.sessions_spawnlooks hung even when the ACP child actually replied or finished work.chat.historyand terminal state fromagent.wait, while still preferring local assistant/lifecycle events when they arrive.Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
User-visible / Behavior Changes
start/stall-only updates.Security Impact (required)
Yes/No): NoYes/No): NoYes/No): YesYes/No): NoYes/No): NoYes, explain risk + mitigation:chat.historyandagent.waitfor the spawned child session/run.Repro + Verification
Environment
sessions_spawnwithstreamTo: "parent"acpx, parent streaming enabledSteps
sessions_spawn,runtime: "acp", andstreamTo: "parent".Expected
Actual
start/stallnotices even though the child transcript already contained assistant output and the child had completed.Evidence
Attach at least one:
Human Verification (required)
What you personally verified (not just CI), and how:
pnpm exec vitest run src/agents/acp-spawn-parent-stream.test.ts src/commands/agent.acp.test.tschat.history+agent.waitend.acp-stream.jsonlrelay logs.src/agents/acp-spawn.test.tsfor this fix because that suite fully mocksacp-spawn-parent-stream.jsand, in this tarball snapshot, currently fails during unrelated mock-hoisting/module-load setup before exercising the relay path.Review Conversations
Compatibility / Migration
Yes/No): YesYes/No): NoYes/No): NoFailure Recovery (if this breaks)
src/agents/acp-spawn-parent-stream.ts.src/agents/acp-spawn-parent-stream.tssrc/agents/acp-spawn-parent-stream.test.tsCHANGELOG.mdassistant_history/ terminal backfill in the missing-event pathRisks and Mitigations