A tag on most boards is a label you filter by. On Develosaur it decides whether work exists to the ranked list at all, and it can carry a rule of its own that gets enforced, not just documented somewhere else.
Untagged is a real state, not an oversight
A node with no tag is backlog: visible on the board, but never in the TODO list and never part of the ranked work. That is deliberate. It is fine for an idea to sit there unranked; it is not fine for it to be silently treated as work nobody assigned. The moment a node gets a tag, it enters the pipeline and the ranked list has to surface it.
Which tag is a judgment call, not a formality. TODO is the default for plain, untyped work, never an automatic stamp applied to everything. BUG is reserved for a live defect someone can point at evidence for, not a guess that something might be broken. CRITICAL marks urgency deliberately, not by habit. Picking the right one is part of describing the work honestly, the same way choosing a title is.
Reference is the escape hatch for things that are not work
Some branches, instructions, runbooks, architecture notes, need to live on the board without ever competing for attention in the ranked list. Marking a branch as reference does that: everything under it inherits the same state, so it can be grown and updated freely without any of it leaking into backlog or pipeline. The one thing that never happens to a reference branch is treating it as a task. It never gets completed, deleted, started, or pinned as work, because it never was work in the first place.
A tag can carry its own instruction
The part that makes this more than a label: a tag can have a written instruction attached to it, and whoever is acting on a node with that tag is expected to follow it. Some of that is enforced mechanically. Others are conventions the tag simply states plainly, like a note that a certain category of task should be done as a small side task whenever convenient, or that a reference tag means read and update, never derive new work from it. When a rule tied to a tag gets violated, the action is refused and the tag's own instruction is quoted back, which is the difference between a policy someone wrote in a document nobody reopens and a policy the tag actually carries with it everywhere it goes.
The vocabulary is shared, so it is not created lightly
Because a tag's meaning is something every person and every agent on the board reads the same way, adding a new one, or removing an existing one, is not a unilateral call. It gets proposed and confirmed before it becomes part of the vocabulary, the same way a change to shared terminology should be agreed on rather than introduced quietly by whoever happened to need it first.
This is the other half of the mechanics behind several agents, one plan and how the priority order decides what is next: tags decide what is even eligible to be ranked, before either of those systems gets a chance to order it. More on how it all fits together is on the how-it-works page, and more of these are on the blog.