workload-call
Provided by the host to a component plugin that *imports* an interface a workload exports, so the plugin can call into that workload — the reverse of the capability direction, where a workload imports what the plugin exports. A host-native (Rust) plugin does this by holding a handle: it captures the workload when the workload deploys and invokes the export whenever it likes, off any event of its own. This interface is that handle, for a plugin that is itself a component and so cannot hold a Rust value. No call goes through this interface. The plugin invokes a workload's export through its own import of that interface; this one only names which workload those calls land on, and lists the workloads callable at all. Importing this interface is also what declares the intent: a plugin that does not is held to a closed import surface, where an import no host built-in provides fails the plugin's load rather than waiting for a workload that may never appear. Only interfaces the plugin imports that no host built-in provides are routed this way. They are matched to a workload exactly as a capability is: the workload must both declare the interface among the ones it needs from the host and export it. Every function on such an interface must be an `async func`: the host serves it concurrently, so that a call out to a workload never holds the plugin's store — shared by every workload it serves — for the round trip. A plain `func` is refused when the plugin loads.