Parent epic: #4525
Gap
The Control Plane stores ToolPluginBinding records and resolves them for its own execution path, but the dataplane publisher does not export those bindings. The Rust dataplane therefore cannot reproduce Control Plane-selected plugin execution.
Scope
- Build an effective, versioned plugin snapshot for each published principal/virtual host.
- Include stable tool/backend identifiers, ordered plugin bindings, mode, priority, plugin configuration, secret references, and
on_error behavior.
- Publish snapshots atomically through the existing Redis contract.
- Trigger publishing when plugin definitions, tool bindings, visibility, or relevant configuration changes.
- Notify/invalidate dataplane caches so a new snapshot becomes active promptly.
Acceptance criteria
Related work
Parent epic: #4525
Gap
The Control Plane stores
ToolPluginBindingrecords and resolves them for its own execution path, but the dataplane publisher does not export those bindings. The Rust dataplane therefore cannot reproduce Control Plane-selected plugin execution.Scope
on_errorbehavior.Acceptance criteria
Related work