Conversation
This was referenced Oct 1, 2026
mwolson
added this pull request to stack #53
October 1, 2026 12:41
…dmission When a background subagent finishes, OpenCode 2 runs the parent's reply on its own and T3 holds that output for a continuation turn. A provider continuation is only admitted while the provider shows it still holds undelivered output for the thread, so it cannot start on a session or selection that never produced that output. The OpenCode 2 adapter never reported the output it holds, so every background wake-up was refused and the reply never reached the thread. The adapter now reports held output for a thread while it holds a wake for that thread's session. Delivering the wake, a Stop or a reconnect that drops it ends that report with it. A continuation turn replays output that already ran and sends no model selection, so its start is no longer taken as acknowledging one.
mwolson
force-pushed
the
contrib/ctm/opencode2-continuation-ownership
branch
from
October 1, 2026 14:13
2676d08 to
f8d446c
Compare
mwolson
force-pushed
the
contrib/ctm/oc2-9-textgen-mcp-restart
branch
from
October 1, 2026 14:13
c9c1391 to
eae670d
Compare
mwolson
removed this pull request from stack #53
October 1, 2026 14:13
mwolson
added this pull request to stack #55
October 1, 2026 14:13
mwolson
removed this pull request from stack #55
October 3, 2026 20:28
Owner
Author
|
Closing: the adapter report these tests cover is part of #11 execution-selection-admission, so the tests moved into that layer and this test-only layer was dropped at the 2026-10-03 refresh. |
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.
What Changed
The adapter now reports held output for a thread while it holds a wake for that thread's session. Delivering the wake, a Stop or a reconnect that drops it ends that report with it. A continuation turn replays output that already ran and sends no model selection, so its start is no longer taken as acknowledging one.
Why
When a background subagent finishes, OpenCode 2 runs the parent's reply on its own and T3 holds that output for a continuation turn. A provider continuation is only admitted while the provider shows it still holds undelivered output for the thread, so it cannot start on a session or selection that never produced that output. The OpenCode 2 adapter never reported the output it holds, so every background wake-up was refused and the reply never reached the thread.
Checklist