One of the most important use cases for tags is acting as constraints for things maas doesn't model. For example, if I have a tag that is generated based on a xpath query to lshw, and I use that tag as a constraint when allocating a node, I want to either get a machine with lshw that matches the query or get an allocation failure - I do not want a VM generated to match the other constraints. The current behavior breaks that use case.
One of the most important use cases for tags is acting as constraints for things maas doesn't model. For example, if I have a tag that is generated based on a xpath query to lshw, and I use that tag as a constraint when allocating a node, I want to either get a machine with lshw that matches the query or get an allocation failure - I do not want a VM generated to match the other constraints. The current behavior breaks that use case.