- simulator/main.js: All 30+ register* methods now send JSON-RPC notifications
to Go instead of being silent no-ops. Each plugin capability registration
(tool, provider, channel, hook, http_route, command, service, etc.) is
forwarded to Go via the notify channel.
- sidecar.go: Refactored to async reader goroutine. Single goroutine reads
all stdout lines, routes responses to pending callers via channel by ID,
and dispatches notifications (no-ID messages) to notifyCh for handling.
- plugin.go: drainNotify() collects all capabilities registered during
plugin init. handleNotify() logs each registered capability for visibility.
- All 9 openclaw tests pass including simulator + full pipeline tests.