microsoft / microsoft/intelligent-terminal

Rename the WTA helper role to Agent Pane Host

Open
#896 0 comments 0 reactions 1 assignee View on GitHub

@vanzue is already working on this.

Since Sep 8, 2026.

Needs-Tag-Fix Needs-Triage
Dominant language
C++
Stars
2k
Forks
159
Avg merge
21h 42m
Merged PRs (30d)
120

Description

## Goal

Rename the WTA `helper` role to **Agent Pane Host** so its name describes its actual responsibility: hosting an individual agent pane's chat UI, interaction state, and communication with WTA Master.

This is a naming-only refactor, independently deliverable from #841. Prefer landing it before the ownership refactor so that behavioral changes are not obscured by mechanical renames.

## Why

`helper` is too generic and suggests a secondary or temporary utility process. In this architecture, it is the per-pane runtime with its own UI and connection lifecycle.

The intended terminology is:

- **WTA Master** manages the shared agent CLI process pool and master-owned routing/state.
- **Agent Pane Host** hosts one agent pane's chat and interaction runtime and connects to the master.

Avoid `AgentHost`, which would imply ownership of the agent CLI process pool, and `worker`, which would imply background task execution.

## Naming convention

| Surface | Preferred name |
| --- | --- |
| Architecture and documentation | Agent Pane Host |
| Rust module and role-specific identifier stem | `agent_pane_host` |
| Role-specific type prefix | `AgentPaneHost` |
| Human-readable process/log role prefix | `wta-agent-pane` |

These are role names, not a request to introduce another executable. Keep the existing `wta.exe` executable and launch architecture.

## Scope

### Source terminology

- Rename `tools/wta/src/helper` and its module references to `agent_pane_host`.
- Update role-specific types, functions, fields, variables, comments, and diagnostic messages in Rust and the C++ integration.
- Update related test names, fixtures, documentation, diagrams, and development guidance.
- Leave unrelated utility functions or concepts named `helper` unchanged. Do not perform a blanket repository-wide replacement.
- Preserve the distinction between the Agent Pane Host process, `AgentPaneContent` UI wrapper, and the lifetime/ownership objects designed in #841.

### Compatibility-sensitive surfaces

Inventory launch arguments, protocol fields, tracing targets, log filenames, scripts, packaging references, and diagnostics that use the old role name.

- Preserve existing launch arguments and wire identifiers by default; a terminology cleanup must not require an ACP or terminal-protocol migration.
- For internal names, update producers and consumers together.
- If adopting `wta-agent-pane` changes a log filename or tracing target, update in-repository collectors, filters, scripts, and documentation, and retain legacy discovery where needed for existing installations/logs.
- Document deliberately retained legacy identifiers and their compatibility rationale.
- Do not add new aliases, executables, or protocol fields merely to make every external identifier match the new terminology.

## Non-goals

- No change to process creation, lifetime, shutdown, containment, or crash recovery.
- No change to ACP connection/session semantics, routing, agent selection, or provider-pool ownership.
- No change to prewarming, Autofix, pane stash/restore, or cross-window transfer behavior.
- No implementation of #841's lease/lifetime or transfer-cleanup design.
- No change to the `wta-master` role name.

## Acceptance criteria

- [ ] Source and architecture documentation consistently call the per-pane role **Agent Pane Host**.
- [ ] The Rust module uses `agent_pane_host`, and all relevant module/build references are updated.
- [ ] Role-specific naming is updated across Rust, C++, tests, scripts, and documentation without renaming unrelated helpers.
- [ ] Existing supported startup commands and protocol identifiers continue to work.
- [ ] Any changed log/tracing names have their consumers updated and required legacy discovery preserved.
- [ ] Remaining role-specific `helper` identifiers are intentional compatibility exceptions with documented rationale.
- [ ] Existing targeted builds and tests pass with no lifecycle, session, or UI behavior changes.

## Related work

#841 makes agent-pane lifetime ownership explicit and cross-window transfers failure-safe. This issue only establishes clear terminology; keep its implementation and review separate from that behavioral refactor.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.