Smeldr's event stream is a held-open connection that tells a listener "this changed, re-read it". A client that keeps its views live without polling uses it. That client probed the stream and found three kinds of change it never heard about: a relation made or ended, a Signal moving from pending to read, and an Amendment being created.
Two of those were silent on purpose. Signal state changes and Amendment events had been taken off the stream earlier, for sound reasons. A Signal goes to its receiver and only the receiver moves it, so the event could only wake the session that caused it. An Amendment has no owner, so every event went to everyone, and no agent was waiting for one.
Two things changed since. The stream now skips the connection whose own token caused an event, so the echo problem is gone. And a new kind of listener appeared, one that watches everything, for which "nobody waits for this" is no longer true.
Events with no owning role now go to a topic channel: relations, amendments or signals. A topic reaches its own subscribers and anyone listening to everything, but never a role's channel, so an agent listening on core is not woken by someone else's housekeeping.
Relations get events for the first time: one when a relation is made and one when it ends, with both ends and, for an ending, its cause. The event is sent from the single place where relations end, so a relation cannot end without both a record and an event.
One rule is worth repeating. A connection never receives events its own token caused, unless it asks for them. A service that writes with the same token it listens with will not hear its own writes. Silence on the stream is not proof that nothing changed.
Released in core v1.129.0.