feat: add recursive interactive tmux subagents - #390
Open
ShaanNarendran wants to merge 3 commits into
Open
Conversation
Add typed child RPCs and lifecycle events, daemon-owned recursive delegation with bounded authority, deterministic SDK projection, bottom-up result delivery, and focused protocol and lifecycle coverage. Signed-off-by: Shaan Narendran <shaannaren06@gmail.com>
Add a verified tmux host adapter, recursive pane projection, tiled layout, coordinated shutdown cleanup, descendant controls, and terminal regression coverage. Signed-off-by: Shaan Narendran <shaannaren06@gmail.com>
Document recursive authority, tmux ownership, worker-daemon tradeoffs, a reproducible nested test prompt, expected pane behavior, controls, and troubleshooting. Signed-off-by: Shaan Narendran <shaannaren06@gmail.com>
ShaanNarendran
force-pushed
the
feature/interactive-subagents-zellij
branch
from
September 11, 2026 10:34
40b79d2 to
d21a5c6
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.
Purpose
Add daemon-owned recursive child sessions and project them into interactive tmux panes. The feature keeps one authoritative daemon, gives each child a separate durable transcript and context window, returns bounded attributed results bottom-up, and keeps model-visible delegation disabled unless the user explicitly enables pane mode.
Related to #77 and #85.
Approach
Security and compatibility:
How was this tested?
Passed:
Focused protocol, SDK, daemon, runtime, CLI, and TUI runs passed, including:
Focused coverage includes:
Manual tmux verification passed:
remain-on-exitconfiguration was restored.A complete
pnpm testrun reported 842 passing, 20 skipped, and 9 failing tests. The remaining failures are host-specific sandbox integration failures involving macOS Seatbelt behavior, Linux/procassumptions, and filesystem-policy integration. Relevant subagent, protocol, SDK, daemon, runtime, CLI, and TUI tests pass.reuse lintcould not be run because thereuseexecutable is not installed. SPDX headers were reviewed, and every new source or documentation file carriesSPDX-FileCopyrightText: 2026 Shaan NarendranandSPDX-License-Identifier: Apache-2.0.Manual test guide
See
docs/guides/interactive-subagents.md.The guide includes prerequisites, cleanup, expected pane behavior, controls, troubleshooting, and this recursive test shape:
It also contains a complete prompt users can paste into:
Learning
The pane UX was informed by the public behavior and documentation of
amosblomqvist/pi-interactive-subagents, particularly asynchronous result delivery and tmux layout behavior. The Axl implementation was written independently around Axl's daemon, protocol, SDK, policy, and canonical-log architecture. No source was copied or translated.Checklist
reuse lintcompleted locally. The executable is not installed; SPDX headers were reviewed manually.Signed-off-bytrailer.AI assistance