Before the plugin enters the chat.
Tool discovery, execution state, progress, and cancellation fragment when every transport and plugin invents its own contract.
A local agent surface is easy to start and hard to scale: tools acquire transport-specific identifiers, job records diverge, and route governance can accidentally be duplicated.
TTER introduces a transport-neutral provider and invocation layer. It is deliberately narrower than an orchestrator: UCM still owns routes and workflow policy, while UMCP still owns transport, access guard, and audit.
What that feels like
- The same logical tool needs a different wrapper for every client or transport.
- Progress, cancellation, deadlines, and final status are recorded differently by each plugin.
- A shared execution layer risks becoming a second route or security authority unless boundaries are explicit.