This is a fundamental problem that arises from how hydrus, and basically every booru, maps tags to images. Every image has an id unique to that image, and every tag has an id unique to that tag. The tag id is related to an image id to add that tag to that image. This means that if the tag “Trait:A” is added to the image there is no information to tell what person, character, or object that tag will apply to. This problem will have to be solved by the hyrdus dev.
One solution to this problem is to make tags apply not only to images but to other tags as well, but this solution has problems. On problem is that it would increase the size of the largest database in hyrdus, client.mappings.db, by up to 200% the current size (if the solution is to add a tag index and a parent index to every tag/image pair) if there aren’t any duplicate tags in the tree. You could save space by replacing the image id with a generic parent id and adding a Boolean to tell if the parent is an image or another tag, but this could seriously hurt performance on a large database with very deep trees.
If the hyrdus dev does attempt to solve this problem with tag parenting, I would suggest including some baseline tags for the very top of the tree that would apply to nearly all files: a “meta” tag to be a parent of all tags that aren’t about the image or file itself (for example, filename tags and tag source/booru tags), a “panel” tag to differentiate tags of sub images or other discrete units, like panels in a comic strip or scenes in a video, and a focus and background tag pair to allow for searching of only the focus or background of an image.