Skip to content

Simplify subagent execution for models - #546

Open
fazxes wants to merge 26 commits into
fazxes/shell-managed-executionfrom
fazxes/subagent-managed-execution
Open

Simplify subagent execution for models#546
fazxes wants to merge 26 commits into
fazxes/shell-managed-executionfrom
fazxes/subagent-managed-execution

Conversation

@fazxes

@fazxes fazxes commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Replace model-facing subagent manager commands with run, wait, send, and stop.
  • Keep child persistence, permissions, observation, and lifecycle policy in the runtime.
  • Generate child display names from their delegated task.
  • Deliver each completed model-created persistent child result once through the existing parent ledger.
  • Use a shorter reversible child handle at the model boundary while preserving canonical session IDs internally.
  • Canonicalize exact flat requests and the cancel synonym without adding another execution path.
  • Project legacy subagent history into the current contract without rewriting saved sessions.
  • Preserve advanced subagent management for the TUI and internal runtime.

Stacked on #520.

@fazxes fazxes added the type: improvement Improves existing user-facing behavior label Aug 31, 2026
@fazxes
fazxes force-pushed the fazxes/shell-managed-execution branch from b98ac38 to b7e60da Compare August 31, 2026 19:50
@fazxes
fazxes force-pushed the fazxes/subagent-managed-execution branch 4 times, most recently from 9c8718e to 13b32af Compare August 31, 2026 21:16
fazxes added 23 commits August 31, 2026 18:40
Replace the terminal and background command surfaces with one managed shell lifecycle. Preserve process ownership, PTY input, output replay, legacy session cleanup, and Ctrl-X visibility through the existing runtime boundaries.
Keep native captured-command admission unavailable when threads are absent and use a bounded tombstone counter supported by WASM.
Remove scenarios for the deleted background command and keep one direct assertion that the old command is no longer registered.
Exercise the browser workspace through shell run and keep its strict completion-only boundary assertions current.
Keep help-menu and persistence fixtures aligned after removing the background command.
Document the completion-only shell run contract exposed by the embedded workspace.
Assert that unrecoverable legacy terminal calls resume as inert summaries without structured replay.
Assert structured command results and use the registered shell action in saved permission fixtures.
Propagate cancelled initial runs through the existing agent interruption path and align streamed TUI fixtures with shell results.
Use shell run in external path fixtures and assert structured command results in terminal-ownership coverage.
Stop benchmarking the deleted background command while preserving the existing startup budget.
Carry cancelled managed-command snapshots through the existing result boundary and update current shell fixtures across the full E2E matrix.
Stream managed output through the existing lifecycle edge, prioritize framed replay in Ctrl-O, and refresh the remaining current-shell E2E contracts.
Preserve final TTY output, isolate overlapping command lifecycles, and keep managed results bounded. Align observation defaults, capacity, and descendant cleanup with the tested shell workflow.
Accept host handshakes before durable recovery, reindex persisted TTY sessions, and enforce TTY deadlines from command start. Fail closed on execution identity collisions, preserve indeterminate loss, and stop repeated shell failures.
Update the byte-exact built-in schema digest after rebasing onto the consolidated capability and Exa tool surface.
Update command output assertions for nested shell detail rows and durable replay files.
Include the execution route and effective shell in permission fingerprints, and reject direct-only authority before PTY startup.
Keep the shell registry changes while retaining main's removed memory surface and regression coverage.
Record the rebased shell schema after retaining main's memory-tool removal.
@fazxes
fazxes force-pushed the fazxes/shell-managed-execution branch from 41d3eef to c0065fa Compare August 31, 2026 22:55
fazxes added 3 commits August 31, 2026 19:13
Expose run, wait, send, and stop instead of the internal manager command set.
Keep child persistence, permissions, observation, and lifecycle policy in the runtime.
Deliver completed child results through the existing acknowledged parent ledger.
Project legacy history without keeping a second execution path.
Preserve advanced subagent management for human and internal callers.
@fazxes
fazxes force-pushed the fazxes/subagent-managed-execution branch from 44acb4d to 32588ae Compare August 31, 2026 23:23
@fazxes
fazxes marked this pull request as ready for review September 1, 2026 00:09
@fazxes
fazxes force-pushed the fazxes/shell-managed-execution branch from 1e86cac to db902ab Compare September 1, 2026 05:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: improvement Improves existing user-facing behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant