Hello! We’re getting started with Temporal and as we’ve begun to work through some of the concepts and build out a few simple workflows (in Java), we ran into the following constraint called out in the task queue documentation: Temporal Java SDK developer's guide | Temporal Documentation
All Workers listening to the same Task Queue name must be registered to handle the exact same Workflows Types and Activity Types.
This is also called out here in the concepts doc: What is a Temporal Worker? | Temporal Documentation
All Workers listening to a given Task Queue must have identical registration of Activities/Workflows.
Anyway, this is all fine and we’ve updated our understanding accordingly, but can you explain a little bit more as to why? Is there a registration happening under-the-hood when a worker starts up, and Temporal server is recording which worker has come up to listen to task queue ABC for work of types D, E, F? I was under the (mistaken) impression that task work could be routed to the appropriate worker based on what work it wanted to work on (what work it registered for).