Delivery predicate. A frame reaches a subscriber only when BOTH hold:
it belongs to the graph the subscriber asked to watch, AND
the graph's owner matches the subscriber CONNECTION's authenticated identity.
Condition 2 is load-bearing, and for the same reason statusUpdatesFilter needs it: a
parentTaskId is discoverable, so without an identity check anyone holding one could watch
another user's workflow — including its per-step error messages. Fails closed — a missing
identity on either side never matches.
Delivery predicate. A frame reaches a subscriber only when BOTH hold:
Condition 2 is load-bearing, and for the same reason
statusUpdatesFilterneeds it: aparentTaskIdis discoverable, so without an identity check anyone holding one could watch another user's workflow — including its per-step error messages. Fails closed — a missing identity on either side never matches.