In-process PubSub backed by a duplicate-key Registry
(ExAgent.PubSub.Registry, started by the application supervisor).
Subscribers receive {:exagent_event, %ExAgent.Event{}}. Works without any
external dependency — ideal for tests, CLIs and single-node apps.