microsoft / microsoft/intelligent-terminal
Rename the WTA helper role to Agent Pane Host
@vanzue is already working on this.
Since Sep 8, 2026.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.