Render the full orchestration subtree in shared-session viewers - #14857
Draft
danielpeng2 wants to merge 1 commit into
Draft
Render the full orchestration subtree in shared-session viewers#14857danielpeng2 wants to merge 1 commit into
danielpeng2 wants to merge 1 commit into
Conversation
Member
Author
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
2 tasks
Follows the owner-side subtree adoption: a shared-session viewer of a tree-root orchestrator previously only rendered the root's direct children, because its stream, replay, and cold-start seed were all ancestor-scoped. With MultiLevelOrchestration enabled: - The viewer streamer resolves the anchor's root-ness during the cold-start seed (a root task has no parent_run_id). Root anchors seed via the root_run_id list filter and stream via subtree_root_run_id; mid-tree anchors — and anchors whose root-ness can't be determined — keep the existing direct-children ancestor scope. - The drain loop skips the anchor's own events (subtree streams include the root) and ChildSpawned/ChildStatusChanged now carry the wire event's actual parent_run_id instead of hard-attributing every run to the stream anchor. - The viewer model attaches descendants under their actual parent's placeholder (falling back to the event-carried parent when task metadata lacks one), parking out-of-dependency-order rows until the parent's placeholder registers. Viewer cursor semantics are unchanged. Co-Authored-By: Warp Agent <agent@warp.dev>
danielpeng2
force-pushed
the
daniel/orch-subtree-viewer
branch
from
August 9, 2026 06:37
3625739 to
2ef0460
Compare
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.

Description
Stacked on #14856 (owner-side subtree adoption; server half: warpdotdev/warp-server#14159).
A shared-session viewer of a tree-root orchestrator only rendered the root's direct children: the viewer SSE, its replay, and the cold-start REST seed were all ancestor-scoped, and every discovered run was hard-attributed to the stream anchor. Grandchildren spawned by remote children never appeared in the viewer's pill bar.
With
MultiLevelOrchestrationenabled:parent_run_id). Root anchors seed via theroot_run_idlist filter and stream viasubtree_root_run_id; mid-tree anchors — and any anchor whose root-ness can't be determined — keep the existing direct-children ancestor scope, so both stream shapes remain in the viewer path.ChildSpawned/ChildStatusChangednow carry the wire event's actualparent_run_idalongside the stream-anchor id, instead of implying every run is a direct child of the anchor. The drain loop also skips the anchor's own events, which subtree streams inherently include.parent_run_idabsent ⇒ legacy anchor attribution).Viewer cursor semantics are intentionally unchanged (the viewer-mode seed still merges descendant cursors; it only surfaces lifecycle state and the seed carries current statuses).
Linked Issue
Part of the remote nested-orchestration visibility work; no standalone GitHub issue.
Testing
./script/formatand all three presubmit clippy invocations pass../script/runEnd-to-end validation (viewer of a root seeing a remote-remote grandchild live) is planned together with #14856 against a locally built warp-server from the PR S branch.
Agent Mode
CHANGELOG-NONE
Co-Authored-By: Warp Agent agent@warp.dev