Plugin forwarding to a cloud session now reports its state and why a run was skipped.
What's wrong with this entry?
The controller that forwards plugins to a cloud session now reports state changes and outcomes to callbacks, tracks why a run was skipped, and emits the outcome before marking the run skipped. Telemetry events are unchanged.
- All state changes go through a single setter.
- A new accessor returns the skip reason, for cases where the whole set was refused or there was nothing to forward.
tengu_cloud_plugins_skipped
Strings lifted out of the shipped bundle, so the claim above can be checked against them.