add_host madness... or role ...singletons??? what?

I’ve got a playbook in which I’m trying to use add_host to dynamically generate a group of hosts. Here’s what I have:

\roles
\ group_servers
\ tasks
\ main.yml
\ common
\ tasks
\ main.yml
setup.yml

==> ./roles/group_my_servers/tasks/main.yml

tested by moving add_host from role over to “tasks” - same result. Sounds like I’m missing the point someplace, but where?