What are common conventions for partitioning tags into namespaces?

TiddlyWiki docs state:

A tag is in fact just a tiddler (or a potential tiddler), and it can have tags of its own.

TiddlyWiki makes use of tags for example for organizing a set of tiddlers into a hierarchy, which is used to automatically build a Table of Contents for example. So, for example “Working with TiddlyWiki” is a legit tag.

However, I’m also used to another definition of tags - when they are laconic, single words used to capture the essence of bigger chunks of information. But using tags in this manner for building a hierarchy of tiddlers is not ergonomic. Very generic tags serving as branches in a ToC tree will inevitably collect leaves which are not logically related. For example a “nodejs” tag/ToC branch could put together tiddlers like “How to install Node.js in Debian Linux” and “How to use the Node.js version of TiddlyWiki”.

Because of these reasons, I’m thinking to keep the single-word tags with an exclusively logical and TiddlyWiki agnostic meaning in a separate namespace. I know that tags in TiddlyWiki can have a color and an icon, but this is TiddlyWiki specific and it’s more of a visual trait. Coming from todo.txt , I wonder, can I prefix single word tags with special symbols, will it not break any TiddlyWiki functionality? For example have tags named “+foo” or “@foo” instead of “foo”? Is there any recomendation / consensus here?

Great question.

You may get many different answers based on how users actually use tags, either targeting their data as it is stored and/or targeting tags used to control the operation of their TiddlyWiki ($:/tags/Stylesheet, for example).

I can tell you, I tried using unicode symbols to help “group” tags, if worked fine for a while but I didn’t keep to the idea.

I think this used to is coming from the fact that most note organizing tools only have one level of tags, which cannot themselves be “notes”. Then this is the only way to use tags. It is a rather inefficient use in TW though.

Tag names follow the same rules as tiddler names, so you can use any characters you like, but you probably want to avoid | [ ] { }, in order to be able to refer to them in filter and transclusion syntax.
+ and @ shouldn’t give you any problems.

A great plugin that allows for more flexibility in using tags and retrieving information in from any deeper level of the tag hierarchy is TW5 Kin filter plugin — recursively looking for kinship between tiddler titles. So you can use a natural language names of tags in the hierarchy, and easily retrieve all leaves attached to a given trunk or all trunks a given leave stems from.

This seemed like a good idea to me too a while ago, when I used tags more like in a standard note program, as described in OP. With relatively few tags in the whole wiki, but relatively many tags per tiddler, this seemed like a good idea to prefix some commonly used tag categories, used a letter and colon, so e.g. “S:Small” or "S:Medium "if i were categorizing by Size.
I did assign color rules to these prefixed tags, as well as had the tag list in the sidebar sorted so that these come first.
With time it turned out to be messy and difficult to maintain. I am in the process of switching my most used wiki to the more natural hierarchical tagging system. Then every tiddler has only a few tags, so no need to sort them in any particular way. This feels like a more natural and intended way to use TW, you can get much more out of e.g. TOC macros, and even more if you use the kin plugin.
This might seem counterintuitive at first in a TW populated with little content, because for every new “leaf” you have to create all the branches it should be coming from to attach it somewhere (instead of just attaching it to a main trunk). But it gets more intuitive over time, as you don’t have to tag a tiddler with 10 tags just to place it well, one or two might be enough.

You may get many different answers based on how users actually use tags

I guess my top priority is to learn how users DON’T (or shouldn’t) use tags, then pick some strategy that is suitable for my personal needs, while trying to minimize the risk that it may backfire at me in the long term.

I brought up todo.txt not as a merely collateral remark. I’ve spent some time swimming around in the new ecosystem of TiddlyWiki and didn’t find any todo.txt plugin. So I’m slighly paranoid that I may settle on prefixing certain tags with ‘+’ or ‘@’ (can’t use ‘#’ since it has a special meaning in both WikiText and Markdown), then somebody will write a todo.txt plugin for TiddlyWiki, which I’ll be very tempted to use, so I’ll have to adapt the already settled convention for it to fit in.

It’s not much risk. There are tools available to rename/remove/add tags @Mohammad’s Commander is one example.

I don’t know what todo.txt is. There are quite a few todo scripts and plugins for TiddlyWiki. I’m sure someone can furnish you with links.

To be clear, the unicode symbols were not used as a prefix, they were the entire tag (blue triangle, red circle, etc)