Skip to content

fix(tui): show direct child sessions as subagents#1

Closed
ChamHerry wants to merge 1 commit into
devfrom
fix/session-create-child-ui-visibility
Closed

fix(tui): show direct child sessions as subagents#1
ChamHerry wants to merge 1 commit into
devfrom
fix/session-create-child-ui-visibility

Conversation

@ChamHerry
Copy link
Copy Markdown
Owner

Summary

  • Surface direct session.create(parentID) child sessions in opencode run subagent footer tabs even when no native task tool part exists.
  • Render direct child sessions in the full TUI as task-like subagent cards with running/completed/error state and click-through navigation.
  • Keep native task metadata authoritative when a task-created subagent exists for the same child session.

Why

OpenSDD/plugin orchestration can create child sessions directly through the session API. Those children were persisted and streamable, but the UI only discovered subagents from native task tool parts, so direct children were invisible in the parent session UI.

Validation

  • bun test test/cli/run/subagent-data.test.ts test/cli/run/stream.transport.test.ts
  • bun test test/cli/run/footer.view.test.tsx test/cli/cmd/tui/sync.test.tsx test/cli/cmd/tui/sync-undefined-messages.test.tsx test/cli/tui/use-event.test.tsx test/server/httpapi-session.test.ts
  • bun test test/server/httpapi-sdk.test.ts test/server/session-list.test.ts
  • bun typecheck
  • bun run lint (3109 warnings / 0 errors, existing warning-only baseline)
  • Prettier check on changed files
  • git diff --check
  • Live local HTTP API smoke for parent/child session.create

Notes

  • No P2 behavior is included; this does not route OpenSDD through the native task tool by default.
  • Local pre-push hook required bun@^1.3.14 while this shell has bun@1.3.11; the branch was pushed with HUSKY=0 after the checks above passed.

Direct session.create(parentID) children need to appear in the TUI and run footer even when plugin orchestration does not create native task tool parts.

Constraint: session.create(parentID) direct children have no persisted task tool part metadata.

Rejected: routing OpenSDD through the task tool by default | it changes deterministic orchestration semantics.

Confidence: high

Scope-risk: moderate

Directive: Keep native task metadata tabs authoritative when task parts exist for the same child session.

Tested: bun test test/cli/run/subagent-data.test.ts test/cli/run/stream.transport.test.ts; bun test test/cli/run/footer.view.test.tsx test/cli/cmd/tui/sync.test.tsx test/cli/cmd/tui/sync-undefined-messages.test.tsx test/cli/tui/use-event.test.tsx test/server/httpapi-session.test.ts; bun test test/server/httpapi-sdk.test.ts test/server/session-list.test.ts; bun typecheck; bun run lint; prettier; git diff --check; live HTTP API smoke

Not-tested: Manual interactive TUI visual smoke in a real user terminal
@ChamHerry
Copy link
Copy Markdown
Owner Author

Closing this fork-internal draft PR because the intended target is the official upstream repository: anomalyco#29174

@ChamHerry ChamHerry closed this May 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant